在CCD应用技术中,其赖以正常工作的驱动信号的产生电路比较复杂,驱动电路的设计也就成为其应用中的关键问题之一。由于不同厂家生产的CCD,其驱动时序不尽相同,即使同一厂家生产的不同型号的CCD,驱动时序也不完全一样,这使CCD驱动电路很难规范化、产品化;因此,CCD使用者都必须面对驱动电路的设计问题,今天就谈谈CCD驱动的几种方式。(1) 单片机
该方法是通过程序实现CCD驱动时序,虽然该方法灵活,可同时占用大量MCU时间,造成资源浪费;另外现在单片机的频率有限,不能满足越来越高频率的CCD型号。
(2) 可编程逻辑器件(FPGA、CPLD)
以FTF4027M为例,其时序图见datasheet。
由于FTF4027M驱动时序较复杂,在此就不做详细介绍,参考“基于FPGA的全帧CCD驱动设计”。
该实现方法系统集成度高、速度快、可靠性好;不足是相对成本偏高、功耗大、开发难度大。
(3) 分立元件
以TCD1304AP为例,其时序图见datasheet。
驱动信号硬件电路的整体框图如图所示
采用高稳定性的有源晶振产生基础脉冲信号FM;再通过计数器分频产生两个脉冲信号,经过J-K触发器,分时选通,即可得到复位信号ICG;以ICG为触发信号,触发单稳触发器CD4538生成占空比可调的帧转移信号SH。
早期的CCD驱动基本使用该方法,特点是能产生高速的驱动频率,缺点是逻辑设计比较复杂,调试较为困难。
(4) EEPROM
以TCD1208AP为例,其时序图见datasheet。
其中:SH为光积分信号;F1,F2为时钟信号;RS为复位信号;SP为采样信号。由图中时序可以看出:SP和RS两个信号的高电平部分是信号的最小单位,其它信号的任何部分都是该部分的倍数。根据这一特点,将这组信号以基本单位划分为若干个等时间间隔,时钟波形各时刻状态(0或1)都可以使用一串数据表示出来,各信号的状态分别对应数据的相应位值,这样将数据依次写入EEPROM中,只要等时间间隔地依次输出这些数据就产生了CCD所需的驱动时序。
该方法设计思想十分显然,不论任何型号CCD,其硬件结构几乎不需要改变,只需要按CCD驱动时序波形转化的数据,写于EEPROM即可。设计性能稳定,可进行程序擦除再开发,但设计需要地址发生器,数据量增多,给设计带来困难,电路板面积也随之增大。
(5) 专用IC
以FTF4052为例,其时序图见datasheet。
采用SAA8103完成CCD的驱动时序,在外界控制器的控制下,SAA8103产生符合CCD的驱动时序,由于SAA8103芯片产生的时序信号电压只有3V,驱动能力有限,不能直接用来驱动CCD,而是要经过驱动芯片驱动后再送给CCD;用TDA9991作为垂直驱动芯片,74ACT04作为水平驱动芯片。
根据上面分析比较可知,一般时序简单的线阵CCD,采用分立元件、EEPROM或单片机驱动;而比较复杂的线阵CCD及面阵CCD,通常采用可编程逻辑器件(CPLD、FPGA)或专用IC来驱动。 |