您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > CCD驱动脉冲的设计与实现
线阵CCD驱动脉冲的设计与实现邓昌建2,1,唐洪玖1,谯建辉1,郝浩翔1,姚云1(1.成都信息工程学院控制工程系,四川成都610225;2.电子科技大学,四川成都610054)摘要:通过对TOSHIBA公司的线阵CCD图像传感器TCD2252D的驱动时序关系的分析,分别采用ARM嵌入式处理器LPC2103和FPGA器件EP2C8Q208C8N,产生了线阵CCD的驱动脉冲;并分别对二种设计的优缺点作了比较。通过将FPGA驱动脉冲输入CCD,得到的输出波形,能满足了实验设计的需要。关键字:线阵CCD;TCD2252D;LPC2103;FPGA;驱动电路;中图分类号:TN386.5文献标识码:ADesignandImplementationofLinearArrayCCDDrivenPulseDENGChang-Jian2,1,TNAGHong-Jiu1,QIAOJian-Hui1,HAOHao-Xiang1,YAOYun1(1.ChengduUniversityofInformationTechnology,ControlEngineering,ChengduSichuan610225,China;2.UniversityofElectronicScienceandTechnologyofChina,ChengduSichuan610054,China)Abstract:InthepaperthedrivensignaltimingrelationshipoflinearCCDimagesensorTCD2252DofTOSHIBAisanalyzed,andthelinearCCDdriventimingpulsehadbeenproducedbyARMembeddedprocessorsLPC2103andFPGAdeviceEP2C8Q208C8N.Theadvantagesanddisadvantagesoftwodesignmethodiscomparedwith.AndthewaveformsoutputtedbyCCDcanfitthedemandofexperimentdesignwhentimingpulsesmadebyFPGAisinputted.Keywords:lineararrayCCD;TCD2252D;LPC2103;FPGA;Drivingcircuit;1引言为满足工业测试项目和学校“光电检测技术”的实验装置设计的需要,本文采用了ARM和FPGA两种方法产生TCD2252D图像传感器的时序脉冲。目前采用FPGA产生时序脉冲方式较多,但能不能使用ARM处理器来产生线阵CCD的驱动时序呢?采用该方式的很少。本课题基于此,对两种方式进行了设计,并进行了比较和分析;最后通过对CCD输出波形的比较得到了使用两种方法的建议。2TCD2252D的时序分析TCD2252D是一种高灵敏度、低暗电流、2700像元的内置采样保持电路的彩色线阵CCD图像传感器。TCD2252D的驱动脉冲波形结构如图1所示:线阵CCD的1个工作周期分为光积分阶段和电荷转移阶图1线阵CCD驱动脉冲波形图段。在光积分阶段转移脉冲SH为低电平,它使存储栅和模拟移位寄存器隔离,不会发生电荷转移现象。存储栅和模拟移位寄存器分别工作,存储栅进行光积分,模拟移位寄存器则在驱动脉冲的作用下串行地向输出端转移信号电荷,最后由输出信号端_______________________________[收稿日期]:修订日期:[作者简介]:邓昌建成都信息工程学院控制工程系讲师电子科技大学在读博士附联系方式:E-mail:chenglidcj@cuit.edu.cn手机:13551257136OS1、OS2和OS3分别输出离散的电压信号。复位脉冲RS信号清除移位寄存器中的残余电荷。在电荷转移阶段SH为高电平,存储栅和模拟移位寄存器之间导通,实现光生电荷并行地分别转移到光敏区两侧的模拟移位寄存器的电荷势阱中。此时,输出脉冲停止工作,输出端没有有效信号输出。由于TCD2252D具有2700个有效像元,且其正常工作时要有76个假像元输出,因此,在SH积分周期内应该至少包含2776个RS脉冲。由此可知,改变时钟频率或增加光积分周期内的时钟脉冲数,就可以改变光积分周期,使输出信号的幅值发生变化。3线阵CCD驱动脉冲的设计与实现采用ARM和FPGA两种方法产生TCD2252D图像传感器的时序脉冲。工作脉冲通过驱动器使线阵CCD正常工作,结合一定输出调理电路使线阵CCD输出满足要求的信号波形。3.1基于LPC2103的线阵CCD驱动电路设计LPC2103是一个基于支持实时仿真的16/32位ARM7TDMI-SCPU的微控制器,并带有32KB的嵌入高速Flash存储器,128位带宽的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。LPC2103的GPIO有两种模式:高速GPIO和低速GPIO。高速GPIO的控制寄存器位于CPU的局部总线上,可以进行高速的读写操作,而低速GPIO的控制寄存器是挂在VPB总线上的。如表1所示,由于复位脉宽RS、采样保持脉宽SP可低至45ns,特别是时钟脉冲Q1、Q2与CP间隔时间典型值为40ns,用低速GPIO即使采用最大超频技术也无法实现。所以本文用高速GPIO模式(在Fpclk=Fcclk的条件下,高速GPIO的输出频率是低速的3.5倍)。表1线阵CCD的时序要求由于输入到线阵CCD的驱动脉冲信号要求严格同步,我们分别对FIO0SET、FIO0CLR寄存器进行写操作无法达到要求。只有通过端口的FIO0PIN寄存器来实现。程序流程图如图3所示,线阵CCD的时钟频率Q1和Q2取1MHz,复位脉冲RS、钳位脉冲CP、采样保持脉冲SP取0.5MHz,转移脉冲SH脉宽取2000us。每一帧分两次循环,通过对FIO0PIO寄存器写操作以及延时语句来实现。图3LPC2103产生CCD驱动脉冲流程图3.2基于FPGA的线阵CCD驱动器设计在FPGA设计中,本文综合了2种设计方法。使用VHDL来设计逻辑模块,然后再用原理图设计输入法来组成驱动电路,从而实现CCD的6路驱动脉冲。通过分析TCD2252D时序关系得到设计思路为:将输入频率为10MHz的外部时钟脉冲经过锁相环PLL后输出32MHz的时钟脉冲。经过div8实现8分频得到4MHz的方波脉冲,再经过CCD实现8分频后得到0.5MHz的方波脉冲,SH模块是一个计数模块,当计数达到预设光积分周期时,就产生一个持续的电荷转移高电平。将SH模块的输出与CCD的输出相或,得到的输出信号再与CCD的非相与,得到的驱动脉冲就是所需的转移脉冲SH;将得到的转移脉冲SH与CCD的输出相或即可得到Q1(F1);将Q1经非门输出即可得到Q2(F2);锁相环PLL输出32MHz的时钟脉冲经过SP1实现32分频后输出得到采样保持脉冲SP;锁相环PLL输出32MHz的时钟脉冲经过RS实现32分频后再通过1个D触发器延时去抖后得到复位脉冲RS;锁相环PLL输出32MHz的时钟脉冲经过RS实现32分频后再通过3个D触发器延时去抖后即可得到钳位脉冲CP。线阵CCD驱动电路原理图如图4所示:图4产生线阵CCD驱动时序的电路原图3.3CCD驱动应用电路原理图图5CCD驱动应用电路原理图如图5所示:TCD2252D是二相线阵CCD图像传感器,为容性负载,工作频率较高时有一定的功耗,因此需要对FPGA输出的复位脉冲RS、转移脉冲SH、箝位脉冲CP、采样保持脉冲SP,以及二相时钟脉冲中Q1和Q2六路驱动脉冲进行整形和驱动能力的放大。然后再送至TCD2252D器件的相应输入端。这样CCD的模拟信号输出端将得到信号OS1、OS2、OS3。4仿真与测试结果基于ARM嵌入式微处理器LPC2103产生的线阵CCD驱动脉冲如图6所示。图6得到的驱动时序波形与图2线阵CCD的时序图完全吻合。说明LPC2103完全能够作为CCD驱动电路来实现。通过图5搭建的CCD驱动应用电路送入TCD2252D中,使CCD正常工作,由示波器采集到的输出信号如图8所示。基于FPGA的设计采用Altera公司的QuartusII7.2软件设计并进行了仿真,当输入信号的频率为10MHz时,通过锁相环产生了32MHz的方波信号;通过计数分频、延时以及一些逻辑门电路得到了占空比为3:32,频率为1MHz的复位脉冲RS、采样保持脉冲SP、钳位脉冲CP;频率为0.5MHz的占空比1:1的时钟脉冲Q1和Q2;1个周期内包含2800个复位脉冲的转移脉冲SH。仿真所得驱动脉冲波形如图7所示,从仿真结果可以看到,产生的驱动脉冲与线阵CCD(TCD2252D)所需驱动脉冲的时序关系同样完全吻合,能够达到CCD驱动电路的要求。将源程序编译后,通过JTAG下载到CycloneII系列的EP2C8Q208C8N芯片,同样通过图5搭建的CCD驱动应用电路送入TCD2252D中,使CCD正常工作,由示波器采集到的输出信号如图9所示。这充分表明该芯片也完全能够作为CCD驱动电路来使用。图6基于ARM微处理器LPC2103产生的CCD驱动波形图7基于FPGA产生的CCD驱动脉冲仿真波形图8用示波器采集到的输出波形(基于FPGA产生的驱动脉冲)图9用示波器采集到的输出波形(基于ARM产生的驱动脉冲)5基于ARM与FPGA分别设计CCD驱动器的比较(一)基于ARM嵌入式微处理器LPC2103设计线阵CCD(TCD2252D)驱动脉冲优缺点:1.LPC2103是一款低成本RISC微处理器,最大可以实现70MHz的CPU操作频率,由于采用高速GPIO模式,实际选用11.0592MHz就满足了设计要求。2.避免了传统驱动电路存在的连线间的干扰,增强了系统的稳定性与可靠性。3.仅用了LPC2103的6个GPIO口,没有占用定时器、串行通信口、A/D转换器以及各中断资源,因此完全能够用单片芯片实现驱动CCD、A/D转换数据采集与处理等工作,避免了系统结构的庞大、功耗较高、难于装配等缺点。4.根据CCD的驱动时序要求,采用高速GPIO设计CCD的驱动时序不失为较佳的设计方案。在高速GPIO模式中,对高速GPIO的各寄存器进行操作的每条程序指令的执行时间为40ns。这样就可以通过对FIO0PIN寄存器进行写操作以及精确的延时操作就能够达到CCD所需时序要求,使CCD各驱动脉冲同步输出,达到并行工作方式。这一优点与FPGA实现方案类似。但是该设计通用性不强,参量变化不灵活,且编程调试比较复杂,更改程序中部分参数都会影响CCD驱动时序。5.在基于ARM的CCD驱动时序的设计方案中,通过大量的时间编程调试发现:采用定时器匹配输出PWM特性来产生线阵CCD驱动时序过程中,低频时段能够正确设置输出所需的占空比,而且输出频率很稳定,但是当设置输出频率达到300KHz以上后,特别是达到线阵CCD工作时序的参考频率0.5MHz以及1MHz时,输出频率误差大而且无法调到CCD驱动脉冲波形所需的占空比。并且整个设计中几乎要占用所有的定时器和部分中断资源,同时对各个模块进行初始化,甚至添加一条判断语句所占用的延迟时间都会对输出时序造成一定的影响。(二)基于FPGA设计的线阵CCD(TCD2252D)驱动脉冲优缺点:FPGA可以工作在较高的频率下,较传统驱动电路有较小的延时;采用FPGA设计,大大简化了CCD应用电路的电路系统;同样采用FPGA能够避免传统驱动电路存在的连线间的干扰,增强了系统的稳定性与可靠性;与LPC2103相比电路具有较大的灵活性,通用性强,通过改变程序中部分参数,就能够产生其他型号CCD所需驱动脉冲;与LPC2103相比功耗较高,封装占用面积较大,成本昂贵。6结束语本文讲述了基于ARM嵌入式微处理器LPC2103和基于FPGA分别产生的线阵CCD驱动时序的设计与实现。经过仿真与测试的结果表明两种设计的驱动电路都能够产生满足线阵CCD器件要求的驱动脉冲。最后对采用二者设计的过程和所得结果做了相应的比较,通过二
本文标题:CCD驱动脉冲的设计与实现
链接地址:https://www.777doc.com/doc-2903814 .html