摘要:机载产品通常系统复杂,功能单元众多,实现国产化周期长、难度大。FPGA是一种通过编程改变逻辑功能 的半定制芯片,具有编程配置灵活、开发周期短等特点,为机载产品国产化提供了新思路。鉴于此,深入研究了CAN总 线通信协议,分析了CAN驱动的数据流和组织结构,实现了基于FPGA的SJA1000 CAN总线驱动设计,并将该设计应用 于某综合电子战管理系统,证实了其有效性和可靠性。
关键词:FPGA; CAN总线;驱动设计
0 引言
随着嵌入式系统互联通信的高速发展,传统的RS232、 RS485、RS422等总线受传输距离、抗干扰能力、负载能 力、传输速率的影响,逐渐制约了嵌入式系统的发展。
CAN总线系统是一种多主控的总线系统,在总线 控制器的协调下实现两个节点之间大量数据的传输, 由于CAN网络消息的发送是广播式的,即所有节点侦 测的数据是一致的,因此非常适合控制信息和数据信 息的传输 。
CAN总线具有超长的传输距离,理论上限为10 km, 因此被广泛应用于超远距离信息传输的工业项目中。 单条总线可负载110个节点,互不干扰;高波特率保证 了数据传输速率。
由于国产化需求,进口芯片需要进行原位替换,面 对功能可裁剪的嵌入式系统,本文提出了一种基于FPGA 实现的CAN总线驱动,并对其设计进行了详细介绍。
1 1.1 SJA1000
CAN通信结构
CAN通信结构如图1所示,以FPGA实现的CAN协 议IP核为中心,采用CPU+FPGA+驱动器的架构。