微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 客车网络控制中的CAN/CAN网桥设计方案

客车网络控制中的CAN/CAN网桥设计方案

时间:07-27 来源:微计算机信息 点击:

使故障局限在某一网段内,而不至于影响其它网段,既便于维护,又保证了系统设备的安全。采用光电耦合电路将CAN收发电路与LPC2119从物理上相隔离,避免了电气上影响LPC2119的工作。

  CAN/CAN网桥除了以上主要部分以外还加了LED指示、看门狗电路和复位电路。几个LED主要指示两路CAN的工作状况以及出错报警。LPC2119内置了看门狗电路,当由于程序跑飞或者其他原因导致系统工作不正常时将自动复位。复位电路采用MAX708SD来产生稳定的复位信号。

  3.3 CAN/CAN网桥的软件设计

  CAN/CAN网桥的主要功能是实现两路CAN之间的数据过滤及转发,由于客车网络控制系统中对通讯的实时性的要求,在进行软件设计时要做到数据存储和转发的时间要求尽可能的短。为了达到这一要求,数据的接收采用向量中断(IRQ)方式,而且由于底盘CAN控制子系统的数据通讯量明显要高于车身CAN控制子系统,因此将连接底盘CAN控制子系统的CAN1接收优先级设置为最高,而连接车身CAN控制子系统的CAN2接收优先级次之。同时尽量精简中断服务程序,使系统的响应时间尽量的短。对应两路CAN设置了两个FIFO的环形接收缓冲区,由于CAN1的数据通讯量要高,因此CAN1的FIFO环形接收缓冲区比CAN2的大,这样更适合实际情况。

  CAN/CAN网桥的软件设计主要包括:两路CAN控制器的初始化,FIFO环形接收缓冲区的设置,两路CAN控制器的全局验收过滤器的设置,接收中断服务程序,CAN发送程序,主监控程序。

  CAN控制器的初始化流程如图3所示。其中全局验收过滤器的配置是一个难点,也是区别于SJA1000独立CAN控制器的一个地方。有5个地址寄存器用来指向验收过滤器RAM中的表格:fullCAN标准地址、标准单个地址、标准地址范围、扩展单个地址和扩展地址范围。这些表格在存储器中必须是连续的。后4个表格的起始地址分别是各自相邻的前一个表格的终止地址。扩展地址范围表格的终止地址在表格终止寄存器中给出。如果一个表格的起始地址等于下一个表格的起始地址或表格终止寄存器的值,则该表格为空。

 FIFO环形接收缓冲区中设置一个发送指针、一个接收指针和当前数据帧数frameCount,当frameCount为0时表明FIFO环形接收缓冲区是空的。

  接收中断服务程序将接收到的数据放入对应的FIFO环形接收缓冲区中并且修改接收指针和当前数据帧数frameCount。

  主监控程序负责监控两路CAN的FIFO环形接收缓冲区中是否有数据,如果其中一路CAN的FIFO环形接收缓冲区中有数据则向另一路CAN发送数据。主监控程序不断查询两路CAN的FIFO环形接收缓冲区中的当前数据帧数frameCount标志,如果非零立即向另一路发送数据,并且在子程序CAN1SendToCAN2()和CAN2SendToCAN1()中修改发送指针和当前数据帧数。主监控程序流程如图4所示。

4总结

  本文在LPC2119的基础上设计了一个CAN/CAN网桥,并从硬件和软件的角度论述了设计过程。作者采用广州周立功单片机发展有限公司的CANalyst-II和USBCAN-II分别模拟客车底盘CAN和车身CAN对网桥进行了大量数据的反复测试,在向两路CAN连续不间断发送100000帧数据的情况下能够准确的转发,说明网桥工作可靠。下一步的研究目标将在网桥上移植实时多任务操作系统μC/OS-II来进一步提高网桥的实时性能。

  本文作者创新点:将客车网络控制系统划分为底盘和车身的两个网络控制子系统,并且设计了CAN/CAN网桥互连两个网络控制子系统。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top