當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]但是由于8013硬件結(jié)構(gòu)和指令系統(tǒng)的限制,當(dāng)需要高速率大批量數(shù)據(jù)傳送時(shí),數(shù)據(jù)吞吐速率往往不能滿足設(shè)計(jì)要求。即使采用提升振蕩器頻率的辦法,結(jié)果仍不盡如人意,所以尋找一種新的數(shù)據(jù)傳輸方法顯得很有必要,這不僅使人想到通用計(jì)算機(jī)的DMA數(shù)據(jù)傳輸技術(shù)。

1、前言

單片機(jī)以其高可靠性,高性能價(jià)格比,在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表、辦公自動(dòng)化等諸多領(lǐng)域得到極為廣泛的應(yīng)用。在單片機(jī)家族的眾多成員中,MSC一51系列單片機(jī)占領(lǐng)了廣闊的市場(chǎng),成為國(guó)內(nèi)單片機(jī)應(yīng)用領(lǐng)域的主流。

但是由于8013硬件結(jié)構(gòu)和指令系統(tǒng)的限制,當(dāng)需要高速率大批量數(shù)據(jù)傳送時(shí),數(shù)據(jù)吞吐速率往往不能滿足設(shè)計(jì)要求。即使采用提升振蕩器頻率的辦法,結(jié)果仍不盡如人意,所以尋找一種新的數(shù)據(jù)傳輸方法顯得很有必要,這不僅使人想到通用計(jì)算機(jī)的DMA數(shù)據(jù)傳輸技術(shù)。

2、DMA簡(jiǎn)介

DMA數(shù)據(jù)傳送是由DMA控制器完成的。進(jìn)行數(shù)據(jù)傳輸時(shí),DMA控制器從CPU完全接管對(duì)總線的控制,數(shù)據(jù)交換不經(jīng)過(guò)CPU,而直接在內(nèi)存和FO設(shè)備之間進(jìn)行。DMA控制器將向內(nèi)存發(fā)出地址和控制信號(hào),修改地址,對(duì)傳送字的個(gè)數(shù)計(jì)數(shù),并且以中斷方式向CPU報(bào)告?zhèn)魉筒僮鞯慕Y(jié)束。

DMA方式的主要優(yōu)點(diǎn)是速度快。由于CPU不參與數(shù)據(jù)傳送操作,因此就省去了CPU取指令、取數(shù)、送數(shù)等操作。在數(shù)據(jù)傳送過(guò)程中,沒(méi)有保存現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)之類的工作。內(nèi)存地址修改、傳送字個(gè)數(shù)的計(jì)數(shù)等等,也不是由軟件實(shí)現(xiàn),而是用硬件線路直接實(shí)現(xiàn)的。所以DMA方式能滿足高速FO設(shè)備的要求,也有利于CPU效率的發(fā)揮。

3、標(biāo)準(zhǔn)8031數(shù)據(jù)傳輸與DMA數(shù)據(jù)傳輸對(duì)比

MCS一15單片機(jī)讀寫外部數(shù)據(jù)存儲(chǔ)器的時(shí)序如圖1所示。

在圖(1)a的外部數(shù)據(jù)存儲(chǔ)器讀周期中,P2口輸出外部RAM單元的高八位地址,P0口分時(shí)傳送低八位地址及數(shù)據(jù)。當(dāng)?shù)刂锋i存信號(hào)ALE為高電平時(shí),印口輸出的地址信息有效,A比的下降沿將此地址打人外部地址鎖存器,接著即口變?yōu)檩斎朔绞?,讀信號(hào)RD有效,選通外部RAM,相應(yīng)存儲(chǔ)單元的內(nèi)容送到印口上,由CPU讀人累加器。

外部數(shù)據(jù)存儲(chǔ)器的寫周期波形如圖(1)b所示,其操作過(guò)程與讀周期類似。寫操作時(shí),在A比下降為低電平以后,WR信號(hào)才有效,PO口上出現(xiàn)的數(shù)據(jù)寫人相應(yīng)的RAM單元。

CPU把數(shù)據(jù)從存儲(chǔ)器傳輸?shù)紽O口,需要以下步驟:

·MovxA,@DPrR;從存儲(chǔ)器讀取一字節(jié)數(shù)據(jù)(24個(gè)振蕩周期)

·MOVX@DPrR,A;將數(shù)據(jù)寫人到FO口(24個(gè)振蕩周期)

DMA控制器把數(shù)據(jù)從存儲(chǔ)器傳輸?shù)紽O設(shè)備稱為讀傳送,在這個(gè)周期里,產(chǎn)生存儲(chǔ)器地址,并輸出存儲(chǔ)器讀(MEMR)和10口寫(row)信號(hào)。其時(shí)序如圖2所示。

當(dāng)數(shù)據(jù)準(zhǔn)備好以后,設(shè)備向DMA控制器發(fā)出DMA請(qǐng)求DREQ信號(hào),DMA控制器接到請(qǐng)求后向CPU發(fā)出總線請(qǐng)求信號(hào)HRQ,CPU在現(xiàn)行的機(jī)器周期結(jié)束后,發(fā)出總線保持信號(hào)HLDA,于是DMA控制器就接管總線,向地址總線發(fā)出地址信號(hào),給出存儲(chǔ)器讀和ro口寫的命令,就可把存儲(chǔ)器中的數(shù)據(jù)送到FO口上。然后修改地址指針,增或減數(shù)據(jù)寬度計(jì)數(shù)器,檢查傳送是否結(jié)束,若未結(jié)束則循環(huán)至整個(gè)數(shù)據(jù)傳送完。

整個(gè)數(shù)據(jù)傳送完后,DMA控制器撤銷總線請(qǐng)求信號(hào)HRQ,同時(shí)輸出傳送結(jié)束信號(hào)EOP。CPU接收到EOP信號(hào)后,在下一個(gè)周期就可以重新控制總線。

從以上對(duì)比分析可以看出,從存儲(chǔ)器往FO口傳送一字節(jié)數(shù)據(jù),使用標(biāo)準(zhǔn)8031至少需要48個(gè)振蕩周期,而用DMA控制器僅需2個(gè)振蕩周期,效率大大高于前者,尤其是在做塊傳送時(shí),效果更為顯著。

4、用CPLD實(shí)現(xiàn)DMA傳輸在顯示屏掃描卡上的應(yīng)用

顯示屏掃描卡的功能是將存儲(chǔ)在RAM中的圖像數(shù)據(jù)按照預(yù)定的顯示方式進(jìn)行處理,再發(fā)送到比D顯示屏上。其中絕大部分時(shí)間,CPU的工作是將處理好的數(shù)據(jù)以很高的速率發(fā)送到LED顯示屏上,來(lái)保證良好的視覺(jué)效果。

考慮到系統(tǒng)的簡(jiǎn)化、靈活、高集成度,這里選擇用CPLD實(shí)現(xiàn)CPU停機(jī)方式DMA讀傳輸功能來(lái)完成數(shù)據(jù)從存儲(chǔ)器到LED顯示屏的傳送工作。

整個(gè)數(shù)據(jù)傳輸工作分以下幾個(gè)步驟:①CPu準(zhǔn)備數(shù)據(jù);②CPU配置DMA控制器。例如數(shù)據(jù)傳送首地址,傳送字節(jié)數(shù);③CPU向DMA控制器提出DMA請(qǐng)求(DREQ)。由于數(shù)據(jù)準(zhǔn)備工作是由CPU完成的,所以傳送請(qǐng)求也由CPU提出;④DMA接到請(qǐng)求后,向CPU提出總線請(qǐng)求(HRQ);⑤CPU釋放總線,同時(shí)向DMA發(fā)出總線保持信號(hào)(HLDA);⑥D(zhuǎn)MA接管總線,進(jìn)行數(shù)據(jù)傳輸。

由于本系統(tǒng)中準(zhǔn)備數(shù)據(jù)是由CPU完成的,也就是說(shuō)CPU完全清楚何時(shí)需要釋放總線進(jìn)行DMA傳送,所以可將步驟3、4省略,即DREQ和HRQ信號(hào)省略。其原理圖如圖3所示。

圖3中,CTRL為中心控制核,它按照設(shè)定的傳輸字節(jié)數(shù)產(chǎn)生地址計(jì)數(shù)脈沖CLK,讀信號(hào)MR(該信號(hào)經(jīng)742科驅(qū)動(dòng)后成為存儲(chǔ)器讀和FO口寫信號(hào)),傳輸結(jié)束信號(hào)EOP。CTRL內(nèi)部定義了一個(gè)8位鎖存器和一個(gè)9位減法計(jì)數(shù)器。WIDTH為置數(shù)控制端,當(dāng)饑DTH為低電平時(shí),數(shù)據(jù)總線上的傳送字節(jié)數(shù)送入CTRL中,WID儀為高電平時(shí)數(shù)據(jù)鎖存。EN為計(jì)數(shù)使能,為高時(shí)傳送字節(jié)數(shù)送人9位減法計(jì)數(shù)器的高8位中,減法計(jì)數(shù)器的最低位置0,同時(shí)CTRL將EOP腳(傳送結(jié)束信號(hào))置高,EN變低后,減法計(jì)數(shù)器在時(shí)鐘XT下降沿作用下做減1計(jì)數(shù),計(jì)數(shù)值減到0時(shí)CTRL停止減計(jì)數(shù)并將EOP信號(hào)置低,通知CPU傳送結(jié)束。其控制時(shí)序如圖4所示。

cTRL的vHDL程序

BEGIN

cKL<=cnt(0);一地址計(jì)數(shù)脈沖輸出

MEMR<=NOTcnt(0);一RAM讀信號(hào)輸出

PROCESS(WIDTH)

BEGIN

FIiwDTH=0’THEN一置人傳送字節(jié)數(shù)

 

圖3中,COUNT16是16位加法計(jì)數(shù)器。DPH、DPL是地址高8位和低8位置數(shù)控制端,低電平有效。EN為計(jì)數(shù)使能,為低時(shí),在由CTRL產(chǎn)生的脈沖作用下做加1計(jì)數(shù)。

平時(shí)CPU具有地址總線的控制權(quán),DMA控制器的地址線A15一AO、存儲(chǔ)器讀MEMR、FO口寫IOW輸出均為高阻。當(dāng)需要做DMA數(shù)據(jù)傳送時(shí),首先CPu將傳送的數(shù)據(jù)寬度、被傳送數(shù)據(jù)在存儲(chǔ)器的首地址寫人DMA控制器,然后將HDLA置高,讓出地址總線控制權(quán)。DMA控制器檢測(cè)到HLDA變高后,cTRL按照預(yù)定的傳送數(shù)據(jù)寬度,輸出地址計(jì)數(shù)脈沖和數(shù)據(jù)存儲(chǔ)器讀信號(hào)MEMR,couN1T6在地址計(jì)數(shù)脈沖作用下,在首地址基礎(chǔ)上做加1計(jì)數(shù),輸出16位地址。當(dāng)數(shù)據(jù)傳送完畢,EOP輸出低電平,通知CPU數(shù)據(jù)傳送結(jié)束。CPU通過(guò)查詢或中斷方式檢測(cè)到EOP的低電平信號(hào)后,將HLDA拉低,DMA控制器接到HDLA變低的信號(hào)后將EOP信號(hào)置高,釋放地址總線控制權(quán),結(jié)束整個(gè)DMA傳送過(guò)程。圖5是DMA控制器的仿真波形圖。

8031操作DMA控制器的5C1程序

void DMA(unsigned int address,unsignedcha

len){

WIDTH

ADDL

=len;/*設(shè)置傳送數(shù)據(jù)寬度*/

=(unsi卯edchar)address%256;/*設(shè)置傳送數(shù)據(jù)首地址*/

ADDH=(unsignedchar)address/256;

EN=0;/*啟動(dòng)DMA傳送*/

while(IN功==1);/*等待傳輸結(jié)束*/

EN=1;

5、結(jié)束語(yǔ)

以上所闡述的只是DMA控制器的一種使用特例,真正的DMA控制器功能要更為強(qiáng)大,但對(duì)于顯示屏掃描卡來(lái)說(shuō),這些已經(jīng)完全能夠?qū)崿F(xiàn)系統(tǒng)要求了,并且使數(shù)據(jù)傳輸速率有了顯著的提高。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉