时间:2024-05-04
袁金凤 陈文艺 李 凯
摘 要:CCD在现代光电子学、精密仪器等方面的作用是不可估量的。在特殊需要或加特殊功能时,驱动时序往往需要自己设计。以TOSHIBA公司的线阵CCD器件TCD1500C为例,通过研究CCD的工作特性和时序电路波形图,用FPGA来设计驱动时序,使之达到应用要求。并通过改变时钟频率或增加光积分周期内的时钟脉冲数,从而改变光积分时间。
关键词:CCD器件;时序电路;驱动;光积分时间
中图分类号:TP333.5+3文献标识码:B
文章编号:1004-373X(2009)03-160-03
Design of the Driving Time Sequence Circuit of Linear CCD Based on FPGA
YUAN Jinfeng,CHEN Wenyi,LI Kai
(Xi′an Institute of Post &Telecommunications;,Xi′an,710061,China)
Abstract:CCD is used in modern photoelectronics,precision instrument and many aspects.Usually,the driving time sequence is designed under special condition or special uses.This paper takes linear CCD device TCD1500C as example,by researching the character of CCD and sequence circuit waveform,designs driver circuit waveform that uses FPGA and enables it to meet the application requirements.By changing the clock frequency or increasing the cycle-integral number of clock pulses,thus changing optical integration time.
Keywords:CCD device;time sequence circuit;driver;optical integration time
0 引 言
电荷耦合器件(Charge Coupled Devices,CCD)是一种图像传感器,它在工业、计算机图像处理、军事等方面都得到广泛的应用。目前CCD的应用技术已成为集光学、电子学、精密机械与计算机技术为一体的综合技术,在现代光子学、光电检测技术和现代测试技术领域中起到了相当大的作用。因此,CCD的作用是不可估量的。然而,CCD要正常工作是要驱动时序的,虽然有些CCD往往自带驱动,但是在特殊需要或需要加特殊功能时,CCD驱动往往需要自己设计,例如曝光时间可调等功能。
现场可编程门阵列(Field Programmable Gate Array,FPGA)是在PAL,GAL,EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
由于FPGA具有易修改,在线编程等特点,可根据不同要求进行在线配置,从而升级方便。另外由于FPGA集成度高,可将系统的部分或全部功能集成在一片芯片上,可减小系统硬件复杂度。
2 CCD工作原理和特性参数
TCD1500C是一种高灵敏度、低暗电流、5 340像元的线阵CCD图像传感器,其像敏单元大小是7 μm×7 μm×7 μm;相邻像元中心距也是7 μm;像元总长是37.38 mm。其驱动时序图如图1所示。TCD1500C在驱动脉冲作用下开始工作。
由图1可知,CCD的一个工作周期分为两个阶段:光积分阶段和电荷转移阶段。在光积分阶段,SH为低电平,它使存储栅和模拟移位寄存器隔离,不会发生电荷转移现象。存储栅和模拟移位寄存器分别工作,存储栅进行光积分,模拟移位寄存器则在驱动脉冲的作用下串行地向输出端转移信号电荷,再由SP进行采样和保持,最后由OS端分别输出。RS信号清除寄存器中的残余电荷。在电荷转移阶段SH为高电平,存储栅和模拟移位寄存器之间导通,实现感光阵列光积分所得的光生电荷势阱中,此时,输出脉冲停止工作,输出端没有有效电荷输出。由于结构上的安排,OS先输出13个虚设像元信号,再输出45个哑元像元,然后再输出5 340个有效像元信号,之后再是12个哑元信号,输出1个奇偶检测信号,以后便是空驱动(空驱动的数目可以是任意的)。
2 芯片的选择以及设计平台概述
FPGA选择的是ALTERA公司的FLEX10K系列的EPF10K10LC84-4,他是一款典型在线可编程FPGA器件。
设计选择的平台主要是Modelsim。Modelsim仿真工具是Model公司开发的,它支持Verilog DHL,VHDL以及他们的混合仿真,可以将整个程序分布执行,使设计者直接看到它的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比Quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。仿真都正确无误后再用Quartus Ⅱ软件来综合和下片。本程序采用Verilog硬件描述语言编写,其可移植性和可读性都好。
3 CCD驱动时序的设计和实现
由图1所示,其设计方法是:在系统最佳工作频率下,通过基本计数单元产生CCD工作所需的波形,保证CCD正常工作。根据TCD1500C的技术手册,可以看出时钟Φ为典型值0.5 MHz时,占空比为1∶1;输出复位脉冲ΦRS为1 MHz,占空比为1∶3,采样保持脉冲ΦSP=1 MHz,脉冲宽度为100 ns。根据所给出的时序关系图可以得到转移脉冲ΦSH,时钟Φ,复位脉冲RS,采样保持脉冲SP等控制信号的时序图。由于1个ΦSH周期中至少要有5 411个Φ脉冲,即TSH>5 411T。由此可知,改变时钟频率或增加光积分周期内的时钟脉冲数,就可以改变光积分时间。即通过积分时间控制信号A1,A2,A3控制积分时间的改变;000~111分别控制8档积分时间变换。000时间最短,111时间最长,可以通过软件动态设置积分时间,实现CCD光积分时间的智能控制。部分实现程序如下:
always @ (posedge CLK_20M or negedge RESET)
begin
if(~RESET)
rs_count <= 5′h00;//复位信号计数器
else if(rs_count == 5′h13)
rs_count <= 5′h00;
else
rs_count <= rs_count + 1′b1;
end
always @ (posedge CLK_20M or negedge RESET)
begin
if(~RESET)
RS <= 0;
else if(rs_count == 5′h0E)
RS <= 1;
else if(rs_count == 5′h13)
RS <= 0;
end
编译后最后得到的仿真波形结果如图2所示。
4 结 语
本文实际采用Modelsim开发系统实现编程和测试程序的编写,内部模块采用Verilog 硬件描述语言编写,完成了时序电路的设计和实现,并测试无误后下载到FPGA上,产生CCD驱动,输出结果十分理想。不仅简化了电路设计,提高可靠性,而且提高了研发速度。
参考文献
[1]常磊,李国宁,金龙旭.基于FPGA的全帧型面阵CCD驱动时序设计[A].2006年国防光学及光电子学学术研讨会暨中国兵工学会光学专业委员会成立25周年年会论文集 [C].2006.
[2]管立新,沈保锁,柏劲松.帧同步系统的FPGA设计[J].微计算机信息,2006,22(9Z):177-178,223.
[3]王庆有.CCD应用技术[M].天津:天津大学出版社,2000.
[4]周奇勋,王勉华,乐春峡.基于FPGA的VHDL语言设计优化[A].中国仪器仪表学会第五届青年学术会议论文集 [C].2003.
[5]常丹华.一种新的CCD外围电路设计方法[J].传感器技术,2001,20(6):32-34.
[6]赵春晖,刘会,梁刚键.基于CPLD和VHDL的一种线阵CCD驱动时序电路的设计与实现[J].应用科技,2005,32(11):4-6.
[7]李敏杰,李云飞,司国良,等.基于FPGA的一种长线阵CCD驱动时序电路设计[A].2006年国防光学及光电子学学术研讨会暨中国兵工学会光学专业委员会成立25周年年会论文集 [C].2006.
[8]郭晏强,熊莉英.利用Handel-C和VHDL语言设计FPGA应用[A].第九届全国青年通信学术会议论文集 [C].2004.
[9]孙钊,高爱华,田爱玲.线阵CCD测径装置的设计[J].应用光学,2003,24(2):31-33.
[10]赵光兴.CCD检测衍射条纹的数据处理[J].仪表技术与传感器,2001(4):42-43.
[11]俞明,吕岩,李庆辉.线阵CCD的应用[J].辽宁师专学报,2000(4):90-92.
[12]郑贵林,陈思.基于CPLD技术的CCD驱动电路的设计[J]仪器仪表用户,2006,13(3):80-82.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!