采用TMS320F28335 的多节点CAN 总线通信设计
2021-04-30宋耀东
宋耀东,于 淼,杜 雪,李 军
(中国电子科技集团公司第二十七研究所,河南郑州 450047)
CAN 总线指的是控制器局域网(Controller Area Network,CAN)总线,是最先由德国博世公司提出的用于汽车控制的一种实时应用的串行通信协议总线网络,因其具有高性能、高可靠性、高实时性和配置灵活等特点,已经成为世界上应用最多的现场总线之一[1-3]。标准CAN 协议对物理层及数据链路层进行了定义,但在实际应用中还要对应用层进行协议明确[4-5]。常见的应用层协议有DeviceNET、J1939、CANOpen 等,这些协议偏重于通用性,其价格昂贵、结构复杂,不适用于具体应用。因此,通常需要针对具体应用,根据标准CAN 协议设计相应的具体应用总线协议[6]。
随着航天航空电子综合化技术的发展,航天航空器内部的系统功能复杂化和体量庞大化的同时,不同设备之间需要快速、可靠的通信。只有采用实时、稳定、可靠的数据传输技术才能实现此种需求[7]。目前,航天飞行器内部常用总线有1553B 总线、CAN 总线等。1553B 总线采用双余度和指令/响应方式异步通信的可靠性设计,在提高可靠性的同时,其成本也居高不下;而CAN 总线拥有很高的性价比,采用CAN 总线能够降低飞行器的研制成本[8]。为满足某航天项目多节点高可靠总线通信的需求,从高性能、高可靠性、低成本的角度设计了一种基于TMS320F28335 的CAN 总线的硬件接口、通信协议与软件配置。
1 CAN总线系统硬件接口设计
CAN 总线是一种有效支持实时控制或分布式控制的串行通信网络。CAN 总线中的设备都可以通过其控制单元上的CAN 总线接口进行数据的接收和发送,它是一个多路传输系统,当某一单元出现故障时不会影响其他单元的工作。……
