基于CPLD的CCD采集系统设计

2008-02-20 18:31:14来源: www.laogu.com

  

  摘要介绍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

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

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

关键字:CPLD技术  CCD图像采集  驱动信号  西安电子科技大学出版社  单片机与嵌入式

编辑:ssb 引用地址:http://www.eeworld.com.cn/designarticles/sape/200802/article_17772.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
CPLD技术
CCD图像采集
驱动信号
西安电子科技大学出版社
单片机与嵌入式

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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