DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 99|回复: 0
打印 上一主题 下一主题

基于FPGA的线阵CCD驱动时序电路的设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 14:58:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
O 引 言??? 电荷耦合器件(Charge Coupled Deviees,CCD)是一种图像传感器,它在工业、计算机图像处理、军事等方面都得到广泛的应用。目前CCD的应用技术已成为集光学、电子学、精密机械与计算机技术为一体的综合技术,在现代光子学、光电检测技术和现代测试技术领域中起到了相当大的作用。因此,CCD的作用是不可估量的。然而,CCD要正常工作是要驱动时序的,虽然有些CCD往往自带驱动,但是在特殊需要或需要加特殊功能时,CCD驱动往往需要自己设计,例如曝光时间可调等功能。??? 现场可编程门阵列(Field Programmahie Gate Array,FPGA)是在PAL,GAL,EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。??? 由于FPGA具有易修改,在线编程等特点,可根据不同要求进行在线配置,从而升级方便。另外由于FPGA集成度高,可将系统的部分或全部功能集成在一片芯片上,可减小系统硬件复杂度。2 CCD工作原理和特性参数??? TCDl500C是一种高灵敏度、低暗电流、5 340像元的线阵CCD图像传感器,其像敏单元大小是7μm×7μm×7μm;相邻像元中心距也是7μm;像元总长是37.38 mm。其驱动时序图如图1所示。TCDl500C在驱动脉冲作用下开始工作。

由图1可知,CCD的一个工作周期分为两个阶段:光积分阶段和电荷转移阶段。在光积分阶段,SH为低电平,它使存储栅和模拟移位寄存器隔离,不会发生电荷转移现象。存储栅和模拟移位寄存器分别工作,存储栅进行光积分,模拟移位寄存器则在驱动脉冲的作用下串行地向输出端转移信号电荷,再由SP进行采样和保持,最后由0S端分别输出。RS信号清除寄存器中的残余电荷。在电荷转移阶段SH为高电平,存储栅和模拟移位寄存器之间导通,实现感光阵列光积分所得的光生电荷势阱中,此时,输出脉冲停止工作,输出端没有有效电荷输出。由于结构上的安排,OS先输出13个虚设像元信号,再输出45个哑元像元,然后再输出5 340个有效像元信号,之后再是12个哑元信号,输出1个奇偶检测信号,以后便是空驱动(空驱动的数目可以是任意的)。2 芯片的选择以及设计平台概述??? FPGA选择的是ALTERA公司的FLEXl0K系列的EPFllOKlOLC84一4,他是一款典型在线可编程FPGA器件。??? 设计选择的平台主要是Modelsire。Modelsim仿真工具是Model公司开发的,它支持Verilog DHL,VHDL以及他们的混合仿真,可以将整个程序分布执行,使设计者直接看到它的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比Quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。仿真都正确无误后再用QuartusⅡ软件来综合和下片。本程序采用Verilog硬件描述语言编写,其可移植性和可读性都好。
                          
                       
                          
                                3 CCD驱动时序的设计和实现??? 由图1所示,其设计方法是:在系统最佳工作频率下,通过基本计数单元产生CCD工作所需的波形,保证CCD正常工作。根据TCDl500C的技术手册,可以看出时钟φ为典型值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光积分时间的智能控制。部分实现程序如下:

?编译后最后得到的仿真波形结果如图2所示。

4 结 语??? 本文实际采用Modelsim开发系统实现编程和测试程序的编写,内部模块采用Verilog硬件描述语言编写,完成了时序电路的设计和实现,并测试无误后下载到FPGA上,产生CCD驱动,输出结果十分理想。不仅简化了电路设计,提高可靠性,而且提高了研发速度。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-3 14:09 , 耗时 0.265379 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表