基于CCD图像采集系统毕业设计 联系客服

发布时间 : 星期五 文章基于CCD图像采集系统毕业设计更新完毕开始阅读a1ef32b8951ea76e58fafab069dc5022aaea4607

3.PCB板设计

适当的印刷线路板布线对于整个系统的性能是至关重要的。对于重要的地线、电源线、晶振线和一些信号线,要采用手工布线的方式。

4.频率

高频会产生更多的发射,周期性的信号也会产生发射。在高频的数字系统中,但器件开关时产生电流尖峰信号;在模拟系统中,当负载电流发生变化时也会引发电流尖峰信号[15]。

5.电源

器件开关时,在电源线上会产生瞬态电流,必须衰减和滤掉。高的瞬态电流会导致地和导线发射电压,流经导线的电流变化和电感会导致不必要的压降,减小电感和电流变化可以使该压降降低。

针对上述干扰产生的原因,系统设计中采用了多种抗干扰措施,主要包括如下几点:

(1)合理布局,系统中的模拟电路部分和数字电路部分尽量分开布局,使其中的信号线之间减少干扰。

(2)模拟地和数字地分别连接,并最终在AD芯片处共地,这样的处理巧妙利用了AD芯片自身结构设计中的优势,效果最为理想。

(3)PCB设计中采用手工布线,合理分配信号的走向。尤其是对系统性能影响较大的重要线路,如电源线、地线、晶振线等处仔细布线。

(4)在一些信号线上加上匹配电阻,减小尖峰电流的冲击带来的影响。 (5)在芯片的供电电源和地之间加上合适的电容进行解藕处理。

(6)尽可能地缩短连接导线的长度,这有赖于PCB板布局规划的合理程度。

3.8 本章小结

图像采集系统的硬件设计是系统功能实现的基础,对整个系统的设计成败起着决定性的作用。本章按照图像采集部分、图像处理部分、USB数据传输部分以及其他接口部分,这一划分详细说明了各组成部分具体的硬件实现方案和电路设计,总结了系统设计中的抗干扰措施,并给出了系统整体的电路图。

第4章 CCD图像采集系统软件设计

4.1 CCD图像传感器驱动时序

在CCD的应用中,必须首先解决其驱动时序产生的问题。CCD的驱动时序信号多样、复杂,需要多种电平驱动。此外,只有在合适的驱动时序信号作用下,CCD的信号处理能力、转换效率和信噪比等光电转换特性才能达到其性能的最佳值,输出稳定可靠的视频信号。因此,产生严格精确的CCD驱动时序是成功应用CCD的关键。

面阵CCD的驱动时序的整个工作周期含有两类周期:启动周期和转移周期。启动周期实现残留电荷的清除和感光阵列所积累的电荷向垂直移位寄存器的转移,这也代表着整个CCD工作周期中电荷读出的开始;转移周期则完成电荷从垂直移位寄存器到水平移位寄存器的转移以及水平移位寄存器内的电荷向输出放大器的输出。

4.1.1 启动周期中的驱动时序关系分析

HD是一个引发其它复杂时序的简单控制信号一行同步信号,它控制的是一行图像的电荷信号的输出过程。CLK是该面阵CCD的基准时钟信号,其频率为14.318MHz,其周期T为69.8ns,这也就是整个CCD驱动时序中的基准周期。

在行同步信号HD的作用下,首先,在V1、V2A、V2B、V3的控制下,感光阵列的1050列所对应的1050个垂直移位寄存器都进行一次电荷转移,将之前残留下来的电荷彻底清除,为紧接着的下一步做好准备;然后,V2A、V2B形成一个时间长度为50个基准周期T的读出时钟脉冲,并以此脉冲来启动感光阵列所积累的电荷向其每列所对应的垂直移位寄存器的转移。各个驱动时序信号的脉冲时间长度均按驱动时序中要求,而且整个启动周期,也即一个HD信号的周期T1与基准周期T之间满足:T1=1790T。

4.1.2 转移周期中的驱动时序关系分析

CLK就是前面已经提到过的基准时钟信号;SUB,衬底选通信号,接通垂直移位寄存器和水平移位寄存器之间的通道,使得垂直移位寄存器中的电荷信号能够顺利转移到水平移位寄存器中;RG,重置门信号,在输出一个电荷信号之前,清除水平移位寄存器中的残余电荷,将输出放大器的电荷探测端复位到参考电平,其频率直接决定CCD电荷信号输出的频率。

转移周期中的驱动时序关系分析如下:依然在行同步信号HD的作用下,首 先是在H1、H2保持为一低一高反相电平的情况下,水平移位寄存器中形成了一个个可以保存电荷的势阱。与此同时,在启动周期后期中从感光阵列转移到每个垂直移位寄存器中的一列电荷,在V1、V2A、V2B、V3的控制下,由上向下移动一位,并且SUB选通信号也配合着上述四个信号出现一个脉冲,将垂直移位

寄存器和水平移位寄存器之间的通道接通,这样,每列电荷中的一个电荷就从垂直寄存器转移到水平移位寄存器中与之相对应的势阱中。并且,为了使得电荷信号尽量充分转移到势阱中,H1、H2的电平保持时间要明显长于垂直移位寄存器中电荷转移一位所需要的时间。至此,面阵CCD的一行感光像元所积累的电荷就经过垂直移位寄存器转移到了水平移位寄存器中。接下来,H1、H2以同基准时钟信号CLK相同的频率做脉冲信号,其中,H1与CLK同相,而H2与CLK反相。这就使得它们控制下的水平移位寄存器由右向左地将其中的一行电荷信号一位一位地移出,一个H1、H2周期对应着移出一个电荷。同时,RG信号也配合着H1、H2残余电荷,以相同的频率,在水平移位寄存器移出每一个电荷之前,清除其中的将输出放大器的电荷探测端复位到参考电平。下降沿,一行电荷信号中的一个就从水平移位寄存器移出这样,在H2信号每个经过输出放大器得到输出信号,直到一行电荷信号全部输出,一个转移周期结束。接着是下一个转移周期,再输出一行CCD的感光像元所积累的电荷。以此类推,直至所有行都输出完毕。

类似地,CCD就可以在驱动时序信号的作用下,将其采集到的图像信号一行行地从垂直寄存器转移到水平寄存器,然后再一个个地输出。CCD上的 1040行电荷信号都如此输出后,由CCD所采集的一幅图像的输出也就完成了。

4.2 驱动时序实现

一般以往的情况下,CCD的驱动会采用普通数字电路芯片驱动、EPROM驱动或者MCU驱动来实现。普通数字电路芯片驱动法,成本低,设计简单,但是电路集成度低,调试困难,并且器件延时较大。EPROM驱动法,结构简单,调试方便,但是电路所占面积仍然较大。MCU驱动法虽然可实现硬件电路的软件化,但是受其晶振频率的限制,工作频率较低,而且还存在资源浪费较多的缺点。近些年来,随着半导体技术的进步,CPLD因其在集成度、速度、稳定性、设计周期、开发灵活度等方面的优势,成为数字应用领域的首选。由于CPLD具有可擦除、可编程能力,电子电路设计完成之后,如果因某些原因要进行设计修改时,只需将其内部逻辑电路重新编程即可,不用在硬件上进行修改,更不需要重新设计PCB。这些特点都有利于设计开发[16]。

本文采用的是将MCU和CPLD相结合的方法来实现CCD的驱动时序。首先将CCD驱动时序中所涉及的驱动信号按以下原则分为两类:第一类是运算量大或者变化在微秒级的信号;第二类是有严格对应关系或者变化为纳秒级的信号。帧同步信号VD和行同步信号HD被归入第一类;CCD驱动时序中除了VD和HD之外的其它信号则都归入第二类。然后据此分类,采用不同的芯片来实现。对于第一类信号,用MCU来实现;第二类信号则由CPLD来实现。选定的MCU芯片MSP43OF149,其工作频率可以满足第一类驱动时序信号的要求。MCU产生VD和HD信号后,再将其送入CPLD。CPLD在这些信号的基础上,再产生其他复杂的驱动时序信号。下面将针对MCU和CPLD各自的实

现做具体的说明。

4.2.1 MCU实现部分

MCU要实现的部分包括曝光时间的设定,低频驱动时序信号VD和HD的产生等,其软件流程图如图4-1所示。MCU首先从外部读入曝光时间的设定值,进行一定计算后放入相应的寄存器;然后根据获得的数据发出VD和HD控制信号[17]。

图4-1 MCU实现部分的软件流程图

4.2.2 CPLD实现部分

CPLD负责实现上述面阵CCD驱动时序中的高频信号,包括V1、V2A、V2B、V3、H1、H2、SUB和RG。为了保证这些信号之间的严格同步,需要将一个外部时钟源信号输入到CPLD中,其产生的所有信号都要以这个外部时钟信号CLK作为基准。同时,这些信号还要受到MCU产生的VD和HD信号的控制。

该部分的面阵CCD驱动时序关系复杂,这使得CPLD的设计规模较大,复杂程度高,很难用常用的原理图输入的方式来实现设计,而必须采用更抽象层次的描述方法,采用自顶向下的设计。Verilog硬件描述语言就可以实现高抽象复杂逻辑的设计,实现硬件设计的软件化。相比与另外一种硬件描述语言VHDL,Verilog语言具有更容易学习和理解的优点。本文就是采用Verilog硬件描述语言来进行CPLD的设计开发,结合Lattice公司与CPLD芯片相配套的专门软件ispLEVER作为开发平台,可实现CCD驱动时序设计的设计输入、设计实现和设计验证三个步骤,开发方便,调试和修改灵活。用Verilog语言来描述面阵CCD的驱动时序关系时,首先要定义驱动时序发生器的输入输出端:3个输入端,即基准时钟信号(CLK),帧同步信号(VD),行同步信号(HD);10个输出端,即前面驱动时序分析时提到的面阵CCD正常工作所需的10个驱动时序信号[18]。CCD驱动时序发生器的逻辑结构如图4-2所示。

图4-2 CCD驱动时序发生器的逻辑结构

CCD的整个驱动时序关系实质上是两重嵌套的循环,设计中采用有限状态机来实现。其工作周期包含两类周期:启动周期和转移周期,这构成一个外循环。整个工作周期中有1个启动周期和至少1059个转移周期,它们之间通过MCU所产生的VD信号联系起来。其中,启动周期大体分为电荷清除、电荷读出到垂直移位寄存器两个阶段,这构成一个内循环。为了精确实现驱动时序信号,该内循环又被细分为0~11共12个状态[19]。同理,转移周期大体分为电荷并行转移到水平移位寄存器、电荷串行输出两个阶段,这也构成一个内循环。该内循环也根据驱动时序关系图被细分为0~7共8个状态。两个循环过程均通过对输入的基准时钟CLK进行分频、计数来控制。