APP下载

基于单片机的汽车行驶智能记录仪研发

2020-12-23杜晓辉

微型电脑应用 2020年11期
关键词:摄像头单片机

杜晓辉

摘 要:设计了一款基于单片机的行驶记录仪,该行车记录仪采用S3C2440单片机作为控制器,主要由主控CPU、GPS、CMOS摄像头、存储模块、触摸显示屏、传感器等模块构成,基于S3C2440的工作原理详细设计了行驶记录仪的硬件电路和主要功能模块,可实时高效的采集车辆的状态及GPS定位信息,使行车记录仪功能的自动化与智能化水平得到有效提升,可对运行于不同路况下的汽车状态进行全程同步记录和监控。

关键词:行车记录仪;单片机;GPS;摄像头;串口通信;Access

中图分类号:TP 368.1

文献标志码:A

文章编号:1007-757X(2020)11-0137-03

Abstract:This paper designs a driving recorder based on a single-chip microcomputer. The driving recorder uses an S3C2440 single-chip microcomputer as a controller, and is mainly composed of main control CPU, GPS, CMOS camera, storage module, touch screen, sensor and other modules. The working principle of the design of the hardware circuit and main functional modules of the driving recorder is introduced in detail. The device can collect the status of the vehicle and GPS positioning information in real time and efficiently, so that the level of automation and intelligence of the driving recorder function is effectively improved. Car status can be recorded and monitored at all time under road conditions.

Key words:driving recorder;microcontroller;GPS;camera;serial communication;Access

0 引言

不断提高的物质生活水平促使人们对汽车的需求量持续增加,汽车已成为出行中不可缺少的交通工具,在带来极大便利的同时由道路上不断增加的车流量密度导致的交通拥堵问题日益突出,为交通安全带来较大的挑战,交通事故时有发生,为人们的生命财产安全带来不同程度的威胁,并且在发生交通事故后需对事故纠纷进行协调,尤其是在一些特殊路况或较偏辟的地方发生的交通事故因没有监控设备覆盖到而极大的增加了警方的判断与协调能力。初始小巧轻便且易于安装到车辆上的汽车行驶记录仪不断发展和完善起来,专门为汽车内部构造设计,实现了对不同路况下汽车运行状态的全程同步记录与监视功能,记录相关的监控数据,可帮助司机和交通部门实时监控车辆,为判断交通事故原因提供科学有效的证据。据此对运行车辆实施科学高效的管理和调度,为安全行驶提供了保障[1]。

1 基于单片机的汽车行驶记录仪设计

1.1 工作原理

科学有效的行车记录仪已成为现代汽车的重要构成,本文设计的可借助接口实现的汽车行驶记录仪主要负责记录和存储包括行驶速度、时间、里程等在内的车辆行驶状态信息,实现对实际车辆运行状况真实准确的反映,约束驾驶员的包括超速、疲劳驾驶等在内的不良驾驶行为(发现后会及时发出警报信息),记录车辆的状态参量可供发生交通事故后的鉴定过程使用。本文所设计的汽车行驶记录仪电子装置能够准确记录驾驶员操纵行为、行驶速度、方向、位置等信息(采用数字、图像、音视频的形式),该汽车行驶记录仪具有体积小、安装便利、功能更全面的优势,可有效记录车辆紧急制动、碰撞时的信息。该行车记录仪主要由触摸屏(采用LCD显示屏)、图像采集与解码、SD存储卡、语音等部分构成,其总体功能架构框图,如图1所示。

界面显示及用户触摸响应功能通过结合运用Qt开发、C++实现,通过LINUX对LCD显示屏进行操作(访问dev下fb0的节点),屏幕信息(包括长、宽、颜色深度)使用ioctl函数获取,通过CMOS摄像头的使用完成图像采集(摄像头访问路径为open/dev/camera),为提高CPU的识别质量和效率,图像采用二进制数编码,摄像头的图片可根据实际需要进行截取(其长、宽、颜色深度使用ioctl函数获取),完成图片格式转换后(565格式到888格式)将其压缩为JPEP图像,可按需设置包括图像宽、高、色彩通道数在内的压缩参数,录制图片的数量较多时可编码为视频文件,在用户空间中完成frambuffer地址的映射(通过mmap完成),即可在frambuffer地址对图片数据信息进行拷贝和显示。语音编解码功能通过结合使用UDA1341(音频编解码器芯片)和FM1182语音处理芯片实现,通过UDA1341模拟语音信号,采样频率设置为9 kHz,可时噪声抑制和回波消除功能得以有效实现。录像录音文件均存储到8~32 GB容量的SD卡中,可有效满足长时间录制需求[2]。

1.2 主要模块功能

(1) 开关量模块,兼容12 V和24 V两种车型,该记录仪采集汽车状态信息时涉及到的开关量主要有8个(包括刹车、开/关门、左/右转向、远/近光灯、喇叭等,具体通过采集正极信号获取开关量信息(高电平有效),具有光电隔离和过压保护(60 V)功能。(2) 速度模块,针对电子式车速表、机械式车速表分别采用不同的速度采集信号连接线,电子式测速表信号输出端连接记录仪的速度信号线,机械式需安装速度传感器(5 V供电,输出为脉冲信号)。(3) 油箱检测模块,使用油耗(压力或浮力)传感器实现,5 V供电,输出0~5 V模拟量(以检测对象为依据),具备较高的检测精度。(4) 单片机(一种集成在电路芯片,使用超大规模集成电路技术形成一个小而完善的计算机系统)系统设计,选用S3C2440单片机作为微处理器,单片机包含中央处理器CPU、多种电路(包括A/D转换器、显示驱动、脉宽调制等)、中断系统、定时器(计时器)、RAM和ROM(随机存储器和只读存储器)、丰富的I/O口等。(5) 采用NEO-5M完成GPS模块的设计,GPS监控功能需基于GPS终端、传输网络、监控平台共同实现,采用UART协议与S3C2440通讯,利用GPS监控实现了跟踪定位(24小时实时监控车辆的位置、行驶方向与速度)、车辆远程控制(如断油断电、锁车等)、实时监控车辆油耗变化情况(可比对历史数据對加油量、油量的正常与非正常消耗等现象进行直观反映)等功能,可应用到车辆调度监控领域[3]。

2 硬件电路设计

2.1 S3C2440工作原理

集成度较高的单片机S3C2440(基于ARM9的架构,CPU内核强大)包含丰富的内部资源,分为3部分的时钟总线分别经外部晶振和锁相环的增大处理后为CPU工作,基于高级精简指令(32位)的CPU的内存有高数缓存区,具有较快的运行速度,S3C2440包含支持多主机的IIC总线接口、外部请求引脚、PLL片上时钟发生器、2通道SPI、3通道UART(64字节发送与接收FIFO)、4通道DMA、8通道10位ADC、24通道外部中断源、IIS总线音频编码器接口、触摸屏接口、USB设备、常用PWM定时器、捕获摄像头接口(最大像素输入为2 048×2 048)和130个通用I/O口[3]。

2.2 NAND FALSH 电路

NAND FALSH电路特性为:(1)在启动引导后的复位期间,向Steppingstone(4 Kbyte字节)传送引导代码并在其中执行引导代码;(2)包含支持256、512、1 k、2 kbyte页的存储器接口和8/16位的存储器接口总线;(3)生成用于检测和指示的硬件ECC实现软件纠错功能;(4)可按照字节、半字、字访问SteppingStone接口(支持大/小端模式),如表1所示。

为电路引脚功能说明。NOR Flash 包含执行功能无需在系统内存中拷贝代码,可直接运行于Flash应用程序上,NOR自主boot,在SDROM中通过copy_proc_beg完成RORW的分别复制,并清BSS、作中断安装;NOR加载已在内存中的boot 代码,将RW数据采用copy_proc_beg进行修正后并清BSS、作中断安装,跳到主函数[4]。

2.3 音频输入与输出电路

进入到工作模式的音频编解码器芯片UDA1341需提供可选择系统频率的外部时钟,且时钟需锁定数字接口信号频率,由两个模数转换器(具备较高的分辨率,均包含两个通道)构成音频编解码器芯片的模拟端口,模数转换器的每个通道均包含一个增益放大器(PGA,可编程),通过遵循 IIS 协议通信格式的L3接口控制增益级(有0或6dB可供选择),可根据实际需要通过配置寄存器设置增益倍数,可采用地址和传输两种操作模式(通过 L3协议实现),地址模式的数据通过L3 总线传输(能够双向传输)后完成相应设备的选择。 UDA1341 接收到模拟信号后对编码声音进行处理与控制(包括对信号进行滤波和采样,通过配置寄存器完成)[5]。

2.4 时钟模块和存储模块

该汽车行驶记录仪在关闭电源时,包含备用电池的实时时钟(RTC)可连续工作以确保数据不丢失,独立电源引脚(RTCVDD)的RTC向CPU发送BCD码值数据(包含8位数据,通过读写寄存器的操作完成),由CPU分解和读取这些数据中的时间信息(包括年、月、日、星期、时、分和秒),RTC单元可执行闹钟功能(包括闹钟中断、从掉电模式唤醒),由RTC中的晶体振荡电路(位于外围电路中)提供一个更准确的时钟源可使实时时钟的准确性得到显著提升。为有效提高传输速率对于数据线上的信息通过串行时钟线实现了采样和移位的同步处理,并且可根据实际需要通过对寄存器(SDIPRE)相应位进行设置实现对传输频率的控制。编程SDI模块的主要操作步骤包括:先完成满足需求的时钟和中断使能的配制(通过设置SDICON实现),再将寄存器配制设置为适当值,初始化各个SDCLK时钟周期,分别在SDIDTimer和SDIBSize中写入数据超时时间和写块大小,然后确定块方式、启动数据传输(设置SDIDatCon),在数据寄存器中写入Tx數据(Tx FIFO包括TFDET可用置位、TFHalf一半置位、TFEmpty空位),从数据寄存器读取Rx数据(Rx FIFO包括RFDET可用置位、RFFull满位、RFHalf一半置位、RFLast最后数据就绪置位)[6]。

3 主要功能模块的设计与实现

3.1 音视频播放

该模块支持片上PGA的低噪声和高输入阻抗,具有较佳的噪声处理性能和稳定的线性,通过配置寄存器调节增益倍数实现噪声的有效抑制,采用支持多种设备的V4L2,V4L2包含 3 种接口:(1) 视频采集接口,具有万能的设备驱动,对摄像头种类不做限制,基本不需要改变驱动程序即可满足行驶记录仪的图片与视频采集功能需求;(2) 视频输出接口,可驱动包括其他视频图像设备在内的外部设备,并能够向以电视信号格式作为输出的设备自动转换和配置;(3) 直接传输视频接口,主要负责完成所采集视频信号(使用视频采集设备完成)在相应输出设备上的直接输出(ead与write),可直接访问内存并采用映射方式完成传输过程。

播放音视频模块主要用于播放录制的视频和音频,用户通过触摸屏完成相应操作(包括播放、暂停、音量增/减、快进快退等),实现对播放中音视频的自由切换与播放、暂停继续及音量控制等功能[7]。

3.2 图片浏览和数据采集

主要负责实现浏览行驶记录仪采集到的视频数据内容、图片(上一幅,下一幅),并可选择显示方式(包括特效显示),在触摸屏产生ADC中断的情况下将采集到的数据进行模数转换后经换算实现像素点位置的确定。汽车行驶记录仪的硬件方面数据量需通过设计软件界面实现展示与操作,本文使用Access完成软件设计与开发,在简化软件开发流程的同时使行车记录仪的实时性和灵活性得到有效提高,数据采集与信息检索主要包括8个信息开关量(刹车、开/关门、左/右转向、远/近光灯、喇叭)、油箱耗油模拟量、速度模拟量,GPS的检索信息包括地理位置、速度、相对位移度等,随着行驶记录仪的信息量不断增加,采用OfficeAccess设计界面还能够使数据库连接问题得以有效解决,确保在新的数据覆盖旧数据前完成数据保存[8]。

3.3 数据处理

为有效满足汽车行驶记录仪的功能需求,行驶记录仪将采集的数据上传至上位机(通过串口完成),并以txt文档格式保存数据,串口连接及保存的txt文档,如图2所示。

选择数据信息量的流程为:先完成数据源和总的数据表的建立(在Access中),对需要的数据信息进行确定,在此基础上建立数据查询条件,以查询条件为依据完成信息量的检索,并在终端界面呈现所查询的数据结果。汽车行驶记录仪的单片机基于NMEA-0183协议同GPS建立其实时高效的连接通讯过程,单片机采用串口通讯TTL电平同上位机进行通信,记录仪定时(每秒一次)上报数据[9]。

4 总结

本文主要通过使用S3C2440单片机完成了一种操作简单的嵌入式行驶记录仪的设计,主要功能在于记录汽车状态量与定位,实现了全程录像功能,该记录仪具备信息采集(包括驾驶员信息、开关量和模拟量信号)、记录、存储、通信等功能,将采集到状态信号后先存储到铁电存储器中,再向上位机上传数据信息(通过RS232串口完成)由其完成分析和处理过程,紧急情况下可自动完成全方位拍照,和其他采集信息一同保存到SD 卡中,并可选择是否录音、在线观看录制的音视频文件,储存卡存满时会自动覆盖之前录制的数据。

参考文献

[1] 曾祥凯,马向明,王艺帆.机动车查验中行驶记录装置查验现状及其管理发展介绍[J].汽车与安全,2019(8):80-84.

[2] 王立更,胡仕兵,汪家楠,等.基于GPS的便携式汽车行驶记录仪的研制[J]. 成都信息工程大学学报, 2018(4):413-432.

[3] 杨爱鹤. 北斗卫星导航系统行车记录仪的优化设计[J].单片机与嵌入式系统应用, 2018(3):58-61.

[4] 馮天宇,韩博.行驶记录仪检验装置校准方法的研究[J]. 品牌与标准化, 2018(4):60-63.

[5] 柏红梅. QXJ-8型车辆行驶记录仪示值误差的测量不确定度评定[J]. 工业计量, 2017(3):61-63.

[6] 孙春霞,孙江正.行驶记录仪关键技术研究与实现[J]. 自动化与仪器仪表, 2016(11):243-246.

[7] 陈石平,马利滨,徐伟强.基于马尔科夫链的北斗行驶记录仪数据存储算法研究[J]. 全球定位系统, 2018(3):42-45.

[8] 王珏.汽车行驶记录仪外围扩展器的设计与开发[J].佛山科学技术学院学报(自然科学版),2017(5):60-65.

[9] 沈志熙,陈鹏,马轶男.基于SAA7113H和FPGA的图像式汽车行驶记录仪设计与实现[J]. 仪表技术与传感器, 2018(2):81-84.

(收稿日期:2020.04.15)

猜你喜欢

摄像头单片机
一种电脑专用摄像头
C8051F020与80C51单片机的异同点
无法开启摄像头的解决方案
购买摄像头的经验
找出摄像头花屏的“罪魁祸首”
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器