您当前的位置:五五电子网电子知识单元电路时钟-定时电路CCD与单片机的软件定时驱动分析 正文
CCD与单片机的软件定时驱动分析

CCD与单片机的软件定时驱动分析

点击数:7328 次   录入时间:03-04 11:58:51   整理:http://www.55dianzi.com   时钟-定时电路

  电荷耦合器件简称CCD( Charge Couple DevICes),是美国贝尔实验室的W.S.Boyle和G.E.Smith在1970年前后发明的一种新型半导体器件。自它问世之日起,就显示出强大的生命力,因为它具有光敏源,几何尺寸严格,间距小,工作电压低,功耗低,抗电磁干扰能力强,噪声低,灵敏度高,工作可靠,寿命长等优点。经过多年的研究,目前CCD已进入实际应用阶段,在像感领域,如可见光像感、非可见光像感、彩色像感这些领域内广泛应用。另外,在信号处理领域也被广泛应用。
  
  CCD是紧密排列在半导体绝缘表面的金属电极形成的MOS电容器,可以用来储存和转移电荷。这些电荷都在一个个势阱中。电荷可以用光学的方法注入,在电极上加上相适应的时钟脉冲电压,电荷包将随着势阱的运动而移动。所以,要使CCD能正常工作,则须给它加上一定的逻辑定时信号,这就是所谓的CCD驱动。通常驱动CCD的逻辑定时电路比较复杂,费用较高,且装配、调试电路的工作量也大。而使用51系列单片机,用软件的方法来产生逻辑定
  
  时信号驱动CCD,这在一定程度上弥补了上述的不足。
  
  一、原  理
  
  以CCD111 256×1线型电荷耦合器件为例说明。图1为CCD111线阵的框图。从图中可以看出,它主要由光敏源、转移栅、传输寄存器和输出栅这几个部分构成。
  
  CCD111线阵是N型表面沟道器件,具有256个光敏源。要实现对CCD的驱动,首先要了解它的驱动信号。当光栅PG上加正脉冲后,256个光敏源积累电荷包,在转移脉冲信号φXA、φxB的作用下,被交替地转移到上面和下面的传输寄存器内,即两列寄存器各存入128个电荷包,因此扫完一帧图像至少要128个驱动脉冲。为了扫尽上一帧图像的残存信号电荷,还需要多几个脉冲。光栅φPC、转移栅φX、传输寄存器驱动脉冲φl、φ2和复位脉冲仇的逻辑定
  
  时波形如图2所示。
  
  CCD的光积分与信号的传输是同时但又相互独立进行的。当光栅φPC是高电平时,转移栅φX保持低电平,处于关闭状态,使光敏区与传输寄存器隔开。当光积分结束时,转移栅加正脉冲,光敏源中的信息电荷按奇偶分别进入传输寄存器中。转移结束后,两个传输寄存器加上移位脉冲信号,两个传输寄存器中的电荷包在移位脉冲信号φlA、φlB、φ2A、φpb的作用下,每驱动一个周期,各电荷包向输出方向移一位,则在输出端OS得到一系列代表电荷大小的视频信号。

CCD与单片机的软件定时驱动

  从图1可以看出,CCD111需要7种逻辑定时驱动信号:光积分脉冲信号φpg,转移脉冲信号仇φxA、φxb,电荷移位脉冲信号φ1Aφ、φ1R、φ2A、φ2B和复位脉冲信号φR。其中φXA=φXB、φ1A =φ1B、φ2A =φ2B.所以实际上只需5种逻辑定时驱动信号。
  
  8031单片机有4个I/O端口,我们只利用它的P1口。端口的输出数据是8位数字位,我们需要5种脉冲信号,因此只用到P1口其中的5位:P1.0~P1.4分别与φR、φ2、φ1、φX和φPC相对应。根据各个时刻各波形的电平,确定各个时刻各脉冲对应P1.0~P1.4各位的数字。将高电平定为1,低电平定为0,由P1口送出数据,即可得到所需的逻辑定时驱动信号。

二、编程

  根据φR~φPC各波形的特点,确定需要从PI口送出的数据。由图2可以看出,B~H段,即一个移位脉冲周期内,φPC与φX的电平不变,但φ1、φ2、φR在B、C、D、E、F、G、H各时刻都发生变化,每一个时刻对应一个数字。因此在一个移位脉冲周期内对应6个数字,分别是12H、13H、12H、14H、15H、14H,共需要135个移位脉冲,所以上述6个数字要重复输出135次。
  
  从图2中也可以看出,O~A段,φPC~φR各波形的电位都不变。该期间波形只对应一个数字:OCH。这段时间占有8个移位脉冲周期。从上面的分析知道,一个周期对应6个数字,因此这段需要6×8个数字的时间,即OCH连续输出48次。
  
  A~B段与0~A段一样,只对应一个数字:04H,也占有8个移位脉冲周期的时间,所以也把04H连续输出48次。
  
  可见CCD输出一帧图像,需要的时间共有(135+8+8)×6个数字的时间,而每个脉冲周期,可以根据实际应用而定。例如当利用计算机采集CCD输出的信息时,要用到A/D转换。这就要求每个脉冲周期与A/D转换器的转换时间相匹配,所以要求CCD、ADC和计算机在时序上保持同步。每个数字的输出延迟时间为一个移位脉冲周期的1/6。本节中每个数字的延迟时间只为说明利用单片机驱动CCD的方法,在实际应用中可视情况而定。
  
  首先由Pl口输出OCH,重复48次,完成0~A段的波形;然后输出04H,也重复48次,完成波形A~B段;接着顺序输出12H、13H、12H、14H、15H、14H,重复135次。在这个过程中,每输出一次数据,延迟时间是相同的。这个过程就完成了一个驱动周期,CCD将输出一帧图像的信号。
  
  上述过程的程序框图如图3所示。

过程的程序框图
  
  程序中的3FH和3EH这两个地址是BD - 51B单片机开发装置本身在硬件上定义的寄存器R2、R3的地址,R2、R3的内容可以直接由键盘输入,它们与8031内部的通用工作寄存器区内的Rz、R。的地址(选用O区时为OIH和02H)的功能相同。在运行此程序前,要先把数字12H、13H、12H、14H、15H、14H存入存储器,如存入3100H—3105H,那么R2、R3内则要键人31H和OOH。
  
  以下为程序清单:

程序清单

  本文介绍利用单片机通过软件的方法来实现对CCD的逻辑定时驱动。此方法不需要再做任何硬件方面的工作,所以方便易行;而且,对于不同型号的CCD,只要适当修改程序,即可产生相应的驱动信号,因此,具有一定的推广和使用价值。




本文关键字:单片机  软件  时钟-定时电路单元电路 - 时钟-定时电路

《CCD与单片机的软件定时驱动分析》相关文章>>>