基于FPGA的线阵CCD驱动器设计
扫描二维码
随时随地手机看文章
关键词:线阵CCD;FPGA;驱动电路;控制逻辑
1 引言
CCD(Charge Coupled Devices——电荷耦合器件)具有尺寸小、精度高、功耗低、寿命长及电子自扫描等优点,在图像传感和非接触测量领域得到广泛的应用。由于CCD的转换效率、信噪比等光电特性只有在合适的时序驱动下才能达到设计所规定的最佳值,输出稳定可靠的信号,因此,驱动电路的设计也就成为其应用中的关键问题之一。不同厂家、不同型号CCD器件的驱动时序各不相同,使CCD的驱动电路很难规范化和产品化。笔者设计的基于FPGA的驱动电路是可再编程的,如果要改变驱动电路的时序,增加或减少某些功能,只需对器件重新编程,在不改变任何硬件的情况下可实现驱动电路的更新换代。
2 CCD工作参数和时序分析
根据工程项目的技术要求,本系统选用日本TOSHIBA公司的TCDl208AP型电路作为传感器。该器件具有优良的光电特性,有2 160个像元,其驱动信号的时序如图l所示。
由TCDl208AP的时序图可以看出,TCDl208AP采用二相驱动脉冲工作,时序脉冲驱动电路提供4路工作脉冲,即光积分脉冲SH,电荷转移脉冲φ1、φ2,输出复位脉冲RS。系统提供的主时钟频率CLK为4 MHz,设定数据输出频率为1 MHz。TCDl208AP的典型最佳工作频率为l MHz,该器件具有2160位有效像元,正常工作时要有52个虚设单元输出(DUMMY 0UTPUTS)信号(含暗电流信号)。因为该器件是二列并行传输,所以在一个周期内至少要有1 106(2 212/2=1 106)个φ1脉冲,即TSH>1106Tφ1。另外,由时序图可以看出,当SH信号为高电平期间,CCD积累的信号电荷包通过转移栅进入移位寄存器,移位脉冲φ1、φ2要求保持一个高和低的电平状态。
3 FPGA器件的选择
根据设计要求和工程需要,本设计选用Altera公司Cyclone系列产品中的EPlCl2Q240C8型嵌入式可编程逻辑器件。EPlCl2Q240C8采用基于1.5 V、0.13μm及全层铜SRAM工艺,其密度增加至20 060个逻辑元件(LE),RAM增加至288 KB。它具有用于时钟的锁相环、DDR SDR和快速周期RAM(FCRAM)存储器所需的专用双数据率(DDR)接口,具有在系统可编程特性。其配置方式有被动型和主动型,被动型配置是在上电后由计算机通过编译后产生sof文件利用专用的下载电缆配置电路。主动型配置是在上电后由专门的可编程配置电路(EPCS4)自动对EP1C12Q240C8电路进行配置。
4 CCD驱动电路设计
驱动电路的功能是产生保证产生CCD器件正常工作的转移时钟、传输时钟、采样保持时钟、复位时钟、信号处理电路和A/D转换电路所需要的同步脉冲、像元时钟和箝位脉冲。只有驱动脉冲与CCD的良好配合才能充分发挥CCD的光电转换特性,输出稳定可靠的光电信号。
以前采用数字逻辑电路来设计线阵CCD驱动电路,由于采用多个计数器、触发器和门电路,电路复杂,抗干扰能力差,而且时序较难配合,不易调试。如果采用FPGA驱动方法产生驱动信号,系统用同一时钟对这4路驱动信号进行控制,以保证相互之间的确定时间关系,然后使用分频器对时钟脉冲分频以产生各路驱动信号所需的波形,产生如图1所示的驱动信号就方便得多。
该系统的设计采用Altera公司的QUARTUSⅡ开发系统。QUARTUSⅡ开发系统是一种全集成化的可编程逻辑设计环境,它支持硬件描述语言(VHDL)、状态图和原理图三种输入方式,执行编译、逻辑综合、仿真以及编程等功能。设计过程包括4个阶段:设计输入、设计实现、设计验证和器件编程,如图2所示。整个流程是一个输入、实现、验证的递归过程,直到设计正确和完整。
原理图输入方式简单直观,也是最常用的。如采用硬件描述语言的输入方式如VHDL或Verilog,其可移植性和可读性都好,但综合形成的数据格式文件往往比原理图输入方式更占可编程器件的资源。为了提高芯片的利用率,同时采用原理图输入方式还可以生成新的特殊功能模块,鉴于系统规模不大,因此采用原理图输入方式进行本系统的设计。由于TCDl208AP是二相驱动方式,根据TCDl208AP驱动信号的时序关系,可以确定φl=φ2=0.5 MHz,输出复位脉冲RS=l MHz。
在确定了SH、φ1、φ2和RS的参数后,可以根据它们之间的时序关系设计硬件逻辑框图。各路脉冲分别为RS=1 MHz,占空比为l:4,方波;φ1=φ2=0.5 MHz,占空比为1:l,方波,φ1、φ2在并行转移时有一个大于SH=1的宽脉冲。其中的各个模块采用VHDL语言进行设计,如图3所示。
编译后,最后得到仿真的波形结果如图4所示。
5 结束语
本设计采用QUARTUSⅡ开发系统实现编程,完成了电路功能的设计、时序综合与分析及文本和图形输入,并根据工程需要将结果下载到Altera公司的Cyclone系列FPGA芯片EPlCl2Q240C8中产生CCD驱动时序,不但得到了良好的CCD输出效果,而且大大简化电路设计,提高可靠性,降低功耗,加快研发速度。