雙向透明串口擴(kuò)展技術(shù)在嵌入式系統(tǒng)中的實(shí)現(xiàn)
2.2數(shù)據(jù)由HOST端發(fā)送到用戶設(shè)備
為了使HOST端的數(shù)據(jù)能夠及時(shí)準(zhǔn)確地發(fā)送到各個(gè)用戶設(shè)備,就需要和AT89C2051之間定義好通信協(xié)議。其協(xié)議如下。
AT89C2051始終監(jiān)視HOST終端發(fā)出的信息,一旦收到HOST終端發(fā)出的串口選擇命令,如表1所示,立即對(duì)P3.4和P3.5引腳進(jìn)行設(shè)置來控制 CD4052模擬開關(guān)選通對(duì)應(yīng)通道并控制相應(yīng)的LED燈以作指示。串口選擇后, HOST終端需要根據(jù)AT89C2051指令執(zhí)行和模擬開關(guān)切換時(shí)間延遲一定時(shí)間后再開始向?qū)?yīng)用戶設(shè)備發(fā)送數(shù)據(jù)/命令。HOST端數(shù)據(jù)發(fā)送結(jié)束則由接收端的用戶設(shè)備向AT89C2051發(fā)送中斷結(jié)束信號(hào),其結(jié)束處理與數(shù)據(jù)由用戶設(shè)備發(fā)送到HOST端的結(jié)束處理相同。如果同時(shí)有用戶設(shè)備向 AT89C2051請(qǐng)求發(fā)送數(shù)據(jù)到HOST端,則優(yōu)先響應(yīng)HOST端的發(fā)送數(shù)據(jù)/命令請(qǐng)求,即HOST端的發(fā)送數(shù)據(jù)/命令請(qǐng)求的優(yōu)先級(jí)最高。本文引用地址:http://2s4d.com/article/152376.htm
本文在設(shè)計(jì)中將HOST端的TXD引腳連接到AT89C2051的RXD引腳,這樣就可以通過AT89C2051的串口接收中斷和HOST端通信, HOST端發(fā)送數(shù)據(jù)/命令時(shí)首先發(fā)送串口選擇命令字,其次再發(fā)送數(shù)據(jù)/命令去控制用戶設(shè)備的數(shù)據(jù)采集,例如增益大小、是否啟動(dòng)血壓測(cè)量等命令。
3軟件設(shè)計(jì)
軟件設(shè)計(jì)分為主函數(shù)、串口中斷服務(wù)程序、外部中斷0和1服務(wù)程序4個(gè)部分,如圖3所示。
在很多場(chǎng)合需要進(jìn)行串口擴(kuò)展以滿足系統(tǒng)集成多個(gè)串口設(shè)備,擴(kuò)展方法很多,各有優(yōu)缺點(diǎn)。本文提出的用單片機(jī)AT89C2051為AT91RM9200擴(kuò)展串口的方案是基于單片機(jī)價(jià)格低廉、體積小,完全可以替代一般的專用接口芯片,作為真正意義上的可編程接口,實(shí)現(xiàn)雙向通信,使串口擴(kuò)展模塊變得透明。這種方案使用靈活,與一般接口芯片相比對(duì)外部用戶設(shè)備具有更好的適用性,經(jīng)實(shí)驗(yàn)驗(yàn)證達(dá)到了設(shè)計(jì)目標(biāo)。將單片機(jī)等同于普通接口芯片使用,是一種新思路,具有一定的啟迪作用和實(shí)際參考價(jià)值。
評(píng)論