嵌入式系統中BACnet-MS/TP協議棧的實現
3.4 數據鏈路層(MS/TP)模塊
MS/TP是一個主從/令牌傳遞的數據鏈路協議,物理層采用RS-485半雙工通信標準。MS/TP層包含兩個狀態機,分別是主節點狀態機和接收幀狀態機;接收幀狀態機負責幀的接收,如是數據幀則調用與網絡層接口上傳給網絡層,主節點狀態機負責幀(包括數據幀和控制幀)的發送。兩個狀態機分時實現,根據兩者之間的關系,接收幀狀態機可放在主節點狀態機中統一調度。其中,接收模塊實現接收幀狀態機;發送模塊實現主節點狀態機;串口控制模塊實現串口驅動與收發控制,串口讀寫采用中斷方式;
網絡層接口模塊定義接口及接口函數調用模塊,使用服務原語DL_UNITDATA.request()和DL_UNITDATA.indication()來實現。
4 結束語
本文提出了BACnet-MS/TP協議在MCU中的軟件實現方案,解決了BACnet控制器的通訊功能。如果進一步采用嵌入式操作系統實現多任務處理,配合數據采集、控制和組態模塊,就可以開發出實用的BACnet控制器。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)c++相關文章:c++教程
評論