用基于DSP的线阵CCD实现二维图像信号采集的系统设计
- 格式:pdf
- 大小:263.77 KB
- 文档页数:4
文章编号:1002-2082(2005)06-0008-04用基于DSP的线阵CCD实现二维图像信号采集的系统设计
田岩涛1,常丹华1,潘普丰1,张 彦2(1.燕山大学信息科学与工程学院,河北秦皇岛066004;2.河北冀诚电子有限公司,河北石家庄 050091)摘 要: 对光电转换系统,尤其是采集信号的后处理进行了研究。介绍了在光电精密数据采集处理中通过DSP用硬件实现对CCD信号的采集和处理过程。给出了对CCD信号进行边缘识别的微分算法和将线阵CCD信号进行组合,恢复出二维图像信号的算法。同时还给出了详细的硬件处理电路。重点介绍了DSP与FIFO的数据传输、DSP与USB的接口电路。解决了一般情况下系统无法做到的用线阵CCD实现二维图像信号复原的问题。通过实验,证明了该方法的有效性。线阵CCD信号是以若干线段的形式存在的,特别适用于激光雕刻机图像采集系统,应用前景广阔。关键词: 线阵CCD;二维图像信号采集;数字信号处理;FIFO中图分类号:TN386.5 文献标识码:ARealizationof2-DimagesignalacquisitionwithDSP-basedlineararrayCCDTIANYan-tao1,CHANGDan-hua1,PANPu-feng1,ZHANGYan2(1.CollegeofInformationScienceandEngineering,YanshanUniversity,Qinhuangdao066004,China;2.HebeiGem-TechElectronicsCoLtd,Shijiazhuang050091,China)Abstract:Theoptical-to-electricalconversionsystems,especiallythepost-processingfortheacquisitionsignalareinvestigated.TheprocessofCCDsignalacquisitionandprocessingrealizedbyacertainDSP-basedhardwareduringtheoptoelectronicdataacquisitionprocessingisintroduced.ThedifferentialalgorithmforedgerecognitionofCCDsignalandthealgorithmforcombiningthelineararrayCCDsignalstorestorethe2-Dimagesignalsaregiven.Andthedetailedhardwareprocessingcircuitisprovided.ThedatatransmissionbetweenDSPandFIFO,andtheinterfacecircuitbetweenDSPandUSBareemphaticallyintroduced.Theproblemofthe2-Dimagesignalrestoration,whichisimpossibleforthesystemtosolvewithordinarytechnology,wassolvedwiththistechnology.Finally,thevalidityofthemethodisprovedbytheexperiments.SincethelineararrayCCDsignalisstoredintheformofseverallines,themethodisespeciallysuitableforimageacquisitionsystemoflasercarver.Keywords:lineararrayCCD;2-Dimagesignalacquisition;DSP;FIFO
引言电荷耦合器件(ChargeCoupleDevice,CCD)是一种新型光电转换器件。CCD是以时间积分方式工作的,光积分时间可以在很宽的范围内调节,因此使用方便灵活,适应性强,CCD输出信号易于数字化处理,容易与信号处理器件连接组成实时自动测量控制系统,便于扩大应用功能和使用范围。CCD的像元尺寸小,几何精度高,配置适当的光学系统,可以获得很高的空间分辨率。线阵CCD通常应用于各种精密图像传感和无接触工件尺寸的在线检测,但是有些时候可以通过适当的方法将其信号转换为图像信号,拓宽了它的应用领域。比如,激收稿日期:2004-07-14; 修回日期:2004-08-16作者简介:田岩涛(1976-),男,河北石家庄人,硕士研究生,主要从事CCD信号处理的研究。·8· 应用光学 J.AppliedOptics 2005,26(6) 光雕刻机利用线阵CCD信号作为它的输入信号,经过软件的处理将线阵CCD信号转化为图像信号,使得雕刻机雕出图案中的各个部分。由于线阵CCD所采集的信号只是某一条直线上的信息,所以必须借助于机械的手段实现CCD对图像的扫描。考虑到精度要求高、数据处理量大,采用了速度较高的A/D转换器和高速信号处理器(digitalsignalprocessor,DSP)。由A/D输出的信号不可避免地包含各种噪声,进入DSP后要进行数字滤波。滤波后的数字信号经过边缘识别可以得到线阵信号,再将多列线阵信号经过软件编码组合,即可恢复图像信号。
1 信号二值化算法视频信号二值化,需要找到视频信号输出波形中变化率最大的点,根据CCD器件输出信号的特点,这个点就是受光像素与未受光像素的分界处。在此处使用电处理方法就可以将CCD输出信号分为高低两种电平信号,从而实现二值化处理。有关线阵CCD输出信号二值化处理的理论方法主要有固定阈值法、浮动阈值法、微分法等[1],这里采用二次微分法。二次微分法的依据是数学原理中拐点处的变化规律,信号二次导数为零的点是原信号变化最大的点。具体方法:假设采样数据为X(n),n=1,2,3,…,N,N为采样点数,则一次微分为Y(m)=ûX(n+1)-X(n)û m=1,2,3,…,(N-1)二次微分为Z(p)=Y(m+1)-Y(m) p=1,2,3,…,(N-2)二次微分为零或者最接近零的点就是所求,如图1所示:(a)表示原信号,拐点为P;(b)表示一次微分;(c)表示二次微分。在对数据求二次微分的过程中,为了进一步去除数据噪声,还可以对数据进行平滑处理,但所求拐点有可能有位移,因此要在最后波形恢复时还原。微分算法实现了线阵CCD信号的二值化,得到了图像轮廓截取的一条直线上的几个线段的长,但是这还不能确定各个线段的位置,不能恢复出图像。
图1 边缘处导数变化Fig.1 Variationofdifferentialcoefficientatcurvefringe2 信号位置的确定2.1 同一直线上像的位置实际应用中,我们采用2160像元的CCD(TCD1206UD),信号在同一直线上有可能截取不同的几段,为此就要对一帧CCD信号记录几对拐点以及它们之间的相对位置。例如,对于某一帧信号的第一对拐点,假设已经判断为第nk1个和第nk2个像点,则需要记录:第一个拐点与第一个像点的相对距离di1=nk1×d·9·应用光学 2005,26(6) 田岩涛,等:用基于DSP的线阵CCD实现二维图像信号采集的系统设计式中,d为CCD像元长(14Lm)。第二个拐点与第一个像点的相对距离di2=nk2×d依次记录所有的成对拐点的相对距离。2.2 不同直线的位置CCD与被测目标的相对速度为v0,A/D的采样频率为f,那么相邻两帧之间的距离为l0=v0/f第i帧与第一帧的相对位置为li=i×l03 具体设计3.1 信号采集和处理电路如图2所示,信号采集和处理电路由CCD驱动电路、滤波放大等信号预处理电路、ADC、FIFO、DSP电路、时序与逻辑控制产生电路、总线接口电路等几部分组成。CCD器件采用东芝公司2160像元的TCD1206UD,采集到的CCD信号先进行滤波放大等预处理。DSP选用TI公司的TMS320C32[2],它主要用于对A/D转换后的数据进行微分算法处理,并且确定相对位置,然后把处理后的数据通过与计算机的接口电路传输到PC进行结果显示、存储等后续处理。电路所需要的时钟信号和采样逻辑控制时序由一CPLD芯片产生。
图2 系统硬件电路Fig.2 Hardwarecircuitofsystem 由于ADC(选用MAX1200-16bit)的转换速率只有1M,而DSP的外部时钟频率很高(50MHz),因此A/D数据输出与DSP的读外部数据的时钟无法精确配合。为了读到总线上的数据,DSP外部存储器读写时钟也必须与A/D的时钟相匹配,但是,不能将DSP的数据线与A/D直接相连,否则DSP在大部分时间里都在等待A/D就绪。为了保证系统的使用效率,解决时钟不匹配问题,在两者之间加入FIFO(CY7C4255,8k×18bit)作为二者之间的桥梁。它的数据读写周期只有10ns,存储空间为8K×18bit(因为MAX1200为16bit),有半满(HF)、全满(FF)和空(EF)3个标志位输出,还可以通过编程的方式定义几乎空(PAE)和几乎满(PAF),利用它可同时满足不同深度的需要。3.2 DSP与FIFO存储器的工作原理[3]FIFO读写一次的过程如图3所示。由于FIFO是顺序读取数据,没有地址线,只需提供读写和其他控制信号线。A/D输出的是16bit数据,占用FIFO的低16位,另外2位高位补零。由于FIFO是5V供电,所以经电压转换器件74lvth244将5V的数据信号电平转换成3.3V后与DSP的16位外部数据总线相连。由FIFO的半满信号HF作为外部中断信号。当FIFO半满时,由HF与FIFO读信号,经逻辑综合后,向DSP发出外部中断申请INT3。
图3 FIFO读写过程Fig.3 TheprocessofreadingandwritinginFIFOTMS320C32的R/W和PAGE3能共同使DSP的DMA通道传输,将FIFO中的数据读入内部·10·应用光学 2005,26(6) 田岩涛,等:用基于DSP的线阵CCD实现二维图像信号采集的系统设计RAM中,在FIFO输出数据的同时也将A/D转换的数据写入FIFO中,达到同时读写的目的。使用DMA方式传输数据的好处在于,DMA控制器可以独立于CPU工作,实现片内存储器、片内外设以及外部存储空间之间的数据转移;由外部中断INT3启动DMA传输,可以大大提高传输速率和CPU的工作效率。DSP读完2160个数据后开始处理,处理完后在一次扫描结束与下一次扫描尚未开始的时间内将计算结果16bit数据输出,总的处理时间在一帧周期内。FIFO的写信号由CPLD产生,在A/D转换结束后向FIFO写数据。每一帧处理之后,由CPLD输出控制信号对FIFO初始化,重新输入下一帧数据。3.3 DSP与USB总线接口TMS320C32与USB控制器(AN2136SC)之间通过双向FIFO交换数据[4],握手信号用AN2136SC的PC口。当USB为接收缓冲器时,DSP读,AN2136SC写;当USB为发送缓冲器时,DSP写,AN2136SC读。PC(0)~(3)用作二者的读写通道,方向可编程确定;PC(4)用于TMS320C32向AN2136SC申请中断;PC(5)用于AN2136SC复位USB接收缓冲器;PC(6)用于USB接收器满标志,若接收已满则禁止AN2136进一步对USB接收缓冲器写入;PC(7)用于USB发送缓冲器空标志,若缓冲器已空则禁止AN2136SC进一步对USB发送缓冲器读出。3.4 软件设计软件设计包括DSP程序和USB总线驱动程序。DSP程序包括DSP初始化、采样数据的滤波与算法处理、DSP与USB之间的信息交换以及对A/D的设置。在软件设计中需要注意的问题是数据的精度控制。TMS320C32内部处理32bit的浮点数,而A/D只有16bit,因此通常情况是补零,也可以将低位上的数据移至高位,处理结束之后进行还原。此种方法实际上是提高了数据的精度。4 试验结果设定图像与CCD的相对速度为1m/s,每个采样周期内相对移动1Lm,而物镜采用10倍聚焦,因此CCD所采集的光信号与CCD的相对速度为10Lm/s。由于CCD的像元长度为14Lm,将A/D采样值的每2个数据求一次平均值作为一个DSP的预处理数据。试验结果如图4所示。图4中,(a)表示原图像,(b)是线阵CCD采集后经DSP复原的图像。