基于嵌入式ARM9的墙面平整度检测仪研究与实现
房屋的墙面平整度是衡量房屋建筑质量的一项重要指标。现有的墙面平整度检测方法要么操作不方便且效率低下,如靠尺;要么检测仪器本身比较复杂,不易操作,需要专业的操作技巧,如使用“百分表打点”检测;或者仪器本身比较昂贵,无法广泛推广和使用,如利用无协作目标电子全站仪检测。所以研究一种原理简单,操作方便,价格便宜,体积小,便携式的手持移动墙面平整度检测设备是非常有必要且具一定商业价值的。
1 系统的总体设计
系统的目标是:设计一个嵌入式手持设备,实现对墙面平整度的检测。具体的实现过程为:USB摄像头以小分辨率(320*240)采集动态视频,旋转后直接显示在LCD上,通过观察LCD上的动态显示内容确定所选场景是否满足要求。待出现满足要求的场景后开始测量,此时USB摄像头以大分辨率(1 600*1 200)采集一幅静态图片传给CPU处理,最后CPU将处理的结果显示在LCD上。系统的总体结构如图1所示。
2 系统硬件平台的构建
2.1 微处理器及存储模块
本系统的微处理器采用飞思卡尔公司的MCIMX283。该处理器基于ARM926构架,主频最高达450MHz;采用NANDFlash启动,其工作电压范围是2.7~3.6V,容量为128M×8bit,
能满足系统和各类数据的存储要求。采用H5P92562GFR—s6c运行操作系统和应用程序,该芯片为DDR2 SDRAM,bank数为4,数据宽度2 bytes,容量大小为32MB。与传统的SDRAM相比,DDR2 SDRAM存取速度有了极大提高,但工作电压却很低,因此运行速度和功耗有很大改进。微处理器和DDR2、NAND Flash的连接示意图如图2所示。
2.2 电源、时钟和复位模块
MCDMX283内部集成了电源管理单元(PMU),外部只需要提供规定的电源(5V或者4.2V)就可产生核心板需要的各种电压。但MCIMX283内部电源管理单元输出能力有限,因此PMU所产生的3.3 V、1.8 V等电源除了给DDR2、NANDFlash供电外没有给其他外围设备使用。其他外围设备的供电可由外部供电经过LDO转换为所需电压以供使用。
此外,系统中采用晶体振荡器产生时钟源信号,复位模块采用手动复位。
2.3 USB和LCD接口电路模块
USB接口按主从关系可分为USB Host和USB OTG。USB Host用来挂载Deviec设备,本系统中是挂载USB摄像头,以实现视频和图像的采集;USB OTG用以和PC机通信,实现PC机向NAND Flash下载内核、根文件系统等功能。
LCD用来显示USB摄像头采集的视频数据和处理后的图像。MCIMX283集成LCD控制器和触摸屏控制器,支持24位的RGB和24位系统模式,同时支持四线电阻触摸屏。本系统中LCD只用作显示,不需要触摸功能,同时为了充分利用IO资源,系统采用16位RGB显示。
3 系统软件设计
系统软件设计包括软件平台的搭建和检测软件的实现。软件平台的搭建主要完成嵌入式操作系统的移植和主要模块的驱动移植,检测软件的实现即检测算法的实现,是检测系统的核心部分。
3.1 嵌入式Linux操作系统的移植
嵌入式操作系统是嵌入式系统的软件基础,是应用程序开发的软件平台。对于一个嵌入式Linux系统,系统上电后经过加载Bootloader、启动Linux内核、挂载根文件系统3个步骤后,用户程序才能正常运行,而且这3个步骤是缺一不可的。
3.2 主要模块驱动的移植
驱动的移植是嵌入式系统不可缺少的过程,本系统中主要完成的驱动移植有检测按钮驱动的移植、USB摄像头驱动的移植、LCD驱动的移植。
首先要移植按键按钮的驱动,本系统中我们使用一个GPIO引脚来模拟开关按钮。选定引脚后先将该引脚配置成GPIO功能,生成引脚的属性文件,然后编译mykey.c文件,将按键驱动插入内核中,完成按键驱动的移植。
由于本系统使用Linux2.6.35版本,该版本支持UVC类设备,而我们选用的USB摄像头为XHV57-NBL60-V1.0,支持UVC标准,所以我们不需要编写驱动,只是在配置内核时将UVC静态编译进内核即可。
本系统选用的2.8寸LCD不带驱动板,因此不但要配置LCD控制器的参数,还要通过SPI初始化LCD寄存器。根据LCD时序图,设置LCD控制器的输出时序,再根据系统需求和相关手册,设置LCD寄存器的值,这样上电后,LCD就能工作在预定状态下。
3.3 检测软件的实现
激光检测系统的总体设计分为两部分:视频采集模式和图像采集模式。上电复位后系统进入视频采集模式,摄像头采集320*240的YUV422视频帧图像,将采集到的YUV帧图像转换为RGB565,旋转90度转为240*320,然后显示到LCD上。此时通过观察LCD上显示的动态图像(即视频)即可确定摄像头所选“场景”是否满足要求。待所选“场景”满足要求后按下“开始测量”按钮,即可进入拍照模式。进入拍照模式后,系统修改摄像头
仪器仪表技术 ARM9 嵌入式Linux 墙面平整度 激光扫描 相关文章:
- 基于ARM9的高速数据采集系统的实现(03-04)
- 基于嵌入式Linux的磁场测量系统(03-26)
- 基于嵌入式Windows CE5.0的无线监控系统研究(03-26)
- 基于ARM9和3G网络的社区温湿度远程监测系统研究(10-18)
- 基于嵌入式系统的远程参数测量的方法和实现(10-31)
- 基于ARM9和USB摄像头的网络视频采集系统设计(03-30)