网关选用philips公司lpc2101微控制器,它是一款基于支持实时仿真的arm7tdmi-s cpu,并带有8kb和32kb嵌入的高速flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。这可以使得中断服务程序和dsp算法中重要功能的性能较thumb模式提高30%。对代码规模有严格控制的应用可使用16位thumb模式将代码规模降低超过 30%,而性能的损失却很小。它内部集成2个can控制器,主要特性有:单个总线上的数据传输率高达1mb/s;32位寄存器和ram访问;兼容 can2.0b;全局验收滤波器可以识别所有的11位和9位rx标志符;验收滤波器为选择的标准标志符提供full can style自动接收。
can收发器选用philips公司的tja1050接口芯片,tja1050可以为总线提供差动发送性能,为can控制器提供差动接收性能。
lpc2101微控制器分别通过光电耦合电路和高速can总线收发器tja1050于两路can总线相连。两路 can的连接方式基本相同,can总线驱动器都采用带隔离的dc/dc模块单独供电。这样不仅实现了两路can接口之间的电气隔离,也实现了网关与can 总线的隔离。网关与总线结构如图3所示。
图3 网关与can总线接口结构
4 系统软件设计
can/can网关的主要功能是实现两路can网段之间的数据过滤及转发,由于城市客车信息集成控制系统中对通讯实时性的要求,在进行软件设计时要做到数据存储和转发的时间尽可能短。为了达到这一要求,数据的接收采用irq方式,而且由于动力总成控制子系统的数据通信量明显高于车身控制子系统,因此将连接动力控制总成子系统的can1接受优先级设置最高,而连接车身控制子系统can2优先级次之,同时尽量精简中断服务程序,使系统的响应时间尽量的短。
由于传输速率不同,高低速can网络之间的数据传输是不同的。当高速can网络数据向低速can传输时,需要加入软缓存进行暂时的存储;当低速can网络数据向高速can网络传输时,可直接传输。整体流程如图4所示。
图4 高低速can网关通信流程
5 结束语
can总线以其高性能、高可靠性及其独特的设计越来越受到人们的重视,并被公认为是汽车控制网络中最有前途的总线之一。本文给出了一个具有高低速can网络的城市客车信息集成控制网络的设计方案,介绍了lpc2101微控制器在该can网络中作为高低速网关的软硬件设计。汽车计算机控制单元能够通过can总线共享所有信息和资源,达到简化布线、减少传感器数量、避免控制功能重复、提高系统可靠性和维护性、降低成本、更好地匹配和协调各个控制系统的目的。