基于ARM和FPGA的线阵CCD测径系统的设计
时间:06-07
来源:电子技术应用
点击:
3 软件设计
微处理器LPC2214中的数据采集和数据处理程序是整个系统的关键部分。系统的初始化工作完成之后,CPU开始进行运算处理。设计中以帧为单位进行数据采集和处理。单帧读入识别过程如下:
(1) LPC2214发送帧启动脉冲ena给FPGA。
(2) FPGA接收到ena信号,产生CCD驱动信号和A/D转换器的采样信号,使CCD与A/D转换器开始工作。
(3) 将采样得到的数字信号存入SRAM中。
(4) 一帧数据采集完毕时,发送INT信号给ARM LPC2214,ARM读取SRAM,处理数据。一帧数据的采集和处理过程完毕,若有新的数据继续处理。图5是数据处理软件流程图。
在数据处理的程序中,当A/D转换结束后,LPC2214从SRAM中读取图像数据存储在片内数据存储空间。首先对数据进行预处理,也就是滤掉波形中的毛刺,剔除实际应用中不可能出现的数值。然后对预处理过的数据与事先确定好的阈值进行比较,若高于阈值则高位寄存器内的值加1,否则低位寄存器内的值加1。将5 000个数值都比较完毕,然后对低位寄存器内的数值采用直线拟合[5]的方法计算出精确的线阵CCD被遮挡而未能感光的像敏单元数,根据公式(1)即可求出被测线缆直径的实际尺寸。
本系统以高速ARM微处理器代替传统的单片机,且充分发挥FPGA的时序优势,使得系统硬件结构更为简单、可靠,软件调试更为方便。与以往的采集系统相比,在速度和精度上有了大幅的提高,完全满足系统设计的要求。本系统是在线测量线缆的直径,但同样适用于测量工件的长度、测距等很多方面,有很广阔的应用前景。
- 基于FPGA的线阵CCD驱动器设计(11-26)
- 基于ARM的除法运算优化策略(01-14)
- 基于ARM的CAN总线智能节点的设计(01-24)
- ARM基础知识教程五 (02-08)
- ARM基础知识教程六(02-08)
- ARM基础知识教程七(02-08)