嵌入式系统中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++教程
评论