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