一般而言,DMA控制器將包括一條地址總線、一條數(shù)據(jù)總線和控制寄存器。高效率的DMA控制器將具有訪問其所需要的任意資源的能力,而無須處理器本身的介入,它必須能產(chǎn)生中斷。最后,它必須能在控制器內(nèi)部計算出地址。
一個處理器可以包含多個DMA控制器。每個控制器有多個DMA通道,以及多條直接與存儲器站(memory bank)和外設(shè)連接的總線,如圖1所示。在很多高性能處理器中集成了兩種類型的DMA控制器。第一類通常稱為“系統(tǒng)DMA控制器”,可以實現(xiàn)對任何資源(外設(shè)和存儲器)的訪問,對于這種類型的控制器來說,信號周期數(shù)是以系統(tǒng)時鐘(SCLK)來計數(shù)的,以ADI的Blackfin處理器為 例,頻率最高可達(dá)133MHz。第二類稱為內(nèi)部存儲器DMA控制器(IMDMA),專門用于內(nèi)部存儲器所處位置之間的相互存取操作。因為存取都發(fā)生在內(nèi)部 (L1-L1、L1-L2,或者L2-L2),周期數(shù)的計數(shù)則以內(nèi)核時鐘(CCLK)為基準(zhǔn)來進(jìn)行,該時鐘的速度可以超過600MHz。
每個DMA控制器有一組FIFO,起到DMA子系統(tǒng)和外設(shè)或存儲器之間的緩沖器的作用。對于MemDMA(Memory DMA)來說,傳輸?shù)脑炊撕湍繕?biāo)端都有一組FIFO存在。當(dāng)資源緊張而不能完成數(shù)據(jù)傳輸?shù)脑?,則FIFO可以提供數(shù)據(jù)的暫存區(qū),從而提高性能。
因為你通常會在代碼初始化過程中對DMA控制器進(jìn)行配置,內(nèi)核就只需要在數(shù)據(jù)傳輸完成后對中斷做出響應(yīng)即可。你可以對DMA控制進(jìn)行編程,讓其與內(nèi)核并行地移動數(shù)據(jù),而同時讓內(nèi)核執(zhí)行其基本的處理任務(wù)—那些應(yīng)該讓它專注完成的工作。
DMA既可以指內(nèi)存和外設(shè)直接存取數(shù)據(jù)這種內(nèi)存訪問的計算機(jī)技術(shù),又可以指實現(xiàn)該技術(shù)的硬件模塊(對于通用計算機(jī)PC而言,DMA控制邏輯由CPU和DMA控制接口邏輯芯片共同組成,嵌入式系統(tǒng)的DMA控制器內(nèi)建在處理器芯片內(nèi)部,一般稱為DMA控制器,DMAC)。
值得注意的是,通常只有數(shù)據(jù)流量較大(kBps或者更高)的外設(shè)才需要支持DMA能力,這些應(yīng)用方面典型的例子包括視頻、音頻和網(wǎng)絡(luò)接口 。
有兩類主要的DMA傳輸結(jié)構(gòu):寄存器模式和描述符模式。無論屬于哪一類DMA,表1的幾種信息都會在DMA控制器中出現(xiàn)。當(dāng)DMA以寄存器模式工作時,DMA控制器只是簡單地利用寄存器中所存儲的參數(shù)值。在描述符模式中,DMA控制器在存儲器中查找自己的配置參數(shù)。
(1)基于寄存器的DMA
在基于寄存器的DMA內(nèi)部,處理器直接對DMA控制寄存器進(jìn)行編程,來啟動傳輸?;诩拇嫫鞯腄MA提供了最佳的DMA控制器性能,因為寄存器并不需要不斷地從存儲器中的描述符上載入數(shù)據(jù),而內(nèi)核也不需要保持描述符?;诩拇嫫鞯腄MA由兩種子模式組成:自動緩沖(Autobuffer)模式和停止模式。在自動緩沖DMA中,當(dāng)一個傳輸塊傳輸完畢,控制寄存器就自動重新載入其最初的設(shè)定值,同一個DMA進(jìn)程重新啟動,開銷為零。如果將一個自動緩沖DMA設(shè)定為從外設(shè)傳輸一定數(shù)量的字到 L1數(shù)據(jù)存儲器的緩沖器上,則DMA控制器將會在最后一個字傳輸完成的時刻就迅速重新載入初始的參數(shù)。這構(gòu)成了一個“循環(huán)緩沖器”,因為當(dāng)一個量值被寫入 到緩沖器的最后一個位置上時,下一個值將被寫入到緩沖器的第一個位置上。
自動緩沖DMA特別適合于對性能敏感的、存在持續(xù)數(shù)據(jù)流的應(yīng)用。DMA控制器可以在獨(dú)立于處理器其他活動的情況下讀入數(shù)據(jù)流,然后在每次傳輸結(jié)束時,向內(nèi)核發(fā)出中斷。
停止模式的工作方式與自動緩沖DMA類似,區(qū)別在于各寄存器在DMA結(jié)束后不會重新載入,因 此整個DMA傳輸只發(fā)生一次。停止模式對于基于某種事件的一次性傳輸來說十分有用。例如,非定期地將數(shù)據(jù)塊從一個位置轉(zhuǎn)移到另一個位置。當(dāng)你需要對事件進(jìn) 行同步時,這種模式也非常有用。例如,如果一個任務(wù)必須在下一次傳輸前完成的話,則停止模式可以確保各事件發(fā)生的先后順序。此外,停止模式對于緩沖器的初 始化來說非常有用。
(2)描述符模型
基于描述符(descriptor)的DMA要求在存儲器中存入一組參數(shù),以 啟動DMA的系列操作。該描述符所包含的參數(shù)與那些通常通過編程寫入DMA控制寄存器組的所有參數(shù)相同。不過,描述符還可以容許多個DMA操作序列串在一 起。在基于描述符的DMA操作中,我們可以對一個DMA通道進(jìn)行編程,在當(dāng)前的操作序列完成后,自動設(shè)置并啟動另一次DMA傳輸?;诿枋龇姆绞綖楣芾?系統(tǒng)中的DMA傳輸提供了最大的靈活性 。
單片機(jī)里的DMA是什么意思啊,有款單片機(jī)說具有DMA控制器,中的DMA是什么意思啊?
DMA就是直接存儲器訪問的首字母縮寫(Direct Memory Access)。CPU的總線上同時會掛著多幾個存儲器,如果想要將存儲器1的內(nèi)容復(fù)制到存儲器2,如果不用DMA的話,就得靠CPU直接去操...
微控制器,簡單來說就是微型或小型控制器?;臼侵赣蓡纹瑱C(jī)為核心的控制單元,及外部電路組成的控制器。單片機(jī)為核心的控制器優(yōu)點就是開發(fā)流程短,可編程,成本低。適用于普通的工業(yè)控制,比如簡單的信號、簡單的邏...
ZN551只是個控制模塊 給你個價格單吧,你看看是不是還得報其他東西,這個是全套的,里面有你要的價。 (單擊一下圖可放大看)
DMAC可以在兩種模式下運(yùn)行:無描述符存取模式和描述符存取模式。模式的選取由DCSRx[NODESCFETCH]位決定。同樣在同一時間內(nèi),不同的通道里可以分別使用這兩種模式。通道在轉(zhuǎn)換運(yùn)行模式之前必須停止數(shù)據(jù)處理。如果出現(xiàn)錯誤,則通道停留在停止?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ù)拈_始時被執(zhí)行。
一個典型的無描述符存取操作順序如下。
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ù)填充。多個DMA描述符可以被鏈成一個鏈表。這就允許DMA通道在一系列不連續(xù)的地址上進(jìn)行數(shù)據(jù)傳輸。一個典型的有描述符存取模式的操作步驟如下。
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è)之間進(jìn)行高速數(shù)據(jù)傳送時的硬件控制電路,是一種實現(xiàn)直接數(shù)據(jù)傳送的專用處理器,它必須能取代在程序控制傳送中由CPU和軟件所完成的各項功能;它的主要功能是:
(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的字計數(shù)寄存器,計數(shù)結(jié)束產(chǎn)生終止計數(shù)信號;
(5)能發(fā)出DMA結(jié)束信號,釋放總線,使CPU恢復(fù)總線控制權(quán);
(6)能發(fā)出讀、寫控制信號,包括存儲器訪問信號和I/O訪問信號。DMAC內(nèi)部必須有時序和讀寫控制邏輯。 有些DMAC芯片和模塊在這些基本功能的基礎(chǔ)上還增加了一些新的功能。如:在DMA傳送結(jié)束時產(chǎn)生中斷請求信號;在傳送完一個字節(jié)數(shù)后輸出一個脈沖信號,用于記錄已傳送的字節(jié)數(shù)、為外部提供周期性的脈沖序列;在一個數(shù)據(jù)塊傳送完后能自動裝入新的起始地址和字節(jié)數(shù),以便重復(fù)傳送一個數(shù)據(jù)塊或?qū)讉€數(shù)據(jù)塊鏈接起來傳送;產(chǎn)生兩個存儲器地址,從而實現(xiàn)存儲器與存儲器之間的傳送以及能夠?qū)/O設(shè)備尋址,實現(xiàn)I/O設(shè)備與I/O設(shè)備之間的傳送以及能夠在傳送過程中檢索某一特定字節(jié)或者進(jìn)行數(shù)據(jù)檢驗等等。
一個DMA控制器,實際上是采用DMA方式的外圍設(shè)備與系統(tǒng)總線之間的接口電路,這個接口電路是在中斷接口的基礎(chǔ)上再加DMA機(jī)構(gòu)組成。習(xí)慣上將DMA方式的接口電路稱為DMA控制器。
(1)內(nèi)存地址計數(shù)器:用于存放內(nèi)存中要交換的數(shù)據(jù)的地址。在 DMA傳送前,須通過程序?qū)?shù)據(jù)在內(nèi)存中的起始位置(首地址)送到內(nèi)存地址計數(shù)器。而當(dāng) DMA 傳送時,每交換一次數(shù)據(jù),將地址計數(shù)器加“1”,從而以增量方式給出內(nèi)存中要交換的一批數(shù)據(jù)的地址。
(2)字計數(shù)器:用于記錄傳送數(shù)據(jù)塊的長度(多少字?jǐn)?shù))。其內(nèi)容也是在數(shù)據(jù)傳送之前由程序預(yù)置,交換的字?jǐn)?shù)通常以補(bǔ)碼形式表示。在DMA傳送時,每傳送一個字,字計數(shù)器就加“1”。當(dāng)計數(shù)器溢出即最高位產(chǎn)生進(jìn)位時,表示這批數(shù)據(jù)傳送完畢,于是引起DMA控制器向CPU發(fā)出中斷信號。
(3)數(shù)據(jù)緩沖寄存器:用于暫存每次傳送的數(shù)據(jù)(一個字)。當(dāng)輸入時,由設(shè)備(如磁盤)送往數(shù)據(jù)緩沖寄存器,再由緩沖寄存器通過數(shù)據(jù)總線送到內(nèi)存。反之,輸出時,由內(nèi)存通過數(shù)據(jù)總線送到數(shù)據(jù)緩沖寄存器,然后再送到設(shè)備。
(4)DMA請求”標(biāo)志:每當(dāng)設(shè)備準(zhǔn)備好一個數(shù)據(jù)字后給出一個控制信號,使“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ù)位,為交換下一個字做好準(zhǔn)備。
(5)控制/狀態(tài)”邏輯:由控制和時序電路以及狀態(tài)標(biāo)志等組成,用于修改內(nèi)存地址計數(shù)器和字計數(shù)器,指定傳送類型(輸入或輸出),并對“DMA請求”信號和CPU響應(yīng)信號進(jìn)行協(xié)調(diào)和同步。
(6)中斷機(jī)構(gòu):當(dāng)字計數(shù)器溢出時,意味著一組數(shù)據(jù)交換完畢,由溢出信號觸發(fā)中斷機(jī)構(gòu),向CPU提出中斷報告。
格式:pdf
大?。?span id="2agmoc0" class="single-tag-height">7KB
頁數(shù): 3頁
評分: 4.4
DDC 控制器原理及結(jié)構(gòu) 的輸入 /輸出信號根據(jù)物理性質(zhì)通常分為模擬輸入量( Analogy Input, 縮寫為 AD〉、模擬輸出量( Analogy Output,縮寫為 AO)、數(shù)字輸入 量(Digital input,縮寫為 DI和數(shù)字輸出量〈 digital output,縮寫為 DO) 四類 . 在系統(tǒng)設(shè)計和使用中,需要掌握 DDC輸入和輸出的連接, (1)模擬量輸入的物理量有溫度、濕度、壓力、流量等 ,這些物理量由 相應(yīng)的傳感器感應(yīng)測得,往往經(jīng)過變送器轉(zhuǎn)變?yōu)殡娦盘査腿?DDC的 模擬輸入口( AI).此電信號可以是電流信號 (0-10mA),也可以是電壓信號〈 0? 5 V或 0? 10 V〉。一般一個 DDC 控制器可有多個 AI輸入口 ,若變送器輸出為電流信號 ,通常由接在輸入 端口的電阻轉(zhuǎn)變?yōu)殡妷盒盘?. (2)DDC計箅機(jī)能夠直接判斷 D1 通道上的電平高低(相當(dāng)
格式:pdf
大?。?span id="0s2w00q" class="single-tag-height">7KB
頁數(shù): 10頁
評分: 4.4
HW-BA5201 控制模塊 概 述 .HW-BA5201 DDC 控制模塊是智能樓宇控制系統(tǒng)的一部分,它采用 LONWORKS 現(xiàn)場總線 技術(shù)與外界進(jìn)行通訊, 具有網(wǎng)絡(luò)布線簡單、 易于維護(hù)等特點。 它可完成對樓控系統(tǒng)及各種工 業(yè)現(xiàn)場標(biāo)準(zhǔn)開關(guān)量信號與模擬量信號的采集,并且對各種模擬量以及開關(guān)量設(shè)備進(jìn)行控制。 特 點 l 具有 11路通用輸入端口, 可采集多種類型的模擬量信號與不同電平的開關(guān)量信號, 并對 其進(jìn)行不同方式的處理: 對于模擬量信號輸入, 可對其進(jìn)行濾波以及非線性矯正; 對于開關(guān) 量信號輸入,可通過軟件將其配置成直接輸入、延時 輸入、觸發(fā)輸入、計時、計數(shù)、測頻 率等模式。 l 具有 4路開關(guān)量輸出端口,通過插針跳線和軟件配置,可將各通道配置成直接輸出、延 時輸出、脈沖輸出、單穩(wěn)輸出、觸發(fā)輸出、脈寬調(diào)制輸出等多種形式的開關(guān)量控制信號。具 有手動強(qiáng)制輸出按鈕及輸出指示
--24個外部中斷端口;
--多路輸入/輸出口。
--3個帶DMA和中斷的UART;
--支持5位、6位、7位、8位串行數(shù)據(jù)傳送/接受;
--當(dāng)傳送/接受時支持雙向握手;
--可編程波特率;
--支持IrDA1.0(115.2kbps);
--支持回環(huán)測試模式;
--每個通道由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(位每點)剪貼板彩色顯示;
--最大支持24bpp模式16M彩色TFT;
--STN和TFT支持多種屏幕尺寸。
--1個帶中斷的多主機(jī)IIC總線;
--支持MSB數(shù)據(jù)格式。
--1個帶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ī)接口技術(shù)基礎(chǔ)
第一節(jié)微型計算機(jī)的組成
第二節(jié)微型計算機(jī)的接口
習(xí)題一
第二章微型計算機(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é)實現(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ù)器、中斷控制器、DMA控制器、并行接口等。
(2)I/O接口控制卡
由若干個集成電路按一定的邏輯組成為一個部件,或者直接與CPU同在主板上,或是一個插件插在系統(tǒng)總線插槽上。
按照接口的連接對象來分,又可以將他們分為串行接口、并行接口、鍵盤接口和磁盤接口等。