电子技术应用专业网站
 
 中国电子学会  协办
嵌入式系统 | 控制技术 | DSP | 电源管理 | RF/无线 | 网络/通信 |
EDA/IC设计 工艺/制造/封装 光电显示
可编程逻辑 模拟电路 缓冲/存储
测试/测量 传感技术 其他
计算机/外设 消费电子 汽车电子
当前位置:应用 >> 安防电子 >> 视频监控 >>
基于CPLD的CCD采集系统设计

  

  摘要介绍CCD驱动信号的VHDL语言设计方法。应用CPLD构建CCD采集系统的核心,由1片EPM7128S产生整个系统的时序逻辑,包括CCD时序信号发生、模拟开关切换信号、A/D转换控制信号、数据存储读写控制信号。

  关键词VHDL CPLD CCD MAXPLUSII

  CCD(Charge Coupled Devices)即电荷耦合器件,是20世纪70年代初开始发展起来的半导体器件。作为一种高灵敏光电传感器,在科学、天文、工业等领域有广泛的应用。本文采用线阵CCD,研制一种眼镜自动检测仪器。

  复杂可编程逻辑器件CPLD(Complex Programmable Logic Device)规模大、集成度高;可以替代几十甚至上百块通用IC芯片,实际上构成一个子系统部件,并且具有系统在线编程能力(ISP),为系统的调试和升级提供了保证。用户可以根据逻辑功能的需要设计构造自己的数字集成电路系统。正如Altera公司所宣扬的“专用集成电路能做到的,我们能做得更好”。在该公司的集成开发环境MAXPLUSII下,通过VHDL语言编写程序,编译后即可下载到CPLD芯片中,完成时序逻辑设计。MAXPLUSII是一个完全集成化的可编程逻辑设计环境;具有开放的界面,与结构无关,多平台,有丰富的设计库,模块化工具,并且支持各种硬件描述语言(HDL)。

  1CCD采集电路设计

  (1) 工作原理

  本文设计的电路是眼镜检测仪的核心部件。该仪器的原理是,由于LED发出的光在CCD上的成像位置随不同眼镜对光路的改变而改变,因此由光斑在CCD上的相对位置即可计算出眼镜类型和度数。

  电路原理框图如图1所示。CCD采集的信号经过放大,由模拟开关分时切换进行A/D转换;数字化后的数据送RAM存储;在单片机的控制下,检测结果在液晶上实时显示,用户也可以选择打印检测结果。为了调试方便,电路中加了串行调试接口,可将采集的数据送计算机进行分析。采集电路的核心是时序逻辑设计,用1片EPM7128S完成所有时序逻辑功能,包括CCD驱动信号、模拟开关控制信号、A/D转换的片选和转换控制信号、存储器操作所需的地址和控制信号。

  (2) 芯片选择

  正确选择合适的芯片是实现预定的功能保证。综合考虑检测精度与成本后,选用TCD1205线阵CCD接收光信号。该CCD有2048个有效像素,像素大小为14 μm×200 μm。

  CPLD选用Altera公司MAX7000系列的EPM7128S。EPM7128S有2500个可用门、128个宏单元、8个逻辑阵列块,68个用户I/O引脚,引脚间的逻辑延迟为5 ns,并可通过工业标准4引脚JTAG接口实现在线编程。

  A/D转换采用Maxim公司的MAX153。该芯片是1 Msps转换速度,8位分辨率,单电源供电,多种操作模式。其中RD模式只需要提供转换启动信号,操作简单,价格低廉,能很好地满足需要。

  行列2片CCD总共采集4 KB的数据。我们采用8 KB×8 SRAM DS1225存储数据。该片读写速度快,掉电数据不丢失,并且有一定的数据冗余。

  2时序逻辑的VHDL设计

  CCD所需的驱动时序如图2、图3所示,RAM的读写时序如图4所示, A/D转换控制时序如图5所示;VHDL设计的时序逻辑仿真如图6所示。

  图1电路原理框图图2CCD时序图3CCD时序要求图4A/D时序要求图5RAM读写时序要求根据CCD对脉冲沿的要求,信号经过7414取反后再驱动CCD,因此在VHDL程序中,CCD信号是取反的。用VHDL产生频率大致相同的脉冲信号比较容易,比如CCD驱动信号中的RS、BT、φ1、φ2(仿真图中的d1、d2)以及A/D转换信号等;而要产生频率差别很大的脉冲信号却比较困难,比如,本文中需要同时产生SH、ICG、 RS、BT以及A/D转换、RAM的地址写信号等。有一个方法就是使用计数器来分频系统的时钟输入信号。下面的程序即可实现分频,多次分频就可以得到想要的频率信号。PROCESS ( clk )

  variable q10: integer range 0 to 5;

  variable q4:integer range 0 to 9;

  BEGIN图6时序逻辑仿真IF ( clk ''EVENT AND clk = ''1'') THEN

  if (q10 = 4) then

  q10 :=0;

  ste<=not ste;

  else

  q10 := q10+1;

  end if ;

  END PROCESS; 但是这样非常消耗资源,且计数器用得越多,延迟越大。因此,采用了另外一种解决方案,通过分支CASE语句,配合一个15位矢量信号实现了功能要求。 signal qd1 : std_logic_vector

  (14 downto 0);

  

  case qd1 is

  when "000000000000000" =>

  rsbtc<=''0'';

  init <=''1'';

  ccdsh<= ''1'';

  ccdicg <= ''0'';

  ramfrom0<=''1'';

  

  end case;由于所有的时序逻辑都由EPM7128S产生,电路中只有一个晶振,各芯片之间的逻辑关系完全由编程控制,因此很容易协调A/D转换、RAM控制之间的时序关系。完整的源程序见本刊网站www.djp.com.cn。

  结语

  可编程逻辑器件(CPLD)精简的系统,灵活的在线编程代表着大规模控制电路的发展方向。本文介绍了应用可编程逻辑器件作为CCD图像采集控制系统,结合VHDL语言实现时序信号,不需要处理器的参与就可以完成信号的采集与存储,系统简单可靠。软硬件稍作修改即可以用于其他CCD系统。

  参考文献

  1宋万杰,罗丰,吴顺君. CPLD技术及其应用\[M\]. 西安:西安电子科技大学出版社,2000

  2曾繁泰,陈美金. VHDL程序设计\[M\]. 北京:清华大学出版社,2001

  3王毅平,张振荣. VHDL编程与仿真\[M\]. 北京:人民邮电出版社,2000

  4蒋璇,臧春华. 数字系统设计与PLD应用技术\[M\]. 北京:电子工业出版社,2001

  5吴建文,姚永强. 用于天文观测的CCD相机系统研究\[J\]. 单片机与嵌入式系统应用, 2002(12):62~65

  吴建文:博士,研究方向为仪器仪表。

  本文使用海纳锐利编辑并转载, 版权归原作者所有。

编辑:ssb
本文引用地址: http://www.eeworld.com.cn/designarticles/sape/cctv/200802/article_17772.html





搜索
最新
    · 谈网络视频服务器和矩阵系统...
    · 基于uSB 2.0接口的高速数据采...
    · 一种基于纠错编码的小波域数...
    · 基于CPLD的CCD采集系统设计...
    · 用MSP430实现微波成像的扫描...
    · 基于ARM-Linux和CDMA的远程...
    · 嵌入式Linux的图像采集与显...
    · 嵌入式MPEG-2远程网络视频监...
    · 基于CPLD的CCD驱动时序电路...
    · CMOS图像传感器的基本原理及...
热点
    · 基于uSB 2.0接口的高速数据采...
    · 基于CPLD的CCD采集系统设计...
    · 基于ARM-Linux和CDMA的远程...
    · 一种基于纠错编码的小波域数...
    · 谈网络视频服务器和矩阵系统...
    · 嵌入式MPEG-2远程网络视频监...
    · 用MSP430实现微波成像的扫描...
    · 嵌入式Linux的图像采集与显...
    · CMOS图像传感器芯片OV5017及...
    · 型固体LBCAST JFET图像传感...
推荐
    · 谈网络视频服务器和矩阵系统...
    · 基于uSB 2.0接口的高速数据采...
    · 一种基于纠错编码的小波域数...
    · 基于CPLD的CCD采集系统设计...
    · 用MSP430实现微波成像的扫描...
    · 基于ARM-Linux和CDMA的远程...
    · 嵌入式Linux的图像采集与显...
    · 嵌入式MPEG-2远程网络视频监...
    · 基于CPLD的CCD驱动时序电路...
    · CMOS图像传感器的基本原理及...

关于我们 - 广告合作 - 联系方式 - 给我们建议 - 器件索引

北京集成电路设计园 量子银座506室 电话:(010)82350740
电子工程世界 版权所有 京ICP证 060456
Copyright © 2005-2007 EEWorld.com.cn, Inc. All rights reserved