两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種直接存儲器訪問控制器及傳輸數(shù)據(jù)的方法

文檔序號:6536119閱讀:154來源:國知局
專利名稱:一種直接存儲器訪問控制器及傳輸數(shù)據(jù)的方法
技術(shù)領(lǐng)域
本發(fā)明涉及采用直接存儲器訪問(DMA)方式傳輸數(shù)據(jù)的方法,特別涉及一種DMA控制器及傳輸數(shù)據(jù)的方法。
背景技術(shù)
計算機(jī)系統(tǒng)和外部設(shè)備之間、或者計算機(jī)系統(tǒng)不同內(nèi)存之間的數(shù)據(jù)傳輸通常通過中央處理器(CPU)和數(shù)字信號處理器(DSP)進(jìn)行。CPU和DSP統(tǒng)稱為微控制單元(MCU),MCU可以采用程控法或者中斷法控制與外部設(shè)備之間的數(shù)據(jù)傳輸,但是這兩種數(shù)據(jù)傳輸?shù)姆绞蕉急容^慢。當(dāng)高速外部設(shè)備和計算機(jī)系統(tǒng)內(nèi)存之間、或者計算機(jī)系統(tǒng)不同的內(nèi)存之間進(jìn)行大量數(shù)據(jù)快速傳輸時,這兩種數(shù)據(jù)傳輸?shù)姆绞骄驮谝欢ǔ潭壬舷拗屏藬?shù)據(jù)傳輸?shù)乃俾省?br> 為了提高計算機(jī)系統(tǒng)和外部設(shè)備之間、或者計算機(jī)系統(tǒng)不同內(nèi)存之間數(shù)據(jù)傳輸?shù)乃俣?,出現(xiàn)了DMA。DMA是一種高速的數(shù)據(jù)傳輸操作,其允許計算機(jī)系統(tǒng)和外部設(shè)備之間、或者計算機(jī)系統(tǒng)不同內(nèi)存之間直接讀寫數(shù)據(jù)。整個數(shù)據(jù)傳輸?shù)牟僮髟贒MA控制器的控制下進(jìn)行,MCU除了在數(shù)據(jù)傳輸開始和結(jié)束時,給出數(shù)據(jù)傳輸開始和結(jié)束的指令,在數(shù)據(jù)傳輸?shù)倪^程中對數(shù)據(jù)傳輸不再進(jìn)行其他的處理。這樣,在大部分時間內(nèi),MCU處理其他過程和數(shù)據(jù)傳輸過程可以并行操作,使整個計算機(jī)系統(tǒng)的效率大大提高。
圖1為現(xiàn)有技術(shù)的DMA控制器結(jié)構(gòu)圖,DMA控制器懸掛在計算機(jī)系統(tǒng)總線上,對數(shù)據(jù)傳輸過程進(jìn)行控制。DMA控制器中包括總線Slave接口101、DMA請求和響應(yīng)接口102、控制邏輯和寄存器組103、信道邏輯和寄存器組104、總線Master接口105和中斷請求邏輯接口106。
總線Slave接口101,計算機(jī)系統(tǒng)的MCU通過該接口來配置DMA控制器中的控制邏輯和寄存器組103以及信道邏輯和寄存器組104,使DMA實(shí)現(xiàn)各種數(shù)據(jù)傳輸?shù)墓ぷ髂J揭约案鱾€DMA控制器通道的參數(shù)設(shè)置。DMA請求和響應(yīng)接口102主要用來處理計算機(jī)系統(tǒng)中的內(nèi)存到外設(shè)、外設(shè)到內(nèi)存以及外設(shè)到外設(shè)的DMA傳送請求和應(yīng)答信號。總線Master接口105,DMA通過該接口實(shí)現(xiàn)對掛接在計算機(jī)系統(tǒng)總線的內(nèi)存以及外設(shè)中的數(shù)據(jù)進(jìn)行傳輸。中斷請求邏輯接口106,當(dāng)DMA控制器的工作狀態(tài)改變時,例如某通道傳輸結(jié)束或者失敗,則通知MCU,MCU再來查詢DMA控制器中的控制邏輯和寄存器組103,來實(shí)現(xiàn)相應(yīng)的控制,從而完成DMA控制器和MCU的信息和數(shù)據(jù)的交互。
其中,控制邏輯和寄存器組103中包括六個寄存器,如圖2所示DMA中斷狀態(tài)寄存器(DMAIntStatus)201、DMA中斷屏蔽寄存器(DMAIntMask)202、DMA傳輸結(jié)束寄存器(DMAIntTCStatus)203、DMA傳輸結(jié)束中斷寄存器(DMAIntTCClear)204、DMA傳輸錯誤寄存器(DMAIntERRStatus205)以及DMA傳輸錯誤中斷寄存器(DMAIntERRClear)206。DMAIntStatus201用于表示經(jīng)過DMAIntMask202屏蔽后的DMA控制器通道的中斷狀態(tài);DMAIntMask202用于表示對DMA控制器的各個通道設(shè)置中斷屏蔽;DMAIntTCStatus203用于表示對應(yīng)的DMA控制器通道傳輸數(shù)據(jù)結(jié)束了;DMAIntTCClear204用于清除對應(yīng)的DMA控制器通道的傳輸結(jié)束中斷標(biāo)志;DMAIntERRStatus205用于表示對應(yīng)的DMA控制器通道傳輸數(shù)據(jù)出錯;DMAIntERRClear206用于清除對應(yīng)的DMA控制器通道的傳輸出錯中斷標(biāo)志??刂七壿嫼图拇嫫鹘M103就是采用這六個寄存器控制DMA控制器中的各個通道傳輸數(shù)據(jù)的。
中斷請求邏輯接口106包括三根中斷信號線DMA通道傳輸錯誤中斷信號(DMAINTERR)、DMA通道傳輸結(jié)束信號(DMAINTTC)以及DMA通道傳輸組合中斷信號(DMAINTR)。DMAINTERR為DMA控制器通道傳輸出錯的中斷信號線;DMAINTTC為DMA控制器通道傳輸正確完成的中斷信號線;DMAINTR表示DMA控制器通道傳輸中斷,是DMAINTTC和DMAINTERR通過邏輯或操作得到的中斷信號線。通過三根中斷信號線,就可以實(shí)現(xiàn)DMA控制器和一個MCU的信息和數(shù)據(jù)的交互。
目前,使用DMA控制器傳輸數(shù)據(jù)的方式有兩種。第一種方式在一個計算機(jī)系統(tǒng)中通常使用多個DMA控制器,每個DMA控制器只隸屬于一個MCU,由其所屬的MCU來完成相應(yīng)的控制和信息交互功能。第二種方式在一個計算機(jī)系統(tǒng)中采用一個DMA控制器,利用客戶(Client)/服務(wù)(Server)工作模式,其具體過程為DMA由一個MCU單獨(dú)控制,此MCU稱之為DMA服務(wù)器(DMA Server),其他MCU則作為此DMA服務(wù)的請求者,即DMA客戶器(DMA Client)。當(dāng)DMA Client需要使用DMA控制器時,向DMA Server發(fā)出服務(wù)請求,由DMA Server配置并啟動DMA控制器,在DMA控制器傳送數(shù)據(jù)結(jié)束時,由DMA Server將DMA控制器傳輸數(shù)據(jù)的結(jié)果,以消息的方式,通知給DMA Client。
采用第一種方式傳輸數(shù)據(jù),達(dá)不到有效的資源復(fù)用,增大了計算機(jī)系統(tǒng)的成本以及體積;采用第二種方式傳輸數(shù)據(jù),需要DMA Server和DMAClient的參與,增大了延遲,降低計算機(jī)系統(tǒng)中MCU的響應(yīng)和處理時間,從而降低了計算機(jī)系統(tǒng)的工作效率。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于一方面提供一種DMA控制器,該DMA控制器能夠減少所增大的計算機(jī)系統(tǒng)的成本和體積。
本發(fā)明另一方面提供一種傳輸數(shù)據(jù)的方法,該方法能夠利用本發(fā)明提供的DMA控制器傳輸數(shù)據(jù),提高計算機(jī)系統(tǒng)中MCU的響應(yīng)和處理時間,提高計算機(jī)系統(tǒng)的工作效率。
根據(jù)上述目的,本發(fā)明的具體技術(shù)方案是這樣實(shí)現(xiàn)的一種直接存儲器訪問DMA控制器,該DMA控制器掛接在計算機(jī)系統(tǒng)的總線上,包括總線Slave接口、總線Master接口以及信道邏輯和寄存器組,該DMA控制器還包括具有一組或一組以上寄存器DMAIntMask和DMAIntStatus的控制邏輯和寄存器組、以及具有對應(yīng)一組或一組以上中斷信號線DMAINTERR、DMAINTTC和DMAINTR的中斷請求邏輯接口,一組寄存器DMAIntMask和DMAIntStatus以及對應(yīng)的一組信號線DMAINTERR、DMAINTTC和DMAINTR控制DMA控制器中的通道,該通道分配給一個微控制單元MCU,其中,總線Slave接口將接收到MCU發(fā)送的控制信號后轉(zhuǎn)發(fā)給控制邏輯和寄存器組和信道邏輯和寄存器組;控制邏輯和寄存器組根據(jù)控制信號通過該MCU對應(yīng)的一組寄存器DMAIntMask和DMAIntStatus設(shè)置給該MCU所分配通道的工作模式;信道邏輯和寄存器組設(shè)置給該MCU所分配通道的參數(shù);設(shè)置完成后通過總線Master接口傳輸數(shù)據(jù),傳送數(shù)據(jù)完成后信道邏輯和寄存器組向中斷請求邏輯接口發(fā)送該通道當(dāng)前狀態(tài)信號,中斷請求邏輯接口通過該MCU對應(yīng)的一組信號線DMAINTERR、DMAINTTC和DMAINTR通知MCU給該MCU所分配通道的狀態(tài)。
所述的DMA控制器用于計算系統(tǒng)中的內(nèi)存到內(nèi)存的數(shù)據(jù)傳輸。
當(dāng)所述的DMA控制器用于計算機(jī)系統(tǒng)中的內(nèi)存到外設(shè)、外設(shè)到外設(shè)或者外設(shè)到內(nèi)存的數(shù)據(jù)傳輸時,該DMA控制器還包括DMA請求和響應(yīng)接口,用于接收來自外設(shè)的DMA請求信號,觸發(fā)信道邏輯和寄存器組發(fā)起DMA傳輸,傳輸完畢后,發(fā)送應(yīng)答信號給外設(shè);在所述設(shè)置完成后通過總線Master接口傳輸數(shù)據(jù)之前,所述的信道邏輯和寄存器組接收通過DMA請求和響應(yīng)接口發(fā)送的來自外設(shè)的DMA請求信號。
所述控制邏輯和寄存器組具有的寄存器DMAIntMask和DMAIntStatus組數(shù)與計算機(jī)系統(tǒng)中的MCU個數(shù)相同;所述中斷請求邏輯接口具有的信號線DMAINTERR、DMAINTTC和DMAINTR組數(shù)與計算機(jī)系統(tǒng)中的MCU個數(shù)相同。
所述控制邏輯和寄存器組具有的寄存器DMAIntMask和DMAIntStatus組數(shù)比計算機(jī)系統(tǒng)中的MCU個數(shù)少一個;所述中斷請求邏輯接口具有的信號線DMAINTERR、DMAINTTC和DMAAINTR組數(shù)比計算機(jī)系統(tǒng)中的MCU個數(shù)少一個。
所述控制邏輯和寄存器組還具有寄存器DMAIntMask、DMAIntStatus、DMAIntTCStatus、DMAIntTCClear控制計算機(jī)系統(tǒng)中的一個MCU所分配的DMA控制器中的通道;所述中斷請求邏輯接口還具有的信號線DMAINTERR、DMAINTTC和DMAINTR與計算機(jī)系統(tǒng)中的一個MCU所分配的DMA控制器中的通道相對應(yīng)。
一種傳輸數(shù)據(jù)的方法,預(yù)先給計算機(jī)系統(tǒng)中的MCU分配DMA控制器中的專用通道,該方法還包括A、計算機(jī)系統(tǒng)中的MCU向DMA控制器發(fā)送傳輸數(shù)據(jù)請求;B、DMA控制器收到該請求后,用預(yù)先分配給該MCU的DMA控制器中的專用信道傳輸數(shù)據(jù)。
所述給MCU分配的專用通道通過設(shè)置的寄存器DMAIntMask和DMAIntStatus進(jìn)行控制傳輸。
設(shè)置所述MCU對應(yīng)一組信號線DMAINTERR、DMAINTTC和DMAINT,在步驟B之后,該方法還包括C、DMA控制器傳輸數(shù)據(jù)完畢后,通過所設(shè)置的該MCU對應(yīng)的一組信號線DMAINTERR、DMAINTTC和DMAINT發(fā)送信號給MCU。
所述給MCU分配的專用通道的過程為給計算機(jī)系統(tǒng)的外設(shè)或內(nèi)存設(shè)置DMA控制器中的專用信道,MCU控制計算機(jī)系統(tǒng)的外設(shè)或內(nèi)存?zhèn)鬏敂?shù)據(jù),將計算機(jī)系統(tǒng)的外設(shè)或內(nèi)存對應(yīng)的DMA控制器中的專用信道作為給MCU分配的專用信道。
從上述方案可以看出,由于本發(fā)明僅僅增加了專門控制DMA控制器中各個通道的寄存器以及信號線,就可以使計算機(jī)系統(tǒng)中的各個MCU采用DMA控制器中的專用通道傳輸數(shù)據(jù)。從而,和現(xiàn)有技術(shù)中給計算機(jī)系統(tǒng)中的各個MCU分別配置DMA控制器的方案一相比,大大減少所增大的計算機(jī)系統(tǒng)的成本和體積。更進(jìn)一步地,和現(xiàn)有技術(shù)中計算機(jī)系統(tǒng)只用一個DMA控制器采用Client/Server工作模式的方案二相比,由于計算機(jī)系統(tǒng)中的MCU都可以通過專用的DMA控制器通道控制數(shù)據(jù)傳輸,而不像方案二中的是Client的MCU必須通過是Server的MCU才能控制數(shù)據(jù)傳輸,從而提高了計算機(jī)系統(tǒng)中MCU的響應(yīng)和處理時間,提高計算機(jī)系統(tǒng)的工作效率。


圖1為現(xiàn)有技術(shù)的DMA控制器結(jié)構(gòu)圖;圖2為現(xiàn)有技術(shù)的控制邏輯和寄存器組的結(jié)構(gòu)圖;圖3為本發(fā)明的DMA控制器結(jié)構(gòu)圖;圖4為采用本發(fā)明的DMA控制器進(jìn)行數(shù)據(jù)傳輸?shù)姆椒鞒虉D。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下舉具體實(shí)施例并參照本發(fā)明,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)的說明。
由于DMA控制器一般都具有多個通道,如8通道的DMA控制器或者16通道的DMA控制器,因此本發(fā)明可以采用以下方式控制DMA控制器中的通道分配將DMA控制器中的通道設(shè)置為某個MCU專用,即某個MCU控制其具有的DMA控制器中的通道進(jìn)行內(nèi)存到內(nèi)存的DMA數(shù)據(jù)傳輸,包括軟件上層任務(wù)間的消息傳送,MCU之間的消息交互,LCD的數(shù)據(jù)搬移,流媒體以及編解碼數(shù)據(jù)的搬移等。
將DMA控制器中的通道設(shè)置為某個MCU專用的過程為將DMA控制器中的通道設(shè)置為某個外設(shè)專用,根據(jù)計算機(jī)系統(tǒng)的需求,某個MCU控制了某個外設(shè),就控制了給某個外設(shè)分配的DMA控制器通道。
DMA控制器中的通道可以預(yù)先分配好,也可以根據(jù)計算機(jī)系統(tǒng)當(dāng)前應(yīng)用的需要進(jìn)行動態(tài)的修改。
舉一個例子說明本發(fā)明是如何分配DMA控制器中的通道的。例如設(shè)置給通用串行總線架構(gòu)(USB)存儲器的發(fā)送接口(TX)使用DMA控制器中的通道4,USB的接收接口(RX)使用DMA控制器中的通道5。
如果USB只由MCU0來控制,則MCU0控制DMA控制器中的通道4和通道5。如果USB只由MCU1來控制,則MCU1控制DMA控制器中的通道4和通道5。如果USB可以同時由MCU0和MCU1來控制,則當(dāng)MCU0使用USB時,MCU0控制DMA控制器中的通道4和通道5,當(dāng)MCU1使用USB時,MCU0控制DMA控制器中的通道4和通道5。
為了實(shí)現(xiàn)本發(fā)明對DMA控制器的通道進(jìn)行分配,本發(fā)明的DMA控制器也進(jìn)行了相應(yīng)的更改,即在DMA控制器中的控制邏輯和寄存器組103中給DMA控制器中的各個通道增加了相應(yīng)的2個寄存器,在中斷請求邏輯接口106中給DMA控制器中的各個通道增加了相應(yīng)的3根信號線。這里,本發(fā)明將在DMA控制器中給各個通道增加了的相應(yīng)2個寄存器、相應(yīng)3根信號線和相關(guān)控制電路的組合稱之為一個MCU控制資源,用MCUx表示。其中,x表示MCU控制資源的通道號,從1開始計數(shù),一個MCUx包括寄存器DMAIntStatusx、寄存器DMAIntMaskx、信號線DMAINTERRx、信號線DMAINTTCx、信號線DMAINTRx以及相關(guān)的控制電路。信號線DMAINTERRx、信號線DMAINTTCx和信號線DMAINTRx用于完成和對應(yīng)的MCU交互握手信號,寄存器DMAIntStatusx和寄存器DMAIntMaskx用于配置MCU對應(yīng)通道的工作模式和參數(shù)。
本發(fā)明DMA控制器對于多個MCU的支持通過增加對應(yīng)的MCUx來實(shí)現(xiàn)。如果需要支持N個MCU,則需要增加N-1組MCUx。剩下的一個MCU可以用現(xiàn)有技術(shù)已有的寄存器DMAIntStatus、寄存器DMAIntMask、信號線DMAINTERR、信號線DMAINTTC以及信號線DMAINTR進(jìn)行支持。通常,一個計算機(jī)系統(tǒng)中會有1~3個MCU,則N為1~3。MCUx中相關(guān)的控制電路可以通過拷貝的方式來實(shí)現(xiàn),將現(xiàn)有技術(shù)中DMA控制器中和已有寄存器DMAIntStatus、寄存器DMAIntMask、信號線DMAINTERR、信號線DMAINTTC以及信號線DMAINTR相關(guān)的控制電路進(jìn)行復(fù)制即可。x為幾,就復(fù)制幾減一組相關(guān)的控制電路。
另外,本發(fā)明還可以不使用DMA控制器的寄存器DMAIntStatus、寄存器DMAIntMask、信號線DMAINTERR、信號線DMAINTTC以及信號線DMAINTR,如果支持N個MCU,則增加N組MCUx。
圖3為本發(fā)明的DMA控制器結(jié)構(gòu)圖,DMA控制器懸掛在計算機(jī)系統(tǒng)總線上,對數(shù)據(jù)傳輸過程進(jìn)行控制。DMA控制器中包括總線Slave接口101、DMA請求和響應(yīng)接口102、控制邏輯和寄存器組303、信道邏輯和寄存器組104、總線Master接口105和中斷請求邏輯接口306。其中,在控制邏輯和寄存器組303中增加了x組的寄存器DMAIntStatus以及寄存器DMAIntMask,用于對x個MCU管理的通道分別進(jìn)行配置和設(shè)置參數(shù);在中斷請求邏輯接口306增加了x組的信號線DMAINTERR、信號線DMAINTTC和信號線DMAINTR,用于分別和x+1個MCU進(jìn)行消息交互,使對應(yīng)的MCU可以分別對所管理的DMA控制器通道進(jìn)行配置。
當(dāng)計算機(jī)系統(tǒng)中內(nèi)存與內(nèi)存之間傳輸數(shù)據(jù)時,整個傳輸數(shù)據(jù)的過程為總線Slave接口101將接收到MCU發(fā)送的控制信號后轉(zhuǎn)發(fā)給控制邏輯和寄存器組303和信道邏輯和寄存器組104;控制邏輯和寄存器組303根據(jù)控制信號通過該MCU對應(yīng)的一組寄存器DMAIntMask和DMAIntStatus設(shè)置給該MCU所分配通道的工作模式;信道邏輯和寄存器組104設(shè)置給該MCU所分配通道的參數(shù);設(shè)置完成后通過總線Master接口105傳輸數(shù)據(jù),傳送數(shù)據(jù)完成后信道邏輯和寄存器組104向中斷請求邏輯接口發(fā)送該通道當(dāng)前狀態(tài)信號,中斷請求邏輯接口106通過該MCU對應(yīng)的一組信號線DMAINTERR、DMAINTTC和DMAINTR通知MCU給該MCU所分配通道的狀態(tài)。
當(dāng)計算機(jī)系統(tǒng)中的內(nèi)存與外設(shè)之間或者外設(shè)與外設(shè)之間進(jìn)行數(shù)據(jù)傳輸時,外設(shè)通過DMA請求和響應(yīng)接102給信道邏輯和寄存器組104發(fā)送DMA請求信號,設(shè)置通道完成后信道邏輯和寄存器組104接收到該DMA請求信號后再傳輸數(shù)據(jù),當(dāng)完成本次DMA請求的數(shù)據(jù)傳輸后,通過DMA請求和響應(yīng)接102給外設(shè)發(fā)送DMA應(yīng)答信號。
為了使DMA控制器的通道在一個時刻內(nèi)只能屬于一個MCU控制,則在DMA控制器的驅(qū)動程序進(jìn)行設(shè)置,該驅(qū)動程序設(shè)置在相應(yīng)的MCU中,由軟件保證DMA控制器中的通道之間互斥性,其處理過程如下A)配置寄存器DMAIntMaskx,其中x表示對應(yīng)MCU使用的通道,使得每個DMA控制器通道只能屬于一個MCU。
設(shè)MCUx對應(yīng)的DMAIntMaskx的值為αx或αy,則需要滿足如下的兩個關(guān)系式ΣX=0N-1ax=1---(1)]]>ax*ay=0,ax,ay∈
,X≠Y (2)B)在DMA控制器的驅(qū)動程序的其他配置如現(xiàn)有技術(shù)的DMA。
如圖4所示,圖4為采用本發(fā)明的DMA控制器進(jìn)行數(shù)據(jù)傳輸?shù)姆椒鞒虉D,其具體過程為步驟400、計算機(jī)系統(tǒng)中的某個MCU向DMA控制器發(fā)送傳輸數(shù)據(jù)請求;步驟401、DMA控制器收到該請求后,用預(yù)先分配給該MCU的DMA控制器中的專用信道傳輸數(shù)據(jù);步驟402、DMA控制器傳輸數(shù)據(jù)完畢后,通過預(yù)先分配給該MCU對應(yīng)的信號線發(fā)送信號給該MCU,結(jié)束。
由于本發(fā)明給計算機(jī)系統(tǒng)中的各個MCU采用DMA控制器中的專用通道傳輸數(shù)據(jù),而僅僅增加了專門控制各個通道的寄存器以及信號線,和現(xiàn)有技術(shù)中給計算機(jī)系統(tǒng)中的各個MCU分別配置DMA控制器的方案一相比,大大減少所增大的計算機(jī)系統(tǒng)的成本和體積。更進(jìn)一步地,和現(xiàn)有技術(shù)中計算機(jī)系統(tǒng)只用一個DMA控制器采用Client/Server工作模式的方案二相比,由于計算機(jī)系統(tǒng)中的MCU都可以通過專用的DMA控制器通道控制數(shù)據(jù)傳輸,而不像方案二中的是Client的MCU必須通過是Server的MCU才能控制數(shù)據(jù)傳輸,從而提高了計算機(jī)系統(tǒng)中MCU的響應(yīng)和處理時間,提高計算機(jī)系統(tǒng)的工作效率。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種直接存儲器訪問DMA控制器,該DMA控制器掛接在計算機(jī)系統(tǒng)的總線上,包括總線Slave接口、總線Master接口以及信道邏輯和寄存器組,其特征在于,該DMA控制器還包括具有一組或一組以上寄存器DMAIntMask和DMAIntStatus的控制邏輯和寄存器組、以及具有對應(yīng)一組或一組以上中斷信號線DMAINTERR、DMAINTTC和DMAINTR的中斷請求邏輯接口,一組寄存器DMAIntMask和DMAIntStatus以及對應(yīng)的一組信號線DMAINTERR、DMAINTTC和DMAINTR控制DMA控制器中的通道,該通道分配給一個微控制單元MCU,其中,總線Slave接口將接收到MCU發(fā)送的控制信號后轉(zhuǎn)發(fā)給控制邏輯和寄存器組和信道邏輯和寄存器組;控制邏輯和寄存器組根據(jù)控制信號通過該MCU對應(yīng)的一組寄存器DMAIntMask和DMAIntStatus設(shè)置給該MCU所分配通道的工作模式;信道邏輯和寄存器組設(shè)置給該MCU所分配通道的參數(shù);設(shè)置完成后通過總線Master接口傳輸數(shù)據(jù),傳送數(shù)據(jù)完成后信道邏輯和寄存器組向中斷請求邏輯接口發(fā)送該通道當(dāng)前狀態(tài)信號,中斷請求邏輯接口通過該MCU對應(yīng)的一組信號線DMAINTERR、DMAINTTC和DMAINTR通知MCU給該MCU所分配通道的狀態(tài)。
2.如權(quán)利要求1所述的DMA控制器,其特征在于,所述的DMA控制器用于計算系統(tǒng)中的內(nèi)存到內(nèi)存的數(shù)據(jù)傳輸。
3.如權(quán)利要求1所述的DMA控制器,其特征在于,當(dāng)所述的DMA控制器用于計算機(jī)系統(tǒng)中的內(nèi)存到外設(shè)、外設(shè)到外設(shè)或者外設(shè)到內(nèi)存的數(shù)據(jù)傳輸時,該DMA控制器還包括DMA請求和響應(yīng)接口,用于接收來自外設(shè)的DMA請求信號,觸發(fā)信道邏輯和寄存器組發(fā)起DMA傳輸,傳輸完畢后,發(fā)送應(yīng)答信號給外設(shè);在所述設(shè)置完成后通過總線Master接口傳輸數(shù)據(jù)之前,所述的信道邏輯和寄存器組接收通過DMA請求和響應(yīng)接口發(fā)送的來自外設(shè)的DMA請求信號。
4.如權(quán)利要求1所述的DMA控制器,其特征在于,所述控制邏輯和寄存器組具有的寄存器DMAIntMask和DMAIntStatus組數(shù)與計算機(jī)系統(tǒng)中的MCU個數(shù)相同;所述中斷請求邏輯接口具有的信號線DMAINTERR、DMAINTTC和DMAINTR組數(shù)與計算機(jī)系統(tǒng)中的MCU個數(shù)相同。
5.如權(quán)利要求1所述的DMA控制器,其特征在于,所述控制邏輯和寄存器組具有的寄存器DMAIntMask和DMAIntStatus組數(shù)比計算機(jī)系統(tǒng)中的MCU個數(shù)少一個;所述中斷請求邏輯接口具有的信號線DMAINTERR、DMAINTTC和DMAINTR組數(shù)比計算機(jī)系統(tǒng)中的MCU個數(shù)少一個。
6.如權(quán)利要求5所述的DMA控制器,其特征在于,所述控制邏輯和寄存器組還具有寄存器DMAIntMask、DMAIntStatus、DMAIntTCStatus、DMAIntTCClear控制計算機(jī)系統(tǒng)中的一個MCU所分配的DMA控制器中的通道;所述中斷請求邏輯接口還具有的信號線DMAINTERR、DMAINTTC和DMAINTR與計算機(jī)系統(tǒng)中的一個MCU所分配的DMA控制器中的通道相對應(yīng)。
7.一種傳輸數(shù)據(jù)的方法,其特征在于,預(yù)先給計算機(jī)系統(tǒng)中的MCU分配DMA控制器中的專用通道,該方法還包括A、計算機(jī)系統(tǒng)中的MCU向DMA控制器發(fā)送傳輸數(shù)據(jù)請求;B、DMA控制器收到該請求后,用預(yù)先分配給該MCU的DMA控制器中的專用信道傳輸數(shù)據(jù)。
8.如權(quán)利要求7所述的方法,其特征在于,所述給MCU分配的專用通道通過設(shè)置的寄存器DMAIntMask和DMAIntStatus進(jìn)行控制傳輸。
9.如權(quán)利要求7所述的方法,其特征在于,設(shè)置所述MCU對應(yīng)一組信號線DMAINTERR、DMAINTTC和DMAINT,在步驟B之后,該方法還包括C、DMA控制器傳輸數(shù)據(jù)完畢后,通過所設(shè)置的該MCU對應(yīng)的一組信號線DMAINTERR、DMAINTTC和DMAINT發(fā)送信號給MCU。
10.如權(quán)利要求7所述的方法,其特征在于,所述給MCU分配的專用通道的過程為給計算機(jī)系統(tǒng)的外設(shè)或內(nèi)存設(shè)置DMA控制器中的專用信道,MCU控制計算機(jī)系統(tǒng)的外設(shè)或內(nèi)存?zhèn)鬏敂?shù)據(jù),將計算機(jī)系統(tǒng)的外設(shè)或內(nèi)存對應(yīng)的DMA控制器中的專用信道作為給MCU分配的專用信道。
全文摘要
本發(fā)明公開了一種直接存儲器訪問DMA控制器及傳輸數(shù)據(jù)的方法,該方法包括預(yù)先給計算機(jī)系統(tǒng)中的MCU分配DMA控制器中的專用通道,A.計算機(jī)系統(tǒng)中的MCU向DMA控制器發(fā)送傳輸數(shù)據(jù)請求;B.DMA控制器收到該請求后,用預(yù)先分配給該MCU的DMA控制器中的專用信道傳輸數(shù)據(jù)。本發(fā)明提供的DMA控制器及傳輸數(shù)據(jù)的方法能夠利用本發(fā)明提供的DMA控制器傳輸數(shù)據(jù),提高了計算機(jī)系統(tǒng)中MCU的響應(yīng)和處理時間,提高計算機(jī)系統(tǒng)的工作效率。
文檔編號G06F13/20GK1828564SQ20051005117
公開日2006年9月6日 申請日期2005年3月2日 優(yōu)先權(quán)日2005年3月2日
發(fā)明者馬濤 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
荆门市| 巴中市| 鱼台县| 高要市| 乐安县| 济源市| 连山| 儋州市| 穆棱市| 游戏| 梅河口市| 湟中县| 滕州市| 富顺县| 怀来县| 福贡县| 丰城市| 绥滨县| 祁门县| 岑溪市| 香港| 交城县| 正蓝旗| 汶上县| 宁夏| 锡林浩特市| 皮山县| 盘山县| 普陀区| 龙海市| 镇赉县| 武城县| 湖州市| 晋江市| 饶河县| 巨野县| 镇平县| 栾城县| 尼木县| 长宁区| 繁峙县|