《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 一種基于單片機系統的DMA控制電路的模塊化設計方案

一種基于單片機系統的DMA控制電路的模塊化設計方案

2009-04-16
作者:劉先昆 紀圣謀 徐健健

??? 摘? 要: 介紹一種基于單片機系統的采用“RAM出讓 ”方式實現的DMA控制電路。模塊化設計,便于用可編程邏輯門陣列或集成電路芯片實現。給出其軟件接口子程序設計方案。

  關鍵詞: 單片機系統? 直接存儲器存取(DMA)方式? 數據傳輸

?

  采用中斷或查詢方式時,單片機系統無法實現小于其指令周期的高速數據傳輸及數據采集。雖然近些年單片機速度不斷提高,但指令周期一般還在微秒量級,這就限制了單片機在高速數據傳輸領域內的應用,如網絡通訊、高速數據采集等。DMA(即外設與內儲存器之間數據直接傳輸)控制電路以其高效、高速、CPU資源占用少等特點已在PC機中成熟應用。在PC機中,它是通過安裝在主板上的專用DMA控制芯片或集成于外圍控制芯片中來實現的。單片機通常不具有DMA功能,也沒有現成的控制芯片可以利用。而且,由于總線和系統組成方面的差異無法將PC機中的DMA電路移植到單片機系統中。

  另一方面,單片機系統不具備“總線出讓”功能,沒有類似總線響應、保持響應、總線有效等引腳功能,因此設計采用“指定RAM出讓”的方法。指定RAM是指連接在DMA控制器上的RAM。在DMA周期內系統通過控制線將此RAM交由DMA控制器和外設讀寫,構成“RAM出讓”。“RAM出讓”的突出優點是在DMA周期中,單片機依然可以對總線上的其他電路或組件進行操作。

  本文所討論的DMA控制電路模塊可以采用可編程邏輯門陣列來實現,也可以加工成厚膜電路或集成電路芯片。

1 DMA與系統的連接及其結構框圖

  DMA控制模塊在系統中的連接如圖1所示。

?

1.1 DMA模塊與單片機的連接

  單片機系統通過數據(DB)、地址(AB)、控制(CB)總線與DMA模塊連接。連接方式與連接RAM僅有較小的區別。主要在控制總線部分,除原有的讀寫控制線外須增加DMA允許輸入、DMA狀態輸出。

1.2 DMA模塊與RAM的連接

  DMA模塊通過8位數據線、地址線和讀寫控制線與RAM連接。地址線個數由RAM空間大小決定,最大16線。

1.3 DMA模塊與外設的連接

  連接外設有8位數據線,控制線包括DMA申請輸入、讀寫控制輸入、DMA響應輸出。

????DMA控制模塊的結構框圖如圖2所示。

?

2 工作原理

2.1 工作過程

  在允許DMA操作之前,必須在主程序中對DMA控制器初始化,寫入工作方式字和起、止地址。DMA控制器中的方式寄存器和地址發生器中的地址寄存器都是可尋址的口,其地址占用RAM的最高位5個字節(方式字1個,起始和結束地址各2個)。在數據寫入時,RAM中同時被寫入鏡象數據,因此控制字可以從同一地址讀出。

  初始化設置包括以下信息:

  ·數據傳輸方向。即通過方式字中的相應位選擇數據向RAM寫入或由RAM讀出。

  ·數據傳輸方式。通過寫入方式字選擇傳輸方式,有字節傳輸、塊傳輸、請求傳輸三種方式。

  ·數據傳輸在存儲器中的起始地址和結束地址。這兩個寄存器包含在地址發生器模塊中。DMA傳輸時地址采用增1方式,所以要求結束地址高于起始地址。

  初始化結束后,在主程序許可的情況下,發出DMA允許(DEN)信號,查詢DMA狀態(DS)或利用(DS)觸發中斷來判斷DMA結束。在等待結束過程中,單片機可以進行對非指定RAM的所有外部操作以及所有內部操作。下一次DMA傳輸需要重復設置、DMA允許、等待結束三個過程。

  單片機置DEN有效即DMA允許,時序和邏輯模塊控制總線收發器1截止和總線收發器2開通,使得RAM連接由單片機切換至外設和DMA控制器,并根據方式寄存器的輸出,實現對數據傳輸方式和傳輸方向的控制。而在DMA禁止(DEN無效)時或DMA傳輸結束后,邏輯模塊控制總線收發器1開通和總線收發器2截止,使得RAM連接至單片機。

  在DMA允許后,當有DMA申請(即DRQ有效),控制器輸出DMA響應(DAK有效)通知外設可以進行數據傳輸,同時改變DMA狀態輸出(DS輸出有效)通知單片機。DMA傳輸結束可有三種不同方式:方式1為單字傳輸結束;方式2為RAM地址超出結束地址;方式3為DMA申請信號撤消(DRQ無效)。DMA結束,DS由高變低,觸發單片機中斷。單片機收到DMA結束信號后,輸出DMA禁止,進行數據處理。

2.2 地址產生電路

  地址產生電路如圖3所示。

  主地址發生器是一個16位可預置二進制計數器,預置的16位二進制數作為DMA傳輸的起始地址。SEN、EEN為計數器和鎖存器的寫入片選,各2根,高8位和低8位分2個地址寫入。CP為計數脈沖輸入,DMA每傳輸完一字節,CP收到一個計數脈沖,計數器輸出加1,指向下一個傳輸地址。

  結束地址寫入16位鎖存器,高8位和低8位分兩個地址寫入。鎖存器輸出送數字比較器,與來自計數器輸出的地址比較,如果結束地址高于輸出地址則地址溢出輸出端OA輸出低電平。當計數器輸出地址高于結束地址時,OA端輸出高電平,該信號送邏輯模塊控制可作為DMA結束標志。

2.3 工作方式的選擇

  時序與邏輯模塊根據方式字的選擇可實現不同傳輸方式的控制。如字節傳輸方式、塊傳輸方式、請求傳輸方式。

字節傳輸方式時,一次只做一個字節的數據傳輸。傳輸結束后釋放RAM,DAK無效,到單片機處理數據結束,重新DMA允許后才可以進行下一次傳輸。

  塊傳輸方式要求結束地址高于起始地址,因為DMA地址輸出采用加1方式。起始地址和結束地址之間數據作為被傳輸的數據塊,直到整個數據塊傳輸結束后才釋放RAM。

  請求傳輸方式與塊傳輸方式類似,但是要求DRQ在傳輸過程中保持有效。DRQ無效時DMA傳輸結束,釋放RAM。就是說它以DRQ無效作為DMA結束標志。

2.4 時序與邏輯電路

  時序與邏輯電路設計需實現上述工作的邏輯功能。包括有:判斷單片機輸出DEN和DMA結束標記輸出總線控制;根據方式字所設的傳輸方向控制RAM的讀或寫有效;輸出地址進位脈沖;根據方式字中傳輸方式的選擇和DMA申請輸入DRQ輸出響應DAK;選擇DMA結束標記;當結束標記產生時輸出DMA結束操作。

  總之,時序與邏輯電路的設計取決于對工作方式的選擇和DMA工作過程的設計考慮。

3 接口軟件設計

  DMA控制器在系統中應用時可選擇采用結束查詢法或結束中斷法來判斷DMA的結束,接口子程序流程,見圖4所示。

?

?

參考文獻

1 何立民.單片機應用系統設計.北京:北京航空航天大學出版社,1990:1~19

2 張昆藏.微型計算機接口技術.北京:清華大學出版社,1991:32~45

3 余新平.采用DMA技術實現高速數據傳輸的I/O接口卡設計.電子技術應用,1999;25(7):54~56

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品乱码久久久久久日本蜜臀 | 国产精品日本一区二区| 欧美粗暴jizz性欧美20| 久久综合九九| 久久综合久久综合这里只有精品| 久久福利视频导航| 久久国产精品一区二区三区| 欧美一级黄色录像| 久久激五月天综合精品| 欧美在线日韩| 久久精品观看| 久久美女性网| 久久综合久久综合久久综合| 蜜臀久久99精品久久久画质超高清| 麻豆精品国产91久久久久久| 牛牛影视久久网| 欧美精品大片| 欧美三区视频| 国产精品亚洲综合一区在线观看| 国产伦精品一区二区三区高清| 国产欧美精品日韩区二区麻豆天美| 国产精品一区二区久久国产| 国产日韩精品一区二区三区| 国内精品模特av私拍在线观看| 黄色亚洲免费| 亚洲第一精品在线| 亚洲精品视频在线播放| 中文av一区特黄| 香蕉亚洲视频| 亚洲国产裸拍裸体视频在线观看乱了 | 久久这里有精品视频 | 久久亚洲国产精品一区二区| 免费精品视频| 欧美欧美午夜aⅴ在线观看| 欧美日韩极品在线观看一区| 国产精品免费视频xxxx| 国产亚洲欧美另类中文| 亚洲春色另类小说| 99热这里只有精品8| 亚洲欧美视频一区二区三区| 亚洲国产另类精品专区 | 亚洲女同性videos| 久久国产精品99精品国产| 老司机午夜精品视频| 欧美日韩国产欧美日美国产精品| 欧美亚州一区二区三区| 国产亚洲美州欧州综合国| 亚洲国产视频一区| 亚洲一区二区三区激情| 亚洲大片一区二区三区| 在线视频亚洲一区| 久久精品色图| 欧美精品v日韩精品v韩国精品v| 国产精品日韩精品欧美精品| 亚洲电影在线看| 亚洲一区二区三区四区五区黄| 久久本道综合色狠狠五月| 99视频精品在线| 久久精品国产综合| 欧美日本簧片| 国产自产在线视频一区| 亚洲精品欧美一区二区三区| 欧美一级片一区| 一区二区三区国产精品| 久久成人18免费观看| 欧美激情在线狂野欧美精品| 国产日韩亚洲| 99国产精品久久久久久久久久 | 在线精品国产欧美| 在线一区二区三区四区五区| 91久久线看在观草草青青| 亚洲欧美国产精品va在线观看 | 一区二区动漫| 久久精品最新地址| 欧美午夜精品理论片a级按摩| 一区二区三区在线免费视频| 亚洲午夜精品久久| 亚洲精品中文字幕在线| 欧美在线视频免费播放| 欧美日韩免费看| 亚洲国产精品电影| 欧美一区二区在线免费播放| 亚洲一区观看| 欧美福利一区二区| 国产一区二区三区免费不卡| 一区二区三区高清不卡| 亚洲乱码视频| 美女露胸一区二区三区| 国产欧美日韩一区二区三区在线观看| 日韩视频亚洲视频| 最新国产拍偷乱拍精品| 久久国产婷婷国产香蕉| 欧美午夜一区二区| 亚洲精品欧美日韩专区| 亚洲激情一区二区| 久久亚洲免费| 国产一区二区三区黄视频| 亚洲免费视频网站| 亚洲免费婷婷| 国产精品va在线播放| 亚洲欧洲日本在线| 亚洲片在线资源| 久久伊人亚洲| 黄色工厂这里只有精品| 欧美一级二区| 久久精品成人一区二区三区| 国产精品欧美日韩久久| 国产精品99久久久久久久女警 | 午夜天堂精品久久久久| 亚洲欧美在线免费观看| 国产精品黄色在线观看| 一级成人国产| 亚洲午夜精品一区二区| 欧美日韩免费一区| 99精品国产福利在线观看免费| 日韩图片一区| 欧美日韩国产综合久久| 亚洲精品男同| 亚洲图片欧洲图片日韩av| 欧美先锋影音| 亚洲一区二区欧美| 欧美一区综合| 国内成人精品一区| 久久精品人人爽| 免费不卡视频| 亚洲激情第一页| 亚洲免费电影在线| 欧美日韩精品一本二本三本| 日韩午夜剧场| 亚洲欧美国产va在线影院| 国产精品自拍一区| 久久国产视频网| 麻豆精品网站| 亚洲国产精品嫩草影院| 一本色道久久综合狠狠躁篇怎么玩 | 欧美色视频一区| 亚洲一区二区精品| 欧美自拍偷拍午夜视频| 很黄很黄激情成人| 亚洲精品中文在线| 欧美视频1区| 午夜精品一区二区三区四区| 久久精品五月婷婷| 亚洲福利精品| 亚洲一区二区三区在线看| 国产欧美亚洲一区| 亚洲第一中文字幕在线观看| 欧美成人情趣视频| 一区二区三区国产| 久久精品国产综合精品| 亚洲国产精品一区二区尤物区| 国产精品99久久不卡二区| 国产美女一区| 91久久精品日日躁夜夜躁欧美 | 国产精品一区二区欧美| 久久国产精品高清| 欧美区二区三区| 亚洲综合日韩在线| 麻豆精品在线视频| 99视频精品全部免费在线| 久久aⅴ国产紧身牛仔裤| 亚洲成色777777在线观看影院| 亚洲无线观看| 国一区二区在线观看| 一区二区三区福利| 国产亚洲欧美另类一区二区三区| 日韩写真在线| 国产亚洲欧洲997久久综合| 亚洲欧洲精品成人久久奇米网| 欧美午夜电影网| 欧美综合国产| 欧美日韩精品欧美日韩精品一| 香蕉乱码成人久久天堂爱免费| 欧美激情视频给我| 午夜精品久久久久久久久久久久 | 狠狠色丁香婷婷综合影院 | 午夜久久黄色| 亚洲高清视频在线| 亚洲专区欧美专区| 影音先锋久久久| 性色一区二区三区| 亚洲国产三级网| 久久精品国产999大香线蕉| 99国产精品国产精品毛片| 久久免费视频一区| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 亚洲国产精品成人精品 | 国产夜色精品一区二区av| 夜夜嗨av色一区二区不卡| 国产手机视频精品| 亚洲一卡二卡三卡四卡五卡| 伊人久久av导航| 午夜精品久久久久久久男人的天堂 | 亚洲欧美另类在线观看| 欧美激情第10页| 亚洲第一天堂av| 国产精品一区一区三区| 在线中文字幕不卡| 在线免费观看日韩欧美| 久久精视频免费在线久久完整在线看|