您的位置 首页 应用

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

1引言控制器局部网CAN[1][2](ControllerAreaNetwork)是德国RobertBosch公司在20世纪80年代初为汽车业开发的一种车载专用串行数据通信总

1 导言

操控器部分网CAN[1][2](ControllerAreaNetwork)是德国RobertBosch公司在20世纪80年代初为轿车业开发的一种车载专用串行数据通讯总线,经过多年的开展,现在越来越多的被许多轿车厂商所认可,并在包含BMW、Benz、VOLVO等轿车上运用。CAN因为其共同的特性,不只在轿车范畴,而且在工业操控范畴也得到了广泛的运用,如工业现场操控、小区安防、环境监控等。因为在详细工程运用中,往往需求衔接两路CAN子网,因而CAN/CAN网桥是必不可少的,是组网的关键设备之一。本文在将客车网络操控体系划分为底盘和车身的两个网络操控子体系的基础上,运用Philips公司的LPC2119微操控器,从硬件和软件上规划了一个CAN/CAN网桥。

2 客车网络操控中的CAN/CAN网桥

因为现在轿车电子运用的日益广泛,CAN在轿车上运用日益广泛,但是在国内的运用还不是许多,只要在某些高级奢华的车型上才会选用,CAN在国内客车上的运用也仅限于由国外公司协助施行单总线部分联网。轿车电子技术的网络化是我国轿车电子研讨与运用的必然趋势,CAN作为规范车载网络技术,其在轿车网络化运用的进程中将起着桥梁和枢纽的效果。因为客车中底盘部分涉及到整车行使的安全性,实时性要求和通讯的信息量都显着高于车身部分,因而本文在将客车网络操控体系划分为两个子体系(底盘CAN和车身CAN)的基础上,规划了衔接两路CAN的网桥。整个体系结构如图1所示。


该网桥具有完成不同速率的CAN网段衔接、不同网段的CAN报文过滤和转发的功用。

运用CAN/CAN网桥的长处[1]首要表现在以下几方面:

(1)过滤通讯量。网桥接纳一个子网的报文,只要当报文是发送给网桥所连的另一个子网时才转发,否则不转发;

(2)扩展了通讯间隔;

(3)进步了通讯的最大节点数;

(4)各网段可运用不同的通讯速率;

(5)进步了体系牢靠性。当网络呈现毛病时,一般只影响单个网段;

(6)整个网络功用得到改进。

当然,运用网桥也有必定的缺陷,如:

(1)因为网桥对接纳的帧要先存储后转发,增加了延时;

(2)CAN总线的MAC子层并没有流量操控功用。当网络上的负荷很重时,或许因网桥中缓冲区的存储空间不行而发生溢出,发生帧丢掉的现象;

(3)网桥若呈现毛病,对相邻两个子网的作业都将发生影响。

3 CAN/CAN网桥的硬件规划

3.1 LPC2119

CAN/CAN网桥是以ARM微操控器LPC2119[3][5]为中心的软硬件体系。LPC2119是Philips公司出产的一款根据支撑实时仿真和盯梢的16/32位ARM7TDMI-SMCU,带有128KB嵌入的高速Flash存储器。共同的加快结构使32位代码可以在最大时钟速率下运转。对代码规划有严格操控的运用可运用16位Thumb形式将代码规划下降超越30%,而功用的丢失却很小。LPC2119内部集成2个CAN操控器,为规划CAN/CAN网桥供给了或许。它的首要特性有:单个总线上的数据传输速率高达1Mb/s;32位寄存器和RAM拜访;兼容CAN2.0B;大局检验滤波器可以辨认一切的11位和29位Rx标识符;检验滤波器为挑选的规范标识符供给FullCANstyle主动接纳。

LPC2119内部集成的CAN操控器与Philips公司的SJA1000CAN操控器相比较大致相同,只是在检验滤波这一环略有不同,这为习气SJA1000的开发人员选用LPC2119供给了便利。在传统的SJA1000中,接纳过滤只能满意一些规律性较高的ID挑选过滤,或个数较少的ID(一般小于10~15个)进行恣意挑选过滤,难以完成更杂乱的恣意ID进行挑选过滤,这无疑增加了体系软件规划及运转时担负。LPC2000系列32位ARM微操控器中为一切CAN操控器供给了大局的接纳标识符查询功用。它包含一个512×32(2k字节)的RAM,经过软件处理,可在RAM中寄存1~5个标识符表格。整个AFRAM可包容1024个规范标识符或512个扩展标识符,或两种类型混合的标识符。因为答应的表格规模有2k字节,所以能容易地满意规划杂乱的ID接纳过滤要求。

大局接纳过滤的作业流程:当CAN操控器的接纳端已接纳到一个完好的标识符,它将告诉接纳过滤器。接纳过滤器呼应这个信号,并读出操控器编号、标识符尺度(11bit或29bit),然后,接纳过滤器查找AFRAM中的表格进行匹配,以决议接纳或抛弃这一帧信息。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内置了看门狗电路,当因为程序跑飞或许其他原因导致体系作业不正常时将主动复位。复位电路选用MAX708SD来发生安稳的复位信号。[page]

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网桥互连两个网络操控子体系。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/255912.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部