单片机在汽车电子限速系统中的应用设计
随着道路交通建设的加快,高速公路网络遍布。为了治理超速,国家制定了严格的法律法规,但是超速现象还是屡禁不止。据分析,全国近几年发生的重特大交通事故,有70%与超速有关,并且超速行驶违章随着道路交通条件的改善而不断增多。2006年德国西门子宣布开发出了道路限速标志识别装置。该装置利用摄像头识别前方的限速标志;当行驶速度比限制速度快时,就会发出警告,或与巡航控制系统连动,自动限制行驶速度。使用这种装置原则上可以达到限速的目的,但这种装置在识别限速标志时常因外界环境变化而受到影响。在阴雨天,限速标志位置不同的情况下装置就无法准确识别。笔者按其工作原理,针对其不足,设计出一种新型的基于无线数据采集的汽车电子限速系统。该系统基于无线单片机,可实现语音提示超速和切断汽车油路的功能。
1 系统设计
整个系统根据功能可分为数据发射机部分和车载接收机部分。数据发射机可接收设定数据、存储数据并不断将数据发射出去。车载接收机实现接收数据、存储数据、计算车速、判断超速、语音报警、控制油路限速,如图1。
系统工作流程如下:数据发射机不断广播限速数据。当汽车经过发射机信号覆盖范围时,车载接收机接收并存储限速值。车载接收机的中央处理器计算与比较当前车速。如果超速则语音报警,则超速30s后车载接收机发出控制信号切断供油。汽车切断供油后车速会降低,当低于限速值时车载接收机发出控制信号恢复供油。这样,汽车最多超速30s就会减速到正常速度。
2 数据发射机
数据发射机硬件主要由中央处理单元、无线发射单元、存储单元、显示单元和控制单元组成。硬件系统如图2,软件流程如图3。
其中,中央处理单元采用C8051单片机。C8051单片机加电后,程序发出存储器数据读取操作。存储芯片采用AT24C01。它具有1kB存储空间,采用E2PROM总线结构与C8051单片机的P1.0脚和P1.1脚连接。限速值经过适当运算,为所有车型分别产生一个4B的数据包,其格式为:
(1)起始位用FF表明数据包的开始;
(2)车型及校验码位用高4位表示限制车型,低4位表示限速数值位的校验值;
(3)限速数值位表示限定的具体数值;
(4)结束位用00表明数据包的结束。
各车型的数据包通过程序循环用无线发射单元连续地发射出去。无线发射单元采用NRF905专用射频芯片。该芯片发射频率可以为433/868/915MHz,最高速率为20kb/s,通信距离可达300m~800m。C8051单片机提供的数据包经由C8051的串口提供给NRF905以915MHz发射。
显示单元显示限速值和限速车型。显示单元使用4个8段数码管显示:1个表示车型,3个表示限速值。显示数据通过C8051的P0口提供。C8051的P2口作为数码管的控制口,为了省电,数码管只有在按下键盘时才点亮;当30s内不再操作键盘时数码管熄灭。
程序在循环时不断检测C8051的P1.2~P1.4脚电平。C8051的P1.2~P1.4脚表示键盘控制单元使用3个按键,分别为车型选择键、数值增加键和数值减少键。当检测到其中一脚电平为低时表示相应的按键按下,程序根据键值执行相应的代码。鉴于目前的国情,车型可规定为小型车、中型车、大型车和其他车型;根据车型和路况而设定不同的限速标准。当操作修改键修改限速值时,程序需要将新限速值重新写入存储芯片中。根据各车型排列顺序,T24C01芯片从地址00FF依次存放对应车型的限速数值,每个数值占用1B空间。
3 车载接收机
车载接收机硬件主要由无线单片机单元、语音电路单元、存储单元、速度采集单元和油路控制单元组成,如图4。
为了简化设计,车载无线单片机采用Chipcon公司的CC1110无线单片机系统。CC1110具有低功耗、低成本、高可靠性的优势,具备无线收发功能并且内置8051MCU。其工作频率为315/433/868/915MHz,最高速传输速率为500kb/s,工作电压1.8V~3.6V,接收灵敏度-110dB。存储单元和发射机的存储单元工作原理相同。它的数据线和控制线连接到单片机CC1110的P0.0和P0.1脚。当程序开始时,需要初始化工作环境,包括读取部分参数值和启动一些中断程序;程序初始化完成后进入一个循环流程。在这个循环中,无线单片机不断执行检测新数据操作和执行超速处理操作。软件流程如图5所示。
CC1110的P2.4~P2.7脚外接拨码开关,根据拨码数值定义车型。在检测新数据操作过程中,程序根据车型定义分析数据,将符合要求的新数据保存到存储芯片中,数据占用存储芯片地址00FF一个字节空间。
CC1110单片机的P2.0脚和P2.1脚分别控制触发报警电路和油路控制电路。在执行超速处理操作过程中,当车速大于限速值时,P2.0脚输出高电平触发语音电路发出报警提示。程序设计了30s超速延时,主要用于汽车短时超车,超车后恢复正常行使速度,语音提示消失。当语音提示30s后仍然超速,P2.1脚输出低电平到油路控制继电器。油路控制继电器控制汽车喷油嘴供电电路开关:单片机的P2.1脚输出高电平控制油路控制继电器接通,汽车喷油嘴供电电路可以保持正常供电;P2.1脚输出低电平控制油路控制继电器断开,切断汽车喷油嘴供电电路工作,从而达到限速的目的。
汽车型号多种多样,采用的速度传感器主要有磁电式车速成传感器、霍尔式车速传感器和光电式车速传感器。磁电式车速成传感器产生类似正弦波的波形;霍尔式车速传感器和光电式车速传感器产生近似方波的波形。根据速度传感器产生波的频率,可计算当前车速。但无论哪种波形都不能直接应用于无线单片机上,需要速度采集电路转换成方波波形。速度采集电路由信号放大电路和信号比较电路组成。整理好的信号送达CC1110的P1.0脚进行处理。CC1110的P1.0脚作为外部中断口输入;程序运行时,以下跳沿触发外部中断;中断程序累加中断次数T。CC1110单片机在启动时开启外部中断口P1.0和Timer1计数器;当Tmer1计数溢出产生时间中断时,中断程序计算当前的车速V。其计算公式为:
V=T×A×0.0036/S(km/h)
其中S表示Timer1计数周期,其单位为s。A为系数,指速度传感器触发一次表示的距离,单位为ms。
因为速度传感器及车型的不同,S需要做相应调整。因此接收机CPUCC1110的P2.2脚设计一个跳线,实现设定参数S的功能。程序设定P2.2脚高电平程序正常计算车速V,低电平则程序反算参数S,并将计算结果保存到存储芯片中。参数S占用存储器地址01FF~02FF。程序在Timer1中断程序中计算车速时,首先检测P2.2脚电平。在汽车车速以5公里/小时匀速行使时,人工短接跳线2s后取下跳线就可以完成系数设定操作。此功能的设计方便了参数的调整,增强了车载接收机的通用性。
汽车电子限速系统是利用无线技术和单片机控制技术结合汽车的电路结构设计出的电子限速设备。对于现有的汽车厂商,车载机的改进只需增加无线接收部分和语音报警部分电路,对现有行车电脑软件稍加修改就可以完成限速功能的改进。如果交管部门推广应用该装置,则可以从根本上解决汽车超速问题,极大地减少恶性交通事故。汽车电子限速系统还可以扩展出许多功能,如在汽车追逃、汽车防盗、违章信息传达、交通限制广播等方面。