基于FPGA-SPARTAN芯片的CCD的硬件驱动电路设计
时间:2023-09-29 10:33来源: 作者: 点击: 次驱动电路的实现是应用技术的关键问题。以往大多是采用普通数字实现驱动电路,外围电路复杂,为了克服以上方法的缺点,利用VHDL硬件描述语言.运用FPGA技术完成驱动时序电路的实现。该方法开发周期短,并且驱动信号稳定、可靠。系统功能模块完成后可以先通过计算机进行仿真,再实际投入使用,降低了使用风险性。
1 硬件设计
CCD的电路系统的核心器件是SPARTAN系列XC3S50;CCD采用Atmel公司的CCDTH7888A图像传感器;CCD驱动脉冲由XC3S50提供,脉冲信号产生后由驱动模块对脉冲电压进行变换使其符合TH7888A的驱动电压要求。CCD像素输出电压经过A/D转换模块处理电路VSP2272的处理得到数字信号,最后为了方便传输和方便后续模块对数字信号的处理将数字信号由TTL电平转换成LVDS电平进行输出,整个系统如图1所示。
1.1 TH7888A简介
CCD图像传感器采用THOMSON公司生产的TH7888A。它是一种高性能的帧转移面阵CCD器件,采用四相脉冲驱动工作,并提供电子快门的功能;同时,它具有2种输出的模式:单路输出和双路输出。其主要的性能参数如下:
光敏区和存储区均为1024×1024像素;速度可以达到30 images/s以上;像元尺寸为14 mm×14 mm;感光区面积为14.34 mm×14.34 mm;光谱波长范围在400~700 nm之间;像元输出频率为20 MHz。
1.2 XC3SC50简介
XC3S50属于XILINX公司SPARTAN3系列的FPGA(现场可编程逻辑门阵列),是一种高性能器件,其特点是:器件运用90 μm加工技术;具有高性能低功耗的特点;逻辑密度达1 728个可用门;3路电源供电即I/O端口供电为1.2~3.3V,核心供电1.2V,辅助功能供电2.5V;带有2 KB容量分布式RAM和7KB容量的BLOCK RAM,高级的逻辑时钟管理功能。Ahera公司QuartusⅡ开发系统提供应用设计支持。
2 软件设计
CCD驱动时序用VHDL描述。VHDL是可以描述硬件电路功能、信号连接关系的语言,其具有比电路原理图更有效地表示硬件电路的特点。由于它与硬件电路无关等优点,用来设计电路时可大大提高开发效率。
由芯片的结构可以知道,CCD的1个周期分成感光和转移2个阶段,如图2所示。
感光阶段即A的上升沿阶段,主要实现3个功能:感光阵列的电荷积累,帧存储区到转移寄存器的电荷转移以及转移寄存器向输出放大器的电荷输出(即行转移);转移阶段即A的下降沿阶段,主要完成感光阵列所积累的电荷向帧存储区的转移(即帧转移),同时清空帧存储区的无效电荷。其具体的工作过程分析如下: