APP下载

基于CAN总线的双模块汽车车灯控制系统设计

2013-01-15徐涛史增勇熊国民

关键词:车灯报文总线

徐涛,史增勇,熊国民

(1.河南科技学院,河南新乡 453003;2.新乡银行,河南新乡 453003)

基于CAN总线的双模块汽车车灯控制系统设计

徐涛1,史增勇1,熊国民2

(1.河南科技学院,河南新乡 453003;2.新乡银行,河南新乡 453003)

设计了基于CAN总线的汽车车灯控制系统,采用双模块分别控制车身不同位置和功能的车灯,具有通用性和可扩展性.利用开关输入信号来模拟车灯控制信号,由AT89C52单片机进行处理,CAN模块进行报文的发送和接收,通过CAN总线进行通信,可实现对每个车灯的控制.系统布线简单,采用CAN总线提高了系统的可靠性和智能性.

单片机;CAN总线;汽车车灯;模块化设计

车灯控制系统是保障汽车安全行驶的重要系统之一.随着科技的发展,车灯的数目一直在增加,而采用传统的继电器控制,会使车内的线束过多且布线复杂,导致严重的电磁干扰,进而降低了系统的可靠性.同时人们对汽车整体性能和用途的要求不断更新和提升,使目前汽车车身除了车灯、仪表盘等传统控制对象外,新加入的控制对象越来越多,且还在不断增长,因此就在车身内部出现了各种各样的电子控制系统,各个系统之间的通信数据类型及对可靠性的要求各不相同,由多条总线构成的情况很多,会使线束继续增加[1].

将CAN总线引入车身控制系统,利用其分布式控制的特点为各节点之间实时、可靠的数据通信提供了保障,而且能够有效地降低成本[2].本文主要介绍了基于CAN总线的汽车车灯控制系统的设计,采用双模块的构成方式,大大提高了系统的通用性和可扩展性.CAN总线上的节点没有主从之分,数据经单片机处理,并发出控制指令,交由CAN控制器和收发器发送,经CAN总线传输,各节点通过报文滤波确定是否对该数据做出反应,能够很好地对各个车灯进行控制.本设计为模块式打包设计,不影响车身其他控制系统的运行,并且提供了通用接口,可以方便地和其他控制系统实现互联.

1 整体系统设计

系统采用CAN总线来实现汽车车灯控制,主要包括信号输入模块、车灯模块1和车灯模块2,各个模块挂在CAN总线上.下面将总框图和3个模块的框图分别叙述.

总框图如图1所示,信息由开关控制节点处理然后输入,经CAN总线传输,车灯模块1和车灯模块2根据报文内容,确定是否对该报文做出相应的反应.

图1 系统总框图Fig.1 The system outline

信号输入节点框图如图2所示,该部分由开关控制电路、光线采集电路、微处理电路、CAN控制器电路和CAN收发器组成.模块主要由开关控制各个车灯的信号输入,由光线采集电路判断光线的亮暗,数据经由AT89C52单片机进行处理,然后输入CAN控制器SJA1000,最后由CAN总线收发器PCA82C250发送到CAN总线上进行数据传输[1].

图2 信号输入节点Fig.2 Theoutlineofsignal inputnodes

第2部分和第3部分为车灯节点(见图3).该部分主要由微处理电路、CAN控制器电路、CAN收发器、LED车灯驱动电路和LED车灯组成.在车灯模块中信息经CAN总线输入,由CAN收发器PCA82C250接收,传输到CAN控制器SJA1000进行报文滤波,而后输入单片机处理,由单片机发送给LED车灯驱动电路,从而驱动汽车LED车灯.

图3 车灯节点Fig.3 The outline ofautomobile lampsnodes

2 硬件电路的设计

硬件电路设计分为3个部分.

第1部分为信号输入电路,如图4所示,利用开关量来模拟各种信号的输入.该电路中一共有6个单刀开关、1个双刀单柄开关以及上拉电阻组成.开关左侧全部接地,右侧接单片机P1口,上拉电阻接5 V电源,用于开关断开时向P0口提供高电平.开关用来控制各车灯(分配见表1)的信号输入,当开关处于打开状态时,P1口的输入为高电平;当开关闭合时,P1口的输入为低电平.

图4 信号输入电路Fig.4 Signal inputcircuit

表1 开关分配Tab.1 Switchesassignation

第2部分为CAN总线节点电路(见图5).该部分设计是本设计的重点,直接决定了通信功能能否正常实现.采用89C52单片机作为微控制器,SJA1000作为CAN控制器,PCA82C250作为CAN收发器.另外,CAN总线采用双绞线,总线两端接抑制反射的120Ω左右的终端匹配电阻,使得数据通讯的抗干扰性及可靠性大大提高[3-5].

图5 CAN总线节点电路Fig.5 CAN busnodescircuit

第3部分为车灯驱动电路(见图6).采用MAX16823芯片作为车灯驱动芯片[6],该款芯片非常适合要求高电压输入的汽车应用场合,并能承受高达45 V的负载电压.车灯系统需要实现的控制功能包括远光灯控制、近光灯控制、转向灯控制、制动灯控制、雾灯控制、阅读灯控制、踏步灯和顶灯的控制.车灯方波信号由引脚DIM1、DIM2和DIM3输入,由引脚OUT输出到LED灯.在车灯模块1中,一共采用两个车灯驱动电路,输入引脚DIM依次接单片机的P1.0~P1.7口.在车灯模块2中,采用一个车灯驱动电路,引脚DIM依次接单片机的P1.0~P1.2口.车灯分布如表2所示.

图6 车灯驱动电路Fig.6 Automobile lamp driving circuit

表2 车灯分布Tab.2 Automobile lamp distribution

3 系统软件设计

系统的软件设计思路为系统上电后,首先对微处理器AT89C52和CAN控制器SJA1000进行复位,复位后AT89C52才能对自身和SJA1000正确的进行初始化.之后对于信号输入节点和各车灯节点要设计不同的程序.信号输入节点主要进行发送控制信号到CAN总线,各车灯节点负责从CAN总线上接收信号[4].

CAN报文的发送是采用的中断控制,由CAN控制器自动完成,用户只需要将采集和诊断后的数据转移到发送缓冲器当中,然后将报文对象的编码写入命令请求寄存器启动发送即可,而发送由硬件完成.

CAN报文的接收也采用的中断控制,由CAN控制器自动完成的,接收程序只需从接收缓存器中读取要接收的数据,在进行相应的处理即可,其基本方法与发送程序一致.车灯节点接收主流程图见图7.

图7 车灯节点接收流程Fig.7 Signalnodes sending flow

在汽车车灯控制中,当光线较暗时,近光灯、阅读灯、顶灯和踏步灯会随着车门打开而接通.当车门关闭后,近光灯与阅读灯根据开关的状态,决定是否打开车灯或关闭车灯.而远光灯、左右转向灯、雾灯、制动灯不需要根据光控电路,只按开关的状态决定是否打开车灯或关闭车灯.当开关闭合时,打开远光灯、制动灯、雾灯和左右转向灯.当程序开始后,首先检测车门开关是否打开,如果车门打开检测有无光照,无光照时,接通近光灯、阅读灯、顶灯和踏步灯.当车门闭合或有光照时,扫描车灯相应开关,如果开关闭合接通相应的车灯,如果没有闭合结束本次扫描.流程图见图8.

图8 汽车车灯控制主流程Fig.8 Automobile lamp node receiving flow

4 仿真调试

按照上述设计方案,在实验室完成系统的设计后,通过反复试验和修改相关参数,系统运行稳定,达到控制要求.通电实际运行后,采集到CAN-H和CAN-L的波形图如图9所示.可以看出两者波形基本对称,在保证通信稳定的基础上,抗干扰性大大加强,满足设计要求.

图9 试验测得CAN-H和CAN-L的波形Fig.9 Automobile lamp controlling chief flow

5 小结

设计了基于CAN总线的汽车车灯控制系统,分为1个控制节点和2个车灯驱动节点.在控制节点中,采用开关来模拟车灯信号,而光线的采集依靠光敏二极管电路,报文由节点负责发送.报文由CAN总线传输至车灯驱动节点,节点根据报文滤波,选择是否对报文做出反应.本设计降低了传统汽车线束繁多和布线复杂的问题,在可靠性、抗干扰方面也得到了提高.由于CAN总线的灵活性,所有节点都挂在CAN总线上进行通信,在CAN总线上可以继续添加节点,能够满足更高级车型中更多车灯控制对象的需求,具有较好的工程应用前景.

[1]滕敏,张雷,王朝文,等.智能报警器的设计[J].河南科技学院学报:自然科学版,2012,40(4):75-79.

[2]倪障,范鑫,潘茂辉,等.基于CAN总线的电动汽车车灯控制系统设计[J].传感器与微系统,2011(12):82-84.

[3]邬宽明.CAN总线原理和应用系统设计[M].北京:科学出版社,1998.

[4]肖相春.基于CAN总线技术在汽车中的实际应用[J].装备制造技术,2011(8):85-87,91.

[5]宋清昆,蒋继成.基于AT89C52单片机CAN总线节点的设计[J].自动化技术与应用,2009(5):55-58,68.

[6]邵锋,翟洪轩.基于单片机的智能锅炉控制仪[J].河南科技学院学报:自然科学版,2007,35(4):67-68.

Design of double-module automobile lam ps controlling system based on CAN bus

Xu Tao1,Shi Zengyong1,Xiong Guomin2
(1.Henan InstituteofScienceand Technology,Xinxiang453003,China;2.Bank of Xinxiang,Xinxiang 453003,China)

A design of automobile lamps controlling system based on CAN bus are introduced in this paper.Its innovation point focuses on that the double-module is adopted to control the lamps in different places and with different functions in automobiles,characterizing on university and expandability.The switch input signals are used to simulate the lamps controlling signals which are processed by AT89C52 SCM,and then CAN module goes to send and receive themessage.And finally the design can achieve the controlling to every lamp in the automobile through the communication of CAN bus.It is simple wiring this system,and the reliability and intelligence are improved by using CAN bus.

MCU;CAN bus;automobile lamps;modularization design

TP273

A

1008-7516(2013)01-0067-06

10.3969/j.issn.1008-7516.2013.01.017

2012-12-26

河南省教育厅自然科学研究项目(2011A120005)

徐涛(1981-),男,河南新乡人,硕士,助教.主要从事嵌入式开发、智能控制研究.

卢奇)

猜你喜欢

车灯报文总线
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
南非的车灯会说话
浅析反驳类报文要点
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
车灯
ATS与列车通信报文分析
STP与无线调车灯显设备结合技术探讨
多通道ARINC429总线检查仪