摘要:摘要: 为了克服单片机固有的缺陷,并使程序设计易读、易扩展,提出了一种基于FPGA+SJA1000方案的CAN总线通信实现方法。该方法使用状态机设计CAN总线的初始化过程和数据收发过程,并有独立的数据通道状态机单元满足SJA1000读写时序的要求。测试结果表明,该方案可以稳定可靠地实现CAN总线通信。与传统的单片机方案相比,该方案扩展性好、稳定性高,并降低了体积、重量和功耗;与现有的FPGA方案相比,程序设计易读、易扩展,当双方通信协议发生变化时,只需修改相应的状态机便可适应新的协议要求,具有很高的灵活性。