| 网站首页 | 电子基础 | 电子应用 | 电子电路图 | 雁过留声 | 软硬件设计 | 
您现在的位置: 迷失者电子网 >> 电子应用 >> 综合应用 >> 文章正文 用户登录 新用户注册
CCD采集系统设计           ★★★ 【字体:

CCD采集系统设计

CCD采集系统设计
作者:佚名    文章来源:网络    点击数:    更新时间:2008-5-12    


 
 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系统。


文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    微波成像的扫描控制与数据采…
    嵌入式TTS汉语语音系统设计
    4~16V开关稳压电源设计
    调制信号发生器设计
    数字锁相环设计
    系统电源设计
    多功能汽车行驶记录仪设计
    EM78P156E的红外控制系统设计
    数字电视接收卡设计
    空心线圈的设计与应用
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)