基于S3C2440的行车记录仪设计

2018-04-11 03:41江华丽
实验室研究与探索 2018年1期
关键词:寄存器时钟模块

江华丽

(福建师范大学 闽南科技学院, 福建 泉州, 362332)

0 引 言

随着生活水平的日益提高,人们对交通工具的需求也越来越大,尤其是对汽车的需求。与此同时,道路上的车流量密度也在急剧增加,交通拥堵给我们带来很大的困扰,碰瓷现象也时有发生。一旦发生交通事故,很难协调事故发生的人事纠纷;并且,交通事故发生在一些比较偏辟的地方,路况没有监视,警方也很难判断哪方的对错。汽车行驶记录仪巧小,易于方便安装在车辆上,可以全程同步记录、监视车辆在路况的运行状态,可以很好的为出现交通事故提供很好的证据。专门为汽车内部构造设计,并且帮助司机和交通部门实时监控机车内运行状况。因此,非常有必要在汽车上配备科学、有效的行车记录仪。

1 工作原理

汽车行车记录仪的功能主要由4部分组成[1-3]:触摸屏、图像的采集与解码、语音编解码和SD卡。采用LCD显示屏进行界面显示结合Qt开发、运用C、C++进行界面的设计及实现响应用户触摸实现相应的功能。通过访问LINUX的dev目录下fb0的节点,来操作LCD显示屏的显示,通过ioctl函数来获取这个屏的长、宽、颜色深度;通过mmap映射frambuffer地址到用户空间;把图片数据拷贝到用户空间的frambuffer地址-〉达到显示图片的效果。图像的采集是运用CMOS摄像头进行,进行对图像的编码为二进制数,让CPU识别。通过open/dev/camera来访问摄像头,再通过ioctl函数来获取这个摄像头的长、宽颜色的深度,根据实际情况的需要来截取所需大小的图片;并把565格式的图片转换为888格式的图片,将获取的图片压缩为JPEP图像,设置压缩的对象,图像宽、高、色彩通道数;当录制一定数量的图片则可以开始编码为视频文件。采用UDA1341进行语音编解码。UDA1341音频编解码器芯片,使用一种新的芯片FM1182语音处理,可以实现噪声抑制和回波消除。通过UDA1341TS抽样对语音信号的模拟,用来对采样频率的音频编解码器芯片UDA1341TS设置为9 kHz。采用SD卡为介质存储录像录音文件。该系统的SD卡支持8~32 GB的容量,满足长时间录制视频和语音。设计的总体框图,如图1所示。

图1行车记录仪设计框图

2 硬件电路设计

2.1 S3C2440CPU工作原理

S3C2440[4-12]内部资源丰富,集成度高,其结构是基于ARM9的架构,时钟总线分成3部分,经过外部晶振再通过锁相环增大,提供给CPU工作。CPU内核强大,是基于一个32位的高级精简指令,内存有高数缓存区,操作内存时,运速度快。

S3C2440它的主要特性参数有以下几点:

(1) 有4个通道DMA并有外部请求引脚;

(2) 3通道UART(IrDA1.0, 64字节发送FIFO和64字节接收FIFO);

(3) 2通道SPI;

(4) 1通道IIC总线接口(支持多主机);

(5) 1通道IIS总线音频编码器接口;

(6) 2通道USB主机/1通道USB设备(1.1版);

(7) 常用PWM定时器和捕获;

(8) 8通道10位ADC和触摸屏接口;

(9) 摄像头接口(最大支持2048×2048像素输入支持缩放);

(10) 130个通用I/O口和24通道外部中断源;

(11) 具有普通,慢速,空闲和掉电模式;

(12) 具有PLL片上时钟发生器。

2.2 NAND FALSH和NOR FALSH电路

NAND FALSH电路如图2所示。特性如下:

(1) 关于引导启动:引导代码在复位期间被传送到4 Kbyte字节的Steppingstone。传送后,引导代码将在Steppingstone中执行;

(2) NAND Flash存储器接口:支持256 byte,512 byte,1 kbyte和2 kbyte页;

(3) 接口:8/16位NAND Flash存储器接口总线;

(4) 硬件ECC生成,检测和指示(软件纠错);

(5) SteppingStone接口:支持大/小端模式的按字节/半字/字访问。

图2NAND FALSH电路

引脚功能说明,如表1所示。

表1 K9F1208引脚功能说明

NOR 自主boot OM[1:0]=10,copy_proc_beg分别复制RO RW到SDROM,并清BSS,作中断安装,跳到主函数。NOR 加载boot OM[1:0]=10 代码已经在内存中,copy_proc_beg 修正RW数据,并清BSS,作中断安装,跳到主函数。NOR Flash片上执行功能(执行到位),所以在Flash应用程序可以直接运行,不需要将代码拷贝到系统内存。

2.3 音频输入与输出电路

UDA1341[9-13]在工作模式时,需要提高时钟,提供外部时钟时,系统的频率可以选择。系统时钟必须对数字接口信号锁定频率,UDA1341的模拟端口是由两个分辨率高的模数转换器组成,每个模数转换器有两个通道,其中每个通道都有一个可编程的增益放大器(PGA),增益倍数可以通过配置寄存器来选择。可选择的0或6dB的增益级,通过L3接口来控制。L3格式通过IIS协议进行通信,在这种格式下可以通过地址模式和传输模式进行操作,这两种模式也是通过L3协议来实现的,各有各自的优缺点。地址模式是通过L3总线进行数据传输,从而进行选择设备,它的传输方向是双向的。数据在传输过程中可以是双向也可以选择为单向的。模拟信号输入到UDA1341中通过配置寄存器来编码声音处理和系统控制特性,期间需要通过对信号进行滤波和采样。

图3NOR FALSH电路

图4UDA1341电路

2.4 时钟模块和SD卡模块

当系统电源关闭时,实时时钟(RTC)可以通过备用电池工作,保持数据的不丢失。RTC可以通过对寄存器的读写操作发送8位数据BCD码值数据给CPU,CPU再对这些数据进行分解和读取。这些数据包括年、月、日、星期、时、分和秒的时间信息。

BCD数:年、月、日、星期、时、分和秒

· 闰年发生器

· 闹钟功能:闹钟中断或从掉电模式唤醒

· 已解决的2000年问题

· 独立电源引脚(RTCVDD)

这些数据包括年、月、日、星期、时、分和秒的时间信息,RTC单元工作在外部32.768 kHz晶振并且可以执行闹钟功能。为了提高实时时钟的准确性,RTC 中外围电路的晶体振荡电路,提供一个更准确的时钟源。 串行时钟线对数据线上信息的同步采样和同步移位,实现高速率的传输。传输频率是通过设置SDIPRE寄存器相应位来控制。

编程SDI模块需要以下几个基本步骤:

(1) 设置SDICON配制适当的时钟和中断使能;

(2) 设置SDIPRE配制为适当值;

(3) 等待为初始化卡的74个SDCLK时钟周期;

(4) 写数据超时时间到SDIDTimer;

(5) 写块大小(块长度)到SDIBSize;

(6) 确定块方式,宽总线或DMA等并通过设置SDIDatCon启动数据传输;

(7) Tx数据→写数据到数据寄存器(SDIDAT),其中Tx FIFO为可用(TFDET为置位),或一半(TFHalf为置位),或空(TFEmpty为置位);

(8) Rx数据→从数据寄存器(SDIDAT)读数据,其中Rx FIFO为可用(RFDET为置位),或满(RFFull为置位),或一半(RFHalf为置位),再或最后数据就绪(RFLast为置位)。

2.5 ADC转换和视频数据采集模块

该模块具有处理噪声性能好和线性特性稳定,支持片上编程放大器(PGA)中具有低噪声和高输入阻抗,增益倍数可通过配置寄存器来调节,可以很好的抑制噪声。

V4L2[14-16](video for linux)可以支持多种设备,它可以有以下3种接口:

(1) 视频采集接口(video capture interface):这种应用的设备驱动是万能的,可以任何一款摄像头,V4L2的最初设计就是应用于这种功能,驱动程序不要多大的改变;

(2) 视频输出接口(video output interface):可以驱动外部设备的其他视频图像设备—自动转换为配备到像可以输出电视信号格式的设备;

(3) 直接传输视频接口(video overlay interface):它的主要工作是把从视频采集设备采集过来的信号直接输出到输出设备之上,read与write这种方式,它像其他设备驱动一样,也可以直接的内存访问,可以通过其映射方式来传输。

对于应用中最小的功率消耗重要的是,在低功耗模式下,可以选择(寄存器位MODE = 0 )。在低功耗模式下,功率减小到17 mW( 25 mW)和信噪比减小平均3 dB,默认模式为高分辨率。

3 功能模块设计实现

3.1 播放音视频和UDA1341设计模块

本模块主要是为了实现播放录制的视频和播放音乐,特点通过触摸屏响应用户的操作。功能实现播放、暂停、 上一曲、下一曲、音量增,音量减、快进快退功能。实现在播放音视频中增减音量,播放中自由切换音视频,播放中客随意暂停继续。实现播放录音及播放视频等功能(见图5)。

图5 录制和播放模块

3.2 图片浏览和视频数据采集模块

本模块从系统中浏览图片及选择特效的显示,采集视频收集的数据。功能实现图片浏览(上一幅,下一幅)、特效显示。当触摸屏产生ADC中断,得到的数据经模数转换后得到的数据,再经过换算得到像素点的位置(见图6)。

图6 图片浏览界面

4 结 语

本设计是基于S3C2440嵌入式系统实现全程录像,在紧急的情况下可以自动拍照,全方位拍照,不漏证据,可选择是否录音,查看SD卡里面的内容,浏览图片。它的创新点在于当储存卡存满时,可以自动覆盖前面所录制的数据,无需人工删减,可在线观看所录制的视频及音频文件,操作简单。

参考文献(References):

[1]胡伟松.基于嵌入式的智能控制[D].武汉:武汉大学学院,2014(6):71-75.

[2]李小强.基于TFT视频色彩控制应用研究 [D].华中科技大学,2014:1-283.

[3]吴迪.零基础学QT4编程[M].北京:北京航空大学出版社, 2012:38-40.

[4]刘明光.HID技术开发与应用研究[J].北京交通大学学报,2005,18(10):33-34.

[5]孙伟.某工程车载系统设计[J].机械研究与应用, 2015,21(3):82-83.

[6]肖奎. C++语言的设计和演化 [J].哈尔滨工业大学学报,2011,19(1):153-156.

[7]李佳强.基于QT的ARM-Linux应用设计[J].应用编程研究,2011,22(4):33-35.

[8]江华丽.基于嵌入式的网络终端研究及其应用软件设计[J]. 电子测量技术,2008,31(176):147-150.

[9]江华丽.网络化控制的嵌入式研究[J]. 电子测量技术,2009,32(181):120-123.

[10]江华丽.基于遗传算法的有源消声系统设计[J]. 电子测量技术,2012,35(9):49-51.

[11]神经网络混合算法的应用研究[J].电子测量技术,2014,37(10): 59-61.

[12]Sushabhan Choudhury, Piyush Kuchhal,Rajesh Singh,Anita.ZigBee and bluetooth network based sensory data acquisition system[J]. Procedia Computer Science,2015(48) :367-372.

[13]Liu Zhen-ya. Hardware design of smart home system based on zigbeewireless sensor network[J]. AASRI Procedia,2014(8) :75-81.

[14]林锐.高质量程序设计指[J].应用编程研究,2015,15(4):18-25.

[15]刘锐宁.Visual C++开发典型模块大全[M].北京:清华大学出版社, 2012.

[16]李仁见.基于QT4开源跨平台开发框架[J].应用编程研究,2013,15(4):18-25.

猜你喜欢
寄存器时钟模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
STM32和51单片机寄存器映射原理异同分析
别样的“时钟”
古代的时钟
Lite寄存器模型的设计与实现
有趣的时钟
时钟会开“花”
集成水空中冷器的进气模块
高速数模转换器AD9779/AD9788的应用