访问电脑版页面

导航:老古开发网手机版其他

基于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
吴建文:博士,研究方向为仪器仪表。

来源:单片机与嵌入式系统应用   作者:江苏省公安厅 吴建文;景德镇第七中学 程念平  2006/8/10 0:00:00
栏目: [ ]

相关阅读

安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准

动态功耗低至60μA/MHz!助力设备超长续航,首选国民技术低功耗MCU!