论文部分内容阅读
对实时控制系统来说,通信是一切的基础。数据必须在有限的时间内可靠地传送到接收方才有意义。分布实时应用系统自身的特点决定了其通信的特殊性:必须处理不同类型的数据流;当节点离开或加入系统时系统的配置状态也会发生变化;多节点的内部通讯使得数据流变得极为复杂;对传输过程严格的时间要求更增加了这种复杂度。传统的Client/Server结构中所有通讯都必须经过中心服务器,这就使该结构不适合于实时应用系统的通讯要求。而Publish/Subscribe结构则不同,它是专为简化一对多的数据传输要求而设计的,相对于Client/Server结构具有明显的优势。在Publish/Subscribe结构中,发布方和订购方只需匿名地发布或接收数据,并不需要了解整个网络的结构,也不需要知道对方的地址,一个应用程序可以是发布方,也可以是订购方,或者同时具备二者的身份。Publish/Subscribe结构非常适合于复杂数据流的分布式应用。 CAN总线属于现场总线技术的一种。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性,非常适合于RTPS(Real-Time Publish/Subscribe)模型的实现。 本文的研究针对P/S通讯结构和CAN总线技术进行了深入的探讨。在CAN-bus上实现发布/订购协议,必须解决路由、过滤、捆绑、可靠性和高效性等一系列的问题,本文在充分开发CAN网络特性的基础上,设计了两个功能模块ECH(Event Channel Handler)和ECB(Event Channel Broker),ECH负责为应用对象提供事件信道接口,以它们的事件标签为基础完成信息的过滤,ECB负责完成配置请求和捆绑请求。本文中,协议实现的系统采用分布式设计,硬件由监控主机、USBCAN接口卡和ARM7开发平台组成,软件开发基于嵌入式实时操作系统ucOS-Ⅱ和ADS1.2集成开发环境,开发语言采用C语言。 经测试分析,ECH和ECB功能达到了设计要求,基于CAN-bus的RTPS协议能满足实时控制系统的通信需求。