基于CPLD的线阵CCD数据采集系统
本文结合实际应用需要,设计了基于复杂可编程逻辑器件(CPLD)的线阵CCD数据采集系统。着重介绍了数据采集的特点及该系统软、硬件设计和最后的性能评价。
线阵CCD(Charge Coupled Device)越来越广泛地被应用到工业、军事、民用行业。采用CCD数据采集卡和微机相结合,对被测图像信息进行快速采样、存储及数据处理,是线阵CCD数据采集发展的新方向。配以适当的光学系统,可以实现光-机-电-算一体化设计。
时序发生器(用于产生CCD驱动时序和视频信号处理控制时序及I/O接口工作控制时序)的设计,是CCD数据采集电路设计的关键,也是CCD应用的关键。随着CCD的飞速发展,传统的时序发生器实现方法(如小规模集成电路实现、用EPROM实现、基于单片机实现等)已经不能够很好地满足CCD应用向高速、小型化、智能化发展的需要。同时,简单的二值化数据处理方法更无法满足CCD数据采集系统所需要的高精度、高分辨率的要求。因此,结合实际应用需要,设计了基于复杂可编程逻辑器件(CPLD)的线阵CCD数据采集系统。该系统采用高速半闪速结构A/D转换器对视频信号进行硬件处理;在此基础上,将数据采集卡与PC机相结合,把数据采集卡采集到的数据经计算机并口送至PC机;并采用直线拟合最小二乘法对采集到的图像信息进行高精度处理,实现最终的设计目的。本设计被用于卷烟烟支长度、直径智能在线检测仪中。
1 数据采集系统的特点
本数据采集系统的特点主要有:
(1) 采用高集成度的EPM7064SLC44产生系统所需的驱动和控制时序逻辑;
(2) 由外部PC机控制CCD积分时间的大小及数据采集卡的工作过程,实现智能化控制;
(3) 应用了内带采样保持的8位高速并行输出A/D芯片(TLC5510);
(4) 通过计算机并口高速传输数据信息;
(5) 采用直线拟合最小二乘法高精度定位CCD图像的边缘点。
2 数据采集系统的硬件电路设计
在本系统中,选定TCD142D线阵CCD作为图像传感器。本系统硬件电路主要由四部分构成:①时序发生器;②CCD驱动电路;③CCD视频信号处理;④I/O接口。在此设计中,TCD142D的工作频率为1MHz。
2.1 系统时序发生器的设计1~2
时序发生器主要产生驱动CCD工作的各驱动时序及CCD视频信号处理所需的控制时序。TCD142D的工作时序如图1所示。
图1 TCD 142 D 工作时序图
在本设计中,时序发生器产生的所有驱动和控制时序信号都是在MAX+PLUSⅡ开发环境下设计完成并经编译、校验后在线下载到CPLD器件内部的。合适的CPLD是根据实际需要在实验过程中选定的。在该数据采集卡的设计中,选用一片MAX7000S系列芯片EPM7064SLC44来实现时序发生器的功能。该系列芯片是ALTERA公司典型的可通过JTAG在线编程的CPLD器件。基于EPM7064SLC44的时序发生器的工作原理框图如图2所示。外部时钟信号作为CPLD时序发生器的基准信号,所有时序信号的产生都是以此为基础的。EPM7064SLC44芯片内部分为两部分:一部分是视频信号处理控制时序发生器,它为CCD视频信号处理(如A/D转换、数字信号存取等)提供各种同步控制时序;另一部分是CCD驱动时序发生器,它根据TCD142D的具体驱动时序逻辑的要求,产生CCD工作所需的四路驱动信号(RS、SH、φ1、φ2),并通过积分控制信号设定不同的CCD积分周期(积分周期可变范围为4ms~64ms,变化步长为4ms;或2ms~32ms,变化步长为2ms),同时它还为视频信号处理控制时序的产生提供时钟控制信号。图中操作控制命令主要用来控制数据采集系统的工作过程,该数据采集系统有三种工作状态:①数据采集系统初始化;②数据采集过程;③PC机读取视频信号过程。
.
图2 时序发生器电路原理框图
由图2可以看出,一片CPLD可以替代原来的几十个分立元件来实现CCD数据采集系统中各种驱动和控制时序逻辑,而且CPLD还允许设计编程保密位。采用CPLD有利于减小系统电路板的面积、提高系统的安全保密性、降低系统功耗和保证产品的质量。总之,时序发生器的可编程特性使其能够最大程度地满足用户的不同要求。
2.2 TCD142D驱动电路的设计
从EPM7064SLC44输出的脉冲波形RS、SH、φ1和φ2是由基本TTL电路产生的,正逻辑为5V,负逻辑为0V,而TCD142D要求上述信号高电平为10~12V,低电平为0V;此外,CCD为电容性负载,工作频率高时有一定的功耗,因此需对RS、SH、φ1和φ2进行电平转换和驱动放大。在从CPLD的输出引脚获得上述逻辑时序后,通过集成驱动芯片DS0026将RS、SH、φ1、φ1这四路驱动脉冲驱动放大送至TCD142D的相应输入端以驱动CCD工作。这样,在CCD的输出端将得到与入射光强相对应的模拟视频信号,并且视频信号的输出得到了相应的补偿。
2.3 TCD142D视频信号处理电路的设计
视频信号处理电路的结构框图如图3所示。
图3 视频信号处理框图
由TCD142D输出端OS输出的视频信号有以下特点:
负极性信号;
包含有周期性的复位脉冲串扰;
有效信号幅值较小,约为500 mV ;
CCD输出视频信号的上述特点决定了它不能够直接送入PC机进行软件处理,必须先从硬件上对其进行量化处理。模拟视频信号在进行A/D转换之前先要进行一系列的预处理,消除视频信号中的驱动脉冲(主要是复位脉冲)及噪声等所造成的干扰,将微弱的负极性视频信号反向、放大。在电路设计中,选用了一片AD8031运算放大器,将视频信号及其补偿输出分别送至差动放大器的反相和同相输出端,在进行视频信号放大的同时消除复位脉冲所造成的干扰,并将负极性视频信号转换成正极性。在AD8031的输出端接一级RC滤波器,进一步滤除噪声。经过上述处理后的视频信号被送入A/D转换器进行量化。在该数据采集卡的设计中,选用8位、高速、并行、半闪速结构ADC-TLC5510芯片完成A/D转换工作,其内部自带采样保持电路,这在一定程度上简化了外围电路的设计。只要设计合理,TLC5510的转换速率(最小为20 MHz)完全可以满足CCD(1 MHz)的工作要求。利用A/D转换技术将视频信号转换成与之对应的、能够反映图像灰度变化的数字量,提高了测量精度和分辨率;当TLC 5510的输出使能有效时,就可以将A/D转换结果送至8位数据线上。在数据存储器(CY 6264)写允许及地址有效的前提下,将8位A/D转换结果实时地存入数据存储器中。
2.4 I/O接口电路的设计
I/O接口电路的主要功能就是将数据采集卡与PC机有机地统一起来。在本系统中,采用16脚的插座作为两者之间的接口。两者的通讯主要包括:接收PC机发送的各种控制命令;发送数据采集卡的各种状态信号给PC机;接收PC机发送的数据采集卡积分时间设定命令;传输数据给PC机等。
3 数据采集系统软件的设计
数据采集系统的软件主要完成的功能有:①PC机与数据采集卡之间的通讯驱动;②CCD图像处理,实现最终的设计目的。
3.1 通讯驱动软件的设计
数据采集卡的I/O接口与PC机的打印机并口相连接,通过通讯驱动软件的驱动,基于CPLD的线阵CCD数据采集卡可以直接接收来自PC机的控制命令,或将数据(或状态)经并口传入PC机,不需外加其它辅助电路。
该数据采集系统的通讯驱动软件是用C语言设计完成的,调用基本的并行接口操作函数。用户可以通过PC机并口完成如下工作:(1)将PC机发出的控制字写入可编程逻辑器件,控制CCD数据采集卡的工作状态;(2)将数据采集卡当前的状态字读入PC机;(3)判断数据采集卡工作状态位,在允许PC机读取数据的前提下读取外部数据存储器中的数据。因采用标准并行打印机适配器,所以一个字节的数据要分两次进行读取,先读低4位,再读高4位,然后将两部分合并,所得结果存入数据文件。通过I/O驱动软件控制,PC机可以改变和设定CCD当前的积分时间及CCD当前所处状态。
3.2 数据处理软件的设计
数据处理软件的主要目的就是设计恰当的算法,对图像信息进行处理,提取图像的边缘特征并以此为基础进行高层次的处理,如:特征描述、识别和理解。图像的边缘特征是图像信息最重要的特征,在对CCD图像进行处理时,首先要解决好图像的边缘问题。边缘定位精度将直接影响测量结果的精度。
传统的边缘检测算法是考察图像的每个象素在某个邻域内灰度的变化,利用边缘邻近一阶或二阶导数的变化规律来检测边缘。但利用这种方法进行数据处理时由于受到CCD自身的制造工艺和工作原理的影响其分辨率只能达到一个光敏元大小。故为了进一步提高CCD的测量精度和分辨率,选用了直线拟合最小二乘法来确定图像的边缘点。以图像边缘斜坡段梯度最大点为中心,对称地选取斜坡段的2n+1个点进行直线拟合,以此来提高整个CCD数据采集系统的测量精度。采用空间拟合法确定图像边缘点对于减小随机性测量误差是非常有利的。
4 数据采集系统的性能评价
在对数据采集系统软硬件设计和测试成功后,将该数据采集系统配以合适的光学成像系统,以直径为8.00mm(由千分尺测得)的卷烟标准棒为被测物,调整合适的积分时间和光照强度,对卷烟标准棒的直径进行了验证性测量。在同一段时间内对同一被测物进行了10次测量,其实验结果如图4所示。
图4 实验测量结果
实验结果表明,该数据采集系统的测量精度在0.05mm之内,变异系数不超过1%,说明该数据采集系统的测量精度高、重复性好。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码