一個(gè)DMA控制器,實(shí)際上是采用DMA方式的外圍設(shè)備與系統(tǒng)總線之間的接口電路,這個(gè)接口電路是在中斷接口的基礎(chǔ)上再加DMA機(jī)構(gòu)組成。習(xí)慣上將DMA方式的接口電路稱為DMA控制器。
(1)內(nèi)存地址計(jì)數(shù)器:用于存放內(nèi)存中要交換的數(shù)據(jù)的地址。在 DMA傳送前,須通過程序?qū)?shù)據(jù)在內(nèi)存中的起始位置(首地址)送到內(nèi)存地址計(jì)數(shù)器。而當(dāng) DMA 傳送時(shí),每交換一次數(shù)據(jù),將地址計(jì)數(shù)器加“1”,從而以增量方式給出內(nèi)存中要交換的一批數(shù)據(jù)的地址。
(2)字計(jì)數(shù)器:用于記錄傳送數(shù)據(jù)塊的長度(多少字?jǐn)?shù))。其內(nèi)容也是在數(shù)據(jù)傳送之前由程序預(yù)置,交換的字?jǐn)?shù)通常以補(bǔ)碼形式表示。在DMA傳送時(shí),每傳送一個(gè)字,字計(jì)數(shù)器就加“1”。當(dāng)計(jì)數(shù)器溢出即最高位產(chǎn)生進(jìn)位時(shí),表示這批數(shù)據(jù)傳送完畢,于是引起DMA控制器向CPU發(fā)出中斷信號。
(3)數(shù)據(jù)緩沖寄存器:用于暫存每次傳送的數(shù)據(jù)(一個(gè)字)。當(dāng)輸入時(shí),由設(shè)備(如磁盤)送往數(shù)據(jù)緩沖寄存器,再由緩沖寄存器通過數(shù)據(jù)總線送到內(nèi)存。反之,輸出時(shí),由內(nèi)存通過數(shù)據(jù)總線送到數(shù)據(jù)緩沖寄存器,然后再送到設(shè)備。
(4)DMA請求”標(biāo)志:每當(dāng)設(shè)備準(zhǔn)備好一個(gè)數(shù)據(jù)字后給出一個(gè)控制信號,使“DMA請求”標(biāo)志置“1”。該標(biāo)志置位后向“控制/狀態(tài)”邏輯發(fā)出DMA請求,后者又向CPU發(fā)出總線使用權(quán)的請求(HOLD),CPU響應(yīng)此請求后發(fā)回響應(yīng)信號HLDA,“控制/狀態(tài)”邏輯接收此信號后發(fā)出DMA響應(yīng)信號,使“DMA 請求”標(biāo)志復(fù)位,為交換下一個(gè)字做好準(zhǔn)備。
(5)控制/狀態(tài)”邏輯:由控制和時(shí)序電路以及狀態(tài)標(biāo)志等組成,用于修改內(nèi)存地址計(jì)數(shù)器和字計(jì)數(shù)器,指定傳送類型(輸入或輸出),并對“DMA請求”信號和CPU響應(yīng)信號進(jìn)行協(xié)調(diào)和同步。
(6)中斷機(jī)構(gòu):當(dāng)字計(jì)數(shù)器溢出時(shí),意味著一組數(shù)據(jù)交換完畢,由溢出信號觸發(fā)中斷機(jī)構(gòu),向CPU提出中斷報(bào)告。
-
寄存器
+關(guān)注
關(guān)注
31文章
5433瀏覽量
124401 -
dma
+關(guān)注
關(guān)注
3文章
576瀏覽量
103183 -
DMA控制器
+關(guān)注
關(guān)注
1文章
43瀏覽量
12646
發(fā)布評論請先 登錄
NVMe IP高速傳輸卻不依賴XDMA設(shè)計(jì)之五:DMA 控制單元設(shè)計(jì)



工程機(jī)械控制器廠家 控制器國產(chǎn)替代 #國產(chǎn)控制器#控制器廠家#控制器品牌

CKS32F107xx系列的DMA控制器簡介

什么是MPU控制器及其應(yīng)用
TMS320DM643x DMP增強(qiáng)型DMA(EDMA)控制器用戶指南

雅特力AT32F402/F405 DMA使用指南

電機(jī)控制器主要功能有哪些?其組成有哪些?


國產(chǎn)控制器廠家 整車控制器 以太網(wǎng)控制器 CAN控制器 國產(chǎn)化替代

評論