安徽农业大学工学院 张文康 马晓晴
基于CAN总线的电动汽车车灯控制系统研究
安徽农业大学工学院 张文康 马晓晴
【摘要】CAN是德国博世公司于1980年开发的一种用于汽车的串行数据总线,满足SAE对C类高速汽车网络的要求,适合传动动力和底座电子系统的信息传输,还应用在车载系统的信息传输。在车灯系统设计时,利用CAN总线,可以显著提升汽车的应用性。本文提出了CAN总线设计车灯的方法:主节点通过CAN总线控制若干个从节点,进而达到对汽车上各种类型的灯的控制。实验表明:这个方法对于车灯的控制具有实时性,准确性的特点,有效的降低了车内线路的复杂性,提高了车灯控制系统的使用性能和自动化性能。
【关键词】CAN总线;电动汽车;车灯控制系统
车灯系统由照明,信号系统两部分组成。包括前灯(远视灯,近视灯),转向灯,雾灯,制动灯(左,右制动等),倒车灯和警示灯等等,不同类型的灯功能也不一样,安装位置也不一样。根据车灯的安装位置可以分为主节点和从节点。
通过控制节点向其他节点发送控制指令,其他节点接到控制指令后,控制相应位置的车灯。CAN总线触发协议是有优先级的,根据行驶过程中的安全程度,设定各节点的安全级。开关控制模块起到发送指令的作用,因此需要很高的安全程度。左右后模块起到制动与行驶的作用,因此,安全级稍微低于控制开关模块。
本方案的自动化节点以单片机STC12C5A60S2和SJA1000 CAN总线控制器为核心。CAN控制器是PHILIPS公司最近的新产品功能上同时支持CAN2.0B 和CAN 2.0A。它与82C200的CAN控制器在硬件和软件系统上的兼容性良好。
本方案的CAN总线的收发器SN65HVD230的电压为3.3V,起到连接物理层总线的作用,这个部件可以在较宽的范围内避免电磁波的干扰,对不同的速度传输的CAN总线的收发能力很好。硬件设计时,通过SN65HVD230和CAN总线之间的信息传送,STC12C5A60S2对车灯继电器具有驱动性。输入比较器和STC12C5A60S2之间的信息交流是间断的。
PCA82C250起到连接CAN控 制器和物理总线的作用,为汽车中的通讯而设计。这个部件可以实现对总线信息的发送和接收功能。PCA82C250主要的特点有,和ISO11898的兼容性良好,速度快,作用是抗干扰和保护总线。控制斜率的功能良好,对周围环境的干扰很小,热度过量的保护作用,总线与地线之间短路保护的作用,电流较小的保护作用。节点若未通电源则不会干扰总线,总线的连接节点数可达110个。
PCA82C250的8号引脚比较特殊,这个引脚的作用是可以选择PCA82C250的工作方式。一共有三种工作方法:速度高,斜率控制性好和待机性好。
对于速度很快的工作方法,发送器的晶体管的输出可以很快的开启和关闭。在高速工作方式下,对上升和下降的斜率不做限制。这个时候,可以采用电缆屏蔽的方式来减少射频的干扰性,通过将引脚8接地可以选择高速的工作方式。对于速度较低的工作方式或比较短的总线的情况,通过使用非屏蔽双绞线或平行线作为总线,为了降低射频的干扰性,尽量控制上升和下降的速度。这个速度可以通过对引脚8到地线处的电阻控制,斜率随着通过引脚8的电流增大而升高。
如果引脚8接高电压,电路进入低电压的休眠模式。在这种工作方式的作用下,发送器不工作,将接收器中的电流控制在低水平。检测时如果发现显性的电位(引脚4,接收数据的输出)将转化为低电压。控制器通过引脚8将驱动器的状态调为正常工作状态以做出响应。
为了增强CAN总线节点抗周围环境干扰的能力,P87C591和PCA82C259的RXD和TXD没有直接相连,通过高速率光电耦合器6N137后和PCA82C250的连接,实现了总线上各个节点之间的电气隔离。然而,需要强调的是,光耦部分电路所用到的两个电源Vcc 和Vdd必须隔离完全,否则光耦将丧失使用的功能。
PCA82C250与CAN总线连接部分也具有安全性,抗干扰功能。PCA28C250的CANH和CANL上的引脚通过5欧姆的电阻连接CAN总线,电阻可以控制电流的大小,从而免于PCA82C250上的电流过大。CANH,CANL和地线之间并联了两个30pF的电容,从而可以控制总线上高频率的电磁波干扰和辐射性。此外,在两个CAN总线的输入侧和地线之间出现瞬时的电磁干扰时,防雷管的放电可以对它进行保护。
试验台采用整车车身电器,这种部件主要用于轿车,包括车灯,大灯的自动调节,收音机音响,后视镜,中央门锁等。
设计软件的计算机程序采用C语言设计,程序结构为模块结构,各部分的模块的分工比较明确。对于STC12C5A60S2和CAN控制器SJA1000复位设计,对于中央节点和不同车灯上的节点设计不同的程序,中央节点的功能通过发送信号到CAN总线,车灯上的节点接收从CAN总线传送过来的信号。
CAN 2.0B协议规定了CAN物理层与数据层之间的传输协议,在进行软件设计的过程中,根据总线系统各节点的功能,确定总线系统上的节点功能不同,确定相互间交流的数据,根据各节点所需要的信息,制定CAN传输的信息,最后对CAN总线中传导的信息进行分配和标识。优先级通过CAN协议中标示符的数值所确定。在确定ID时,应该先分析该信息的紧急程度,根据车灯的安装位置和行驶过程中的安全性,最后确定标示符ID。
根据不同作用的软件设计不同的程序,每个程序具有独立性,完成各自不同的作用,包括初始化CAN节点,发送信息,接收。和处理数据等。同时,程序之间通过互相调用,分享数据,重复使用代码,达到简化代码的目的。
CAN发送信号的流程如图1所示,发送信号时只需要将未发送的数据按照指定格式组合成信息,然后送入SJA1000中发送。发送过程中要注意在向SJA1000中的缓存区发送信息的时候,首先要做一些判断。发送程序分为发送远程信息和数据信息两种。
接收作用的节点可以对信息进行接收和处理其它的情况。CAN接收程序的流程图如图1所示。接收功能要比发送功能的实现复杂性大的多。节点接收信息时,要关闭总线,分析报警信息的正确性,超量接收等处理情况。SJA1000的接收方式有两个:中断和查询的接收方法。这2个方法的编程思想大体相同。由于对通信的实时性要求不高,本文应用查询接收的方式。
图1 CAN总线发送和接收信号的程序
软件的可靠性的设计在整个设计过程中发挥着重要的作用。如果软件一旦失去作用,产生的后果将会非常严重。主要控制器的使用可靠性可以影响到整个电路控制系统的可靠性和汽车在运行时候的安全。合理的软件设计可以减少开发所用的时间,提高工作效率,提高控制器的电磁兼容性和工作可靠性。
尽管硬件采取了抗干扰措施,由于干扰信号产生原因的复杂性和随机性,很难保证系统不容外界环境的干扰。所以,在硬件抗干扰的基础上,需要对软件进行抗干扰设计,作为硬件抗干扰的补充。软件抗干扰的方法简单,操作灵活,硬件资源利用比较小。
参考文献
[1]郑荣良,胡永亮,俞方磊.基于CAN/LIN混合网络的智能汽车前照灯系统(AFS)的设计[J].拖拉机与农用运输车,2009(10)∶112-115.
[2]周慧.基于CAN的汽车车灯控制系统设计[J].自动化博览,2007(4)∶80-82.
[3]饶运涛,邹继军,郑勇云.现场总线CAN原理与应用技术[M].北京∶北京航空航天大学出社,2003.
作者简介:
张文康(1994—),男,安徽蚌埠人,大学本科,现就读于安徽农业大学工学院,主要研究方向:汽车安全控制及新能源汽车。