一种条码精密测量系统的设计和实现
条码技术最早产生在风声鹤唳的二十年代,诞生于Westinghouse的实验室里。那时候对电子技术应用方面的每一个设想都使人感到非常新奇。他的想法是在信封上做条码标记,条码中的信息是收信人的地址,就象今天的邮政编码。为此Kermode发明了最早的条码标识,设计方案非常的简单,即一个"条"表示数字"1",二个"条"表示数字"2",以次类推。然后,他又发明了由基本的元件组成的条码识读设备:一个扫描器(能够发射光并接收反射光);一个测定反射信号条和空的方法,即边缘定位线圈;和使用测定结果的方法,即译码器。
基于ARM单片机的条码定位技术具有读数客观、测量速度快、精度高的优点,可以克服传统目视读数存在的读数过程繁琐、读数时间长、人为误差大、自动化程度低等缺点。该技术具有相当广泛的应用领域,既适合于近距离、高精度定位要求的各种光电绝对式位移编码器;也适合于测量距离大范围变化、大量程要求的大地高程测量、大坝沉陷观测、路面平整度测量等方面。本文提出了一种基于ST半导体公司的32位高性能处理器STR912FW44X6的测量系统方案。
系统结构
本系统由以下几个部分组成:条码标尺、光学系统、CMOS图像采集模块、STR912主控板、键盘与液晶显示模块、电源模块和计算机测试系统。 硬件结构框图如图1所示。
系统工作原理如下:带有精密位置信息的条码图像通过光学系统,成像在CMOS图像传感器光敏面上,STR912FW44X6处理器对SVI公司的LIS-1024图像传感器进行自动曝光控制后,采集图像信息,经过算法处理,获得条码带有的位置信息。
当系统进行高速图像采集时,STR912FW44X6处理器将采集信号通过以太网接口送往计算机测量系统,进行最终的数据处理。
硬件设计
图像采集模块
图像采集模块主要由线阵CMOS图像传感器(LIS-1024)、运算放大器(TLV2221IDBVR)组成。视频信号经运算放大器放大后传送到STR912FW44X6主处理器进行A/D转换,转变为数字图像信号。 字串8
STR912FW44X6主处理器直接控制图像采集时序,图像采集模块本身并没有自动曝光功能,对环境光强的变化需要由主芯片对采集到的图像信号进行分析,然后通过对图像传感器的控制来实现自适应环境光强的功能。
主机板模块
系统主芯片是基于ARM966E-S核的高性能嵌入式芯片STR912FW44X6,运算速度达96MIPS,支持单周期DSP指令。芯片的系统外围包括时钟、复位、电源管理、向量中断控制器(VIC)、内部PLL、RTC、定时器、9个可编程DMA通道和多达80个GPIO.还有8通道10位ADC、3相电机控制器、PWM输出和多种通讯接口。
芯片内建双组Flash,可利用芯片上任意通讯口实现在系统编程功能。主芯片外接1 片64MB内存(芯片ST-M25P64)来扩展存储空间。
主机板外围接口
主要有CMOS图像传感器接口、RS-232接口、I2C接口和10/100M以太网接口。
CMOS图像传感器的接口主要实现对图象传感器的自动曝光控制和图象采集;RS-232接口(芯片SP3222)实现程序下载,与上位机通讯,接受上位机指令控制;I2C接口实现主芯片与键盘和液晶显示模块之间的通讯;10/100M以太网接口(芯片STE100P)配合计算机软件实现高速图像采集。 ARM开发论坛
键盘与液晶显示屏模块
键盘模块选用ATMega48芯片实现键盘控制和I2C通讯,以及LCD屏模块I2C通讯。
软件设计
系统软件的流程如图2所示。
软件功能
软件的功能主要是图像的条码定位算法,包括以下内容:
条码检测:从条码信号中提取各种特征参量,通常包括各条码边缘位置、中心、宽度的检测,码字划分。
根据标尺已知参数确定物像比,同时求出视距,计算基准位置相对于目标码位置的相对距离,按物像比放大到真实尺寸d2(精度结果)。
. 解码:相当于信源编码的逆过程,计算目标码字的码字位置d1(粗读结果)。标尺最终读数ds为粗读与精读结果之和:ds=d1+d2.
本系统采用了等间隔周期性位移条码,利用条码等间距结构,通过提取与条码等间距对应的特征谱线计算物像比,进而得到条码的等效宽度序列,最后根据条码周期性实现解码。 ARM
软件架构
整个软件采用嵌入式操作系统mCOS-II作为主要载体,软件主要分五个线程,系统上电启动后五个线程并行工作。五个线程分别是:串口控制、I2C接口控制、以太网接口控制、系统菜单控制、数据采集和解码。
测试结果
为了考察系统的性能,设计了与精度为0.004mm的螺旋测微计比对实验。利用螺旋测微计测量条码标尺实际移动的数值,每次条码标尺移动0.500mm,总共测量11次数据,得到11个不同位置处的条码值,计算差值进行比对。测量结果如表1所示。
- 基于ARM的综合测试仪设计(05-26)
- 基于ARM核微处理器的便携式管道泄漏检测仪(11-15)
- 用梯度均值法提高LPC2138的A/D分辨率(01-06)
- 基于ARM的信号发生器人机交互系统设计(01-23)
- 基于ARM9的高速数据采集系统的实现(03-04)
- 基于嵌入式Linux的磁场测量系统(03-26)