论文部分内容阅读
信息技术的持续发展令各应用领域的通信技术层出不穷,并且随着微控制器制造技术的飞速发展,生产生活中电子设备的多元化、网络化的趋势愈演愈烈。多总线通信协议共存的情况已经屡见不鲜,而各种总线协议,特别是现场总线协议间的标准不一导致异构网络间通信困难,致使生产效率受到影响。 针对多通信协议共存的环境,本文设计了一种基于嵌入式实时操作系统RT-Thread的多协议转换器来解决异构网络间的通信问题。本转换器选择了现场总线中应用最广且最具代表性的CAN总线协议、嵌入式设备常备的RS232协议以及以太网协议作为目标转换协议。硬件上采用比ARM7系列处理器功耗小、性能高的新一代Cortex-M3处理器作为主芯片。经过在实时性、性能、成本等方面的比较,采用免费的开源实时操作系统RT-Thread作为操作系统平台。 通过分析CAN、RS232、以太网三种协议,针对协议转换中的问题:设计使用分帧技术来提高CAN/RS232与以太网进行转换时的以太网报文利用率;使用“封装法”解决CAN/RS232与以太网间报文格式不同的问题;利用环形缓冲区进行转发,实现CAN与RS232间的同步转换,缓解两者转换时因传输速率不等而造成的拥塞;设计RS232接口的类CAN型数据结构,方便其与CAN总线协议帧间的格式转换。通过研究RT-Thread的设备驱动框架,设计实现了CAN设备与RS232设备在RT-Thread上的驱动,并利用LwIP(一种轻型嵌入式TCP/IP协议栈)实现以太网接口的通信功能,最后在应用层上设计了5个任务来完成转换器的设计。 在实验室的条件下模拟多协议共存的通信环境,对转换器的可靠性与准确性进行了实验,转换器可以较好的实现CAN、RS232、以太网间的协议转换,解决了这三种总线机制间的通信问题,为进一步实现更多总线协议间的通信提供了经验。