![異種單片機共享片外存儲器及其與微機通信的方法_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/c6c42089-14b1-480c-b8e1-c943e3f825c8/c6c42089-14b1-480c-b8e1-c943e3f825c81.gif)
![異種單片機共享片外存儲器及其與微機通信的方法_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/c6c42089-14b1-480c-b8e1-c943e3f825c8/c6c42089-14b1-480c-b8e1-c943e3f825c82.gif)
![異種單片機共享片外存儲器及其與微機通信的方法_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/c6c42089-14b1-480c-b8e1-c943e3f825c8/c6c42089-14b1-480c-b8e1-c943e3f825c83.gif)
![異種單片機共享片外存儲器及其與微機通信的方法_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/c6c42089-14b1-480c-b8e1-c943e3f825c8/c6c42089-14b1-480c-b8e1-c943e3f825c84.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 異種單片機共享片外存儲器及其與微機通信的方法 異種單片機共享片外存儲器及其與微機通信的方法 類別:單片機/DSP 摘要:介紹了通用單片機(MCU)A
2、T89C51與信號處理單片機(DSP)TMS320C32通過共享片外隨機存儲器實現(xiàn)板間通信的方法,并給出了總線隔離硬件電路與軟件控制流程。文中還簡要分析了AT89C51與微生機盎然進行串行通信的軟硬件設(shè)計,通過擴展AT89C51間接實現(xiàn)了TMS320C32與通用單片機或微機之間的通信。 關(guān)鍵詞:單片機 DSP 數(shù)字信號處理器 共享存儲器 串口通信TMS320系列數(shù)據(jù)信號處理單片機(DSP)在測控、儀器儀表、圖象處理、計算機視覺與聲信號處理等領(lǐng)域得到了越來越廣泛的應(yīng)用。DSP獲取原始采集數(shù)據(jù)和輸出處理結(jié)果一般有兩種途徑:一是通過串行口,另一是通過數(shù)據(jù)總線讀寫片外存儲器。本文介紹了基于DSP的信號
3、處理目標板與基于單片機AT89C51的多路同步數(shù)據(jù)采集板通過共享片外隨機存儲器實現(xiàn)板間通信,來獲取原始采集數(shù)據(jù)的方法,并給出了總線隔離硬件電路與軟件控制流程。并介紹了把DSP的處理結(jié)果傳送給基于MCS-51單片機或基于微機的控制系統(tǒng)的方法。文中還簡要分析了AT89C51與微機進行串口通信的軟硬件設(shè)計,通過擴展AT89C51間接實現(xiàn)了TMA320C32與單片機或微機之間的通信,比直接通過TMS320C32的串口與單片機或微機進行通信要簡單可靠得多。下面如無特別說明,MCU指AT89C51,DSP指TMS320C32。 1 板間共享存儲器的硬件接口電路和軟件控制流程 1.1 信號處理板硬件接口電路
4、 基于DSP的信號處理板可以根據(jù)應(yīng)用要求支行許多信號處理算法,如信號預(yù)處理、目標識別與跟蹤定位、Kalman濾波等。待處理的原始信號數(shù)據(jù)通過通信從數(shù)據(jù)采集獲得。這里采用板間共享存儲器的方法來完成數(shù)據(jù)交換,DSP既可以從共享存儲器讀取采集數(shù)據(jù),也可以把處理結(jié)果(如新的程控放大倍值,跟蹤定位結(jié)果等)寫到共享存儲器中供MCU讀取。 TMS320C32有一個雙向串行口,可以設(shè)置每幀同時收發(fā)8/16/24/32位數(shù)據(jù),同步時鐘可以由內(nèi)部串口定時器產(chǎn)生或外部輸入。通過設(shè)置串口全局控制寄存器來控制串口的總體功能和工作模式;通過設(shè)置FSX/DX/CLKX端口控制寄存器和FSR/DR/CLKR端口控制寄存器來控
5、制串口6個引腳的功能,可以軟件設(shè)置每個引腳為通用的I/O引腳或串口通信引腳。 TMS320C32有兩根通用的I/O引腳為XFO和CF1,由于共享存儲器接口電路需要4根控制線來進行DSP與MCU間的握手通信,這里把串口的2個引腳FSR0和FSX0設(shè)置為通用的I/O引腳用作控制線。圖中RAM0RAM3是四片容量為512K的8們高速RAM(芯片型號為CY7C1049-17VC),組成32位數(shù)據(jù)寬度的存儲器,DSP運行時的程序和數(shù)據(jù)都在這四片RAM中。FLASH(芯片型號為Am29F016)用于存儲程序和初始化數(shù)據(jù),即使掉電內(nèi)容也不丟失,DSP上電時由自帶的BOOT LOADER程序從FLASH中取出
6、程序到四片RAM中運行。從共享存儲器讀取的采集數(shù)據(jù)也暫存到這四片RAM中。 1.2 數(shù)據(jù)采集板硬件接口電路 基于單片機AT89C51的數(shù)據(jù)采集板在單片機的全局控制下,通過對多路聲傳感器輸出的微弱信號進行程控放大、低通濾波、同步采樣保持、A/D變換,實時同步采集多路信號,并把采集到的信號數(shù)據(jù)存放在數(shù)據(jù)采集板上的128K共享存儲器(芯片型號為CY7C109-12VC)中。共享存儲器及其總線隔離電路設(shè)計在數(shù)據(jù)采集板上。在某一時刻,共享存儲器只能被某一方訪問,否則會產(chǎn)生總線沖突。這里由MCU切換選通DSP總線或單片機總線,分時訪問共享存儲器。總線隔離芯片選用常見的雙向總線隔離/驅(qū)動芯片74HC245,
7、它有一個輸出使能引腳(E)和一個數(shù)據(jù)傳輸方向(DIR)引腳,MCU通過控制這兩個引腳來完成總線隔離與數(shù)據(jù)傳輸方向控制功能。接口電路原理圖如圖2所示。圖中,MCU端的總線隔離由一片74HC373和兩片74HC245完成,DSP端由三片74HC245完成數(shù)據(jù)總線和地址總線的隔離。由P1.2控制選通哪組總線,當P1.2為低電平時,共享存儲器只能被MCU訪問;當P1.2為高電平時,只有當P1.3也為高電平時(表示MCU同意讓出共享存儲器),共享存儲器才能被DSP訪問。由于DSP需要讀或?qū)懝蚕泶鎯ζ?,所以需要軟件設(shè)置數(shù)據(jù)總線隔離芯片74HC245的數(shù)據(jù)傳輸方向,這里通過設(shè)置DSPDIR信號線的電平狀態(tài)來
8、完成(高電平時為讀,低電平時為寫)。由于地址總線的數(shù)據(jù)傳輸方向始終是單向的,所以其隔離芯片的DIR端可固定接低電平或高電平,視74HC245的實際接線而定。 1.3 軟件控制流程 信號處理板上的DSP需要采集信號數(shù)據(jù)時就向數(shù)據(jù)采集板上的MCU發(fā)出請求信號,單片機接收到請求信號后,如果同意讓出共享存儲器,則向DSP發(fā)出應(yīng)答信號,同時隔離MCU端的總線,暫停數(shù)據(jù)采集。DSP接收到應(yīng)答信號后就可以訪問共享存儲器,DSP快速讀、寫完數(shù)據(jù)后,向單片機發(fā)結(jié)束信號,單片機接收到結(jié)束信號后,收回共享存儲器,同時隔離DSP端總線,繼續(xù)采集。這樣數(shù)據(jù)采集與信號處理
9、就可以同時進行,不同于一般的采集一段處理一段的串行工作模式,實現(xiàn)了數(shù)據(jù)采集零等待,增加了系統(tǒng)的吞吐能力。參見圖3的接線圖,一次完整的通信過程詳述如下,注意在DSP程序初始化時應(yīng)把XF0、XF1、FSR0設(shè)置為相應(yīng)的無效狀態(tài)。 (1)DSP需要采集信號數(shù)據(jù)時向MCU發(fā)請求信號(置XF0為低電平),觸發(fā)MCU的INT0中斷,等待MCU應(yīng)答(DSP循環(huán)檢測XF1的狀態(tài))。 (2)如果MCU同意讓出共享存儲器,則響應(yīng)中斷,否則等待。在中斷服務(wù)程序中,置P1.3(即DSPACK)為高電平,表示應(yīng)答。同時置P1.2為高電平,選通DSP總線。MCU接著循環(huán)檢測P1.4(即DSPEOR)的狀態(tài)。 (3)DSP
10、收到應(yīng)答信號(即檢測到XF1為高電平),立即快速讀寫共享存儲器,在讀操作前,置FSX0為高電平,在寫操作前,置FSX0為低電平。讀寫完后,向MCU發(fā)結(jié)構(gòu)信號(置FSR0為高電平),DSP緊接著進行其它處理操作。 (4)MCU收到結(jié)束信號后(即檢測到P1.4為高電平),置P1.2為高電平,隔離DSP總線,收回共享存儲器,繼續(xù)采集。 2 信號處理板與控制系統(tǒng)的通信 信號處理板從數(shù)據(jù)采集板獲取采集數(shù)據(jù)后,經(jīng)過對其進行一系列信號處理算法的運算處理,得到的處理結(jié)果需要傳送給基于單片機或微機的控制系統(tǒng)。由于這里的處理結(jié)果數(shù)據(jù)量很小,所以利用串口通信的方法進行數(shù)據(jù)傳輸最為簡單。我們可以直接對信號處理板上DS
11、P的串口編程來與控制系統(tǒng)進行通信。但由于DSP的串口為同步串口,而單片機或微機的串口通常都為異步串口,這樣就需要用軟件來模擬DSP串口的異步通信時序,軟件工作量大而且通信不可靠。這里通過擴展單片機與共享存儲器的方法很好地解決了這個問題。DSP把處理結(jié)果寫到共享存儲器中,立即進行下一輪處理,由單片機從共享存儲器中取出處理結(jié)果并傳送給控制系統(tǒng)。這就省去了DSP進行串口通信所需的時間,最大限度地利用了DSP的高速數(shù)據(jù)處理的能力。在實時性要求很高的場合,這顯得尤為重要。通過擴展少量的硬件,不但提高了系統(tǒng)的速度,優(yōu)化了整體性能,而且軟件實現(xiàn)也簡單了許多。 2.1 信號處理板與控制系統(tǒng)的串口通信硬件電路
12、信號處理板利用擴展的單片機AT89C51與基于微機或MCU的控制系統(tǒng)進行全雙工通信。圖4為AT89C51的串口通信電路,通過“串口選擇”撥碼開關(guān)選擇是與基于微機的控制系統(tǒng)通信,還是與基于MCU的控制系統(tǒng)通信。 在IBM PC/XT微機系統(tǒng)中,其串口符合RS-232C接口標準。為提高抗干擾能力,RS-232C標準采用負邏輯,低電平在-5V-15V之間(通常用-12V表示)為邏輯“1”,高電平在+5V+15V之間(通常用+12V表示)為邏輯“0”,上述電平稱為EIA電平,它與TTL電平和CMOS電平不同。為了使AT89C51能與微機進行串行通信,可以利用常見的MC1488和MC1489進行電平轉(zhuǎn)換
13、。MC1488把TTL電平轉(zhuǎn)換為RS-232C電平,MC1489把RS-232C電平轉(zhuǎn)換為TTL電平。但由于MC1488和MC1489需要±12V的供電電壓,增加了電源電路的復(fù)雜性,如圖4所示,這里選用只需單一+5V電壓的MAX232來完成電平轉(zhuǎn)換,簡化了硬件電路。 當信號處理板與基于MCU的控制系統(tǒng)通信時,只需三根線,一根發(fā)送線(TXD),一根接收線(RXD),一根共地線(GND),將雙方的地址連在一起,將雙方的發(fā)送線與接收線交叉連接即可。當信號處理板與基于微機的控制系統(tǒng)通信時,利用微機的九針串口進行通信,它們的串口電纜連線如圖5所示。這里的發(fā)送線與接收線沒有交叉,是因為在進行電平
14、轉(zhuǎn)換時已經(jīng)交叉過了(參見圖4)。 2.2 信號處理板與控制系統(tǒng)的串口通信軟件編程 單片機與單片機或微機進行串口通信的軟件編程有兩種:查詢方式和中斷方式。這里發(fā)送方(信號處理板)采用查詢方式,接收方(控制系統(tǒng))采用中斷方式。通信程序主要完成對串口初始化(包括選擇串口模式、設(shè)置數(shù)據(jù)傳輸格式、設(shè)置波特率等)、建立連接、傳輸數(shù)據(jù)和斷開連接等功能。為確保通信可靠,雙方約定如下通信協(xié)議。 (1)信號處理板上電后,一直發(fā)送請求聯(lián)機信號R,等待控制系統(tǒng)發(fā)應(yīng)答信號A,如果信號處理板收到應(yīng)答,表示雙方硬件連接正確,聯(lián)機成功。 (2)運行控制系統(tǒng)的串口通信程序。如果是與微機通信,則先自動檢測連接的是哪個串口(COM
15、1或COM2),檢測到后向信號處理板發(fā)應(yīng)答信號A;若沒檢測到則顯示錯誤信息,提示檢查接線是否有誤。若是與單片機通信,如果在規(guī)定的時間內(nèi)(如10s內(nèi))還沒有收到應(yīng)答,則讓指示燈閃爍,認為出錯,需重新復(fù)位。 (3)信號處理板收到應(yīng)答后,先向控制系統(tǒng)發(fā)送總共要傳輸?shù)臄?shù)據(jù)個數(shù),然后依次發(fā)送每個數(shù)據(jù),直到發(fā)完為止。 (4)控制系統(tǒng)發(fā)完聯(lián)機應(yīng)答信號后,就處于接收狀態(tài)。先接收總共的數(shù)據(jù)個數(shù),然后依次接收每個數(shù)據(jù)??刂葡到y(tǒng)每接收到一個數(shù)據(jù)都向信號處理板發(fā)確認信號,信號處理板只有收到確認信號后才發(fā)下一個數(shù)據(jù)。另外,在單片機與微機之間進行通信時,雙方要正確選擇一致的波特率,而且SMOD位的選擇影響單片機波特率的準確度,即影響波特率的誤差范圍。因而在單片機波特率設(shè)置時,對SMOD的選取也要適當考慮。為了保證通信的可靠性,通常波特率相對誤差不要大于2.5%,當單片機與微機之間進行通信時,尤其要注意這一點。例如,單片機的時鐘fosc=12MHz,串口模式為方式1,假設(shè)單片機與微機的波特率都選為9600bps。當SMOD=0時,波特率相對誤差為8.5%,當SMOD=1時,波特率相對誤差為6.99%。實驗表明,不論SMOD=0或1,單片機與微機
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 金融租賃居間合同模板
- 始興縣中醫(yī)院特殊用房設(shè)施設(shè)備采購及安裝及醫(yī)療設(shè)備采購項目招標文件
- 終止合同退款協(xié)議
- 未維修事故車買賣合同協(xié)議書
- 企業(yè)人才培養(yǎng)與發(fā)展作業(yè)指導(dǎo)書
- 質(zhì)押礦產(chǎn)權(quán)收益權(quán)擔(dān)保協(xié)議書
- 養(yǎng)雞業(yè)養(yǎng)殖技術(shù)手冊
- 庫房轉(zhuǎn)租合同
- 智能倉儲標準化管理與供應(yīng)鏈優(yōu)化項目實踐
- 焊接結(jié)構(gòu)分析與優(yōu)化作業(yè)指導(dǎo)書
- 社區(qū)獲得性肺炎的護理查房
- 2023年衛(wèi)生院崗位大練兵大比武競賽活動實施方案
- 2023年浙江省初中學(xué)生化學(xué)競賽初賽試卷
- 體育賽事策劃與管理第八章體育賽事的利益相關(guān)者管理課件
- 遼海版小學(xué)五年級美術(shù)下冊全套課件
- 專題7閱讀理解之文化藝術(shù)類-備戰(zhàn)205高考英語6年真題分項版精解精析原卷
- 《生物資源評估》剩余產(chǎn)量模型
- 2022年廣東省10月自考藝術(shù)概論00504試題及答案
- 隧道二襯承包合同參考
- 物理專業(yè)常用英語詞匯
- 空氣能熱泵系統(tǒng)
評論
0/150
提交評論