當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]1 引 言  許多單片機控制系統(tǒng)中,信息的實時處理往往需要數(shù)據(jù)的批量傳送。不管是采用軟件查詢,還是采用中斷技術(shù),它們都是依靠程序控制,每次傳送數(shù)據(jù)都需要單片機執(zhí)行若干條指令,因而傳輸速率受單片機指令運行

1 引 言  

許多單片機控制系統(tǒng)中,信息的實時處理往往需要數(shù)據(jù)的批量傳送。不管是采用軟件查詢,還是采用中斷技術(shù),它們都是依靠程序控制,每次傳送數(shù)據(jù)都需要單片機執(zhí)行若干條指令,因而傳輸速率受單片機指令運行速度的限制。例如,51系列單片機將外設(shè)某一數(shù)據(jù)存入片外RAM,至少要運行2周期指令MOVX和更改地址指針DPTR指令各兩次,若采用12MHz時鐘,則需4μs??梢?,即使不考慮單片機的其它運算,其數(shù)據(jù)傳送速度也只能達到 250Kbyte/s。對于象高速數(shù)據(jù)采集等需要成批交換數(shù)據(jù)的場合,速度實在是太慢了。為了實現(xiàn)單片機與高速外設(shè)的數(shù)據(jù)交換,應(yīng)用接口擴展電路和DMA 控制器,在幾乎不占用單片機資源的情況下,實現(xiàn)了單片機控制系統(tǒng)的DMA數(shù)據(jù)傳送。

2 幾點說明  

對于單片機控制系統(tǒng)中簡單的DMA數(shù)據(jù)傳送,只要應(yīng)用雙向RAM作為外存儲器或應(yīng)用簡單的門控電路就可實現(xiàn)。但對于復(fù)雜的單片機控制系統(tǒng),要解決高速外設(shè)和低速CPU之間的矛盾,就不能象微機那樣通過出借系統(tǒng)總線來實現(xiàn)數(shù)據(jù)的DMA傳送,更不能因數(shù)據(jù)傳送而中斷CPU的工作。為此要求:

(1)當(dāng)單片機控制系統(tǒng)需與高速外設(shè)交換數(shù)據(jù)時,單片機只能作簡單的響應(yīng),不能長時間中斷工作。解決的辦法是采用擴展數(shù)據(jù)存儲器系統(tǒng),數(shù)據(jù)交換時CPU只出借擴展數(shù)據(jù)存儲器作為DMA數(shù)據(jù)交換的存儲器。

(2)為便于單片機控制系統(tǒng)與高速數(shù)據(jù)采集或軟磁盤驅(qū)動器等外設(shè)的連接,其DMA控制方式應(yīng)具有一致性,符合通用接口標(biāo)準(zhǔn)。

信號線共6條,即:
    DMA請求信號DREQ;
    DMA響應(yīng)回答信號DACK;
    DMA傳送過程結(jié)束信號
    輸入/輸出設(shè)備讀寫信號線
    輸入/輸出設(shè)備準(zhǔn)備就緒信號線READY。

(3)DMA傳送控制與接口盡量不占用單片機的前處理任務(wù)的緩急情況,相應(yīng)對DMA請求作出應(yīng)答,對DMA請求的應(yīng)答并不占用單片機的資源。

3 電路實現(xiàn)原理

3.1 存儲器擴展電路 

51系列單片機的外部存儲容量只有64K,在高速數(shù)據(jù)采集等情況下,其容量明顯不足。若以采樣率50KS/s計算,只能容納1s多的采樣量,況且要求 DMA傳送期間CPU要照常工作,包括對外部數(shù)據(jù)存儲器的訪問。這就要求對存儲容量進行擴展。將擴展的存儲器用于DMA,原有的存儲器繼續(xù)作為工作存儲器。下面以圖3—1所示存儲器擴展電路為例說明存儲器擴展的原理。為說明問題的方便,省去了編碼電路,只以單片機的P2.7和P2.6作為片選線,下一節(jié)的DMA控制電路也簡單以P2.5作片選線。因而特此說明,原理電路中各寄存器的端口地址不惟一。

8155芯片內(nèi)具有256字節(jié)的RAM,2個8位(PA和PB)、1個6位(PC)可編程I/O口。編程設(shè)定PB口和PC口為輸出口,用于為6264提供地址;PA口為雙向輸入輸出口,作為6264的數(shù)據(jù)口。其地址分配為:

讀寫擴展存儲器6264時,在PB口送入6264的低8位地址,PC口送入另5位地址(PC口的另外1位作為單片機對DMA請求的應(yīng)答線)。通過讀寫 PA口即可完成擴展存儲器的讀寫。雖然存取一次數(shù)據(jù)要用3條外部RAM讀寫指令,但這樣不但擴展了存儲器容量,而且更重要的是在保證CPU不中斷工作的條件下,為數(shù)據(jù)的DMA傳送創(chuàng)造了條件。

另外,這種存儲器擴展方式,通過選用不同的擴展芯片或選用多個擴展芯片,可大大擴展存儲器的容量,如采用8255并口擴展芯片,即可擴展64K的存儲容量。

3.2 DMA控制電路

利用通用DMA控制器構(gòu)成了圖3—2所示的單片機數(shù)據(jù)DMA傳送通道,它提供了4通道標(biāo)準(zhǔn)的DMA傳送接口信號,其工作過程為:

3.2.1 初始化

單片機控制系統(tǒng)開機后,首先要對8155和8237初始化。

8155初始化。8155只有1個狀態(tài)寄存器,通過對地址3F00H賦值,即可設(shè)定PB口和PC口為輸出口,用于為6264提供地址;PA口為雙向輸入輸出口,作為6264的數(shù)據(jù)口,存數(shù)據(jù)時,3F00H的值為0DH;取數(shù)據(jù)時,3F00H的值為0CH。

8237初始化。將8155的PC5位置0,2片4066組成的門控電路使8237處于非DMA狀態(tài)。此時,8237的端口讀寫控制線與單片機的讀寫線分別接通。通過對地址5F00H~5FFFH(8237的內(nèi)部寄存器端口地址)的設(shè)定,完成8237的初始化。

針對單片機控制系統(tǒng)的特點,通常初始化8237的內(nèi)容包括:
    (1)決定DMA的工作通道;
    (2)數(shù)據(jù)按成組方式傳送;
    (3)確定訪存首地址及地址的增減變化;
    (4)傳送字節(jié)數(shù);
    (5)確定請求信號和應(yīng)答信號的有效電平;
    (6)屏蔽。

3.2.2 DMA傳送

系統(tǒng)完成初始化之后即進入正常工作狀態(tài)。若有DMA請求,即可進行DMA傳送過程。

(1)8237接收到DMA請求信號DREQ后,輸出“總線”請求信號HOLD,引起單片機中斷,中斷響應(yīng)程序包括:解除8237的屏蔽功能;保持P2.6、P2.5置0,使能6264、8237;
  P2.7置1,使8155空閑;6264脫離單片機控制。

8155的PC5由0變1;門控電路使8237的存儲器讀寫線與6264的讀寫線接通,完成DMA通道的連接。同時,8155的PC5作為CPU對DMA請求的回應(yīng),啟動了DMA傳送過程。

(2)8237輸出DACK回答信號,開始DMA傳送。

(3)傳送結(jié)束,8237輸出信號,單片機檢測到2次中斷的發(fā)生,使8155的PC5置0,恢復(fù)控制系統(tǒng)的原有工作狀態(tài)。同時為下次DMA傳送作好了準(zhǔn)備,并通知外設(shè)本次DMA傳送結(jié)束。

4 結(jié) 論

通過存儲器擴展,在僅占用單片機幾十個存儲空間和一個中斷源的情況下,實現(xiàn)了單片機控制系統(tǒng)的數(shù)據(jù)DMA傳送,保證了單片機能在DMA傳送期間的正常工作。實踐證明,該系統(tǒng)可方便用于信號的高速采集,并可作為單片機控制系統(tǒng)與軟盤驅(qū)動器的接口。

[參考文獻]
[1] 朱長清.單片機與CRT顯示器的接口[J].電子技術(shù),2000(2).
[2] 閻慧娟,張金烈.微型計算機接口技術(shù)[M].中國人事出版社,1994.
[3] 何立民.單片機應(yīng)用系統(tǒng)設(shè)計[M].北京航空航天大學(xué)出版社,1990.
[4] 趙依軍,胡戎.單片微機接口技術(shù)[M].人民郵電出版社,1989.

 

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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