摘 要: 本文在综合几种传统的线阵CCD驱动时序产生方法优、缺点的基础上,提出了一种基于单片机的新型线阵CCD驱动电路,结合一款常用芯片TCD1500C,详细介绍了该方法的具体实现。
引言 不同厂家、不同型号的CCD的驱动时序是不同的,加之对不同性能、不同应用场合的体积、成本、灵活性要求不同,于是产生了众多的驱动时序的产生方法,主要有直接数字电路驱动、单片机口驱动、EPROM驱动、专用IC驱动等常用的驱动时序的产生方法。但是它们存在着逻辑设计较为复杂、调试困难、柔性较差、驱动时钟低等缺点。 本文在综合各种驱动时序方法的基础上,提出了的一种基于单片机的新型驱动电路。该电路使用独立的时钟源产生精确的时钟脉冲,采用可编程定时计数芯片和单片机控制相结合的方法,使电路产生稳定、精确、高速的驱动脉冲,该电路结构简单、调试方便、CPU占用率低,降低了系统的总体成本,而且具有良好的柔性,只需要改变驱动软件就可以应用于不同的CCD芯片,更适合于工业测量用途。
驱动电路基本组成 基于单片机的新型线阵CCD驱动电路主要由脉冲发生电路、分频电路、控制电路、脉宽调制电路等组成,如图1所示。 通常时钟脉冲可取自以下途径:单片机XTAL端、ALE端、独立脉冲源。其中取自XTAL端时,经分频电路得到的脉冲频率受限制;取自ALE端的脉冲在单片机访问外部存储器的时候丢失,精度受影响;而取自独立脉冲源的脉冲因其独立性而精度较高,且所产生的脉冲频率可自由选择,稳定性好,因此本驱动电路选用独立脉冲源。 分频电路可以选用D触发器/JK触发器,如74LS(HC)74、74LS(HC)76,均带置位、清零端,较易控制;也可以选用计数器,如74LS(HC)163(可预置),8253(2MHZ可编程),82(C)54(10MHZ可编程)。为了便于调试和增加系统的柔性,本驱动电路选用具有较高频率的82C54,它含有3个16位减法计数器, 6种工作方式。其中工作方式2时,起频率发生器的作用,CLK端输入脉冲使计数器减1,计数器减到1时停止计数,并使OUT端输出负脉冲;方式3起方波发生器作用,[(N+1)/2]计数完成之前为高电平,对余下的[(N-1)/2]计数时输出低电平。 控制电路主要由单片机AT89C51及逻辑门电路组成。AT89C51最高工作频率达24MHz,内含4KB的Flash存储器。用于82C54的初始化、控制计数脉冲的通断、计数器的启动、停止及完成系统中其它任务。 脉宽调制电路主要由阻容电路、单稳态电路(如74LS/HC123)组成。该电路主要用于调整各驱动脉冲之间的相位关系。74LS(HC)123是可重触发单稳态触发器。在触发脉冲的上升沿(接B端)或下降沿(接A端)的作用下,输出Q为高电平,经过延时Tw后,输出Q返回低电平;如果输出高电平期间,触发脉冲又到来,则高电平又会从此刻延时Tw,因此如果触发脉冲在高电平期间不断到来,则高电平将要被无限期的延迟,即输出为高电平;当外接电阻为R且电容C>1000pF时,Tw=0.45 * R *C 。
图1驱动电路原理图
图2系统框图
系统实例 系统组成 本系统用于测量螺旋桨转动过程中的桨叶的偏振角。由于螺旋桨具有刚性,其转动过程中不仅存在摆动,而且存在振动,对其偏摆角的测量需要在螺旋桨转动过程中采集其瞬态的位置,利用CCD的成像特性,将螺旋桨瞬态的位置信息通过CCD成像,光信号转换为电荷信号,经过信号处理电路,转化为数字信号,传输给CPU处理。系统框图如图2所示。 系统中的光源可以选用有源光源或自然光,根据测试现场环境、安装空间、体积等因素综合考虑;光学系统可根据测试现场的尺寸要求及视场要求,根据几何光学公式计算选定;CCD选用日本东芝公司的TCD1500C,测量精度和分辨率都很高,内有驱动器和采样保持电路,输出可以直接取除了调幅脉冲成分的视频信号,并且只需3路驱动信号:SH、Φ、RS;信号处理电路用于对CCD输出的视频信号进行滤波、放大、二值化、采样等处理,便于DSP处理;主处理器采用数字信号处理器DSP,它是一种高性能的单片机,内部结构采用改进的哈佛结构,具有多条数据、地址总线,可同时访问数据和程序存储器,其多级深度流水线,可以预先装载多达八级指令,指令执行速度可达300MIPS~10GIPS(内有多并行CPU),正广泛应用于测试、信号处理、通讯等大运算量的领域,可作为协处理器(大型系统),也可以作为主处理器(中小型系统),并且具有SP、SPI、DMA、PCI、USB接口,也可以与上位机和下位机通讯。 驱动实例 * 驱动时序要求及实现 TCD1500C的驱动时序如图3-(a)所示,其工作频率≤8MHz,取 fF=1MHz,fRS=2MHz,TSH≥(5340+64+12)/2ms。其中图3-(b)时序由 图1-(b)实现,由单片机强制置位,以满足电荷向移位寄存器转移;图3-(c)时序由 图1-(d)实现,其中Re选用精密可调电阻,Ce>1000pF,延迟时间由公式Tw=0.45 * R *C 决定,也可以在示波器上观察调制。 驱动电路工作过程如下:上电初始时,控制与分频电路中的单片机AT89C51开相应中断,对各控制引脚设定初始状态电平。接着对82C54计数器进行初始化,设定82C54的工作方式:定时器1和定时器2工作于方式3(方波发生器),定时器2工作于方式4(软件触发方式),并写入初值,然后89C51等待主机的指令-开始测量,则使82C54开始工作,产生驱动脉冲。当产生一个完整的积分周期的驱动脉冲后,89C51停止产生驱动脉冲,等待主机的指令。当CCD第一帧视频信号有效时,经信号处理电路的一系列处理后,可以在同步脉冲作用下对输出的视频信号进行A/D转换,也可以用高频脉冲计数二值化后的脉冲宽度,通过通讯将得到的数据送给主机处理,主机将测量的结果存入存储器或直接传给上位PC机,然后给89C51发开始命令,驱动下一帧视频信号,如此往复直至结束。 * 驱动电路的软件编程 脉冲发生电路产生4MHz的方波脉冲,将它通过图1-(b)分频电路的两次分频,得到1MHz的方波脉冲。图1-(b)所示时序通过P1.1控制,从而产生f脉冲;定时器0计数脉冲取自产生f脉冲的第一个分频器的输出(2MHz), 其计数初始值>(5340+64+12)ms,从而产生SH脉冲;通过把f作为定时器1的计数脉冲, 计数初始值=2,再将OUT1的输出接到脉宽调制电路即可得到RS脉冲。至此,CCD工作所需要的驱动脉冲全部得到。 89C51产生驱动脉冲的部分程序见本刊网站(www.eaw.com.cn)
图3 TCD1500C驱动脉冲时序
结语 该驱动电路综合了直接数字电路驱动方法具有较高的驱动频率和单片机口驱动方法灵活性特点,还具有硬件电路简单、成本低、软件编程灵活、可直接方便的受主处理器控制等特点,而且在实际使用中稳定可*,具有一定的实用价值。 |