基于S3C2410的辅助倒车数字图象系统设计
以下为文章全文:(本站微信公共账号:cartech8)

汽车零部件采购、销售通信录 填写你的培训需求,我们帮你找 招募汽车专业培训老师
因为ov511不支持系统调用read的方式获取图像数据,所以使用内存映射输入/输出(MMIO)方式获取图像数,在使用MMIO方式获取图像数据时,图像的内存的信息保存video_mbuf memoryBuffer这个变量中。所以进行图像数据采集之前首先需要使用Video4Linux中的VIDIOCGMBUF接口获取MMIO所需信息,然后通过mmap函数将摄像头的图像缓冲区映射到虚拟内存中并使用Video4Linux中的VIDIOCMCAPTURE接口捕获图像。函数 voidgetCameraImage(QImage & img)用来完成对一帧图像的完整采集过程并通过定时器来实现的图像数据的连续采集和显示。每当定时器的时间到就触发一个定时器事件,在事件中调用 getCameraImage函数完成对图像的采集和显示。 4、测距报警模块实现 为提高系统的安全性和可靠性,增加测距报警功能,可视倒车功能启动后,采用超声波测距模块来实现对车后方的障碍物的实时测距并使用语音合成模块来实现障碍物距车身过近的语音报警。 4.1 超声波测距模块 超声波测距电路主要由超声波发射电路和接收电路组成,原理框图如图3所示。该模块单片机选用Freescale公司的MC68HC908QL4,该芯片可靠性高、抗干扰能力强。超声波探测车物之间的距离,并将数据传送至车内主处理器进行处理。
由于超声波测距只在汽车倒车时为驾驶员提供车后信息,而倒车时车速较慢,与声速相比可认为是静止的,因此采用渡越时间法来测距,即超声波发射器不断发射超声波,遇到障碍物后反射回来,超声波接受器接受到反射波信号并将其转变为电信号,测出从发射超声波到接受到反射波的时间差即可求出距离s。
式中,s为所测距离;c为超声波声速;t为发射超声波到接受反射波的时间差。 4.2 超声波测距软件设计 超声波测距软件主要包括测距及数据发送,其流程图如图4所示。
4.3 语音合成模块 本系统采用语音合成芯片XF-3011,与S3C2410通过串口进行通信,s3c2410与语音合成芯片XF-3011通信时,发送给XF- 3011的所有命令和数据都需要用“帧”方式进行封装后,再通过串口发送到芯片,帧的最大度为204字节(包括帧头标记字节)。具体的帧格式如表1所示。 表1 语音合成芯片通信传输数据帧格式
XF-3011收到控制命令后。当XF-3011收到一帧正确的命令帧后会立即反馈“0x41”。如果是语音合成命令,那么开始合成所接收的文本数据,所有文本合成完毕之后,向上位机反馈“0x4F”,然后进行语音播放。 4.4 语音合成模块流程图 当测距模块所测距离大小超过系统设定的安全距离时,主处理器发送控制命令给XF-3011,启动语音合成功能提醒驾驶员注意。
5、人机交互界面模块的实现 本系统采用Qtopia嵌入式桌面环境,用户不仅可以方便的管理系统资源和程序,而且能在帧缓冲机制基础上实现程序的屏幕显示,达到与用户的友好交互。 5.1 图形界面系统的建立 本系统使用的是基于Qt/Embedded的图形界面系统,Qt/Embedded的编译主要分为三个步骤: ① 编译Qt/X11,Qt/X11是运行在IBM兼容PC中标准Linux之上的,它主要为Qt/Embedded及其应用程序提供图形编译环境及仿真运行环境; ② 编译Qt/Embedded,Qt/Embedded为在嵌入式Linux平台上运行的图形界面系统及应用程序提供一系列的函数库; ③ 编译Qtopia,通过使用Qt/X11提供的编译工具以及Qt/Embedded提供的函数库,编译出最终基于嵌入式Linux平台的图形界面系统及该环境下的应用程序。 5.2 扩展可视倒车程序 Qtopia图形桌面环境为在qtopia平台上扩展应用程序提供了一个良好的机制,把应用程序发布到qtopia平台上,需要有三个文件:一个执行文件、一个启动器文件和一个图标文件,在这里可视倒车程序可执行文件就是这个执行文件取名为car,图标文件是一个.Png文件,我们可以自己制作一个car.png,启动器文件是一个.desktop文件,可以参考qtopia已有的.desktop为例,创建一个car.desktop,具体内容如下: [Desktop Entry] comment=A car program Exec=car Icon=car Type=Application Name=car 1 0 (请您对文章做出评价) |
文章网友提供,仅供学习参考,版权为原作者所有,如侵犯到
你的权益请联系542334618@126.com,我们会及时处理。











会员评价:
共0条 发表评论