FPGA下汽车安防控制系统设计研究

FPGA下汽车安防控制系统设计研究

摘要:为了帮助驾驶员养成良好的驾驶习惯,提高交通安全,本文以FPGA为核心控制器设计了汽车安防控制系统。该系统由FPGA开发平台、蓝牙模块、超声波测距模块、红外感应模块、火焰模块、温度传感器模块、一氧化碳检测模块和语音提醒模块组成。在QuartusII编译环境下运用VHDL语言编程驱动FPGA控制各个模块,利用多个传感器实时监测周围环境数据,并使用语音提醒模块进行实时报警。测试结果表明,本系统能同步处理并且快速响应多种报警和语音提醒,完全达到了预期效果,具有很好的检测和预警作用。该安防控制系统功能强大、小巧灵活、便于升级。

关键词:FPGA;疲劳驾驶;语音提醒模块;蓝牙模块

随着我国经济高速发展,汽车已成为家庭生活必需品,家庭汽车保有量逐年上升,与此同时,交通事故发生率也在提高。另外,驾驶员的安全驾车意识和社会公众交通安全意识的不足也大大提高了交通事故的发生率。目前市场上的汽车安防系统还大多停留在倒车雷达、胎压监测和安全带报警等[1,2],而这远远不足以应付现今状况多发的用车环境。本文旨在设计一个多角度的汽车安防控制系统,对车内车外多个环境因素检测并及时给出语音提醒,国内尚没有类似的研究。

1整体设计方案

本系统以FPGA开发平台为控制核心,由超声波测距模块、人体红外感应模块、蓝牙模块、火焰传感器模块、温度传感器模块、一氧化碳检测模块、疲劳驾驶和语音提醒模块组成。整体设计方案如图1所示。该汽车安防控制系统使用多路传感器对汽车内外多种环境数据进行实时监测并及时做出反应。当驾驶员行车时,利用超声波感应前方和左右两侧视觉死角,如果有其他车辆或障碍物时,用蜂鸣器和指示灯提示驾驶员;当汽车启动时,用红外传感器对车底进行感应,检测车下是否有生命体,避免造成伤害;当火焰传感器检测到车内有明火时,FPGA立即报警,防止发生火灾;当一氧化碳浓度传感器检测到车内一氧化碳浓度值达到安全值时,蜂鸣器发出报警,提醒驾驶员和乘客开窗通风;当驾驶员连续驾车时间过长,可能造成疲劳驾驶时,用语音提醒驾驶员停车休息。设计中加入蓝牙模块以实现信号无线传输,车主可以使用手机端APP关闭和开始所有模块。

2功能模块设计

2.1超声波测距模块。利用超声波回声感应原理检测传感器前方有无物体,运用声音传播速度和接受回波时间计算障碍物的距离。在汽车前方、左侧和右侧三个驾驶员视线死角处分别安装超声波传感器,同时在面板上设置三个LED灯指示前方、左侧和右侧以方便驾驶员辨识障碍物的具体位置。当检测到车辆左右两边20—100cm内存在车辆时,蜂鸣器以5Hz的频率进行鸣叫;当超声波测距模块检测到左右两边20cm内存在车辆时,蜂鸣器持续尖锐鸣叫。当检测到车辆前方100—150cm内存在车辆时,蜂鸣器以1Hz进行鸣叫。当检测到车辆前方20—100cm内存在车辆时,蜂鸣器以5Hz进行鸣叫;当检测到车辆前方20cm内存在车辆时,蜂鸣器一直鸣叫。任一方向有障碍物,其对应的指示灯闪烁,蜂鸣器鸣叫提醒功能在汽车泊位后自动关闭。在实际控制中,由FPGA以一定的频率发出一个10us以上的高电平脉冲信号作为超声波测距的启动信号,超声波启动后传感器内部紧跟着发出8个40KHz方波脉冲,脉冲遇障碍物后发回回波信号[3]。为了提高检测效果,测量周期不应低于60ms,本系统选择100ms。

2.2蓝牙模块。蓝牙和FGPA之间的通信选用UART异步串口方式实现,波特率选择9600。首先对蓝牙芯片进行设置,其次在手机上下载安装蓝牙串口助手APP,开启APP搜索本系统中的蓝牙,自动匹配[4],然后可通过蓝牙助手APP发送信息,蓝牙模块接收信号后将数值传给FPGA,FPGA处理数据并根据需要发出相对应的控制指令,控制系统其他模块的工作。蓝牙电路原理图如图3所示。FPGA对蓝牙进行控制时,必须采用状态机,否则无法正确传输数据。

2.3红外感应模块。本系统采用热红外LHI778探测热源,车底选择合适的位置安装2个探头,当有人或者宠物等热源进入其感应范围时,输出一个低电平脉冲信号[5],此信号与FPGA引脚相连。如果FPGA识别到车底红外探测器送过来的低电平,将触发语音模块播放语音提示:“车下有生命,请下车查看”。当热源完全消失后,模块输出高电平,此时语音模块停止工作。本模块的感应范围可达3米。

2.4火焰模块、温度模块和一氧化碳传感器模块。这3个模块用于监测车内环境。当火焰传感器检测到车内有明火时,立即发出报警以免火势变大。当一氧化碳浓度传感器检测到车内一氧化碳浓度值超过安全值时,用蜂鸣器报警,提醒车内环境不佳,必须通风,此举亦可友善提醒驾驶员和乘客不要在车内抽烟[6]。温度传感器用于显示车内温度,此模块通过DS18B20检测车内温度[7],再将数据传给FPGA,数据处理和温度显示均通过FPGA实现。如果炎炎夏日,家长将孩子遗忘在车内,自己出去和好友聊天,一时忘了时间,当车内温度超过40摄氏度,车内红外传感器检测到车内有人,FPGA便会发出指令让蜂鸣器发出尖锐的报警声提醒家长。将这3种传感器安装于车内适当位置,传感器的输出引脚分别与FPGA相连,由FPGA全程控制其工作。

2.5疲劳驾驶和语音提醒模块。语音提醒模块留有一个SD卡接口,可根据需要事先将录好的音频存入SD。此电路留有8个低电平启动的接口,分别与FPGA引脚相连,根据需要播放SD卡中内容,可以播放8种不同的声音,每种声音播放时间不受限制。利用FPGA对连续驾驶时间进行统计,当连续驾驶时间达到一定值时发出不同的语音提醒。如连续驾驶3小时时,语音播放模块播放设定好的提醒语音:“您已连续驾车3小时,请注意休息,良好的休息是行车的保障。”由此提示驾驶员停车休息,保证驾驶员的精神状态良好,有效减少驾驶员行车发生意外的几率。其他时间段以及对应的语音提醒可根据需要设定,此模块大部分任务由软件编程实现。

3系统软件设计

本系统以QuartusII为开发环境,采用VHDL语言编写。开机后系统首先初始化,各个模块同时开始工作,如果不需6科技创新科技风2020年12月要某个模块工作,可通过蓝牙关闭。各传感器将数据送给FPGA处理,FPGA开发板上晶振频率100MHz,处理速度极快,FPGA将根据处理结果发出不同指令。各模块主程序采用循环方式,顺序查询各输入端口和控制端口,当有信号输入时该模块主程序跳入并执行对应的子程序,结束后又跳入主程序循环。系统的程序流程图如图4所示。

4结论

本设计采用FPGA将超声波传感器、人体红外传感器、火焰传感器、温度传感器和CO传感器以并行的方式结合到一起,实现了对多项数据的同时监控。本系统可以有效地、全面地检测出车主在用车过程中存在的安全隐患,并对其进行预警。在此基础上,在系统中加入了蓝牙模块和语音播放模块,让所有检测到的危险信号通过声音的方式传递给使用者,并且用蓝牙实现无线控制各模块报警。本系统采用硬件描述语言VHDL进行编程驱动FPGA芯片,大大降低了硬件开发的难度,同时也为本设计的升级改进创造了条件,本系统适用于各种车型,使用广泛。

作者:周殿凤 董波 毕志超 朱忠华 周葛垒 沈法华 单位:盐城师范学院