基于CPLD的CCD相机图像信号模拟器的设计

2007-06-18 10:53:39来源: 微计算机信息
1 引言

  多年来CCD 器件以体积小、重量轻、功耗小、工作电压低和抗烧毁等优点以及在分辨率、动态范围、灵敏度、实时传输、自扫描等特性,广泛地应用于摄像器材、气象、航天航空、军事、医疗以及工业检测等众多领域。

  在对某多通道高速CCD相机输出图像信号的采集系统设计过程当中,我们需要对此系统在正式使用之前进行调试,来测试它能否正常工作。本文利用CPLD和LVDS严格对CCD相机的输出接口进行了模拟,并且以LVDS方式输出图像信号。

2 相机系统输出接口信号及Camera link 接口

  此CCD 相机最终的输出信号符合camera link 接口标准,每个通道输出3072个像元后,接着输出1024个零电平像元,数据采用LVDS差分输出,每通道的输出信号包括:控制信号:像元时钟DCLK,行同步信号LVAL和外触发信号DTRG;数字图像信号(8位并行输出)DATA。各信号波形大致如图1 所示:


图1

  ·DCLK像元时钟频率为31MHz,由62MHz晶振产生后二分频得到。以LVDS信号输出。

  ·行同步信号LVAL在输出3072个像元和1024个零电平像元时,LVAL为低电平,在两个有效行中间会跳变几个无效的像素点,跳变无效像素点时,LVAL为高电平。跳过的像素点的数目未定,初步设为固定4个像素。以LVDS信号输出。

  ·外触发信号DTRG是用来触发采集卡的工作,它与LVAL信号下降沿对齐,高电平宽度为像元时钟一个周期的宽度。

  为提高传输效率以及降低传输成本,CCD相机将以上图像信号按Camera Link 标准转换成低电平差分信号(LVDS)输出。系统采用与CCD 相机相匹配的National semiconductor芯片组DS90C031W/ML 来完成TTL电平信号和LDVS信号之间的转换,转换接口芯片如图2 所示,一个接口转换芯片可以将4个信号转换成4对符合TIA/EIA-644 标准的LVDS 数据流。另外还有两个使能端,在工作时,EN接低电平, 接高电平。此芯片的最大传输速度可达77.7MHz,供电电压为+5V,符合系统需要。最后输出信号接到图像采集系统的输入端。在本文的设计当中,只用到驱动芯片,接收芯片放在图像采集系统电路中。

3硬件结构

  本设计的硬件电路主要由三部分组成,结构框图如图3所示。包括晶振电路、

  CPLD、输出接口(9片DS90C031)。整个电路的核心部分是CPLD,采用ALTERA公司的MAX7000S系列中的EPM7128SLC84-15芯片。它除了产生控制信号外,还要模拟一个灰度图象的数据源。62MHz晶振用来产生CPLD工作所需要的时钟。DSC90C031用来把CPLD产生的图像信号和控制信号(TTL信号)转化成LVDS信号,并输出。其中每两片能产生一个通道的8位的图像输出信号,共有4个通道,第9片用来转换控制信号并输出。

  在电路设计过程中,为了提高系统的可靠性,要注意以下问题:1、CPLD器件的每个供电电压管脚都要外接0.1μ电容来进行滤波。CPLD输出信号也要进行滤波之后再接到DSC90C031。2、在输出端,要使用终端电阻实现对差分传输线的最大匹配,阻值一般在90——130?之间,系统也需要此终端电阻来产生正常工作的差分电压。必要时也可使用2个阻值各为50?的电阻,并在中间通过一个电容接地,以滤去共模噪声。

4 CPLD程序设计

  因为考虑到设计后期还要在CPLD前端加单片机对图像信号的变化进行各种控制,所以要用到大约50个I/O口的操作,所以选用了ALTERA公司的MAX7000S系列中的EPM7128SLC84-15芯片,该芯片共有84个引脚,内部集成了6000门,其中典型可用门为2500个,有128个逻辑单元,60个可用I/O口,可单独配置为输入、输出及双向工作方式,2个全局时钟及一个全局使能端和一个全局清除端。它支持多电压工作,其传输延时为7.5ns,最高工作频率高达125MHz。我们采用ALTERA公司的第三代开发软件Max plus II进行仿真、综合和下载。

  整个程序分三个模块:u1,u2,u3,其中u1是分频模块,用4输出计数器对输入的62M主时钟(mclk)进行2分频,u2是图像数据产生模块,用8位的计数器来产生灰度图象数据。u3模块是利用13位的计数器来产生控制信号,严格按照要求的时序关系,分别产生像元时钟(DCLK)、行同步信号(LVAL)、外触发信号(DTRG)。部分源程序如下:
begin

  u1:fenpin port map(mclk,clr0,set,clk);? //引用分频模块

  u2:count8 port map(clk,clr1,set,countout8);//引用8位计数器

  u3:count13 port map (clk,clr2,set,countout13);//引用13位计数器

  set<='1';

  clr1<='0';

  dclk<=clk;

  process(clk)

  begin

  if(clk'event and clk='1')then

  if (countout13>=4096 and countout13<=4099)then

  lval<='1';

  data<=countout8;

  else

  lval<='0';

  end if;

  if(countout13=4099)then

  dtrg<='1';

  clr2<='1';

  else

  dtrg<='0';

  clr2<='0';

  end if;

  

if(countout13>=0 and countout13<=3071)then

  data<=countout8;//输出有效像元

  end if;

  if (countout13>=3072 and countout13<=4095)then

  data<=0;//输出零像元

  end if;

  end if;

  end process;

  end rtl;

  时序仿真图如下图所示:

5总结

  编译仿真通过后,在顶层用原理图进行综合实现,然后烧入芯片进行实验,并根据实际运行情况,对设计进行改进。如根据实际器件的延时特性,在设计中某些地方插入适当的延迟单元以保证各时延一致。

  根据本文介绍的设计方案,采用CPLD技术设计的多路CCD图像信号模拟器结构简单,实现方便,易于修改。在图像采集卡的测试过程中,发挥了重要作用。

关键字:接口  通道  输出  电平

编辑:赵思潇 引用地址:http://www.eeworld.com.cn/FPGA/sptx/200706/1751.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
接口
通道
输出
电平

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved