孙大元,闫 冬
(中国电子科技集团公司第五十四研究所,河北 石家庄 050081)
基于FPGA的冗余CAN总线通信节点设计
孙大元,闫冬
(中国电子科技集团公司第五十四研究所,河北 石家庄 050081)
摘要针对航天领域对通信系统可靠性要求高的特点,提出了基于FPGA、SJA1000和PCA82C250的冗余CAN总线通信节点设计。介绍了CAN总线冗余方式的选择原则,详细给出了采用控制器级冗余方式的通信节点硬件设计和FPGA控制程序设计,重点对SJA1000初始化流程、收发报文处理过程、SJA1000错误处理过程和链路热备份条件下的数据选择策略进行了说明。通过FPGA程序仿真,验证了收发报文时SJA1000的控制时序,进行了高低温条件下的节点传输性能测试和冗余数据处理功能测试。测试结果证明,节点工作稳定性高、实时性强,适用于航天和航空等高可靠性要求的领域。
关键词CAN总线;FPGA;冗余;CAN控制器;SJA1000
0引言
Control Area Network(CAN)总线是一种采用异步串行方式工作的现场总线,最早由德国BOSCH公司提出用于实现汽车内部控制[1],由于其传输速率高,抗电磁干扰性能强,同时配置灵活,使用方便,所以被越来越多地应用于航天领域,近年来我国发射成功的多颗小卫星都采用了CAN总线通信系统[2]。星上设备长时间在高低温、真空和辐射等恶劣条件下工作,且故障后不可维护,因此对总线可靠性提出了更高的要求。
在传统的CAN总线通信系统中,通常采用单片机作为总线节点的处理器,但是单片机处理速度慢、抗干扰能力差的缺点使其在航天领域应用中受到很大限制。……