element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
FPGA
  • Technologies
  • More
FPGA
Forum 基于CPLD的CCD信号发生器的研究
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 0 replies
  • Subscribers 532 subscribers
  • Views 381 views
  • Users 0 members are here
  • 信号发生器
  • ccd
  • cpld
Related

基于CPLD的CCD信号发生器的研究

Flush
Flush over 14 years ago

1 引言

  CCD (Charge Coupled Devices)电荷藕合器件是20世纪70年代初发展起来的新型半导体器件。目前CCD作为光电传感器由于其具有体积小、重量轻、功耗小、工作电压低和抗烧毁等优点以及在分辨率、动态范围、灵敏度、实时传输、自扫描等特性,广泛地应用于摄像 材、气象、航天航空、军事、医疗以及工业检测等众多领域。

  我们需要对CCD相机所获取的大量高速图像数据进行采集、存储,以便做后续处理和应用,而进行这一系列信号处理之前,目标信号的获取及所获信号的质量关系到调试整个相机系统的关键。在调试相机系统时,由于调试的系统总有一些不完善的因素,同时又因为多次的调试也会增加CCD芯片的风险成本,尤其对于比较昂贵的CCD芯片,调试中如若经常使用将会带来损坏的风险,因此在调试过程中对CCD芯片输出信号的分析和模拟就成为一项极其重要的工作。本文设计了一种基于CPLD的可编程宽频、高精度CCD信号发生器。充分利用CPLD 的可编程性,模拟出CCD在各种复杂环境下的采集信号,同时满足系统对波形和时序的要求, 输出信号频率达到11MHz。

  2 分析CCD 输出信号的特点

  一个 CCD 信号的输出序列由复位脉冲开始,当FET 开关闭合时,图1 中的传感器电容上的电压为初始的参考电压值,这个参考电压值被称为复位馈通电平。经过一定的馈通延迟时间后,这个电压值降低,成为真正的复位电平。此时,FET 开关打开,则像素电荷被转移到这个电容上,相应的改变了电容上的电压值。这个电压值就是参考电平、像素电平以及一些 噪声叠加而成的。当CCD 开始工作读取有效信号时,输出信号在每个复位信号的上升沿时复位,即在输出信号上出现复位干扰脉冲1,然后回到参考电平2,开始读取积分得来的是像元 信号3。实际像素宽度为3 的宽度,1、2、3 的宽度和为一个像素周期,每个像素的信号幅 度为2 和3 的高度差,这些都是CCD 输出信号的重要参数。CCD 输出的信号中包含了较大的直流分量。直流偏置电压是CCD 正常工作所不可缺少的,其值在几伏到十几伏范围内变化,并且只消耗几毫安以下的电流,很容易由稳压电源必要时经电阻或电位器分压以及电容滤波 得到。

image

  图1 CCD输出信号

  3 硬件结构

  整个系统由数字信号发生模块、数模转换模块和输出处理模块3部分构成。选取CPLD以构成信号发生模块,充分利用它的可编程性,构造出CCD在各种复杂环境下的采集数据,同时生成与数据信号相匹配的控制信号,控制下级数模转换模块的工作。数模转换模块接收上级发送过来的数据和控制信号,在控制信号的控制下将数据转换为模拟信号输出。由于该模块的转换输出为电流,所以还需要增加一个转换模块将电流转换为系统所需要的电压信号,同时为了满足系统对信号精度的要求,还需要增加有源和无源滤波电路模块。系统框图如图2所示,晶振作为CPLD的时钟信号(clk)输入,其它的信号均由其产生。

image

  图2系统原理框图

  主要工作分为以下几个方面:

  (1)信号发生模块

  利用 VHDL 语言设计CCD 输出图像信号和时序控制信号,输出信号有模拟出来的数字图 像信号(10 位并行输出)和时序控制信号,主要包括:相关双采样信号,A/D 采样所需时序 脉冲信号,行、场同步脉冲信号等。

  (2)数模转换模块

  将模拟的数字信号经由数模转换器得到模拟信号,高速的数模转换器件一般都是电流查 分输出,因此需要对输出的模拟信号进行后续处理。

  (3)输出处理模块

  对由 DAC 输出的模拟信号,通过运放将其转换为电压输出信号,并进行进一步处理得 到符合要求的CCD 输出信号。

  4 信号发生模块CPLD 的设计

  4.1选择符合要求的CPLD

  本设计采用LATTICE公司的ispLSI1032e CPLD,该芯片共有84个引脚,可用门数达6000 个,192个逻辑单元,可单独配置为输入、输出及双向工作方式,64个通用I/O口,其传输延时为7.5ns,最高工作率高达125MHz,可以满足本设计的要求。该系统要求的输出频率为11MHz的相关双采样形式的CCD信号,并且对信号的时序有着严格的要求,选用66MHz的晶振,作为 CPLD的时钟输入。

  4.2 程序设计

  输出的数字信号要提供给图像传感器的下一级采样系统,符合一定的时序要求,采样所 需时序脉冲信号,输出信号有模拟CCD 输出信号,相关双采样信号,故需要A/D 采行同步脉 冲信号等。信号发生模块CPLD 部分,我们除了需要产生所有的数字信号之外,还需要为下一部分的数模转换模块准备好需要的数据和D/A 时钟时序。

  在利用 VHDL 语言在isp 环境下编程、仿真、调试,得到几幅模拟灰度图像和行、场同 步信号。输出信号有数字图像信号(10 位并行输出),D/A 的时钟信号(clock1)和写信号 (wrt),相关双采样信号,行、场同步脉冲信号等。输入时钟信号(clk)为66MHz,行同步信 号row 用来保证输出像元的同步。

  它的输出作为模拟CCD 数据产生和D/A 转换控制模块的时钟输入。模拟CCD 数据产生模块输出的方波信号ccdout[9..0],经过DAC 变换后,生成CCD 的模拟输出信号。D/A 转 换控制模块生成DAC 的写信号WR 和时钟信号CLK,要求D/A 在数据ccdout[9:0]的一个周 期内采样转换高低电平各一次,需要wrt 和clock1 在ccdout[9..0]的高低电平处分别采样, 为保证clock1 与wrt 信号的相位关系,令wrt 信号在clk 的上升沿变换,clock1 信号在clk 的下降沿变换,这样就产生了我们所需要的数据和控制信号。

  4.3 仿真结果

  本设计实现了采用VHDL硬件编程语言和CPLD产生系统的数据源信号,包括模拟CCD输出的模拟信号产生前的一组数字信号和用于下一级所需要的的控制时序,保证了系统输出信号的速度和相位关系。如图3的仿真波形所示,ccdout[9..0]为模拟的图像信号,shp、shd为相关双采样信号,clock1、wrt为下一级数模转换模块D/A的控制信号。参考脉冲shp和视频脉冲shd在一个像元间隔分别采样一次,最终输出信号为采集到的参考电平与视频电平之间的差值,采用相关双采样技术可以滤除叠加在输出信号上的复位噪声。

image

  图3程序仿真结果

  5 数模转换及输出处理模块

  选用DAC2900Y/250DAC2900Y/250 作为数模转换器,将模拟的灰度图像经数模转换得到的模拟信号。DAC2900Y/250DAC2900Y/250 是TI 公司生产的10 位高速D/A 器件,DAC2900 采用单一电源工作,电源范围为3.3-5V, DAC2900 是电流输出数模转换器,它提供差分电流输出,可支持单端或查分应用。两个输出电流的匹配确保在差分输出结构中提高其动态性能,电流输出可直接与输出电阻相接,提供 两个互补的单端电压输出,也可直接输入变压器。

  DAC2900的模拟信号输出可以采取单端输出方式或者差分输出方式。单端输出方式连接比较简单,但抗噪性能差,所以采取差分输出方式,以尽量减少信号噪声以及电磁的干扰。尤其是采用差分输出方式可以将所有偶次谐波通过正反两个输入信号基本上互相抵消。

  DAC2900芯片资料提供的原理图如图4所示,配置方案的参考公式如下:

image
  图4输出处理电路原理图

  Vref为DAC2900内部+1.25V基准电压,Rset为DAC2900从外部引入的配置电阻值,由公式(1)可知,可以通过设定该电阻值来调节OUTFSI ,由公式(2)得出,从而可以控制电压Vout 的大小。本系统Rset 取值为2K Ω ,可以得到20mA的满量程输出。系统要求转换电压范围为 0-500mV,则输出电阻Rf 取值为25 Ω ,满足系统要求。利用CADENCE软件实现PCB设计,原理图如图5所示:

image

  图5数模转换模块的DXP原理图

  6 提高信号精度

  经过上述的数字的信号生成,数模转换及转换,基本上可以得到所需要的频率为11 MHz 的信号波形。信号上叠加了很多的高频噪声,无法满足下级采样系统对低噪声的要求。因此需要从PCB的布局、布线及器件的配置等多个角度人手,对信号进行改进,把噪声限制在10 mV 以下,主要从以下三方面来提升系统性能,抑制噪声:

  (1)电源滤波部分。电源噪声的危害最大,通过对电源部分增加滤波电路来滤除电源噪声,同时因为大旁路电容可能因谐振而失效,所以在电路板上布置了一些比较小的旁路电容阵列,CPLD器件的每个供电电压管脚都要外接0.1μ ,电容来进行滤波。

  (2)由于系统工作在较高的频率,所以要考虑到信号的完整性问题,即解决信号的反射及信号之间的串扰问题。选取串联端接的方法,并且将匹配电阻尽量靠近信号发送端。同时将设计完成的PCB图导入CADENCE软件进行仿真,确定最佳的串联电阻值,实际系统通过串联匹配电阻后,信号的过冲和振铃现象得到了有效的消除。

  (3)增加模拟一阶有源滤波电路。通过示波器发现生成信号上叠加有高频噪声,为了滤除该噪声,选用OPA680放大器构成有源低通滤波电路。通过调节器件参数来改变滤波器的低通频率范围,大大方便了系统调试,有效的滤除了高频噪声。在接插件管脚增加RC低通滤 波电路,实际证明对提高信号质量有一定的改善作用。

  7 结束语

  编译仿真通过后,在顶层用原理图进行综合实现,然后烧入芯片进行实验,并根据实际运行情况,对设计进行改进。如根据实际器件的延时特性.在设计中某些地方插入适当的延 迟单元以保证各时延一致。本设计完成了CCD 输出信号仿真,并给出最终仿真波形。我们对 设计的信号发生器在不同配置数据下的输出信号进行了测试,信号的波形和信噪比都完全能达到系统所要求的性能指标,从而表明该设计方案是行之有效的。

  本文作者创新点:本文设计了一种基于CPLD的可编程高精度CCD信号发生器。充分利用CPLD的可编程性.模拟出满足系统要求的CD信号,输出信号频率达到1IMHZ。

  • Sign in to reply
  • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube