基于CAN总线的智能车灯设计
2017-05-04李斌斌HuNingLiBinbin
胡 宁,李斌斌 Hu Ning,Li Binbin
基于CAN总线的智能车灯设计
胡 宁,李斌斌 Hu Ning,Li Binbin
(长安大学 汽车学院,陕西 西安 710064)
为引起行人对夜间行驶过程中汽车的注意,避免造成车灯晃眼而引发交通事故,提出了一种结合90C51单片机和汽车CAN总线的智能车灯控制系统,首先通过安装在汽车前端的激光雷达来检测前方是否有行人,并且可以通过连续接收的雷达间隔时间结合汽车车速判断行人的行走方向,以此决定车灯的变换。智能车灯设计系统关键在于可以通过自动检测使车灯自动变换,而不需要人为长时间手动控制车灯,进一步降低交通事故的发生率和减少驾驶疲劳,保证行车安全。
激光雷达;CAN总线;单片机;智能车灯
0 引 言
近几年来,交通事故的发生率居高不下,每年因为交通事故死亡的人数一直占据很大的比重,而事故的原因大多数是由驾驶员错误操作或行人不留意道路车辆而引起。夜间驾驶员很难辨别远处是否有行人,常常会由于刹车不及时而酿成交通事故。为了减少驾驶人的驾驶疲劳,及时发现行人提前做出反应,设计中利用激光传感器提前检测行人以及行人的行走方向和速度,综合自身速度利用远近光连续变换来提醒行人,最终会根据行人运动方向而开启远光灯或者近光灯,减少灯光对行人眼睛的刺激,大大降低事故的发生率,避免更大的人员伤亡。
如今,CAN总线广泛应用在汽车上已经有近十年的历史。利用CAN总线可以方便快捷地获取各节点想要获取的数据,并且节点本身的数据可以通过CAN总线发送到其他任意节点,CAN总线是汽车智能化,包括无人驾驶技术以及汽车辅助驾驶技术的基础。以CAN总线为基础设计的智能车灯控制系统具有很好的前景,如今各大车企都试图与IT企业合作开发,汽车安全会被放在越来越突出的位置,这体现了基于CAN总线的智能车灯控制系统的价值以及良好的前景。
1 智能车灯的总体设计
设计采用90C516BD+单片机控制车灯的开启和关闭,利用现今广泛应用的汽车CAN总线作为传播媒介,通过安装在汽车前方的激光雷达传递过来的时间结合汽车CAN总线的车速节点请求数据信号判断行人的行走方向,经MCU分析后做出决策,进一步控制车灯的远近光。
系统首先判断前方行人的行走方向,当汽车检测到行人同汽车同向时,单片机控制车灯远光灯开启0.5 s,近光灯开启0.5 s,这样闪烁5 s的时间,为了保证汽车的行车安全,最终汽车继续开启远光灯;当汽车检测到行人同汽车逆向时,单片机控制车灯远光灯开启0.5 s,近光灯开启0.5 s,这样闪烁5 s的时间,为了防止车灯对行人眼睛的刺激,最终汽车继续开启近光灯。
系统设计基于未来的实际应用,运用模块化的设计思路,系统的主要模块有电源模块,感知模块,控制模块,通信模块和核心处理器模块。
1.1 核心处理器
设计的核心处理器采用51系列的单片机90C516BD+,即89C51的升级版本。90C516BD+作为新一代高速低功耗单片机,指令代码与传统51单片机完全兼容,内部集成专用复位电路MAX810,当晶振为12MHz以下频率时,复位脚可直接接地。90C516BD+单片机内置8位中央处理单元,有3个16位定时/计数器和5个两级终端结构,其内部数据存储器采用的字节数为512,90C516BD+包括4个I/O口[1]。除此之外,此单片机也可以在低功耗模式工作,可以工作在空闲或者掉电模式,当单片机处在空闲模式时,即使单片机的CPU停止工作,但其定时器、串口和中断将继续维持其功能;在掉电模式下,RAM的数据保存,其他的功能模块将会停止工作。在此设计中,51单片机的P0口被用来控制汽车CAN通信以及数据的输入输出。
1.2 电源模块
设计的电源采用7.2V的直流电源经过LM7805稳压芯片调整为5.0V的电压,单片机以及传感器模块、CAN通信模块都可以在5V电压基础上经过处理后正常工作。电源模块电路如图1所示。
1.3 通信模块
设计的通信模块主要是由CAN总线构成,CAN总线是世界上最广泛的现场总线之一,主要负责51单片机与汽车各节点之间的双向通信,CAN总线在1991年9月由德国BOSCH公司制定发布,目的是解决汽车各个控制器件之间频繁的数据交换,该技术规范包括A和B两部分[2]。CAN2.0A协议规定标准帧格式,标准帧中报文的识别为11位,报文总计11个字节,其中包括帧信息1个字节,帧ID 2个字节,数据帧8个字节[3];与标准帧不同的是,CAN扩展帧的帧ID为4个字节。CAN是一种多自主总线,通信介质可以是双绞线、光纤或者同轴线。CAN总线的传播速度最高可以达到1 Mbps,实现了ISO 11898标准的物理层要求;当传输速率为5 kbps时,传输距离可以达到10 km。设计采用MCP2515CAN控制器用于网络中的数据传输控制,对于一般模式,增加了Pelican新模式;CAN收发器采用TJA1050作为控制器与总线之间的电压转化器件。
1.4 传感器模块
因设计需要采集前方是否有行人以及行人的行走方向,所以采用的传感器模块为激光雷达传感器,激光雷达是以发射激光束探测目标的位置、速度等特征量的雷达系统。从工作原理上讲,与微波雷达没有根本区别,但是探测的距离范围比微波传感器远得多,向目标发射探测信号,然后将接收到的从目标反射回来的信号与发射信号进行比较,适当处理后,可以获得目标的有关信息,如目标距离、方位、高度、速度、姿态、甚至形状等,从而对飞机、导弹等目标进行探测、跟踪和识别[4]。传感器探测的信号通过电信号传递给单片机,作为整个智能系统的认知部分。
1.5 输出模块
输出模块主要是对车辆的近光灯和远光灯分别用2个LED灯进行模拟,因为LED灯使用比较方便,易于操作,并且完全可以达到模拟的效果。在设计中用红色LED灯代表汽车近光灯,绿色LED灯代表汽车远光灯,直接与单片机的I/O口连接。
2 硬件设计
在智能车灯设计中,处理器对激光雷达采集的时间信号进行处理分析后,输出对应信号控制汽车远光灯和近光灯,判断依据为:
1)当传感器检测到前方有行人时,会向单片机发出高电平,触发单片机的外部中断,这时单片机输出控制红灯和绿灯闪烁,即为汽车远近光灯的交替变化;
2)在1)的基础上,激光传感器再次发送脉冲信号,通过与1)中发送脉冲信号接收时间的对比,结合自身汽车车速信息,判断行人的行走方向。
当行人与汽车同向时,单片机向绿色LED灯发送高脉冲,这时汽车远光灯亮起,保证汽车的行车安全;当行人与汽车行驶方向相反时,单片机向红色LED灯发送高脉冲,这时汽车的近光灯亮起,防止车灯对行人眼睛的刺激而引发交通事故。
CAN控制器中MCP2515和90C516BD+的地址线和数据线是共用的,直接连接就可以,但是为了区分某个时间段发送的是数据还是地址,单片机必须要连接地址锁存信号ALE,单片机直接与控制器MCP2515的读写信号相连,设计中采用MCP2515的RST复位端直接与90C516BD+的I/O口连接,单片机向I/O口输送高电平使控制器硬复位。90C516BD+的中断管脚与单片机的INT1连接,当收到数据时通知单片机。
控制器的TXCAN和RXCAN分别与收发器TJA1050的TXD与RXD连接,而收发器CAN_H、CAN_L管脚分别连接至CAN总线的CAN_H与CAN_L,控制器的SPI总线模块直接与单片机I/O口连接,这样就组成了整个设计,如图2所示。
设计中采用红色LED灯与绿色LED灯对汽车的远近光灯进行模拟,单片机的高电平为5V左右,所以可以将灯直接连接在单片机上,使用起来特别方便,并且容易控制,只需单片机给管脚高电平即可点亮LED灯,如图3所示。
3 软件设计
CAN总线节点要快速、实时地完成通信任务,软件的设计起到至关重要的作用,利用程序的结构化设计,具有较好的模块性、可理解性和移植性等特点[5]。
设计的软件部分主要包括主程序、发送程序和接收程序,软件主要包括1个主节点和2个从节点。激光雷达作为从节点将采集到的数据经过验收滤波器和屏蔽滤波器传至主节点,另外主节点发送远程帧向汽车的车速从节点发送请求车速报文,该从节点接收到主节点的请求信号,会立即做出响应,向主节点发送带有车速信息的报文,这样主节点的单片机接收到2个从节点传递来的数据进行分析,判断行人的行走方向,然后主节点的单片机分别向代表汽车远光灯的绿灯和代表汽车近光灯的红灯发送高电平信号,通过LED灯的显示信息可以方便快捷地实现智能车灯的控制。整个控制流程如图4所示。
CAN总线发送请求的扩展帧信息见表1。
表1 汽车扩展帧信息发送内容
标识符IDPC1MODEPID测试内容 0X18DB33F1(扩展帧)0X020X010X0C发动机转速 0X020X010X0D行车速度 0X020X010X05冷却液温度 0X020X010X0F进气温度
由表1可以看出,请求汽车车速信息的主节点发送的报文标识符ID为18 DB 33 F1共4个字节,数据帧为02 01 0D 00 00 00 00 00共8个字节,当车速节点收到此报文后,会自动做出反应,回复带有车速信息的报文给主节点。此过程中报文发送程序流程如图5所示。
报文接收程序流程如图6所示。
4 结束语
基于CAN总线的信息传递,设计了智能车灯控制系统,可有效防止外界的干扰;并且当其中1根CAN线破坏时不影响系统的正常工作,具有很好的稳定性。既可以降低驾驶员因驾驶疲劳而引发交通事故,还能人性化提醒路边行人,防止因行人不注意而造成伤亡。系统通过激光雷达传感器检测路上是否有行人,再与汽车自身车速的对比分析判定行人的行走方向,进而控制车灯,可以有效地方便驾驶员的操作,减少伤亡的发生。
[1]李朝青. 单片机原理及接口技术[M]. 北京:北京航空航天大学出版社,2005:17-21.
[2]龙志强,李晓龙,窦峰山. CAN总线技术与应用系统设计[M]. 北京:机械工业出版社,2013:3-8.
[3]周立功. iCAN现场总线原理与应用[M]. 北京:北京航空航天大学出版社,2006:24-28.
[4]王化祥,张淑英. 传感器原理及应用[M]. 天津:天津大学出版社,2014:52-54.
[5]李正军. 现场总线及其应用技术[M]. 北京:机械工业出版社,2005:64-66.
2016-11-15
1002-4581(2017)02-0043-04
U463.75
A
10.14175/j.issn.1002-4581.2017.02.011