很高兴大家来能够到这里一起与我共同学习进步!!!!

基于CPLD的CCD驱动电路自动增益调整

上一篇 / 下一篇  2006-11-06 17:13:02 / 天气: 晴朗 / 心情: 高兴

基于CPLD的CCD驱动电路自动增益调整
赵斌,刘春浩

OXR@N%IZ3e k0CCD(Charge Couple Device)是一种电荷藕合式光电转换器件。在物体位移测量系统中,常常以CCD作为位移传感器。当一束曝光器发出的激光照射到被测物体上并发生漫反射时,反射光将经透镜聚焦后成像在CCD上,以使CCD光敏单元感光,从而产生转移电荷。这样CCD驱动电路就会产生一定频率的驱动脉冲以反映物体位移信息,输出的信号为模拟信号。经A/D转换后,便可由后续处理电路采集和运算。

实际测量工作中,由于工作环境、光照强度或被测物体的不同,会使得照射到被测物体表面的激光束的反射率变化比较大,因此,CCD上成像点的光强就会时强时弱。CCD光敏单元在过强或过弱光线照射下,会产生过饱和或不饱和的电荷,从而使输出的模拟信号不能满足数据采集要求,因而不能真实反映被测物体的位移信息,影响最后计算结果的准确性,而产生了较大的误差。鉴于以上原因,为了能够得到准确的被测物体的位移结果,应使CCD测量系统输出的模拟信号峰值尽量稳定在某一范围内。

CPLD复杂可编程逻辑器件具有集成度高,体积小,速度快等特点。通过CPLD能够以厂家提供的CAD工具为开发平台,结合原理图编辑与VHDL语言软件编程,以在CPLD中实现数字硬件中的大多数逻辑电路[1]。因此,本文所设计的CCD自动增益系统的核心部分选用CPLD来实现。

CCD信号的自动增益调整

CCD传感器输出的模拟信号与入射光光强、帧转移频率有关。其大小随入射光光强的增大而增大,随帧转移频率的增大而减小,因此,通过改变入射光的光强或帧转移频率就可以调整输出的模拟信号峰值。本系统就是采用调节帧转移频率来达到自动增益调整的目的。

一般情况下,帧转移脉冲由CCD驱动电路输出,其频率大小直接影响CCD传感器的积分时间。帧转移频率越小,传感器积分时间越长,相应地,CCD传感器曝光时间也越长,光敏单元捕捉到的光量也越多。当帧转移频率过小时,光敏单元所产生的光电电荷就会达到过饱和状态,输出的模拟电压峰值将会超过所要求的范围。反之,输出的模拟电压峰值将会低于所要求的范围。因此,可设计一个CCD输出电压峰值的采样、保持电路,再对此峰值进行A/D转换,同时与所要求的范围进行比较。当其超出范围值时,可增大帧转移频率;而当其值低于范围时,则可减小帧转移频率[2]。

系统整体结构

这种基于CPLD的CCD自动增益调整驱动电路的整体结构如图1所示,该系统共分为两部分。第一部分为模拟/数字转换电路,该部分采用一个转换精度为8位的A/D转换器来将CCD输出的模拟电压值转换为数字量。第二部分为可自动调整增益的CCD驱动电路,此部分采用CPLD进行配置,可自动完成增益调整及CCD驱动信号的输出,并可为A/D转换器提供转换控制脉冲。

A/D转换部分

CCD的输出信号为模拟量,故须经A/D将其转换成数字量,以便CPLD进行处理。在本设计中,A/D转换器采用的AD9048可工作在35MSPS的高速上,由CPLD产生的单位转移脉冲SP可为其提供转换控制脉冲CONVERT。在CONVERT的上升沿到来后,A/D9048对CCD相应象素点上输出的模拟电压值进行采样,并在CONVERT下降沿到来之前输出转换结果,该结果由CPLD寄存并最终得到一帧中CCD输出的模拟电压峰值的大小。

可自动增益的CCD驱动电路设计

此电路利用CPLD设计,其内部可划分为四个模块(如图2所示),整个芯片所需的时钟由外部晶振或振荡电路提供。

第一个分频模块DISPART用于对外部时钟进行一到八倍的分频。第二个模块MUL TIPLEXER是一个多选一模块,由COMPARE控制。第三个模块COMPARE用于对A/D转换的结果进行寄存,并将一帧结束后得到的CCD输出电压峰值与所设定的阈值进行比较,若超出阈值上限则输出结果减一,MULTIPLEXER选出频率较高的一路时钟作为DRIVER的输入时钟脉冲;反之,则对COMPARE的输出结果加一,MULTIPLEXER选出频率较低的一路时钟作为DRIVER的输入时钟脉冲。第四个模块DRIVER用来产生驱动CCD的信号及一位单位转移信号。

当MULTIPLEXER选出频率较高的一路脉冲作为DRIVER的输入时钟,再由DRIVER产生CCD驱动信号时,驱动信号中的帧转移脉冲SH频率就会增加,从而使CCD传感器的曝光时间变短,CCD输出的模拟电压峰值降低;反之,SH频率减小,曝光时间变长,CCD输出的模拟电压峰值升高。这样,通过以上过程,便可调节CCD模拟电压峰值的范围。

本设计应用的CCD器件为TCD1201D,采用二相驱动脉冲工作,驱动电路要产生六路工作脉冲,其中五路用作CCD提供工作脉冲,分别为帧转移脉冲SH、电荷转移脉冲T1、T2、复位脉冲RS、补偿脉冲BT;另一路为单元转移脉冲SP。此六路脉冲由CPLD中的DRIVER部分产生,此部分可用硬件描述语言VHDL进行设计。

产生补偿脉冲BT和单元转移脉冲SP时,由于BT占空比为2:1,因此应对输入的时钟脉冲三分频,低电平占时钟脉冲一个周期,高电平占时钟脉冲两个周期,其具体的程序部分如下:EDA中国门户网站M0GA t(y sA
EDA中国门户网站^!HNSS#Vo
PROCESS(CLK)
a~!~`,^h"SS0
:N/JlX B0BEGINEDA中国门户网站9q2_e3?H o:\E
EDA中国门户网站PVS&b%qp*@n
IF(CLK’EVENT AND CLK=‘1’)THENEDA中国门户网站RXZ-[*[:d1@5mV(C0W

GKFg&Tp0COUNTER1<=COUNTER1+1;
L dT*SI)TW0EDA中国门户网站5WjmIH
IF COUNTER1=2 THENEDA中国门户网站M'D_J-W5f2b
EDA中国门户网站h^$N'ape9w
MBT<=‘0’;EDA中国门户网站+T(q u ^i-?k,ux

(n-^c4U#T |S!|3w s0COUNTER1<=0;
/c4FuqeC~Z0EDA中国门户网站5~U:{%b WF
ELSE MBT<=‘1’;EDA中国门户网站$oC/wRHdu`4@
EDA中国门户网站i Y `v)k-Y)i#Cj
END IF;
V^+zsS){Z4t0
*H"}5g_+a['E-C7z)^0END IF;
'L/IY&e$t?0
,vME|x6]1Q"i0BT<=MBT;
2[ \.{!tlD-y0
xysm%fj g[h0SP<=MBT AND(NOT MSH2);EDA中国门户网站c'V#aqdC7D%^,^
EDA中国门户网站*A M%`2l9K"X^w
END PROCESS;

该器件有2048位有效像元,工作时还要有46位哑像元输出,一个扫描周期至少应有2094个像元时钟周期,由于该器件两并行输出,因此,一个帧转移周期内的T1、T2至少分别有1047个脉冲。由于T1、T2的周期相等,方向相反且周期为BT周期的二倍,因此,产生SH、T1、T2的程序进程如下:

PROCESS(MBT,CLK)
5n9f2_a ~(^"H1b B:R0EDA中国门户网站9W4RW1f&J
BEGINEDA中国门户网站|+TgdqXb[ R

4{Rq`(FU9n!O ^ pb0IF (MBTEVENT AND MBT=‘1’)THEN
i.tEz v0EDA中国门户网站`zm d"VcN~
MT<=NOT MT;
6J Op$["u"G0EDA中国门户网站0Z_!cn+a&d,o(~b,@
END IF;EDA中国门户网站Up&V \^d;u
EDA中国门户网站y1K M nU0A-w r
IF(CLK’EVENT AND CLK=‘1’)THENEDA中国门户网站^@L PW V}2c(RgI
EDA中国门户网站Y6?h0^3W` Z&W/a%Cv(Kj
T1<=MT AND (NOT MSH2);
+m5X l;X(t1RA? e0
zX5W#Q F0T2<=(NOT MT)OR MSH2;EDA中国门户网站 bVdZIad
EDA中国门户网站/I;k,@ C~RE6MNz
END IF;EDA中国门户网站 p'O3Xh.nE;@A]
EDA中国门户网站@1s {N)ME-v
END PROCESS;EDA中国门户网站t%hx#Z'c,Av
EDA中国门户网站6t#\%lfW1a
PROCESS(MT)
z |GB1VH0
0~3`a|c%bS/X+~0g*JI0BEGINEDA中国门户网站D aIMGkB7u)ze

Yp,w'UNO`0IF(MT’EVENT AND MT=‘1’)
{W S&`*BS,ho.T0EDA中国门户网站 uSj'rx
THEN
GJU}7|j0EDA中国门户网站9?B`w(?/B+nb
COUNTER2<=COUNTER2+1;
;b;k-K{NFU2R7Bz0EDA中国门户网站#K y6s a*@Bk
IF COUNTER2=1100 THEN
+e T[M~iJqM0
B[F:P3CE0m0COUNTER2<=0;EDA中国门户网站%{K#`Z0U,h]#zF

bi+tm D[0MSH1<=‘1’;
;?4q,mOCY{0
*]'}$n)K9]+H.F0MSH2<=‘1’;
Z^k]/]J){+?7ZF0
8SDH$T a Ie)O:kV0ELSIF(COUNTER2<=3)THEN
4p{&R(v#^1GV7J0EDA中国门户网站d+[.~,vqH`B c
MSH1<=‘1’;
!rev.`z l0EDA中国门户网站 V5@1clI L7H
MSH2<=‘1’;
'os,@} U7]3A R-K0
7W?G:`b'V0ELSIF(COUNTER2>3 AND COUNTER2<=5)THEN
iV7ejB G6L*I#BU$k0
S+`(I7A WGc0B0c0MSH1<=‘0’;EDA中国门户网站/j$n9pj BX
EDA中国门户网站%T@,NaX#Gv.y
MSH2<=‘1’;EDA中国门户网站:}M R"lu.j'Tb3X
EDA中国门户网站%JpWdnc!aR7x@
ELSE
{ e? i4FG Cr$`&e0EDA中国门户网站'g4N;Z[_7y0^ W;rZ nW
MSH1<=‘0’;EDA中国门户网站d bF A Nn_L
EDA中国门户网站 `U8Z If"b D0IQX
MSH2<=‘0’;
-X%BL^-~1A0EDA中国门户网站BIp%x5n\
END IF;EDA中国门户网站Ei c1@_-W0F XL3j

9o8N@1[+d_ }0END IF;EDA中国门户网站;k+[?VW g'N]
EDA中国门户网站qu |$Ey!^ y
SH<=MSH1;
gL]kzs _7qF0EDA中国门户网站1A%O!N6X3`*r
END PROCESS;
:]@ Z3e/S%b0EDA中国门户网站4eF-H4]-B@5Q/W
产生RS的程序进程如下:
*t:VAS`Z%Y!}0
Ej'uH6qTg!VF0PROCESS(MBT,CLK)
0I)J s8w zK9lu[wn@0EDA中国门户网站4D@\P4Q#g7G9_}
BEGINEDA中国门户网站UP2q R grl
EDA中国门户网站W3dLwwQy
IF(CLK’EVENT AND CLK=‘0’)THEN
6E;HS1\,b O0
1gb[XW6F7m0RS<=NOT MBT;
7a:m'\T{B!t`0
p |7ZZ,u4}ZP0NED IF;EDA中国门户网站as/C2fE_F2G

ez*a^0G{^0END PROCESS;EDA中国门户网站+d%v!Q3Lb^
EDA中国门户网站^2M3Tt GX[7r
至此,这样CCD驱动电路的六路信号均产生完毕,可以进行仿真,其结果如图3所示。

由图3可看出,所产生的驱动信号满足TCD1201D所需驱动时序关系。EDA中国门户网站N7[ DwJ7{2PlH

.I;mS0P/i4S%X?0DISPART模块是用来对外部时钟进行分频的,可应用VHDL语言描述。其中二、三分频的程序如下:
bBf!EBQd.YL8Euj0
"W8z(q,o O'Q{0PROCESS(clk)EDA中国门户网站0M}[V/D4Bu\
EDA中国门户网站{8G,pc@I O2~
BEGIN
/aO5R6e(Z~-p3q7DB"m0
-X0h&bhq~V/py%@0IF(clk’EVENT AND clk=‘1’)THENEDA中国门户网站r'G1_/i:eVu? O
EDA中国门户网站jAp"~+\4O&]
mf1<=NOT mf1;EDA中国门户网站 |s3y GPM

5qs%`:j?s*[J0END IF;
lw2pJ;_6e3mI0EDA中国门户网站fm$??4@-?dCS
f1<=mf1;
h eP n*JZ:Jtqi6y;k0EDA中国门户网站 F gzJ$i9i5o`3Q]
END PROCESS;
)a u \|P(y-U%M~AK4p s0EDA中国门户网站%Wq|p4d[m1Pq4U9F
PROCESS(clk)EDA中国门户网站~ QsL} t
EDA中国门户网站[*E2q'lf9~-I
BEGIN
m*S `!};O0EDA中国门户网站y Yi1w!X%w)A
IF(clk’EVENT AND clk=‘1’)EDA中国门户网站~X/f*P-b
EDA中国门户网站xO&{TI
THENEDA中国门户网站1s9Qf;D9x;V*ZC d

e/T?{%L0counter2<=counter2+1;
uf mD`Do0
;\dX2fk]|0IF counter2=2 THEN
#fM3gvXo"mA4R0EDA中国门户网站 ^8p/m]5A`]!z8Z
mf2<=‘1’;
Gd~!eI#W9_ou0EDA中国门户网站'K7E|8S[D
counter2<=0;
2\x-@F%W+}iF0
-lJ`-Fv0ELSE
:y$[+SbEF%EP#A0EDA中国门户网站|kJ4a.Z l
mf2<=‘0’;
q-eh*y{J8G+M0EDA中国门户网站ni-H+Sle9@|@
END IF;
M#U4Ey#lN |A1Uh0
/w4JSPWr0w0END IF;
`#M5SnB0
l Aj"q;oY{5\0f2<=mf2;EDA中国门户网站*f*AO#mbq

^G&v5|'h7J0END PROCESS;
.p`{l.UTyq-G0EDA中国门户网站#HU$z\eI Auj SS
其他分频数与之类似,这里不再赘述。EDA中国门户网站4R,n^W4OuHj
EDA中国门户网站Hn\ dp
COMPARE模块是用来对A/D的转换结果进行寄存,并在一帧结束后,对得到的电压峰值进行判断以确定其是否在所规定的阈值范围内,从而控制多选一模块MULTIPLEXER。应用VHDL语言描述时,其程序的主要部分如下:EDA中国门户网站9z"iy5W8q5qnqm$Yf+{

E2e1OP:q.tcc0PROCESS(clk)EDA中国门户网站8~*tr7A)w']8A

N4Gg/`,z#U u0BEGIN
0] kBm+Jwj/}b0EDA中国门户网站4rhbP c&P.C
IF(clk’EVENT AND clk=‘0’)THEN
&f@'ah|)a$o0
h0mF0tg bPPdsV0IF data>reg_data THENEDA中国门户网站!g N'WD:^['f

*S*gi&[-T Ms:y@{U0DS0reg_data<=data;
j*h*yMt#E(]"k e$D0
S.h1s2eY4B l_4H0END IF;
^3x#sI:s8[J7Q0EDA中国门户网站._b7M6a^0M
END IF;
{5_@-?J| LA0
AR _ r7_:R0END PROCESS
&kHwf,WZ,ryy0
x7]:`F Z0PROCESS(sh)EDA中国门户网站[q;g*Q&X{
EDA中国门户网站0R&mj~ ?1q9?fA
BEGINEDA中国门户网站-p9f:QS"{
EDA中国门户网站5E B9V.OX:d
IF(sh’EVENT AND sh=‘1’)EDA中国门户网站,JK F |2L'Y(d0}5gJ

IIeoZ&_5r0THENEDA中国门户网站 nB Q4Do6`

hCc8Zw7t0IF(reg_data>200)THENEDA中国门户网站9n"od(Qjs3D
EDA中国门户网站WsL#SeD w
IF(reg_q(2)OR reg_q(1)OR reg_q(0)=‘1’ THEN
| f:_ FX0
-qx-amS5PcZ;d0reg_q<=reg_q-1;EDA中国门户网站uJ7mpps}T

#x-SXSw8W+b6c0END IF;EDA中国门户网站q"ob9nB(o%l K

5o'aEcv#ijS+_#l }0ELSIF(reg_data<150)THENEDA中国门户网站/faD"d NMphGU

6Y'_;csd0IF(reg_q(2)AND reg_q(1)
w4l5XOd$z*|[,a @I;H0EDA中国门户网站6?2Y4i9XmIZE;L-[
AND reg_q(0)=‘0’ THEN
E+B/W9JQSL]0

reg_q<=reg_q+1;
1?M!} ?|gk2@T0EDA中国门户网站,o8c E3C3S fV
END IF;EDA中国门户网站Aba7y%w!RIo!S6b
EDA中国门户网站,u/B1Z}8Lz9vy#CD S
ELSE reg_q<=reg_q;EDA中国门户网站;w%i#y+fh"|
EDA中国门户网站:Q Z(Ij7{BV
END IF;EDA中国门户网站\ Q5~E%m Ze.@iM

r@5R*m,Go0END IF;EDA中国门户网站E^'F)KECJ.E
EDA中国门户网站 @3}D3}]-R\ bc
q<=reg_q;
o4T$d C6A;djF0
xF y8J#Qv R)y0} ^0END PROCESS;

这里,第一个进程的作用是得到CCD输出电压的峰值,data为A/D转换的结果。第二个进程的作用是判断峰值是否在阈值范围内,以调整输出q,去控制多选一模块选择相应的时钟脉冲来作为DRIVER的输入。

将设计好的各个模块应用原理图进行连接,然后进行器件选择,本设计选CPLD芯片为EPM7128SLC84-15,然后编译,再进行仿真,即可所得,如图4所示的时序图。

观察该时序图中可以看到,如CPLD的工作与最初的设计意图相符,即可将程序下载到EPM7128SLC-15芯片中。

实验结果

进行电路的原理图设计,制成电路板,与CCD传感器连接。将光束打在一反射物体上,反射光为CCD传感器所接受,然后调节光照强度,利用示波器观察SH,可以看到SH的频率随光强的增大而增大。

结束语

本文所设计的带的CCD驱动电路,可集成于一片CPLD芯片中,较过去的由几十片芯片组成的驱动电路,其面积大大减小了,而且带有自动增益调整功能,对频率的选出采用逐次逼近的方式。因此,采用适当的步长,就可以将SH的变化控制在比较合适的范围内,从而使峰值的收敛达到较好的效果。此外,自动增益调整也避免了人工调整的麻烦和误差,提高了精度,降低了劳动强度。
8ohSJ w$`,tEm0

 
本文摘自《电子元器件应用》

FPGA/CPLD器件价格查询

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2008-11-18  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 10256
  • 日志数: 42
  • 文件数: 10
  • 建立时间: 2006-10-20
  • 更新时间: 2008-04-02

RSS订阅

Open Toolbar