中文名 | DMA控制器 | 外文名 | DMAcontroller |
---|---|---|---|
分????類 | 控制器 | 定????義 | 分散控制系統(tǒng) |
原????理 | 在處理器的編程控制下來 執(zhí)行傳輸 | 構(gòu)????成 | 一條地址總線、一條數(shù)據(jù)總線和控制寄存器 |
有兩類主要的DMA傳輸結(jié)構(gòu):寄存器模式和描述符模式。無論屬于哪一類DMA,表1的幾種信息都會在DMA控制器中出現(xiàn)。當(dāng)DMA以寄存器模式工作時(shí),DMA控制器只是簡單地利用寄存器中所存儲的參數(shù)值。在描述符模式中,DMA控制器在存儲器中查找自己的配置參數(shù)。
(1)基于寄存器的DMA
在基于寄存器的DMA內(nèi)部,處理器直接對DMA控制寄存器進(jìn)行編程,來啟動傳輸。基于寄存器的DMA提供了最佳的DMA控制器性能,因?yàn)榧拇嫫鞑⒉恍枰粩嗟貜拇鎯ζ髦械拿枋龇陷d入數(shù)據(jù),而內(nèi)核也不需要保持描述符?;诩拇嫫鞯腄MA由兩種子模式組成:自動緩沖(Autobuffer)模式和停止模式。在自動緩沖DMA中,當(dāng)一個(gè)傳輸塊傳輸完畢,控制寄存器就自動重新載入其最初的設(shè)定值,同一個(gè)DMA進(jìn)程重新啟動,開銷為零。如果將一個(gè)自動緩沖DMA設(shè)定為從外設(shè)傳輸一定數(shù)量的字到 L1數(shù)據(jù)存儲器的緩沖器上,則DMA控制器將會在最后一個(gè)字傳輸完成的時(shí)刻就迅速重新載入初始的參數(shù)。這構(gòu)成了一個(gè)“循環(huán)緩沖器”,因?yàn)楫?dāng)一個(gè)量值被寫入 到緩沖器的最后一個(gè)位置上時(shí),下一個(gè)值將被寫入到緩沖器的第一個(gè)位置上。
自動緩沖DMA特別適合于對性能敏感的、存在持續(xù)數(shù)據(jù)流的應(yīng)用。DMA控制器可以在獨(dú)立于處理器其他活動的情況下讀入數(shù)據(jù)流,然后在每次傳輸結(jié)束時(shí),向內(nèi)核發(fā)出中斷。
停止模式的工作方式與自動緩沖DMA類似,區(qū)別在于各寄存器在DMA結(jié)束后不會重新載入,因 此整個(gè)DMA傳輸只發(fā)生一次。停止模式對于基于某種事件的一次性傳輸來說十分有用。例如,非定期地將數(shù)據(jù)塊從一個(gè)位置轉(zhuǎn)移到另一個(gè)位置。當(dāng)你需要對事件進(jìn) 行同步時(shí),這種模式也非常有用。例如,如果一個(gè)任務(wù)必須在下一次傳輸前完成的話,則停止模式可以確保各事件發(fā)生的先后順序。此外,停止模式對于緩沖器的初 始化來說非常有用。
(2)描述符模型
基于描述符(descriptor)的DMA要求在存儲器中存入一組參數(shù),以 啟動DMA的系列操作。該描述符所包含的參數(shù)與那些通常通過編程寫入DMA控制寄存器組的所有參數(shù)相同。不過,描述符還可以容許多個(gè)DMA操作序列串在一 起。在基于描述符的DMA操作中,我們可以對一個(gè)DMA通道進(jìn)行編程,在當(dāng)前的操作序列完成后,自動設(shè)置并啟動另一次DMA傳輸?;诿枋龇姆绞綖楣芾?系統(tǒng)中的DMA傳輸提供了最大的靈活性 。
DMAC可以在兩種模式下運(yùn)行:無描述符存取模式和描述符存取模式。模式的選取由DCSRx[NODESCFETCH]位決定。同樣在同一時(shí)間內(nèi),不同的通道里可以分別使用這兩種模式。通道在轉(zhuǎn)換運(yùn)行模式之前必須停止數(shù)據(jù)處理。如果出現(xiàn)錯(cuò)誤,則通道停留在停止?fàn)顟B(tài),等待程序處理。
(1)無描述符存取模式
在無描述符存取模式下,DDADRx被保留。程序不可以向DDADRx中寫入數(shù)據(jù),并且必須加載DSADRx、DTADRx和DCMDx寄存器。當(dāng)運(yùn)行位被設(shè)置,DMAC立刻運(yùn)行以傳輸數(shù)據(jù)。無描述符存取在數(shù)據(jù)傳輸?shù)拈_始時(shí)被執(zhí)行。
一個(gè)典型的無描述符存取操作順序如下。
1)復(fù)位后,通道處于未初始化狀態(tài)。
2)設(shè)置DCSR[RUN]位為0,設(shè)置DCSR[NODESCFETCH]位為1。
3)程序?qū)⒃吹刂穼懭隓SADR寄存器,將目標(biāo)地址寫入DTADR寄存器,將命令寫入DCMD寄存器。
4)向DCSR[RUN]位中寫入1,然后無描述符存取被執(zhí)行。
5)通道等待數(shù)據(jù)傳輸請求。
6)通道傳輸數(shù)據(jù),數(shù)據(jù)量由DCMD[SIZE]和DCMD[LENGTH]較小者決定。
7)在DCMD[LENGTH]被設(shè)置為0之前,通道等待下一次數(shù)據(jù)請求。
8)DDADR[STOP]被設(shè)置為1,通道運(yùn)行終止。
(2) 有描述符存取模式
在有描述符存取模式下,DMAC的寄存器用內(nèi)存中的DMA描述符數(shù)據(jù)填充。多個(gè)DMA描述符可以被鏈成一個(gè)鏈表。這就允許DMA通道在一系列不連續(xù)的地址上進(jìn)行數(shù)據(jù)傳輸。一個(gè)典型的有描述符存取模式的操作步驟如下。
1)復(fù)位后,通道處于未初始化狀態(tài)。
2)程序?qū)⒚枋龇刂罚?6字節(jié)對齊)寫入DDADR寄存器。
3)程序向DCSR[RUN]中寫入1。
4)DMAC從DDADR標(biāo)記的地址中讀取4字長的描述符,其中各字加載情況如下:
· Word [0] -> DDADRx寄存器;
· Word [1] -> DSADRx寄存器;
· Word [2] -> DTADRx寄存器;
· Word [3] -> DCMDx寄存器。
5)通道等待數(shù)據(jù)傳輸請求。
6)通道傳輸數(shù)據(jù),數(shù)據(jù)量由DCMD[SIZE]和DCMD[LENGTH]較小者決定。
7)在DCMD[LENGTH]被設(shè)置為0之前,通道等待下一次數(shù)據(jù)請求。
8)DDADR[STOP]被設(shè)置為1,通道運(yùn)行終止,否則繼續(xù)運(yùn)行 。
DMA既可以指內(nèi)存和外設(shè)直接存取數(shù)據(jù)這種內(nèi)存訪問的計(jì)算機(jī)技術(shù),又可以指實(shí)現(xiàn)該技術(shù)的硬件模塊(對于通用計(jì)算機(jī)PC而言,DMA控制邏輯由CPU和DMA控制接口邏輯芯片共同組成,嵌入式系統(tǒng)的DMA控制器內(nèi)建在處理器芯片內(nèi)部,一般稱為DMA控制器,DMAC)。
值得注意的是,通常只有數(shù)據(jù)流量較大(kBps或者更高)的外設(shè)才需要支持DMA能力,這些應(yīng)用方面典型的例子包括視頻、音頻和網(wǎng)絡(luò)接口 。
單片機(jī)里的DMA是什么意思啊,有款單片機(jī)說具有DMA控制器,中的DMA是什么意思???
DMA就是直接存儲器訪問的首字母縮寫(Direct Memory Access)。CPU的總線上同時(shí)會掛著多幾個(gè)存儲器,如果想要將存儲器1的內(nèi)容復(fù)制到存儲器2,如果不用DMA的話,就得靠CPU直接去操...
微控制器,簡單來說就是微型或小型控制器?;臼侵赣蓡纹瑱C(jī)為核心的控制單元,及外部電路組成的控制器。單片機(jī)為核心的控制器優(yōu)點(diǎn)就是開發(fā)流程短,可編程,成本低。適用于普通的工業(yè)控制,比如簡單的信號、簡單的邏...
ZN551只是個(gè)控制模塊 給你個(gè)價(jià)格單吧,你看看是不是還得報(bào)其他東西,這個(gè)是全套的,里面有你要的價(jià)。 (單擊一下圖可放大看)
一般而言,DMA控制器將包括一條地址總線、一條數(shù)據(jù)總線和控制寄存器。高效率的DMA控制器將具有訪問其所需要的任意資源的能力,而無須處理器本身的介入,它必須能產(chǎn)生中斷。最后,它必須能在控制器內(nèi)部計(jì)算出地址。
一個(gè)處理器可以包含多個(gè)DMA控制器。每個(gè)控制器有多個(gè)DMA通道,以及多條直接與存儲器站(memory bank)和外設(shè)連接的總線,如圖1所示。在很多高性能處理器中集成了兩種類型的DMA控制器。第一類通常稱為“系統(tǒng)DMA控制器”,可以實(shí)現(xiàn)對任何資源(外設(shè)和存儲器)的訪問,對于這種類型的控制器來說,信號周期數(shù)是以系統(tǒng)時(shí)鐘(SCLK)來計(jì)數(shù)的,以ADI的Blackfin處理器為 例,頻率最高可達(dá)133MHz。第二類稱為內(nèi)部存儲器DMA控制器(IMDMA),專門用于內(nèi)部存儲器所處位置之間的相互存取操作。因?yàn)榇嫒《及l(fā)生在內(nèi)部 (L1-L1、L1-L2,或者L2-L2),周期數(shù)的計(jì)數(shù)則以內(nèi)核時(shí)鐘(CCLK)為基準(zhǔn)來進(jìn)行,該時(shí)鐘的速度可以超過600MHz。
每個(gè)DMA控制器有一組FIFO,起到DMA子系統(tǒng)和外設(shè)或存儲器之間的緩沖器的作用。對于MemDMA(Memory DMA)來說,傳輸?shù)脑炊撕湍繕?biāo)端都有一組FIFO存在。當(dāng)資源緊張而不能完成數(shù)據(jù)傳輸?shù)脑?,則FIFO可以提供數(shù)據(jù)的暫存區(qū),從而提高性能。
因?yàn)槟阃ǔ诖a初始化過程中對DMA控制器進(jìn)行配置,內(nèi)核就只需要在數(shù)據(jù)傳輸完成后對中斷做出響應(yīng)即可。你可以對DMA控制進(jìn)行編程,讓其與內(nèi)核并行地移動數(shù)據(jù),而同時(shí)讓內(nèi)核執(zhí)行其基本的處理任務(wù)—那些應(yīng)該讓它專注完成的工作。
DMA控制器是內(nèi)存儲器同外設(shè)之間進(jìn)行高速數(shù)據(jù)傳送時(shí)的硬件控制電路,是一種實(shí)現(xiàn)直接數(shù)據(jù)傳送的專用處理器,它必須能取代在程序控制傳送中由CPU和軟件所完成的各項(xiàng)功能;它的主要功能是:
(1)DMAC同外設(shè)之間有一對聯(lián)絡(luò)信號線——外設(shè)的DMA請求信號DREQ以及 DMAC向外設(shè)發(fā)出的DMA響應(yīng)信號DACK;
(2)DMAC在接收到DREQ后,同CPU之間也有一對聯(lián)絡(luò)信號線——DMAC向CPU 發(fā)出總線請求信號(HOLD或BUSRQ),CPU在當(dāng)前總線周期結(jié)束后向DMAC發(fā)出總線響應(yīng)信號(HLDA或BUSAK),DMAC接管對總線的控制權(quán),進(jìn)入DMA操作方式;
(3)能發(fā)出地址信息,對存儲器尋址,并修改地址指針,DMAC內(nèi)部必須有能自動加1或減1的地址寄存器;
(4)能決定傳送的字節(jié)數(shù),并能判斷DMA傳送是否結(jié)束。DMA內(nèi)部必須有能自動減1的字計(jì)數(shù)寄存器,計(jì)數(shù)結(jié)束產(chǎn)生終止計(jì)數(shù)信號;
(5)能發(fā)出DMA結(jié)束信號,釋放總線,使CPU恢復(fù)總線控制權(quán);
(6)能發(fā)出讀、寫控制信號,包括存儲器訪問信號和I/O訪問信號。DMAC內(nèi)部必須有時(shí)序和讀寫控制邏輯。 有些DMAC芯片和模塊在這些基本功能的基礎(chǔ)上還增加了一些新的功能。如:在DMA傳送結(jié)束時(shí)產(chǎn)生中斷請求信號;在傳送完一個(gè)字節(jié)數(shù)后輸出一個(gè)脈沖信號,用于記錄已傳送的字節(jié)數(shù)、為外部提供周期性的脈沖序列;在一個(gè)數(shù)據(jù)塊傳送完后能自動裝入新的起始地址和字節(jié)數(shù),以便重復(fù)傳送一個(gè)數(shù)據(jù)塊或?qū)讉€(gè)數(shù)據(jù)塊鏈接起來傳送;產(chǎn)生兩個(gè)存儲器地址,從而實(shí)現(xiàn)存儲器與存儲器之間的傳送以及能夠?qū)/O設(shè)備尋址,實(shí)現(xiàn)I/O設(shè)備與I/O設(shè)備之間的傳送以及能夠在傳送過程中檢索某一特定字節(jié)或者進(jìn)行數(shù)據(jù)檢驗(yàn)等等。
一個(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)告。
格式:pdf
大?。?span id="wdgss7n" class="single-tag-height">97KB
頁數(shù): 10頁
評分: 4.4
HW-BA5201 控制模塊 概 述 .HW-BA5201 DDC 控制模塊是智能樓宇控制系統(tǒng)的一部分,它采用 LONWORKS 現(xiàn)場總線 技術(shù)與外界進(jìn)行通訊, 具有網(wǎng)絡(luò)布線簡單、 易于維護(hù)等特點(diǎn)。 它可完成對樓控系統(tǒng)及各種工 業(yè)現(xiàn)場標(biāo)準(zhǔn)開關(guān)量信號與模擬量信號的采集,并且對各種模擬量以及開關(guān)量設(shè)備進(jìn)行控制。 特 點(diǎn) l 具有 11路通用輸入端口, 可采集多種類型的模擬量信號與不同電平的開關(guān)量信號, 并對 其進(jìn)行不同方式的處理: 對于模擬量信號輸入, 可對其進(jìn)行濾波以及非線性矯正; 對于開關(guān) 量信號輸入,可通過軟件將其配置成直接輸入、延時(shí) 輸入、觸發(fā)輸入、計(jì)時(shí)、計(jì)數(shù)、測頻 率等模式。 l 具有 4路開關(guān)量輸出端口,通過插針跳線和軟件配置,可將各通道配置成直接輸出、延 時(shí)輸出、脈沖輸出、單穩(wěn)輸出、觸發(fā)輸出、脈寬調(diào)制輸出等多種形式的開關(guān)量控制信號。具 有手動強(qiáng)制輸出按鈕及輸出指示
格式:pdf
大?。?span id="gg6wxqv" class="single-tag-height">97KB
頁數(shù): 5頁
評分: 4.4
為了改善互聯(lián)電力系統(tǒng)阻尼,研究了廣域阻尼控制器和靜止同步補(bǔ)償器(STATCOM)的控制器參數(shù)全局優(yōu)化方法。首先介紹了廣域阻尼控制器和STATCOM及其控制器數(shù)學(xué)模型,然后描述了改進(jìn)的細(xì)菌覓食優(yōu)化(BFO)算法。用Matlab編程,按BFO方法優(yōu)化控制器參數(shù)以使ITSE型適應(yīng)度值最小。適應(yīng)度值是通過解電力系統(tǒng)微分-代數(shù)方程求得。10機(jī)39母線新英格蘭系統(tǒng)被用于測試協(xié)調(diào)設(shè)計(jì)方法。仿真測試表明,廣域阻尼控制器和STATCOM控制器的協(xié)調(diào)設(shè)計(jì)能增強(qiáng)電力系統(tǒng)動態(tài)穩(wěn)定性。
--24個(gè)外部中斷端口;
--多路輸入/輸出口。
--3個(gè)帶DMA和中斷的UART;
--支持5位、6位、7位、8位串行數(shù)據(jù)傳送/接受;
--當(dāng)傳送/接受時(shí)支持雙向握手;
--可編程波特率;
--支持IrDA1.0(115.2kbps);
--支持回環(huán)測試模式;
--每個(gè)通道由16字節(jié)TX FIFO和16字節(jié)RX FIFO。
--4錄DMA控制器;
--支持I/O到存儲器、存儲器到I/O以及I/O到I/O;
--突發(fā)傳送模式提高了FPDRAM、EDODRAM和SDRAM的傳送率。
--8通道10位ADC;
--轉(zhuǎn)換速率最大為500kbps。
--支持3種類型STN LCD:4位雙掃描、4位單掃描和8位單掃描;
--STN LCD支持單色顯示、4級灰度、16級灰度、256色彩色和4096色;
--彩色TFT支持1/2/4/8bpp(位每點(diǎn))剪貼板彩色顯示;
--最大支持24bpp模式16M彩色TFT;
--STN和TFT支持多種屏幕尺寸。
--1個(gè)帶中斷的多主機(jī)IIC總線;
--支持MSB數(shù)據(jù)格式。
--1個(gè)帶DMA的音頻IIS總線接口;
--支持MSB數(shù)據(jù)格式。
--與SD存儲卡協(xié)議版本1.0兼容;
--與SDIO卡協(xié)議版本1.0兼容;
--與MMC存儲協(xié)議版本2.11兼容;
--基于DMA或者中斷的操作;
--支持TX/RX FIFO。
--2通道與SPI協(xié)議版本2.11兼容的SPI接口;
--TX/RX 2字節(jié)移位寄存器;
--基于DMA或者中斷的操作。
第一章微型計(jì)算機(jī)接口技術(shù)基礎(chǔ)
第一節(jié)微型計(jì)算機(jī)的組成
第二節(jié)微型計(jì)算機(jī)的接口
習(xí)題一
第二章微型計(jì)算機(jī)中斷系統(tǒng)
第一節(jié)中斷系統(tǒng)的基本概念
第二節(jié)D0s和B10s系統(tǒng)的中斷功能調(diào)用
習(xí)題二
第三章輸入/輸出(I/O)接口技術(shù)
第一節(jié)I/0接口的基本概念
第二節(jié)I/0接口的編址方式與地址分配
第三節(jié)I/0接口的傳送控制方式
第四節(jié)82C37ADMA控制器簡介
習(xí)題三
第四章鼠標(biāo)器接口技術(shù)
第一節(jié)鼠標(biāo)器的基本概念
第二節(jié)鼠標(biāo)器接口技術(shù)的應(yīng)用
習(xí)題四
第五章鍵盤接口技術(shù)
第一節(jié)鍵盤的基本概念
第二節(jié)鍵盤接口技術(shù)的應(yīng)用
習(xí)題五
第六章串行接口與打印機(jī)接口技術(shù)
第一節(jié)串行接口技術(shù)
第二節(jié)打印機(jī)接口技術(shù)
習(xí)題六
第七章視頻顯示接口技術(shù)
第一節(jié)視頻顯示接口的基本概念
第二節(jié)3D圖形技術(shù)
第三節(jié)AGP顯示接口技術(shù)
第四節(jié)視頻采集卡和電視卡
習(xí)題七
第八章通用串行總線(USB)接口技術(shù)
第一節(jié)usB接口的基本概念
第二節(jié)usB接口技術(shù)應(yīng)用
第三節(jié)網(wǎng)卡
習(xí)題八
第九章聲卡接口技術(shù)
第一節(jié)聲卡接口的基本概念
第二節(jié)常見聲卡簡介
習(xí)題九
參考文獻(xiàn)
I/O接口的功能是負(fù)責(zé)實(shí)現(xiàn)CPU通過系統(tǒng)總線把I/O電路和外圍設(shè)備聯(lián)系在一起,按照電路和設(shè)備的復(fù)雜程度,I/O接口的硬件主要分為兩大類:
(1)I/O接口芯片
這些芯片大都是集成電路,通過CPU輸入不同的命令和參數(shù),并控制相關(guān)的I/O電路和簡單的外設(shè)作相應(yīng)的操作,常見的接口芯片如定時(shí)計(jì)數(shù)器、中斷控制器、DMA控制器、并行接口等。
(2)I/O接口控制卡
由若干個(gè)集成電路按一定的邏輯組成為一個(gè)部件,或者直接與CPU同在主板上,或是一個(gè)插件插在系統(tǒng)總線插槽上。
按照接口的連接對象來分,又可以將他們分為串行接口、并行接口、鍵盤接口和磁盤接口等。