|
The design of linear CCD detecting system based on CPLD and DSP Abstract:A linear CCD detecting system was designed based on CPLD and DSP, which was used in an advanced counting-machine. The time sequence of CCD-driving was implemented by CPLD, and the analog signal of video was deal with TMS320F2812, the system has applied in the medicine packing counting-machine and can count capsules above Φ2mm. The counting speed can reach 3000-8000 capsule per minute. Key word: CPLD,DSP,Linear CCD,Counting-Machine 摘要:基于CPLD和DSP设计了线阵CCD检测系统,CCD的时序驱动由CPLD实现,经过运放后的视频信号由TMS320F2812进行采集和处理,此检测系统已成功应用于医药包装行业的数粒机系统,能够可靠地实现Φ2mm以上各种形状的药粒计数,计数速度可达3000-8000粒/分钟。 关键词:CPLD,DSP,线阵CCD,数粒机 0.引言 在药品包装市场,制药企业纷纷进行GMP(Good Manufacturing Practices)药品制造质量管理标准认证,研制先进的药片数粒机成为制药企业发展的迫切需要[1][2]。基于CPLD和DSP设计了先进的线阵CCD检测系统,应用于数粒机系统,替代传统的PLC和光电头检测方案。 线阵CCD检测系统是数粒机系统的核心,通过DSP将喂料、检测计数、装瓶系统及人机界面集成在一起。用户利用触摸屏设定数粒机的相关参数,启动自动数粒功能;DSP检测通道光照是否正常,内部是否有异物,履带是否有瓶;检测结束后,DSP控制振动料斗送料,同时不断地将CCD拍摄到的图像信息读入进行AD转换,转换完毕经过数据处理后,判别检测通道中是否有药粒,并进行计数;当计数到用户设定值时,DSP控制通道阀门,保证进入瓶中的药粒正确;装瓶完毕,DSP控制瓶限位阀门将已装好的瓶送走,同时将空瓶送入到装瓶位置并定位,然后进行下一轮计数动作。 使用线阵CCD检测系统设计的数粒机系统受粉尘影响少,适用于各种形状尺寸药粒的检测计数,数粒速度快,解决了边缘灵敏度低的问题,采用双镜头扫描互相检测消除了传感器多计或漏计药粒引起的瓶装量误差。 1.线阵CCD检测系统的设计 线阵CCD检测系统由光学镜头、CCD、CCD驱动板以及DSP电路板组成,其实物结构如图1所示。线阵CCD为东芝公司生产的TCD1209D,像敏单元2048个,最高工作频率20MHz;驱动采用ALTERA公司生产的CPLD,型号为EPM7064SLC44;DSP芯片是TI公司生产的TMS320F2812,数字信号处理器能力150MIPS,能实时地处理各种复杂算法,自带12位A/D转换,流水线最快转换周期60ns,128KB的Flash存储器。
 检测系统拍摄时,镜头和光源布局如图2所示[3][4],TCD1209D像元尺寸为14μm× 14μm,则成像部分长度L为28.7mm;根据扫描需要,取水平视场约为FOV=280mm。则放大率M=v/u= L/FOV =28.7/280=0.1025;物距u为工作距离W,像距v为镜头到CCD的距离,设计的物距为35mm:故工作距离W=u= v/M= 35/0.01025 =341mm;由此可以计算出镜头焦距f=W/(M+2+1/M)=28.79mm;检测系统使用定焦距光学镜头,取焦距为28mm。

 CCD驱动板完成CCD信号的驱动,产生CCD像元同步、帧同步信号和经过运放处理的视频信号,DSP电路板是CCD检测系统处理的核心,也是整个数粒机系统的核心,数粒机系检测系统框图如图3所示。DSP利用自带高速A/D模块采集视频信号,根据采集的数字信号判断颗粒是否满足要求,与人机界面通信,并完成振动漏斗、通道阀门、输送线等的控制。 2.CCD驱动设计 CCD芯片TCD1209D采用CPLD芯片EPM7064S驱动,CCD驱动需要移位脉冲SH、复位脉冲RS、箝位脉冲CP、像元转移脉冲输入端Ф1、Ф2、Ф2B,DSP模数转换时序信号需要行同步脉冲FC与像元同步脉冲SP[5][6]。使用40MHz晶振作为时钟源,其中的Verilog关键程序如下: assign SH= ~((count<12)&(count>5)); assign T2=~((cycle<3) & (count>15) & (count< 15'h3130)|(count==1)); assign T2B=T2; assign T1=~T2; assign RS=~((cycle==1) & (count>11)| (count==3)); assign CP=~((cycle==2) & (count>11)| (count==4)); assign FC=~((count<204) | (count> 15'h30cc)); assign SP=(~((cycle==4)|(cycle==5)|(cycle==0))) &FC; 利用ModelSim软件的仿真波形如图4所示,仿真结果满足TCD1209时序。
 输出的视频信号OS利用高速运放芯片AD8044AR进行处理,输出满足采样要求的0~3.3V电压,配合同步信号FC和SP,进行A/D转换获取数字视频信号。 3.DSP程序设计 TMS320F2812时钟频率为150MHz,12位A/D转换模块流水线最快转换周期为60ns,单通道最快转换周期为200ns。本系统中视频时钟信号频率为1Mhz, 采用外部触发模式,将同步信号SP接ADCSOC引脚[7],配置高速A/D参数如下: AdcRegs.ADCTRL1.bit.ACQ_PS = 8; AdcRegs.ADCTRL1.bit.CPS = 0; AdcRegs.ADCTRL3.bit.ADCCLKPS=4; PieCtrl.PIEIER1.bit.INTx6 = 1; PieVectTable.ADCINT = &AD_ISR; DSP是CCD线阵检测系统的核心,时钟同步信号SP启动DSP自带的高速ADC模块采集CCD模拟视频输出信号U0,得到数字信号, DSP根据帧同步信号FC,判断一帧结束。在获取一帧视频数字信号后,DSP选择数粒机的一个通道,并判断像元灰度值,以此判断是否有颗粒掉下。 4.系统运行结果 此CCD检测系统已成功应用于某药品包装企业数粒机,图5为系统运行时检测Φ6.4~6.8mm胶囊从第二通道落下时的灰度直方图,其中横坐标表示CCD像元数,纵坐标表示各像元的灰度值。从图可知像素683处又明显凸出,判断有一颗药粒下落,完成一次计数。
 5. 结论 现场运行结果表明:CCD检测系统设计结构合理,运行稳定,能够可靠地实现Φ2mm以上各种形状的药粒计数,计数速度可以达到3000-8000粒/分钟。 本文作者创新点:用线阵CCD和DSP取代传统的基于光电头和PLC的检测系统,本数粒机系统受粉尘影响少,适用于各种形状尺寸药粒的检测计数,数粒速度快,解决了边缘灵敏度低的问题,双镜头扫描互相检测消除了传感器多计或漏计药粒而引起的瓶装量误差。 参考文献 [1] 丁维扬,冯首春.药品颗粒数粒技术发展及应用.机电工程技术[J],2006,35-4,80-82. [2] 廉鲁.美国医药包装工业现状及我国的差距.中国包装工程[J],2005,26-3,15-16. [3] N Yang, X Y Yang, B Wu etc. Measure and Control Technology Based on DSP for High Precision Scanning Motor. Journal of Physics[J], 2006,48,269-273. [4] FISCHER, J. Radil, T.. DSP based measuring line-scan CCD camera. Technology and Applications[J], 2003, (9),345-348. [5] 卢阳,陈向东.基于CPLD的TDI/CCD图像传感器驱动时序设计.微计算机信息[J],2006,6-2,227-229 [6] TCD1209 Reference Guide. [7] Texas Instruments Incorporated, TMS320F281x Digital Signal Processors Data Manual,2004
作者简介:孙福佳(1978-),男,讲师,主要研究方向为嵌入式系统和工业自动化。E-mail::sunfujia@fudan.edu.cn 。 李厦(1969-),男,工学博士,主要研究方向为控制系统研究和故障诊断。
通信地址:200093 上海市军工路516号上海理工大学机械工程学院
|