3.2 基于LPC2119的CAN/CAN网桥的结构设计
CAN/CAN网桥的硬件框图如图2所示。LPC2119分别通过光电耦合电路和高速CAN总线收发器TJA1050与两路总线相连。两路CAN的连接方式基本相同。CAN总线驱动器都采用带隔离的DC/DC模块单独供电。这样,不仅实现了两路CAN接口之间的电气隔离,也实现了网桥与CAN总线的隔离。虽然这在一定程度上增加了网桥硬件的复杂性和成本,但却是值得的。采取隔离措施可使故障局限在某一网段内,而不至于影响其它网段,既便于维护,又保证了系统设备的安全。采用光电耦合电路将CAN收发电路与LPC2119从物理上相隔离,避免了电气上影响LPC2119的工作。
CAN/CAN网桥除了以上主要部分以外还加了LED指示、看门狗电路和复位电路。几个LED主要指示两路CAN的工作状况以及电感器生产出错报警。LPC2119内置了看门狗电路,当由于程序跑飞或者其他原因导致系统工作不正常时将自动复位。复位电路采用MAX70销售电感器8SD来产生稳定的复位信号。
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所示。
基于STC12C5410AD单片机控制的恒功率金卤灯电子0 引言 金属卤化物灯 (MHL) 作为高压气体放电灯 (HID) 的典型代表,以其高光效、高显色性、寿命长等优点而被称为最理想的光源之一。而作为一种气体放电灯,金卤灯具有负阻特性,所以必须使用镇流器 基于AT89C52的电池四参数自动检测系统设计介绍了基于AT89C52控制的电池四参数检测系统,详细给出了系统的软硬件结构设计,给出了A/D转换器MAX197、显示驱动芯片MAX7219在此系统中的应用方法,及数据处理中使用的数字滤波算法。关键词 防窥门镜(猫眼)的解决方案门镜俗名叫做猫眼。从室内通过门镜向外看,能看清门外视场角约为120。范围内的所有景像,而从门外用肉眼通过门镜却无法看到室内的任何东西。但是,不法分子从门外通过由光学透镜组成的光学仪却能方便地看到室内的
4 总结
本文在LPC2119的基础上设计了一个CAN/CAN网桥,并从硬件和软件的角度论述了设计过程。作者采用广州周立功单片机发展有限公司的CANalyst-II和USBCAN-II分别模拟客车底盘CAN和车身CAN对网桥进行了大量数据的反复测试,在向两路CAN连续不间断发送100000帧数据的情况下能够准确的转发,说明网桥工作可靠。下一步的研究目标将在网桥上移植实时多任务操作系统μC/OS-II来进一步提高网桥的实时性能。