《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 基于ARM和FPGA的线阵CCD测径系统的设计
基于ARM和FPGA的线阵CCD测径系统的设计
来源:电子技术应用2011年第2期
张爱雪, 孟 樱
安徽工程大学 电气工程学院 安徽省电气传动与控制重点实验室,安徽 芜湖 241000
摘要: 设计了一种基于ARM微处理器LPC2214与线阵CCD的在线动态测径仪,该测径仪采用FPGA实现对线阵CCD时序脉冲的驱动;以ARM微处理器为测径仪的核心,实现图像信息的处理和对整个系统的控制,保证动态、实时、准确的测量线缆直径。介绍了该仪器的基本原理,详细给出了系统硬件方案和软件流程。
关键词: FPGA 测径仪 线阵CCD ARM
中图分类号: TP212
文献标识码: A
文章编号: 0258-7998(2011)02-0082-03
The design of linear CCD measurement diameter system based on ARM and FPGA
Zhang Aixue, Meng Ying
Anhui Province Key Lab of Electric and Control, School of Electrical Engineering, Anhui Polytechnic University, Wuhu 241000, China
Abstract: The on-line dynamic state measurement diameter equipment is design based on ARM LPC2214 and linear CCD. This equipment adopts FPGA to realize the driving pulse circuit of linear CCD. And the ARM microcontroller is the heart of measurement diameter equipment implementing processing the image information and controlling the all system, which ensure dynamic, real time, precise measurement. Essential principles of the device are introduced, the hardware design and software flow chart are described in detail.
Key words : measurement diameter equipment; linear CCD; ARM; FPGA


    近几年来,电线、电缆、光纤等产品的需求量大大增加,外径尺寸的质量控制成为许多生产厂家急需解决的问题。传统的测试手段有以下几种:(1)手工测量法:采取先加工后测量的方法,精度一般,人为因素多,劳动强度大,信息反馈慢,直接影响了线材的质量和生产效益。(2)接触法测量:精度较高,但易磨损,重复测量精度差。(3)光电二极管阵列测量法:速度快,易处理,但精度差。因此,必须有一套高精度的实时在线检测系统,一方面可使生产人员及时了解线径的大小及偏差,另一方面给生产机构伺服系统提供正比于偏差的反馈量,实现反馈控制。以线阵CCD高精度传感器为核心组成的动态外径测量仪器具有速度快、精度高、抗干扰能力强等优点[1],成为最为理想的工业在线检测手段之一。
1 CCD测径原理
   电荷耦合器件CCD(Charge-coupled Devices)是20世纪70年代初发展起来的新型半导体集成光电器件。目前,CCD技术已发展成一项具有广泛应用前景的新技术,成为现代光电子学与测试技术中最受关注的研究热点之一。
   线阵CCD测量直径系统的原理图如图1所示。图中,1为光源;2为透镜,作用是汇聚光能;3是一片毛玻璃,其作用是尽可能使光能够均匀分布;4为被测线缆;5就是要在其上成像的线阵CCD传感器。线缆直径测量的原理如下:经光源1发出的光通过一系列透镜2后校正为近似的平行光。当光由毛玻璃片3透过线缆后通过成像物镜在线阵CCD的光敏面上成像,最后经CCD的输出电路将电荷转化成电压量输出。


   CCD输出的是视频脉冲信号,其中每一个离散信号对应着CCD上的一个光敏单元的输出。同时CCD视频信号需要经过处理电路转化为标准信号,以便进一步对其处理。当测量线缆直径时,由于线缆的遮挡部分没有光透过,所以线缆的直径与光敏单元总长度减去透过缝隙光敏单元长度成正比关系,根据成像物镜放大(缩小)的倍数可以测得线缆的直径尺寸。
 被测线缆直径的尺寸计算公式为:
 D=(L-hn)/β                  (1)
式中L是CCD有效测量光敏单元总长度,h是光敏单元的脉冲间距,n为透过缝隙的光敏单元个数, β则为成像物镜的放大倍数。
 因此,只要测出n,就可以计算出被测线缆的直径。
2系统硬件设计
   测量线缆直径的硬件结构框图如图2所示。选用NXP公司生产的嵌入式微处理器LPC2214作为控制器,可以满足线缆生产行业对线缆直径实时性、高速性和精确性的测量和控制,同时具有高性能、低功耗、价格低廉的特点,片内资源丰富,具有极高的集成度,支持工业级应用。

   由于CCD光电传感器的转换效率、信噪比等光电特性只有在合适的时序驱动下才能达到设计所规定的最佳值,输出稳定可靠的信号,因此系统中采用FPGA芯片(选用Actel 公司的A3P030)进行CCD驱动电路的设计。
2.1 主控制模块的设计
 ARM嵌入式处理器是整个硬件系统的核心,LPC2214集成了丰富的片上功能模块,主要有:外部存储器控制模块(EMC)、系统控制模块、通用并行I/O口、串行通信口(UART)、I2C接口、SPI接口、CAN总线控制器、定时器控制模块、脉冲宽度调制器、A/D转换器、实时时钟控制器等。LPC2214集成了Flash存储器和静态RAM,其中Flash存储器可用作代码和数据的存储。
    系统中被测线缆被均匀照明后,经光学成像系统按一定倍率成像于线阵CCD传感器上,线阵CCD在驱动脉冲的作用下,将采集到的光信号转换成电信号输出,将处理后的模拟视频信号送入A/D转换器。LPC2214所起的作用是:当全部像敏单元信号转化结束之后,A/D器件停止工作,此时给ARM微处理器LPC2214一个中断信号,通知LPC2214将SRAM中的所有数据通过数据总线读取到数据存储器内。处理器LPC2214对于所有数据根据数据处理程序进行处理,并将处理结果通过数据总线输出到LCD显示器上,便于进行实时监测以及后续控制。
2.2 CCD驱动电路的设计
  CCD驱动电路的设计是线缆直径测量系统中的一个关键问题,由于不同厂家、不同型号的CCD器件的驱动电路各不相同,而成品CCD的驱动电路价格昂贵,不便使用推广[2]。本设计中采用了Actel 公司的FPGA器件A3P030配合CCD专用驱动器组成了CCD的驱动电路。经实验证明,本电路能够可靠地驱动CCD。
2.2.1 TCD1501D的时序要求
    根据项目的技术要求,本系统选用日本TOSHIBA公司的TCD1501D型线阵CCD作为传感器。该器件具有优良的光电特性,有5 000个像元。根据CCD的驱动信号的时序[3],TCD1501D需要六路驱动信号,它们分别是:两个时钟脉冲Φ1和Φ2,转移脉冲SH,复位脉冲RS,钳位脉冲CP,以及采样脉冲SP。TCD1501D采用两相驱动脉冲方式工作,设计中所选择的驱动频率是其典型值:fΦ1=fΦ2=0.5 MHz,相应的数据输出频率是fRS=1 MHz。该CCD器件一行输出的信号是5 076像元,包括13个虚设单元信号、48个暗信号脉冲,然后是S1 到S5000的有效像素单元信号、9个暗信号脉冲和2个奇偶检测信号及1个哑元信号,之后可以有任意个空驱动,所以有TSH≥5 076TRS,从而可以计算出每次光积分所需的最短时间为:TSH≥5 076TRS=5 076 ?滋s=5.076 ms。根据相关技术资料[3],TCD1501D的六路驱动脉冲之间需要满足特定的时序关系:Φ1、Φ2必须反相,占空比1:1;SH的高电平至少要保持500 ns,它的脉冲宽度要小于Φ1,延时至少100 ns;RS与CP时钟的占空比为1:4。
2.2.2  TCD1501D的驱动电路设计
    驱动电路结构如图3所示。本设计中FPGA可编程逻辑器件A3P030负责产生线阵CCD器件TCD1501D六路驱动信号,该芯片有3万个系统门,以Flash架构为基础,是一款低功耗、掉电非易失的FPGA,配上电源、晶振和复位电路就可以构成最小系统。A3P030的I/O口电压为3.3 V,其输出低电平最大值VOL=0.4 V,输出高电平最小值VOH=2.4 V,而线阵CCD传感器TCD1501D要求的信号输入高电平的最小值VIL=4.5 V,因此两器件之间电平不匹配,不能够直接驱动CCD工作,这里使用电平转换器SN74ALVC4245进行电平转换,再经CCD专用的驱动芯片调整,最后得到可靠的驱动信号。这个电路结构简单,抗干扰性好,同时,还具有低功耗、高精度、时序配合准确的优点。


2.3 A/D转换电路设计
    CCD图像传感器完成光电信号的转换后,为了存储和处理所采集的信号,需要将它们变成相应的数字信号,这就需要对CCD的输出信号进行A/D转换。由于TCD1501D的视频信号的输出频率为1 MHz,一般的A/D转换器的速度达不到此要求,必须采用高速A/D转换器。AD9243是美国ADI公司生产的完全14位高性能模数转换器。在单一+5 V电源下,它的功耗仅有110 mW,信噪比为±79 dB。且具有信号溢出指示位,并可直接以二进制形式输出数据,它的数据输出端口可以配置为3 V或者5 V CMOS电平,方便和各种处理器接口[4]。
    AD9243的作用是将线阵CCD传感器采集到的模拟视频信号转换成数字信号送到ARM微处理器进行线缆直径的计算和存储。在A/D转换电路的设计中需要特别注意的是AD9243可以在内部参考与外部参考方式下采用不同的电路设计来获取灵活的模拟输入范围[4]。本设计采用了外部2.5 V参考输入方式,如图4所示。

    本系统采用高精度2.5 V基准源作为稳定的外部参考源。当使用外部参考方式时,还应当在CAPT与CAPB之间加一个电容去耦网络。
2.4 人机界面模块
    为了便于用户管理和操作,增加了一个线缆直径测量控制的参数显示和设定模块,ARM微处理器LPC2214通过并口连接到液晶显示模块LM057QC1T01上,通过LPC2214自带的SPI串行接口与触摸屏模块(控制器为ADS7843)进行通信。通过触摸屏可以设置的参数包括:直径的标称值、上公差、下公差、PID参数等。按工艺要求正确设置好线缆直径的标称值可以实现对线缆直径的自动反馈控制和超差报警,当系统出现故障时,液晶显示器上可及时显示系统的故障,方便用户及时排除,提高了对生产设备的管理和操作的效率。
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的时序优势,使得系统硬件结构更为简单、可靠,软件调试更为方便。与以往的采集系统相比,在速度和精度上有了大幅的提高,完全满足系统设计的要求。本系统是在线测量线缆的直径,但同样适用于测量工件的长度、测距等很多方面,有很广阔的应用前景。
参考文献
[1] 王庆有. CCD应用技术[M].天津:天津大学出版社,2000.
[2] 李新秋,徐光,龚杰,等.CCD外径测量及控制[J].橡塑工 业,1999(4):238-240.
[3] TOSHIBA. CCD Linear Image Senser TCD1501D[M].1996.
[4] Analog Devices Inc. AD9243 Data Sheet[Z]. 1998.
[5] 杨博雄,胡新和. 直线拟合边缘检测法在光电自准直仪中的应用[J]. 大地测量与地球动力学,2005,25(1):127-130.

此内容为AET网站原创,未经授权禁止转载。