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