基于CPLD的CCD时序控制设计
- 格式:pdf
- 大小:327.05 KB
- 文档页数:4
收稿日期:2007-04-161 作者简介:赵春雷(1980~),男,吉林省长春市人,讲师,在读硕士研究生.基于CPLD的CCD时序控制设计
赵春雷1 白连红2 徐 澍2(1:吉林建筑工程学院科学研究处,长春 130021; 2:河南省信阳职业技术学院,信阳 464000)摘要:在分析CCD驱动的基础上,以复杂可编程逻辑器件(CPLD)为平台,使用VHDL语言进行硬件描述来完成对CCD的时序驱动及对数据量化、采集的控制设计.关键词:CCD;CPLD;在系统可编程(isp)中图分类号:TP333.5 文献标识码:A 文章编号:100921288(2008)0320093204
DesignonTimingControlofCCDBasedonCPLD
ZHAOChun2lei1,BAILian2hong2,XUShu2(1:DepartmentofScientificResearchJilinArchitecturalandCivilEngineeringInstitute,Changchun 130021;2:XinyangVocationalandTechnicalCollege,Xinyang 464000)Abstract:Timingscheduleshavebeenexaminedindetails,completethedesignoftimingcontrolwithVHDLbaseoncomplexprogrammablelogicdevice(CPLD)asthehardwareplatform.Keywords:CCD;CPLD;ISP
0 前言 电荷耦合器件(CCD)作为一种光电转换器件,具有自扫描、体积小、分辨率高、可靠性好、光谱响应宽等优点,已广泛应用于图像传感、景物识别、非接触测量等领域[1].CCD应用的关键是驱动信号的产生及输出信号的处理.然而,由于CCD的系列种类很多,不同生产商的CCD器件的驱动时序往往是不同的,致使驱动信号的产生,必须根据具体的CCD器件时序要求来设计驱动电路.如何快速、方便地产生CCD驱动电路,已成为CCD应用的关键问题之一.常用的CCD驱动时序的产生方法,有直接数字驱动法、单片机驱动法、EPROM驱动法和专用IC驱动法.单片机驱动方法虽调节时序灵活,但驱动频率较低;EPROM驱动方法结构简单,可结构尺寸太大;专用IC驱动方法对于一些特定的应用场合,如工业测量、传感器等地方,显得灵活性不好;传统的直接数字电路驱动方法虽然可以获得高速的驱动频率,但逻辑设计比较复杂,调试也较为困难[2].笔者探讨了基于CPLD(ALTERA公司ACEX系列EP1K30QC208-3型号)的CCD时序设计方法.为产生CCD驱动时序,此处采用复杂的可编程逻辑器件(CPLD).其包括可编程逻辑宏单元、可编程I/0单元、可编程内部连线三种结构,可以替代几十甚至上百块通用IC芯片.实际上构成一个子系统部件,其集成度远远高于PAL等传统的PLD器件,并在速度上有一定的优势,并且具有系统在线编程能力(ISP)[3].传统的编程技术是将PLD器件插在编程器上编程,而在系统可编程技术(isp)则可不用编程器,直接在用户自己设计的目标系统中或线路板上对PLD器件编程,这就打破了使用PLD必须先编程后装配的惯例,而且,在系统可编程器件不需要编程高压,即可实现在系统可编程.电路设计完成后,如果想更改逻辑设计, 第25卷 第3期2008年9月吉 林 建 筑 工 程 学 院 学 报JournalofJilinArchitecturalandCivilEngineeringInstituteVol.25 No.3Sep12008 不必再更改任何硬件电路,只需将CPLD内部逻辑重新编程即可[4].因此非常适合CCD驱动电路的设计、制作、调试和进一步开发、升级.笔者将对这种基于CPLD的时序设计方法在线阵CCD多通道光谱分析仪中的应用作详细介绍.1 基于CPLD实现CCD的时序设计111 线阵CCD多通道光谱分析仪系统组成图1 线阵CCD多通道光谱仪组成结构 线阵CCD多通道光谱仪系统组成结构如图1所示.CCD传感器在驱动脉冲的作用下,接收光信号,进行光电转换,输出模拟信号,因后面的处理电路中要处理的是经过数字量化后的CCD输出信号,在经过A/D量化处理后,输出数字信号,单片机通过RS-232串行总线与PC机通信,完成由PC机发来的命令,采集数字信号经数据缓冲器存入存储器,以备后续处理电路的分析和计算.数据缓冲器是为了解决AD的高速输出和单片机相对低速的采集二者之间速率不匹配而设计的.CCD的时序逻辑由信号发生器产生,主要功能是产生CCD驱动信号、AD器件和缓冲器的信号时序,在单片机的控制下完成对缓冲器的复位、写操作功能.112 系统时序分析
图2 CCD驱动脉冲时序关系 在该设计中,器件选用TCD102C型线阵CCD和XRD4460专用视频处理AD芯片.TCD102C型CCD典型工作频率为1MHz,因其为12V驱动,而CPLD产生的驱动脉冲为TTL电平,不满足其工作要求,所以先产生反相CCD驱动信号,经过EL7212CN驱动器后,输出给CCD器件.SH转移脉冲至少要维持2084个像素时钟.图2为CCD驱动脉冲时序关系[5].CCD输出信号的噪声主要有光子散弹噪声、暗电流噪声、
图3 相关双采样时序图输出放大器产生的复位噪声.其中,对输出信号影响最大的是复位噪声(亦称KTC噪声).
若要后面的处理电路能够正确得出处理数据,就要先得出正确的CCD输出数字信号.相关双采样是抑制复位噪声常用的方法.CCD视频信号是周期模拟信号,每一像素时钟周期起始于复位脉冲的上升沿,相关双采样法最重要的就是如何调整两次采样同一像素时钟周期内CCD输出信
图4 数据缓冲器写信号时序号的时间,才能够更好地提取视频信号.图3所示为相关双采样时序,SHP和SHD分别采样暗电平和信号电平.CLAMP钳位信号钳位暗像素电平,RSTCCD的时间关系与CCD的RS信号一致[6].由于ADC转换和并行数字的更新需2.5个采样周期,若从复位脉冲的上升沿计算,从视频信号输入到数字视频信号输出共需要4个SHP/SHD时钟周期延迟,所以,在给存储器送行有效信号LVAL信号时要考虑到此影响,否则不仅引起像素整体平移,而且每一行的前后各有4个数据会产生错误.信号发生器接受单片机外触发信号,低电平复位数据缓冲器,信号发生器在下一个行有效信号到来后,开始把AD转换后的数据写入缓冲区.写信号的时序如图4所示[7],由CCD的RS信号和AD器件的SHP决定.在CCD后续电路各器件信号中,都以像素时钟周期为基准,每一像素时钟周期起始于复位脉冲的上升沿,所以各信号逻辑关系由RS来定位.113 设计输入 这里采用的设计输入方式为VHDL.与其它硬件描述语言相比,VHDL具有更强大的行为描述能力,从49吉 林 建 筑 工 程 学 院 学 报第25卷
图5 时序设计方法而决定其成为系统设计领域最佳的硬件描述语言;VHDL丰富的仿真语句和库函数,使得在任何大系统的早期设计(即尚未完成),就能验证设计系统的功能可行性,随时可对设计进行模拟仿真;VHDL语句的行为描述能力和程序结构,决定其具有支持大规模设计的分解和已有设计的再利用功能;对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动地根据不同的实现芯片,把VHDL描述设计转变成门级网表[8].该方式突破了门级设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开发成本;由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变原程序条件的情况下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构.图5为本系统时序设计原理,在CCD一个转移脉冲SH周期中含有多个(一般以千计)移位时钟,在一个移位时钟中,各路信号在不同的时刻发生变化.所以对于整个时序的设计,主要采用分频和计数的方法来实现.时序脉冲可以用两个参数描述:①脉冲宽度(描述时序脉冲形状的参数,包括高电平宽度和低电平宽度);②相位差(各个脉冲之间的相位关系).根据CCD手册和AD器件的手册,依照各信号的参数选择晶振,本例中通过类属描述语句GENERIC(CONSTANTN:INTEGER:=1042);通过对CCD驱动脉冲φ1,φ2计数来实现积分时间可调.114 isp器件设计流程
图6 系统逻辑功能仿真波形 基于isp器件CCD的时序逻辑设计流程包括下列步骤:设计输入,设计实现,器件编程,设计校验.设计输入:首先按CCD时序信号发生器的原理将其分成几个逻辑关系层,利用模块化的设计方法,对各部分逻辑关系使用原理图和硬件描述语言混合进行描述.设计实现:从设计输入文件到熔丝图文件的编译实现.包括逻辑、合并、映象、布局、布线、生成编程数据文件(JEDEC).使用软件的引脚锁定功能,将信号连接在制定的引脚上可以方便设计,所有布局布线过程均可自动完成.器件编程:将设计阶段生成的JEDEC文件(熔丝图)装入(Download下载)到器件中.ispLSI的编程和改写由片内的状态机控制,状态机的输入即为片内的5个编程信号.设计校验:设计校验过程与设计过程是同步进行的,针对设计输入、设计实现和器件编程,设计校验可以分为前仿真、后仿真和实验验证三个部分.在设计输入阶段,进行的功能仿真验证逻辑功能,所以又称功能仿真
;后仿真又叫时延仿真,是在选择了具体器件并完成布局布线后进行的定时关系仿真.2 结语 通过实验证明,该设计合理,能够满足系统要求及正常工作.时序电路中的CPLD,除提供需要的信号外,仍然保留部分引脚和功能模块,以备今后信号驱动时序电路进一步改进和增加新的功能需要,而且,这种以CPLD作为时序信号发生器可以节省PCB的面积.系统可编程打破了传统的可编程逻辑器件的局限,使得在软件设计环境中,使用VHDL对CCD时序设计进行描述,实现硬件设计的软件化,从而缩短了系统的调试周期.在电路设计完成以后,如果要增加或减少某些功能或者更改逻辑设计,则可在不改变任何硬件的情况下,只对CPLD内部逻辑重新编程,就可实现驱动器的更新换代.59 第3期赵春雷,白连红,徐 澍:基于CPLD的CCD时序控制设计参 考 文 献 [1] 王庆有1图像传感器应用技术〔M〕1北京:电子工业出版社,20031 [2] 张金凤,王海涌,申功勋1用CPLD实现线阵CCD的驱动〔J〕1测控技术,2005,24(5):76-781 [3] 谷东兵1CCD驱动信号的几种产生方法〔J〕1传感器技术,1992(6):50-521 [4] 黄正瑾1在系统编程技术及其应用〔M〕1南京:东南大学出版社,19971 [5] TOSHIBA公司线阵CCD数据手册〔s〕1http://www.toshiba.com1 [6] EXAR公司XRD4460数据手册〔s〕1http://www.exar.com1 [7] IDT公司FIFO数据手册〔s〕1http://www.idt.com1 [8] 曾繁泰,陈美金1VHDL程序设计〔M〕1北京:清华大学出版社,20011