您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页基于CPLD的线阵CCD驱动电路的设计

基于CPLD的线阵CCD驱动电路的设计

来源:爱go旅游网
30

文章编号:1001-3997(2011)06-0030-03

机械设计与制造

MachineryDesign&Manufacture

第6期2011年6月

基于CPLD的线阵CCD驱动电路的设计*

2

李宁宁1,李志农2刘治华1陈金刚1

(1郑州大学机械工程学院,郑州450001)(2南昌航空大学无损检测技术教育部重点实验室,南昌330063)

ThedesignofaLinearCCDdrivingcircuitbasedonCPLD

2

LINing-ning1,,LIZhi-nong2,LIUZhi-hua1,CHENJin-gang1

(1SchoolofMechanicalEngineering,ZhengzhouUniversity,Zhengzhou450001,China)(2KeyLaboratoryofNondestructiveTesting,MinistryofEducation,NanchangHangkongUniversity,Nanchang,330063,China)

󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀂

【摘要】针对传统CCD驱动电路存在的不足,尤其是当驱动电路工作在较高频率时易产生严重干扰,系统工作不稳定,我提出了一种线阵CCD驱动电路的设计方案,该方案运用CPLD技术来设计产生ILX526A图像传感器的驱动时序。采用MAXPLUSⅡ开发系统,运用硬件描述语言VHDL对CPLD稍作修改,就可以实现其他型号的CCD驱动电路的设计,因此该方案对CCD驱动电路的设计具有相当重要的参考价值。

关键词:线阵CCD;驱动电路;CPLD;VHDL语言

【Abstract】ConcerningdeficiencyoccurredinthetraditionalCCDdrivingcircuit,andseveredistur-bancemayhappyespeciallyduringdrivingcircuitworkingunderhighfrequency,whichleadsthesystemto

󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀂进行编程,然后进行仿真,并进行了实验的研究。仿真和试验结果表明,该驱动电路具有通用性,对程序

workunsteadily.InthiscaseadesignschemeforlinearCCDdrivingcircuitisproposed,inwhichCPLDtech-nologyisadoptedtodesignthedrivingtimingofimagesensorsILX526A.TheCPLDshallbeprogrammedwithsultsobtainedfromsimulationandtestshowthatthedrivecircuitdesignedisprovidedwithgooduniversality,theschemeprovidessignificantreferencevalueforthedesignofCCDdrivingcircuit.circuit.Therefore,

Keywords:LinearCCD;Drivingcircuit;CPLD;VHDLlanguage

文献标识码:A

中图分类号:TH16

VHDLbyadoptingdevelopingsystemMAXPLUSⅡ,whichissimulatedandtestedthenforresearch.There-thatistosay,someslightmodificationsofproceduresmayachieveadesignfortheothertypesofCCDdrive

󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀂1引言

目前,电荷耦合器件(ChargeCoupledDevices,CCD)及其应用技术已成为集光学、电子学、精密机械与计算机技术为一体的综合性技术,在现代光学、光电检测技术和现代测试技术领域中获得了成功的应用,特别是在图像传感和非接触测量领域的发展更为迅速。然而,以往的CCD驱动电路是由普通数字电路芯片实现的,电路体积大,设计复杂且过于偏重于硬件的实现,调试工作量大,容易出现错误,特别是当驱动电路工作在较高频率时干扰问题严重,系统工作不稳定。针对此不足,提出了一种线阵CCD驱动电路的设计方案,该方案基于CPLD,运用VHDL语言进行编程。通过软件MAXPLUSⅡ10.2的仿真和示波器对实际脉冲信号采集的结果表明:该设计具有通用性,对程序稍作修改,就可以实现其他型号的CCD驱动电路,因此,在工程实际应用中具有相当重要的参考价值。

2CCD驱动电路的设计

设计采用SONY的ILX526A图像传感器,ILX526A含有22个管脚,是3000象元CCD,象元大小为(7×200)μm,信号需要提供5V电压,时钟频率最小为100kHz,最大为1MHz。该CCD无

*来稿日期:2010-08-30*基金项目:国家自然科学基金(50775208,5107537),湖南省机械设备健康维护重点实验室开放基金(200904)

󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀁󰀂工作,该CCD的驱动电路,如图1所示。

5V

0.01μ22μ/10V

3k

准CLK

12345678910Vgg准CLKNCNCNC

VDD22GND21VOUT20NC19NC181716151413

S/HSW12

准ROG

准SHUT

准ROGNC准SHUTNCGNDNCVDDVDDT1GND11NC

论是在采样保持模式还是无采样保持模式下工作,一个周期内至该CCD驱动电路的设计即是实现3路少要有3100个时钟脉冲。

输出脉冲信号:CLK时钟脉冲信号,ROG脉冲信号和SHUT脉冲ILX526A需要在该三路脉冲信号的驱动下才能正常稳定的信号,

2SA1175

图1CCD驱动电路

该CCD的管脚2输出CLK时钟脉冲信号,其周期为2μs,频

第6期李宁宁等:基于CPLD的线阵CCD驱动电路的设计

fenp8。

INPUT

31

率为0.5MHz,当CLK脉冲信号为低电平时,电压为0V,该脉冲为高电平时,电压为5V。该CCD的管脚6输出ROG时钟脉冲信号,管脚8输出SHUT时钟脉冲信号。ROG和SHUT脉冲信号的周期均为3100个CLK脉冲信号的周期,即6.2ms,频率为0.16MHz,当ROG和SHUT脉冲信号都为低电平时,电压均为0V,ROG和SHUT脉冲信号都为高电平时,电压均为5V。ROG脉冲信号的高SHUT脉冲电平从CLK脉冲信号的高电平正中间位置开始触发,

信号的高电平从CLK脉冲信号的低电平正中间位置开始触发,ROG和SHUT脉冲信号的高电平持续时间均为6个CLK脉冲信号的周期,即12μs。驱动电路的输入信号为8MHz的脉冲信号,为或者利用了便于程序的编写,利用D触发器进行连续3次2分频,VHDL语言编写程序得到1MHz的输出脉冲信号,则ROG和SHUT脉冲信号的高电平均从1MHz脉冲信号的上升沿开始触发,高电平维持时间均为12个1MHz脉冲信号的周期。CLK,ROG和SHUT三路脉冲信号的时序关系图,如图2所示。

5

准ROG

05

准SHUT

05准CLK

0

-1012VHDL语言编程实现8分频电路得到频率为1MHz的脉冲信号

sd

VCC

DFF

DPRNQ

NOT5

CLRN2

3

OUTPUT13

DFFDPRN

Q

7

NOT

DFFDPRN

Q8

CLRN

4

CLRN

NOT

DFFDPRNQ

9

OUTPUT10NOT

INPUT

clk

VCCINPUTVCC

1

CLRN

fenp16

rd

fenp8

图3D触发器的连续四次二分频

首先需要设计一个模为8的标准计数器counter0:由于计数所以模为8的计数器counter0从0开始计数到器从0开始计时,

7结束,7转化为二进制数为111。假设所提供的8MHz的输入脉冲信号在上升沿时有效,当所提供的8MHz的输入脉冲信号处于上升沿并且计数器counter0计数到111时,计数器counter0的各即从0开始重新计数,否则每当8MHz的输入脉冲位均置为0,

信号处于上升沿时,计数器counter0加1。

然后设定一个中间信号fp8,当8MHz的输入脉冲信号处于上升沿并且计数器counter0计数到011时,计数器counter0的各即从000重新开始计时,此时中间信号fp8进行一次位均置为0,

翻转操作,否则中间信号fp8的值保持不变。以后重复上述操作,最后将得到的中间信号fp8赋给输出脉冲信号fenp8,即实现了8分频电路的设计,输出脉冲信号fenp8的频率即为1MHz。同理,设定一个中间信号fp16,当8MHz的输入脉冲信号处于上升沿并计数器counter0的各位均置为且计数器counter0计数到111时,

0,即从000重新开始计时,此时中间信号fp16进行一次翻转操最后作,否则中间信号fp16的值保持不变。之后重复上述操作,将得到的中间信号fp16赋给输出脉冲信号fenp16,即实现了16分频电路的设计,输出脉冲信号fenp16的频率即为0.5MHz。

获得ROG脉冲信号和SHUT脉冲信号也有设计硬件电路和运用VHDL语言进行软件编程两种方法,但硬件电路设计非常麻烦,而用VHDL语言进行软件编程相当简易。因此,仿真设计采用运用VHDL语言进行软件编程的方案。

首先需要设计一个模为6200的标准计数器counter:由于计数器从0开始计时,所以模为6200的计数器counter从0开始计数到6199结束,6199转化为二进制数为1100000110111。当信号fp8处于上升沿并且计数器counter计数到1100000110111时,计数器counter的各位均置为0,即从0开始重新计数,否则每当信号fp8处于上升沿时,计数器counter加1。

然后设定两个中间信号clk_temp1和clk_temp2。从图2可以看出ROG脉冲信号从CLK脉冲信号fenp16的第一个周期的高电平正中间开始触发为高电平,SHUT脉冲信号从CLK脉冲信号fenp16的第3066个周期的低电平正中间开始触发为高电平,ROG和SHUT脉冲信号的高电平持续时间均为6个CLK脉冲信号的周期。为了便于程序的编写,此仿真设计借助1MHz的脉冲信号fenp8做为ROG和SHUT脉冲信号的触发条件,则ROG脉冲信号的高电平均从脉冲信号fenp8的第一个周期上升沿开始触发,SHUT脉冲信号的高电平均从脉冲信号fenp8的第6132个周期上升沿开始触发,其高电平维持时间均为12个脉冲信号fenp8的周期,则ROG和SHUT脉冲信号的程序可编写为:当信号fp8处于上升沿并且计数器counter计数大于等于0000000000001小于等于

VOUT

Opticalblack

(30pixels)

Dummysignal(55pixels)

Effectivepicture

elementssignal(3000pixels)

D0D21D22D23D24D1D2D3D4D53D54D55S1S2S3S41-Lineoutputpenod(3066pixels)

图2CCDILX526A的时序波形

3CCD驱动电路的仿真

EPM7064采用MAXPLUSⅡ10.2开发系统,运用VHDL语言实现编程。首先得到频率为0.5MHz的CLK脉冲信号fenp16和频率为1MHz的脉冲信号fenp8有2种方法:设计硬件电路和运用VHDL语言进行软件编程。

设计硬件电路:所提供的晶振为8MHz的有源晶振,为了得到0.5MHz的CLK脉冲信号,可以使用4个D触发器连续进行四次二分频,其电路图,如图3所示。4个D触发器的PRN端和CLRN端均设置为高电平,输出端Q经非门NOT连接后均连接到输入端D。从第一个D触发器的CLK端输入频率为8MHz的脉冲信号,则输即4MHz,即实出端Q的频率为CLK端输入脉冲信号频率的1/2,

现了D触发器的第一次二分频。将第一个D触发器的输出端Q做则第二个D触发器输出端Q的频率为第二个D触发器的输入端,

为第一个D触发器输出端Q频率的1/2,即2MHz,即实现了D触发器的第二次二分频。同理,将第二个D触发器的输出端Q做为第则第三个D触发器输出端Q即为频率为三个D触发器的输入端,

1MHz的脉冲信号fenp8,即实现了D触发器的第三次二分频。将第三个D触发器的输出端Q做为第四个D触发器的输入端,则第四个D触发器的输出端Q即为频率为0.5MHz的CLK脉冲信号fenp16,即实现了D触发器的第四次二分频。此D触发器的分频电路简单易懂,有一定的参考价值。

运用VHDL语言进行软件编程:由于所提供的晶振为8MHz的有源晶振,所以需要在软件MAXPLUSⅡ10.2中,利用VHDL语言编程实现16分频电路得到0.5MHz的CLK脉冲信号fenp16,利用

S2997S2998S2999S3000D56D57D58D59D60D61D62D53D64D65Dummysignal(10pixels)

32机械设计与制造

No.6Jun.2011

0000000001100时,信号clk_temp1为高电平,否则信号clk_temp1为低电平。当信号fp8处于上升沿并且计数器counter计数大于等于1011111110100小于等于1011111111111时,信号clk_temp2为高电平,否则信号clk_temp2为低电平。最后将信号clk_temp1赋给ROG脉冲信号,将信号clk_temp2赋给SHUT脉冲信号。

选用ALTER公司的MAX7000S系列的EPM7064SLC44-10芯片,为输入输出信号配置管脚,8MHz的有源晶振作为输入信号锁定在43管脚,0.5MHz的CLK输出信号锁定在27管脚,ROG脉冲信号锁定在41管脚,SHUT脉冲信号锁定在40管脚。

最后进行程序的仿真:新建波形编辑文本,将输入输出信号导入该文本。输入信号CLK的频率为8MHz,故将其周期设置为125ns,然后进行仿真得到CCD驱动的3种脉冲输出信号,如图4所示。从仿真结果可看到,这3路驱动脉冲间的时序关系完全符合线阵CCDILX526A的要求。该仿真充分发挥了CPLD的“可编程”的技术特点。通过稍微变动CPLD中的程序,本驱动电路的设计还可以作为其它型号线阵CCD的驱动电路来使用。例如:通过改变实现ROG和SHUT脉冲信号的程序中的上升沿触发信号fp8和计数器counter的计数范围,就可以作为其它型号线阵CCD的驱动电路来使用,这充分体现了CPLD使用灵活及方便的特点。

Name:

clockshutrogfenp16fenp8

Value:00001

6.14ms

6.16ms

6.18ms

6.2ms

6.22ms

Freq=*****Vpp=3.60VVavg=642mV

图8ROG脉冲信号放大400倍图

Freq=*****Vpp=3.12VVavg=301mV

图9SHUT脉冲信号放大100倍图

对比图4与图7,示波器采集到的0.5MHz脉冲信号完全复对比图4与图8,现了仿真结果得到的0.5MHz脉冲信号fenp16;

示波器采集到的放大400倍后的ROG脉冲信号很好的复现了仿信号干扰所造成的误差在1%左真结果得到的ROG脉冲信号,

右,在允许的误差范围之内。对比图4与图11,示波器采集到的放大100倍后的SHUT脉冲信号也很好的复现了仿真结果得到的SHUT脉冲信号,信号干扰所造成的误差在1.5%左右,在允许的误差范围之内。以上结果表明了CPLD具有实用功能强、工作稳定性好的特点,同时证明了该实验的可行性,该驱动时频率高、

序的设计方案完全正确。

图4ILX526A驱动电路仿真波形图

4实验研究

实验采用USB作为该电路系统与计算机的接口,USB接口通过计算机给CPLD提供5V的电压,该系统组装图,如图5所示。将源程序下载到EMP7064SLC44-10芯片中,采用示波器对该CCD的各种脉冲输出信号进行采集。CPLD的连接电路,如图6所示。打开示波器,将示波器的探针触头分别接到CPLD的27管脚,41管脚和40管脚,通过调整示波器采集到的0.5MHz脉冲信号的图形,如图7所示。ROG脉冲信号放大400倍后的图形,如如图9所示。图8所示。SHUT脉冲信号放大100倍后的图形,

5结论

充分发挥了CPLD的“可编程”的技术特点,设计了一种线阵CCD驱动电路驱动电路,仿真和试验结果表明,该驱动时序的设计方案是正确的。驱动电路的设计具有灵活性和一定的通用性,通过稍微变动CPLD中的程序,就能作为其它型号线阵CCD的驱动电路来使用,因此,工作具有一定的参考价值。

参考文献

[1]王庆有,孙学珠.CCD应用技术[M].天津:天津大学出版社,1993.[2]PENGXiao-jun,WUMinyuan,WANGWei-ping.Designandimplementation

[J].OptoelectronicofEPC/CPCmeasurementsystembasedonduallinearCCD

(光电子技术),2006,26(1):57-61.Technology

[3]姜雪松,吴钰淳,王鹰,等.VHDL设计实例与仿真[M].北京:机械工业

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

1999.学出版社,

[5]黄正谨,徐坚,章小丽,熊明珍,等.CPLD系统设计技术入门与应用

[M].北京:电子工业出版社,2002.[6]廖裕评,陆瑞强.CPLD数字电路设计,使用MAX+PlusⅡ入门篇[M].

北京:清华大学出版社,2001.[7]冯涛,王程.MAX+plusII入门与提高[M].北京:人民邮电出版社,2002.[8]王辉,等.MAX+plusII和QuartusII应用与开发技巧[.M]北京:机械

工业出版社,2007.

图5系统组装图图6CPLD的连接电路

Freq=500kHzVpp=1.58VVavg=-6.93mV

图7示波器采集0.5MHz脉冲信号图

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务