文献标识码: A
文章编号: 0258-7998(2013)12-0055-03
电荷耦合器件CCD(Charge Coupled Devices) 可以将光信号转变为电信号,在一定的驱动信号匹配下,实现图像的获取、传输和存储。因其具有尺寸小、精度高、功耗低、寿命长等优点,被广泛应用于图像传感和现代测量领域。只有各种驱动信号与CCD合理配合才能充分达到CCD良好的光电转换特性要求,输出高质量的图像,因此驱动电路的设计就成为CCD能否广泛应用的关键所在。但现阶段不同类型CCD芯片的驱动时序要求也不同,目前一般是用单片机或者直接数字电路驱动方法产生, 其缺点是装配调试工作量大, 投资较多。另外特定的CCD必须由特定的时序驱动信号,这就使CCD的驱动电路很难得到规范化和产品化。因此,快速且方便地设计出CCD驱动电路并将其通用化和产品化,将成为CCD应用技术中的关键[1]。
1 CCD驱动电路简介
CCD驱动电路的作用是产生保证CCD器件正常工作的转移信号、传输信号、采样保持信号和复位信号等。其中复位信号的作用主要是实现光敏单元、移位寄存器、放大输出栅及A/D所需的清零信号;转移脉冲信号主要包括水平转移信号和垂直转移信号,即在正确的转移脉冲的作用下要能够使电荷按照一定的时序从存储区转移到水平移位寄存器中,然后再转移到输出端。
1.1 现状分析
当前CCD驱动电路设计存在的问题:(1)不同类型CCD芯片对于驱动电路的要求也不一样,这增加了设计驱动电路的难度;(2)针对特定CCD设计专用的驱动电路,设计周期长且很难做到规范化和产品化;(3)目前CCD驱动电路一般是用单片机或直接数字电路驱动方法产生, 这些方法的缺点是装配调试工作量大, 投资成本较高。
因此,假如能找出各种CCD驱动时序的异同点,将其整合在同一块芯片中,仅仅通过改变软件设置就可以应用在不同的CCD中,就可以大大节约芯片设计时间和成本,为设计CCD驱动电路芯片提供新思路。
1.2 两种线阵CCD的结构分析
针对普通线阵CCD-TH7834C和TDI型CCD-IT-EA-4096,对其驱动信号和结构进行分析,找出结构和时序的异同点,设计一个可配置通用的线阵CCD驱动电路。
1.2.1 普通线阵TH7834C
TH7834C为线阵CCD,通过分析其芯片引脚功能和主要时序可以看出,当给定外部信号CLK、复位信号RESET、同步信号SYN时,需要按照时序要求产生出移位控制信号和曝光控制信号。因此,TH7834C控制原理图中应该包括寄存器模块、串口模块、移位控制信号产生模块和曝光控制信号模块,如图1所示。
1.2.2 IT-EA-4096
通过分析IT-EA-4096芯片引脚功能和主要时序可以看出,当给定外部信号CLK、复位信号RESET、同步信号SYN时,需要按照时序要求产生出水平控制信号和垂直控制信号。因此,IT-EA-4096控制原理图中应该包括寄存器模块、串口模块、水平控制信号产生模块和垂直控制信号模块,如图2所示。其工作过程是:首先要根据配置寄存器中的信息产生相应的复位信号,然后再产生水平和垂直控制信号,使控制信号通过移位寄存器输送至放大端并输出。
1.3 可配置通用线阵CCD驱动电路的结构分析
从以上两种典型线阵CCD的分析中可以看出,所有线阵CCD驱动时序从总体上都可以划分为垂直转移时序和水平转移时序。本设计中是由中间信号Syn/P来区分,垂直信号与水平信号都以Syn/P为同步基准设置构造出各自时序,步骤如下:
(1)生成中间信号,通过设置行同步时间、垂直转移周期(如果是外同步还要设置垂直推移时间)在整体上划分开垂直转移区间与水平转移区间。
(2)生成LF0~LF7信号,以内同步的基准在垂直转移区间构造低频垂直转移信号。对于IT-EA-4096有CI1、CI2、CI3、TCK信号,对于TH7834无此类信号。
(3)生成HF0~HF7信号,以内同步的基准在垂直转移区间构造线阵CCD的高频水平转移信号。
根据上述两种CCD的控制需求,最终目的是设计一个可配置的通用CCD驱动电路,它主要由复位序列模块、内同步产生模块、曝光控制模块、水平转移模块、寄存器组模块和I2C模块构成,电路结构如图3所示。在外部时钟和同步信号的作用下,根据内部控制寄存器的设置,产生相应的垂直转移脉冲、水平转移脉冲和曝光控制等信号。内部控制寄存器的设置可以上电加载E2PROM数据,也可以通过I2C等串口在线调整[2]。
2 可配置通用线阵CCD驱动电路的实现过程
在详细分析各功能模块的基础上用Verilog进行硬件模块描述,然后利用ModelSim工具进行功能仿真及系统仿真,并采用SMIC 0.18 μm CMOS工艺库,利用Synopsys的Design Compiler工具在一定的约束条件下进行逻辑综合,用Prime Time工具在综合后进行了静态时序分析,最后利用Astro工具进行了版图设计和DRC、LVS版图验证[3]。
2.1 可配置通用线阵CCD驱动电路的结构分析
以复位模块为例,主要从输入、输出、作用、配置表和时序图几个模块来说明。此模块的输入主要有时钟和清零信号,其作用是使能信号并且控制焦面其他器件的上电顺序;输出主要为芯片输出使能信号、上电复位信号和其他芯片输出控制信号。具体配置如表1所示。
2.2 可配置的通用线阵CCD的前端设计
对各模块进行功能仿真后,经分析可看出均已达到IT-EA-4096和TH7834C的时序要求。同时还要进行系统仿真[4],才能保证系统的功能是正确的,图4所示为仿真结果。
2.3 可配置的通用线阵CCD的逻辑综合
在本设计中采用SMIC 0.18 μm CMOS工艺库,利用Synopsys的Design Compiler工具在一定的约束条件下完成了逻辑综合,同时考虑到本设计的规模和综合的时间等多方面因素,选择自顶向下(top-down)综合策略。经过逻辑综合后,分别得到面积报告及分析、时序报告及分析、功耗报告及分析,DC功耗报告如图5所示。可得到动态功耗为7.392 2 mW,初步综合结果均达到设计要求。然后导出门级网表和SDC(Synopsys Design Constraints)文件,这些文件将在后面的版图设计中用到。门级网表可以提供整个设计的结构信息,SDC文件可以为后面的Astro版图设计提供时序约束文件。
2.4 基于Astro的版图设计
经过逻辑综合和静态时序分析之后,检查并确认设计满足要求,再进行版图设计。本设计中主要采用Synopsys公司的Astro工具进行版图设计,通过设计与时序规则的设定、版图规划、布局、时钟树综合、自动布线、DFM步骤后,可将前端设计得到的门级网表文件转化成为物理版图,并经过DRC及LVS验证。
2.5 静态时序分析
采用Synopsys公司的PrimeTime对该设计进行静态时序分析。本设计中主要在版图设计之前做一次静态时序分析,此时还没有具体的连线延时信息,只能通过设置线负载模型来处略估算延时。虽然这时的时序分析并不准确,但可以检查建立时间是否满足设计要求。当完成版图设计后,可以通过提取计生参数文件获得更加准确的延时信息,此时再进行静态时序分析就能很好地反应实际电路的工作情况,这时主要检查CLK的建立时间和保持时间是否满足时序要求。经过设计数据读入、工作环境及分析模式设定、STA的约束条件设置、设计检查,最终进行静态时序分析STA后,可以得到STA覆盖率分析报告、布图前STA建立时间报告(Slack=6.039 ns)、布图前STA保持时间报告(Slack=0.940 ns)、布图后STA建立时间报告(Slack=6.250 ns)、布图后STA保持时间报告(Slack=0.978 ns)。可以看出布图前、后关于建立时间、保持时间的静态时序分析都满足设计要求。布图后STA保持时间报告如图6所示。
本文针对两种典型线阵CCD芯片,详细分析了其驱动时序的异同点,提出了设计一款可配置的通用CCD
驱动电路的思想,并通过功能仿真、逻辑综合、静态时序分析、版图设计等环节验证了该设计的可行性,使得CCD驱动电路向规范化和产品化迈进成为可能。
参考文献
[1] 王庆有.CCD应用技术[M].北京:电子工业出版社,2003.
[2] 黄文林,杨光永,胡国清.基于CPLD和Verilog的高精度线阵CCD驱动电路设计[J].科学技术与工程,2012,20(30):52-57.
[3] 汪涛,徐正安.基于FPGA的RISC的设计和仿真[J].微型机与应用,2012,31(15):29-32.
[4] 洪冰心,郑力新.一种基于FPGA的AD9945驱动设计[J].微型机与应用,2011,30(18):23-25.