线阵_CCD_驱动的FPGA时序设计
基于FPGA的线阵CCD的驱动程序的设计

南京理工大学毕业设计说明书(论文)作者: XX 学号: 080403227系:电子工程与光电技术系专业: 电子科学与技术题目: 基于FPGA的线阵CCD驱动教授指导者:(姓名) (专业技术职务)评阅者:(姓名) (专业技术职务)2012 年 5 月南京理工大学紫金学院毕业设计(论文)评语学生姓名:班级、学号:080403227题目:基于F P G A的线阵C C D驱动综合成绩:毕业设计(论文)评语毕业设计说明书(论文)中文摘要毕业设计说明书(论文)外文摘要目次1 引言 (1)1.1国内外研究现状及发展趋势 (1)1.2课题研究的背景和意义 (2)1.3本设计的研究及设计内容 (3)2 CCD (4)2.1CCD简介 (4)2.2CCD基本特点 (5)2.3CCD工作原理 (7)2.4TCD1703C的主要特性 (12)3 FPGA/CPLD (20)3.1FPGA简介 (20)3.2FPGA和CPLD的区别 (21)3.3FPGA和CPLD的特点 (22)4 基于FPGA的线阵CCD的驱动 (23)4.1线阵CCD的结构和工作原理 (23)4.2基于FPGA芯片的时序电路的设计与实现 (24)4.3CCD驱动时序的V ERILOG HDL描述与实现 (25)5 基于QuartusII的仿真 (32)6 实际硬件调试 (35)结论 (41)致谢 (42)参考文献 (43)附录A 程序代码 (44)1 引言电荷耦合器件(Charge Coupled Devices, CCD)是20世纪70年代初发展起来的新型半导体集成光电器件。
近30年以来,CCD器件在图像传感和非接触测量领域的发展迅速。
CCD可把外界待测物体的图像信号转换成电信号,即把入射到CCD光敏面上的按空间位置分布的光强信息,转换为按时间顺序串行输出的视频信号,视频信号可通过软件处理再现原物体的图像。
由于CCD具有自扫描、高分辨、高灵敏、重量轻、体积小、像素位置准确、耗电少、寿命长、可靠性好、信号处理方便、易于与计算机接口等优点,致使CCD光电尺寸测量的使用范围比现有的机械式,光学式,电磁式测量仪优越的多。
基于FPGA的线阵CCD驱动时序电路的设计

基于FPGA的线阵CCD驱动时序电路的设计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。
FPGA控制下面阵CCD时序发生器设计及硬件实现

FPGA控制下面阵CCD时序发生器设计及硬件实现CCD是利用光电转换原理把图像信号转换为电信号,即把一幅按空间域分布的光学图像,转换成为一串按时间域分布的视频信号的半导体元器件。
因其具有体积小、重量轻、功耗低、灵敏度高、工作稳定、寿命长、自扫描和便于同计算机接口等优点,被广泛应用于图像传感和非接触式测量。
CCD应用的关键问题之一,是驱动时序发生器设计。
它直接关系到CCD的信号处理能力、转换效率和信噪比等光电转换特征。
针对Sony公司面阵CCD ICX098BQ的工作原理和驱动时序的要求,给出了驱动时序发生器的具体设计,使用VHDL语言对驱动时序发生器的实现方案进行了硬件描述,采用Quartus II 8.0对所设计的时序发生器进行了功能仿真,在该驱动时序发生器作用下,对Sony公司ICX98BQ 面阵CCD产生的输出信号波形进行了验证。
1 CCD成像系统CCD成像系统如图1所示,目标通过光学系统成像在CCD上。
在偏置电压和驱动脉冲的作用下,CCD完成光电荷的转移、存贮等工作,将光信号转换成具有直流分量的模拟电信号。
形成的模拟电信号经过信号处理器,进行除噪、增益和模数转换后,将数据传输到显示器或计算机上,进行后期处理。
在上述系统中,CCD信号采集模块是关键。
对此,主要对CCD信号采集进行分析。
2 面阵CCD图像传感器驱动时序分析2.1 Sony ICX098BQ型面阵CCDICX098BQ是Sony公司生产的一款1/4英寸(0.635 cm),具有可变电子快门的行间转移型彩色面阵CCD芯片,芯片结构如图2所示。
该芯片灵敏度高,暗电流小,具有较好的抗弥散功能。
ICX098BQ芯片由感光阵列、垂直移位寄存器、水平移位寄存器和输出放大器4个主要部分组成。
要使该CCD芯片正常工作,需要8路驱动时钟来驱动。
分别为4路垂直转移时钟Vφ1、Vφ2A、Vφ2B、Vφ3,控制垂直移位寄存器中的电荷信号向水平移位寄存器移动,其中当Vφ2A和Vφ2B为+15 V高电平时作为读出转移时钟,将感光阵列的信号电荷转移到垂直移位寄存器中;两路水平转移时钟Hφ1、Hφ2,控制水平移位寄存器中的电荷信号向前迁移;复位门时钟RG,使水平移位寄存器中的电荷信号顺利输出,其频率为10 MHz,直接决定CCD电荷信号的水平输出频率并控制曝光量的电子快门时钟φSUB。
FPGA_ASIC-基于FPGA的TDICCD驱动时序设计

基于FPGA的TDICCD驱动时序设计黄美玲 张伯珩 边川平 李露瑶(中国科学院西安光学精密机械研究所,西安710068)摘要在分析TDICCD器件驱动时序关系的基础上,设计了可选积分级数的驱动时序发生器.作为卫星上的有效载荷,TDICCD成像系统可以根据不同的光照条件及探测分辨率的需求,选择不同积分级数,提高成像系统的灵敏度。
选用现场可编程门阵列(FPGA)作为硬件设计平台,使用VHDL语言对驱动时序发生器进行硬件描述,采用QuartusⅡ对所设计的驱动时序发生器进行了仿真。
系统测试结果表明,所研制的驱动时序发生器可以满足TDICCD驱动要求.关键词:TDICCD,时序;现场可编程门阵列(FPGA);中图分类号TN386.5文献标识码A0 引言时间延时积分电荷耦合器件 (Time Delay and Integration Charge Coupled Devices)(TDICCD)是近几年发展起来的一种新型光电传感器。
主要应用在低照度条件下,对低照度目标有很高的灵敏度[1]。
TDICCD通过多级积分来延长积分时间,从而提高器件的灵敏度和信噪比。
TDICCD成像系统一般由CCD感光芯片,驱动时序发生器,逻辑控制单元,信号处理单元以及外部光学成像系统等部分组成,其中关键是驱动信号的产生。
CCD芯片的转换效率、信噪比等光电转换特性只有在合适的时序脉冲驱动下,才能达到器件工艺所规定的最佳值而输出稳定可靠的视频信号。
驱动时序发生器性能的优劣直接决定了CCD相机的品质参数[2]。
本文分析了IT-EC-6144型TDICCD图像传感器芯片的工作过程和对驱动时序的要求,在此基础上设计出合理的时序控制方案.由于目前CCD应用向高速、小型化、智能化方向发展。
可编程逻辑器件(FPGA)以其高集成度、高速度、高可靠性、开发周期短,可满足这些需要,另外可编程逻辑器件可以通过软件编程对其硬件的结构和工作方式进行重构,从而使得硬件的设计如同软件设计那样方便快捷,因此,选用可编程逻辑器件(FPGA)作为硬件设计平台,结合VHDL语言对时序驱动电路进行硬 件描述,采用QuartusⅡ软件对所设计的时序发生器成功的进行了系统仿真。
基于FPGA的线阵CCD驱动时序电路设计

基于FPGA的线阵CCD驱动时序电路设计
1 引言
电荷耦合器CCD具有尺寸小、精度高、功耗低、寿命长、测量精度高等优点,在图像传感和非接触测量领域得到了广泛应用。
由于CCD芯片的转换效率、信噪比等光电特性只有在合适的时序驱动下才能达到器件工艺设计所要求的最佳值,以及稳定的输出信号,因此驱动时序的设计是应用的关键问题之一。
通用CCD驱动设计有4种实现方式:EPROM驱动法;IC驱动法;单片机驱动法以及可编程逻辑器件(PLD)驱动法。
基于FPGA设计的驱动电路是可再编程的,与传统的方法相比,其优点是集成度高、速度快、可靠性好。
若要改变驱动电路的时序,增减某些功能,仅需要对器件重新编程即可,在不改变任何硬件的情况下,即可实现驱动电路的更新换代。
2 CD 1501D CCD工作参数及时序分析
2.1 TCDl50lD CCD工作参数。
基于FPGA的CCD传感器驱动电路设计

基于FPGA的CCD传感器驱动电路设计摘要:对CCD图像采集系统工作原理进行研究并进行驱动电路设计,针对SONY 公司的ICX625AQA帧行间转移双通道CCD,对其工作原理和驱动时序进行详细分析,选用现场可编程阵列(FPGA)为主控单元,采用verilog 硬件描述语言进行驱动程序设计,结合AD9974和CXD3400构建硬件电路,提供高质量低干扰水平和垂直驱动信号,前者同时集成了14位高速AD,进行CCD输出信号模拟前端处理。
关键词:行间转移;FPGA;双输出通道;CCD;电荷耦合器件(CCD)其以高灵敏度、大动态范围、低噪声、功耗低和采样速度快等特点,逐渐成为现代测试技术中活跃的传感器,广泛应用于高精度测量、空间遥感和机器人视觉等领域。
CCD的驱动时序产生方法主要有四种:直接数字电路(IC)驱动法、单片机驱动法、EPROM驱动法和可编程逻辑器件法等。
其中,EPROM驱动法结构简单调试便捷但结构尺寸较大;现场可编程逻辑阵列(FPGA)简单来说就是可反复编程的逻辑器件,在设计完成后可根据需要很方便地对设计进行改进、更新和维护。
采用FPGA进行CCD驱动开发其具有高集成度、高可靠度、短开发周期和调试灵活方便等优势。
1 ICX625AQA结构及特点ICX625AQA是SONY公司的一款行间转移面阵彩色传感器,总像素2536(H)×2068(V),约5.24M像素,其中有效像素2456(H)×2058(V),约5.05M像素,像元尺寸3.45µm(H)×3.45µm(V),有效成像面积86.391mm2。
ICX625AQA具有双输出通道,三种工作模式:全像素扫描输出、4/16行读出和中心扫描输出模式,采用全像素扫描输出模式帧频可达到15帧/秒。
由于采用了SONY公司的Super-HAD CCD技术,具有高灵敏度和低暗电流噪声的有点,同时采用电子快门便于进行曝光时间控制。
fpga时序设计技巧
fpga时序设计技巧(原创实用版4篇)目录(篇1)1.fpga时序设计技巧概述2.fpga时序设计技巧的实现方式3.fpga时序设计技巧的应用场景4.fpga时序设计技巧的未来发展正文(篇1)一、fpga时序设计技巧概述fpga(现场可编程门阵列)是一种可编程逻辑设备,可用于设计各种数字电路。
时序设计是fpga设计中至关重要的一步,它决定了电路的行为和性能。
fpga时序设计技巧是指在fpga设计中运用适当的时序设计方法,以实现高效、可靠的电路。
二、fpga时序设计技巧的实现方式1.正确的时钟设计:时钟是fpga中最重要的时序信号,必须精确设计。
时钟的设计应该考虑到频率、相位和负载能力等因素。
2.正确的设计时钟网络:时钟网络的设计应考虑到时延、反射和同步等问题,以确保时钟信号在整个设计中稳定传播。
3.精确的延迟设计:时序设计中,延迟是非常关键的参数。
在设计时序电路时,需要精确计算和控制信号的延迟。
三、fpga时序设计技巧的应用场景1.高性能计算:fpga可以用于高速、高性能的计算任务,如图像处理、信号处理和人工智能等。
2.实时系统:fpga可以用于实时系统,如航空航天、汽车和军事等领域。
3.定制化设计:fpga可以用于定制化设计,如通信、存储和计算设备等。
四、fpga时序设计技巧的未来发展随着fpga技术的发展,时序设计技巧将更加重要。
未来的fpga时序设计技巧将更加智能化、自动化,以提高设计和生产效率。
目录(篇2)1.fpga时序设计技巧概述2.fpga时序设计技巧的核心要素3.fpga时序设计技巧的应用场景4.fpga时序设计技巧的未来发展正文(篇2)一、fpga时序设计技巧概述fpga(现场可编程门阵列)是一种可编程的硬件设备,可用于快速实现特定的电路设计。
时序设计是fpga开发中的重要环节,通过精确控制时序参数,可以实现高效的电路性能。
在本文中,我们将探讨fpga时序设计技巧的核心要素和应用场景。
基于FPGA的高帧频面阵CCD驱动控制设计
基于FPGA的高帧频面阵CCD驱动控制设计摘要:针对面阵CCD KAI-1020 在高帧频工作模式下的驱动要求,以FPGA 作为控制单元及时序发生器,完成CCD 高帧频工作模式下的硬件及软件设计,仿真验证了驱动时序的正确性,完成了硬件电路的调试与试验。
成像实验表明,该设计满足了CCD KAI-1020 在双端口输出模式下成像的各种驱动控制功能,图像分辨率为1 0001 000,帧频达到48 f/s。
电荷耦合器件CCD (Charge Coupled Device) 自20 世纪70 年代由贝尔实验室发明以来,因其分辨率高、测量误差小等优点,被广泛应用于各种成像仪器中。
CCD 按照成像维数分为线阵与面阵两种类型。
线阵CCD 因其本身只有一维,需要进行推扫才能形成二维图像,主要用于光谱分析与图像扫描等领域;面阵CCD 因其本身就能形成二维图像,而被广泛应用于数码相机、摄像机及工业机器人等领域[ 1]。
面阵CCD 按电荷读出方式又分为全帧转移、帧转移、行间转移三种,其中行间转移CCD 因其不需要机械快门、读出速度最快等优点,一直被作为高帧频CCD 相机的首选。
CCD 的驱动时序产生方法主要有以下四种:直接数字电路(IC)驱动法、单片机驱动法、EPROM 驱动法、可编程逻辑器件法等[ 2]。
近些年来,随着可编程器件的高速发展,FPGA 因其高速并行处理方式,极强的编程灵活性,十分适合用来产生CCD 的驱动时序,加之其能很好地避免其他驱动方式的弊端,因而已经成为CCD 驱动电路的首选。
本文针对功耗体积要求严格的高帧频高分辨率CCD 相机应用场合,选用FPGA 作为高速行间转移CCD的驱动控制,在减小系统体积,降低系统功耗的同时,完成控制任务。
1 KAI-1020 结构及特点KAI -1020 是美国柯达公司生产的行间转移型面阵CCD,总像元数1 028 (H)1 008 (V),其中有效像元1 000(H)1 000(V) ,像元尺寸7.4 m(V)7.4 m(H) ,有效成像面积10.5 mm[ 2-3]。
基于FPGA的线阵型CCD驱动电路设计
基于FPGA的线阵型CCD驱动电路设计∗程瑶;周娜;王荣秀【摘要】CCD驱动电路的设计是实现CCD各种设计功能的关键性因素,只有对其驱动信号设计的严格把关,才会进一步保证CCD器件后续工作的开展。
分析线阵CCD器件TCD1703C的驱动时序要求,采用QuartusⅡ软件,选用Verilog HDL语言设计了各路驱动时序信号。
将程序设计下载到FPGA器件中,通过逻辑分析仪对输出信号进行了波形监测,验证了线阵CCD的驱动时序设计的可行性。
将产生的驱动时序信号接入CCD器件,不同光照入射的条件下,CCD在驱动信号的驱动下,正常工作并输出了相应的视频信号。
%The design of driving circuits is a crucial factor to realize the various design features.Only with the strict driving signals desiging,the CCD devices can perform the further work. TheTCD1703C driver timing requirements for linear array CCD device were analyzed. And the driving signals were designed by usingQuartusⅡsoftware and Verilog HDL. The program was downloaded to the FPGA device,and the output signals’ waveforms were monitored by the logic analyzer. So the feasibility of the time sequence design of linear array CCD was verified. Finally, connecting the driving signals to the CCD device,the CCD was driven by the driving signals,and the corresponding video signal was output under the different illumination conditions.【期刊名称】《电子器件》【年(卷),期】2017(040)001【总页数】5页(P82-86)【关键词】CCD;驱动电路;FPGA;QuartusⅡ;Verilog HDL【作者】程瑶;周娜;王荣秀【作者单位】重庆理工大学机械工程学院,重庆400050;重庆理工大学机械工程学院,重庆400050;重庆工商大学,重庆400067【正文语种】中文【中图分类】TN386.5CCD图像传感器是利用光电转换原理将图像信号转变为电信号,在各领域都得到了广泛的应用,备受人们的广泛关注[1]。
基于Verilog的线阵CCD驱动时序设计
荷全部转移输出。信号的输出 部分包括检测 二极 管、复位场效应管和输出放大器等电路, 为了使信号
脉宽都为 175ns, 这里 实际上用到了状态机的设计 思想, RS_ CP _40M _co unt er 相当于一个 状态寄存
741
光学 技 术
第 36 卷
器。由于对 CCD 芯片设计有严格的时序要求, 所以 在 FP GA 设计时要考虑时钟网络的选取问题, 这里 统一选取 BA NK3 区域的 通用 IO 管脚, 选取 110 脚、108 脚、112 脚、107 脚和 106 脚, 这样对 时钟的 一致性比较有利。
*
74 0
收稿日期: 2010 01 31; 收到修改稿日期: 2010 04 26
E mai l: s kyeyb ook @ 163. com
作者简介: 付天舒( 1977 ) , 男, 讲师, 硕士研究生, 从事非线性信号分析研究。
第5期
司的 Cyclone 系列的 EP2C8Q208C8N 芯片, 其逻 辑单元( L E ) 8256 个, 这款芯片的内部资源比较丰 富, 方便以后设计产品时系统的扩展[ 4, 5] , 本设计的 主要目的是让设计方案有好的移植性, 所以在芯片 选型时, 只要基本逻辑单元数量能满足需要就可以,
第 36 卷 第5 期 2010年9月
光 学技 术
OP T ICA L T ECH N IQU E
Vo l. 36 No . 5 Sep. 2010
文章编号: 1002 1582( 2010) 05 0740 04
基于 Verilog 的线阵 CCD 驱动时序设计 *
付天舒1, 2 , 赵春晖1
( 1. 哈尔滨工程大学 信息与通信工程学院, 哈尔滨 150001) ( 2. 东北石油大学 电子科学 学院, 黑龙江 大庆 163318)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
线阵 CCD 驱动的FPGA时序设计实验组成员:袁航周杰赵宁杨剑波摘要:CCD,英文全称:Charge-coupled Device,中文全称:电荷耦合元件。
可以称为CCD图像传感器。
CCD是一种半导体器件,能够把光学影像转化为数字信号。
CCD上植入的微小光敏物质称作像素(Pixel)。
一块CCD上包含的像素数越多,其提供的画面分辨率也就越高。
CCD的作用就像胶片一样,但它是把图像像素转换成数字信号。
CCD上有许多排列整齐的电容,能感应光线,并将影像转变成数字信号。
由于CCD的转换效率、信噪比等光电特性只有在合适的时序驱动下才能达到设计所规定的最佳值,输出稳定可靠的信号,因此,驱动电路的设计也就成为其应用中的关键问题之一。
关键词:CCD;时序;驱动仿真一、实验设计要求设计一线阵CCD驱动时钟,用一输入的clk,驱动CCD、AD、FIFO组成的整个CCD系统,并要求有一个复位端reset。
二、实验目的本实验主要是设计基于FPGA设计线阵CCD器件复杂驱动电路和整个CCD的电子系统控制逻辑时序的方法,并给出时序仿真波形,通过对线阵CCD驱动电路的时序设计,了解一个系统设计的基本方法,加深了解时序电路的设计方法。
三、实验设备ccd线阵:sonyILX511AD:Analog Devices --- AD9224FIFO:Integrated Device Technology --- IDT7204Cypress --- CY7C460A四、背景介绍AD电路里面的模拟信号转换为数字信号的电路简称AD电路。
FIFO英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。
CCDCCD是以电荷作为信号,而不同于其他大多数器件是以电流或者电压为信号,其基本功能是信号电荷的产生、存储、传输和检测。
当光入射到CCD的光敏面时,CCD首先完成光电转换.即产生与入射光辐射量成线性关系的光电荷。
CCD 的工作原理是被摄物体反射光线到CCD器件上。
CCD根据光的强弱积聚相应的电荷,产生与光电荷量成正比的弱电压信号,经过滤波、放大处理,通过驱动电路输出一个能表示敏感物体光强弱的电信号或标准的视频信号。
基于上述将一维光学信息转变为电信息输出的原理,线阵CCD可以实现图像传感和尺寸测量的功能。
其显著特点是:1.体积小重量轻;2.功耗小,工作电压低,抗冲击与震动,性能稳定,寿命长;3.灵敏度高,噪声低,动态范围大;4.响应速度快,有自扫描功能,图像畸变小,无残像;5.应用超大规模集成电路工艺技术生产,像素集成度高,尺寸精确,商品化生产成本低。
因此,许多采用光学方法测量外径的仪器,把CCD器件作为光电接收器。
五、设计思路:在老师的指导下,我们对要设计的数字系统进行了分析,其设计的框图如下:在上图中我们可以清楚地看到我们需要做的是用一个输入的clk,产生CCD、AD、FIFO所需要的clk,用以驱动它们。
CCD需要两个时钟:rog和clk,AD和FIFO 分别需要一个clk。
芯片的选择: IDT公司的CMOS ASYNCHRONOUS FIFO IDT7203,SONY公司的ILX511系列的CCD和AD9224系列的AD采样器,这三个片子所需要的clk分别为:根据sony公司的ILX511 系列线阵CCD的技术手册可以知道,该类型线阵CCD 的最好工作时钟在2MHz条件下,ILX511CCD线阵共有2086个像元,其中只有2048个像源是有效的。
前面32个和后面6个像元是哑元。
转换时AD不对这部分像元进行采样输出。
AD必须在这2048个像源开始采样,否则会存入FIFO中一些无用的信息。
由上图和技术手册可知ILX511系列线阵CCD,ROG选通脉冲信号和clk信号之间要求,t7要持续5000ns;t9要持续3000ns。
另外由该CCD的转换时序图可以知道,在时钟信号的下降沿进行转换输出。
由AD9224的技术资料可以知道,该型ADC采用流水线结构转换频率高达20MHz的高速12位ADC。
该型ADC是上升沿采样,而且每采样一个数值要延迟3个时钟周期。
AD的输出比输入延迟三个周期,怎样用一个clk协调三个片子进行工作成了我们这次实验的关键。
它的采样时序如下图示:用一计数器count对输入的clk的上升沿进行计数,在CCD的2048个有效像源以前让AD和FIFO的clk一直保持在高电平,当到达有效像源时让AD开始工作,在延时3个周期后,FIFO开始工作,当2048个像源采样完后,AD的clk再次定义为高电平,在延时3个周期后,FIFO停止工作,这样就完成了第一个周期,这时我们再让计数器count清0,继续下一周期工作。
R/ IDT7204是高速静态RAM,其转换时序如下图所示。
RAM的写信号在W信号的上升沿数据写入RAM中。
CCD信号转换前6个时钟周期所有时钟信号均输出高电平,接着ROG输出10个时钟周期的低电平后转换为高电平一直保持到转换结束。
ROG跳变为高电平后经过6个时钟周期后CCD的clk启动为时钟信号。
前面32个时钟周期AD不进行采样输出。
CCD是下降沿输出,AD是上升沿进行采样,可知此时CCD输出最稳定。
AD启动后3个时钟周期RAM将AD的采样信号写入RAM中。
采样完2048个像元后,AD停止采样,RAM再继续写入3个信号。
一次转换结束后所有信号都输出6个时钟周期的高电平。
六、设计代码输入引脚功能:en=0时,芯片输出均为高电平,芯片不可工作;en=1 and clr=1 时,复位输出均为低电平,计数器清零;en=1 and clr=0 时,芯片工作,输出CCD数据采集系统的时序。
Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Entity ccddriver IsPort (clk,clr :in std_logic;rog,ccd,ad,fifo:out std_logic);End ccddriver;Architecture Behavior Of ccddriver IsSignal count:integer range 0 to 2110;Signal rog0,ccd0,ad0,fifo0,rog1,ccd1,ad1,fifo1:std_logic;BeginProcess(clk,clr)BeginIf en=’0’ thenrog0<='1'; ccd0<='1';ad0<='1'; fifo0<='1';rog1<='1'; ccd1<='1';ad1<='1'; fifo1<='1';Elsif clr='1' thencount<=0;rog1<='0'; ccd1<='0';ad1<='0'; fifo1<='0';Elsif clk'event and clk='1' Thencount<=count+1;Case count isWhen 0 to 5=> 启动前面6个时钟先不用rog0<='1';ccd0<='1';ad0<='1';fifo0<='1';When 6 to 15=> 10个时钟周期ORG输出低电平rog0 <='0';ccd0 <='1';ad0 <='1';fifo0<='1';When 16 to 21=> ORG 跳变后,ccd驱动要保持6个时钟周期才能负跳变rog0 <='1';ccd0 <='1';ad0 <='1';fifo0<='1';When 22 to 53=> 前面32个哑元,AD不采样rog0<='1';ccd0<='0';ad0<='1';fifo0<='1';When 54 to 56=> 由于AD是流水线工作,延迟3个时钟周期才输出采样值,Buffer的读入也要延迟3个时钟周期rog0<='1';ccd0<='0';ad0<='0';fifo0<='1';When 57 to 2101=>rog0<='1';ccd0<='0';ad0<='0';fifo0<='0';When 2102 to 2104=> AD停止采样Buffer继续读入三个值rog0<='1';ccd0<='0';ad0<='1';fifo0<='0';When 2105 to 2110=>rog0<='0';ccd0<='0';ad0<='1';fifo0<='1';End case;If count>=2110 thencount<=0;End if;End if;End process;rog<=rog0 and rog1;ccd<=(ccd0 or clk) and ccd1;ad <=(ad0 or clk) and ad1;fifo<=(fifo0 or clk) and fifo1;End Behavior;七、时序图启动时序:转换视图:八、总结通过本次实验,我们了解了线阵CCD工作的方式和原理,并对VHDL语言有了更深入地掌握以及使用其在实践中灵活运用的能力。
在实验过程中,由于对clk时钟脉冲的设置还有仿真结束时间的设置不了解,得不到clk脉冲,而且仿真时间很短,经过老师指导,修改设置后得到正确的波形输出。