当前位置:主页 > 科技论文 > 计算机论文 >

基于STM32的汽车入库辅助仪的设计

发布时间:2015-02-12 18:10

摘 要:

摘 要:国内外目前比较普及的汽车泊车系统为自动泊车辅助系统[1]和汽车倒车雷达影像系统,但是这两种系统都没有把汽车入库和泊车的直观影像传递给司机。本文提出了一种通过在液晶屏上绘制汽车入库时的俯视平面图来辅助驾驶人员完成入库的思想,在原有入库辅助系统基础上,给司机一种更加直观的入库视觉体验。

关键词:

关键词:泊车 液晶屏 平面图

      目前,汽车泊车入库辅助技术伴随着科技的进步也在与时俱进的发展。汽车倒车影像雷达系统在国内外很普遍,它是通过在车身后面安装摄像头,在车身后视镜或其他位置安装超声波测距模块,达到司机方便观测车尾部分的情况和提醒司机危险信息的目的。本文在现有辅助技术基础上提出了一种改进思想——平面显示汽车入库形态图。
  
1 系统设计方案的分析
  本文提出设计方案主要任务为以下几个方面:在单片机上移植uC/OS-II操作系统和uC/GUI图形开发界面;驱动测距模块和地磁传感器,获得距离和方位参;在LCD上绘制汽车入库形态图。
  辅助仪工作效果概念图如图1所示。

基于STM32的汽车入库辅助仪的设计


                                                                                                       图1 辅助仪功能概念图
1.1 单片机的选择
  由于我们需要运行操作系统uC/OS-II,再考虑到功耗和资源利用率问题,,最终使用STM32F103VET6单片机作为本系统的主控器。该单片机采用ARM公司的 M3内核,拥有512KB的flash程序存储器和64K字节的SRAM存储器,最高工作频率72MHz,且带有两路硬件IIC总线,能够运行uC/OS操作系统。
1.2 MAG3110地磁传感器
  飞思卡尔半导体推出首款磁力计M AG 3110是一款小体积、低功耗的三轴数字磁力计,它提供增强型数字电子罗盘功能。它兼容标准IIC串行接口,能够测量高达10高斯的所在位置磁场,输出数据率最高可达80赫兹。本设计使用它来测量车身地磁方位。
  
2 系统的移植开发
2.1 uC/OS-II移植
  uC/OS-II绝大部分代码是用标准的ANSI C编写的,但是在读/写处理器寄存器时,uC/OS-II仍需要通过汇编语言来实现,移植工作主要集中在与处理器相关的三个文件:os_cpu.h、os_cpu_a.asm、os_cpu_c.c。
2.2 uC/GUI移植
  本设计采用内置ILI9341控制器和XPT2046触摸芯片的液晶显示屏,显示屏的控制模式采用16位并口模式,uC/GUI 移植过程应将uC/GUI文件与其它文件分离,本设计使用Keil MdK编译环境下的uC/GUI的移植主要移植和修改文件为:LCDConf.h文件、GUIConf.h 文件、GUITouchConf.h文件。
2.3 MAG3110的驱动
  (1)I2C总线读写测试。上电之后读 WHO_AM_I (0x07)寄存器,返回值应为 0xC4。如果返回错误值:检查有无ACK,若无ACK,则MAG3110可能没有正常工作;检查时序及SCL时钟是否大于最小时间要求。
  (2)MAG3110初始化。先将MAG3110设为STANDBY模式(CTRL_REG1寄存器低两位00),配置OSR、ODR将MAG3110设为ACTIVE模式(CTRL_REG1寄存器低两位01),传感器开始转化数据。
  (3)读数据。读DR_STATUS(0x00)状态寄存器,如果DR_STATUS&0x08=1,一次转换已经完成,此时可以读取数据;读OUT_X_MSB(0x01)、OUT_X_LSB(0x02)、OUT_Y_MSB(0x03)、OUT_Y_LSB(0x04)、OUT_Z_MSB(0x05)、OUT_Z_LSB(0x06)寄存器,分别得到X、Y、Z三轴十六位的数据;此时转动MAG3110,三轴数据会发生变化。
  (4)数据处理。考虑到只是当做电子指南针使用,默认是水平放置的,所以只需要处理X、Y轴的数据。
2.4 主进程程序流程概述
  在系统主进程中检测辅助仪软件图标button按钮是否按下,当检测到button按下后,开启子进程,进入软件绘制了简洁的软件界面,系统界面建立的窗口有两个button按钮,同时显示出MAG3110和超声波模块返回的数据信息接口。
  子进程阻塞等待检测“CarPark”button是否按下,当按下左边CarPark按钮时,系统进入入库界面,在软件主界面开了一个窗口,白色框代表的是车库,蓝色线条绘制的图形表示汽车后部分车身,Mag3110和HC-SR04开始工作,获取汽车方位和距离信息,当检测到信息采集完成时,界面开启窗口,绘制汽车动态图。然后获取超声波和地磁传感器信息显示出来。
  汽车形态数据计算部分,使用的是枚举列表法。把舵机旋转180度分成20份,当舵机旋转的时候,把超声波采集的20个距离值存进表Csb_table中;然后把地磁方位分成20份,中心值为库的方位值,即车身正入库时的方位值,方位表为Fw_table。当舵机旋转一遍时,采集到Csb_table数据后,根据MAG3110返回的数值,和Fw_table(方位数据)进行比较,得到当前方位位于表中的位置序号,然后根据序号,取Csb_table中的相应序号的值作为库最里面墙壁和车尾的距离,然后再通过方位差为90度的值的序号,从Csb_table中取出左边墙壁和右边墙壁与车尾相应的距离数值。最后便可得到车尾与车库里墙、车库左墙和车库右墙的三个距离值。然后,通过左右距离值和车身宽度相加计算出车库的宽度,让它和LCD上开的白色窗口宽度比较得出图例Bili,便可以很轻松地绘制出车身与车库的关系了。
  
3 系统测试与验证
 搭建好硬件系统后,移植uC/OS-II和uC/GUI到STM32上,测试结果如图2所示。

基于STM32的汽车入库辅助仪的设计

                                                                                                       图2 辅助仪实际效果图
  设计效果基本实现了辅助仪的功能。但由于在设计中存在着超声波分辨率精度的影响和地磁仪稳定性的问题,数据漂移较大,造成了最终绘制出来的图形有所扭曲和漂移,但是本设计提出的“平面化“思想得到可行性验证。
  
4 结论
  未来发展的趋势是汽车入库辅助仪将广泛用于各种情况下的泊车和入库,具有高适应性、准确性和安全性,为司机创造更好的停车环境。本文提出的平面绘制汽车入库的动态形态图思想,将便于司机更加直观的观测汽车入库时和车库的相对形态,从而利于司机做出准确的车身修正和危险规避。
参考文献:
[1]张海亮等.汽车底盘技术发展趋势[J].上海汽车,2011(4):32-35.
[2]石亿,黄辉先,赵娟,徐建闽.uC/OS-Ⅱ与uC/GUI在Cortex-M3上的移植研究与实现[J].微计算机信息,2012(9):159-161.
[3]刘火良,杨森.STM32库开发实战指南[M].北京:机械工业出版社,2013.
[4]Jean J.Labrosse.嵌入式实时操作系统μC/OS-III[M].北京:北京航空航天大学出版社,2012.



本文编号:14572

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/14572.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户b393b***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com