CAN总线和1553B总线通信的FPGA设计与实现
2021-06-10李宏伟
太原城市职业技术学院学报 2021年5期
■李宏伟
(太原城市职业技术学院,山西 太原 030027)
在时代的推动下,各类飞行设备承担的任务更加纷繁复杂。为能够提高数据可靠性,系统内部往往需要针对不同的工作设备选择合适的总线通讯方式。在发挥各类总线通信的最大优势的同时,总线之间的转换传输也受到越来越多的关注。CAN总线与1553B总线均以数据传输可靠性高、传输速度快等优点,广泛应用于飞行设备中[1]。对于两总线之间的数据交互,传统的解决办法一般是采用FPGA+ARM双处理器实现,但国产ARM芯片价格高,制板时周期相对较长[2]。系统采用单芯片FPGA实现CAN总线与1553B总线之间的通信,利用FPGA能够并行处理数据的架构以及具有编程灵活的优势,编写总线底层传输协议,用软件的方式实现数据的快速转换与传输[3]。
一、系统总体设计
CAN总线与1553B总线之间通讯的系统总体设计框图如图1所示。系统数据流由FPGA控制,参与实现CAN总线与1553B总线之间通信的模块主要包括CAN控制器模块、数据转换模块、1553B协议模块和RS422发送模块。

图1 系统总体设计框图
CAN总线与1553B总线之间的通信是双向的,以从1553B总线发送数据至CAN总线为例,该数据流的工作流程为:上电初始化所有模块,FPGA通过编写1553B底层协议模块实现与1553B总线的数据交互,1553B底层协议模块作为终端,接收总线发送来的数据并根据1553B协议对数据进行解析及格式转换,然后通过CAN总线控制器模块将转换后的数据发送至CAN控制器SJA1000,最后驱动收发器完成数据的上传,完成单向数据流的传输。……
登录APP查看全文
