TA的每日心情 | 开心 2019-11-19 15:19 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
基于VHDL的图像传感器TCDl206的驱动设计
3 h6 z$ k+ r, g" x3 {/ L# y: ]) i" J: s2 r2 ]7 Q% X. c
9 o; r3 a) m d" j/ h. q电荷耦合器件CCD(Charge Couple device)是集光电转换、电荷储存、电荷转移为一体的新型光电传感器件。该器件的主要功能是将光学图像转换为电信号。当对其施加特定时序脉冲时,其存储电荷能在CCD内作定向移动,从而实现自扫描.输出电压信号的大小与CCD单元存储的电荷多少成正比,CCD单元存储电荷多少与光的强度和CCD单元光积分时间成正比。与传统的光电传感器相比,CCD图像传感器具有输出噪声小,动态范围大,光谱响应范围宽,分辨率高,输出信号线性度好,功耗低,体积小,寿命长等优点。
" |# J' m$ u, P" I7 o) T; U$ b% I8 k4 |
* W2 O7 J2 i6 K H$ d0 f/ x
而CCD应用的关键就是获取驱动脉冲,这里分析线阵CCD-TCDl206的工作原理和对驱动时序的要求,在此基础上设计合理的脉冲产生方案。该设计采用复杂可编程逻辑器件cpld作为硬件设计平台,通过超高速硬件描述语言VHDL描述驱动方案,采用ALTEra公司的仿真软件QUARTUS II对其驱动脉冲进行仿真。
! n+ h7 Y: D& d9 N- p1 ^/ J3 N7 q. S% K4 q
1 TCDl206的主要特点! N/ k8 n/ A+ }# U& t& _
TCDl206是一款高灵敏度、低暗电流、2 160像元的双沟道线阵CCD图像传感器。由2 236个PN结光电二极管构成光敏元阵列,其中前64个和后12个是用作暗电流检测而被遮蔽的,中间2 160个光电二极管是曝光像敏单元,每个光敏单元的尺寸为长14μm、高14μm,中心距亦为14μm。光敏元阵列总长为30.24 mm。
8 r; g0 p- q; W
8 J! m1 r' \7 `9 b# U: a. q6 L; eTCDl206的主要特性有:1)光敏像元数为2 160像元;2)像敏单元为:14μmxl 414μm(相邻像元中心距为14μm);3)光谱范围为250~l 100 nm:4)光敏区域采用高灵敏度PN结作为光敏单元;5)时钟为二相(5 V);6)内部电路包含采样保持电路,输出预放大电路;7)采用22引脚DIP封装。
1 f8 {1 |1 K( C- ?4 m6 r; i M9 Q: Y$ c8 S1 J) N- Y/ I
2 TCDl206的结构原理和引脚功能
) n6 v e+ ~! _0 J, @: t% j, `8 G2.1结构原理
f8 @( y3 U3 X$ C0 V# F; RTCDl206是二相电极的双沟道线型CCD,其结构原理如图1所示。中间一排是由多个光敏二极管构成的光敏阵列,有效单元为2 160位,其作用是接收照射到CCD硅片的光,并将其转化成电荷信号,光敏元两侧是存储其电荷的MOS电容列一存储栅。MOS电容列两侧是转移栅电极SH。转移栅的两侧为CCD模拟移位寄存器,其输出部分由信号输出单元和补偿单元构成。4 ]' }7 X+ x& }6 Y! h; c! I
% f g( u. r: C7 q* o: y
8 [% E; @$ W1 o; U- @9 r1 o' s
1 ~( L, G# P. D. {5 S2 B
' y' T8 w+ ~7 N$ x$ V/ y2.2引脚功能1 ]0 D; j3 ~2 b6 j! {
TCDl206器件采用DIP封装,各引脚功能如表1所示。
! J V: C& J, h I l6 _
2 L/ C! r1 d) _0 S3 j m; Z+ C' H( q0 z& n
# }3 G% s6 S0 O3 B
3 驱动时序及驱动设计, Q; z& b( p( y" w6 s) z
3.1驱动时序分析7 \8 q/ r% s6 s) X' w5 E: R! Z% \
TCDl206在图2所示的驱动脉冲作用下工作。当SH脉冲高电平到来时,φ1脉冲为高电平,其下形成深势阱,同时SH的高电平使φ1电极下的深势阱与MOS电容存储势阱沟通。MOS电容中的信号电荷包通过转移栅转移到模拟移位寄存器的φ1电极下的势阱中。当φSH由高变低时,φSH低电平形成的浅势阱将存储栅下的势阱与φ1电极下的势阱隔离开。存储栅势阱进入光积分状态,而模拟移位寄存器将在φ1与φ2脉冲的作用下驱使转移到φ1电极下的势阱中的信号电荷向左转移,并经输出电路由OS电极输出。DOS端输出补偿信号。
" H) Z& m9 ?4 ?* P8 [) {
* o0 `6 L, ]4 A1 R9 h; Y! P4 b6 ?8 F% l) |) p& n( s" t! e
h7 c; J6 y' Q
, ]% T Y- b! F
; B$ p ~1 w6 ?( g由于结构上的安排,OS端首先输出 13个虚设单元信号,再输出51个暗信号,然后才连续输出Sl到S2160的有效像素单元信号。第S2160信号输出后,又输出9个暗信号,再输出2个奇偶检测信号,以后是空驱动。空驱动的数目可以是任意的。由于该器件是两列并行分奇偶传输的,所以在一个SH周期中至少要有1 118个φ1脉冲。RS为复位级的复位脉冲,复位一次输出一个信号。
& {. Z; r7 _' N `+ C# R2 Y2 T" E2 \
8 p+ P5 a8 |* v p3.2驱动电路设计5 e8 N* k& u# G" J
# S- M5 j8 I/ h$ p# F) a
驱动电路的作用是给CCD提供正常工作所需要的逻辑时序脉冲和偏置工作电压.并在CCD的输出端把光电转换得到的电荷量转变成电压量输出。驱动脉冲信号的波形、相位、前后沿时间等对器件工作有很大影响。
4 F5 v: n1 w1 S- R5 t- ?
1 w! x1 ?5 ^$ r# X* W" _为了保证CCD工作稳定可靠.必须设计符合CCD正常工作要求的时序脉冲和驱动控制电路,驱动控制脉冲与CCD良好配合,才能充分发挥CCD的光电转换、电荷存储和电荷转移等功能。不同型号的CCD要求的工作参数不同,很难设计一种驱动控制电路同时满足多种CCD工作需要,即使是相同像元数的CCD器件,若型号不同也不具有互换性。
; z4 ~$ Z6 W- A( Q
8 t+ i2 @* }3 @1 u$ tTCDl206传感器的驱动脉冲都为周期性方波,但周期和占空比不同。其4路驱动脉冲之间需要满足特定的时序关系:根据驱动脉冲时序图可知在1个SH周期中至少有l 118个φ1脉冲。即TSH>l 118T1,T1为驱动脉冲φ1的周期。这里选择TSH=1 128T1。在SH为高电平期间,要求φ1l与φ2有一个大于SH=1持续时间的宽脉冲,这是由于此时像元中的电荷正在向两列寄存器中转移,如果在此期间φ1与φ2有上升或下降沿出现,则会造成电荷转移不完全的情况。时钟脉冲φ1,φ2频率的最大值是l MHz,典型值是0.5 MHz。复位脉冲RS频率的最大值是2 MHz,典型值是1 MHz。本设计中都选用典型值。而且φ1、φ2必须反相,占空比l:l;SH的高电平脉冲宽度要小于φ1,φ2;RS与CLK时钟的占空比为l:4。
, z1 ]7 F, w+ u0 M! K( `2 ^4 x/ j" N9 H! Q$ Z
3.2.1原理图设计% `: @. L9 K ]3 I. l1 ^
确定SH、φ1、φ2和RS的参数后,则可根据它们之间的时序关系设计硬件逻辑图,如图3所示。) g; W% B, z& @4 I( Q# x
$ Z$ g+ ?! V3 v! H! V' H. i, B: f8 P5 e$ i$ V
3 E" d# G6 q! V! q# F# r- ~* G) ?9 B* s
本设计利用CPLD作为硬件设计平台,它具有较高的灵活性,电子电路设计完成后,如果需修改时序逻辑。只需重写CPLD内部逻辑电路即可。因此,CPLD非常适合用于设计CCD驱动电路。
' F' x2 D, K# q+ h/ C/ Z. D: J3 ^* }8 W: A+ H, m, ?% g
各个模块的设计采用VHDL语言描述。采用4 MHz的时钟CLK作为输入的时钟,Dl模块用于将时钟信号进行8分频,将4 MHz的时钟频率分成0.5 MHz。D2模块是将时钟频率分成l MHz,占空比为l:4。COUNTERll28模块和NCOUNTERll28模块分别是上升沿和下降沿计数,计数范围在0~1128之间循环,在前两个时钟为高电平,其余时间都为低电平。
0 _7 h* [& o; ?
$ |6 m! j, `! d' U0 f7 B电路实现是先用D1模块将4 MHz的时钟频率分成0.5 MHz,用0.5 MHz的脉冲作为COUNTERll28和NCOUNTERll28的输入端,将COUNTERll28和NCOUNTERll28的输出相与,输出结果就是SH,将D1和COUNTERll28以及NCOUNTERll28的输出进行逻辑或,则得到φ1,再将φ1反相,得到φ2,由D2模块可直接得到RS。6 N7 Y" ]: K7 I A& S5 P9 x
2 |9 \4 o) Y, b/ A5 c+ C
3.2.2模块电路的VHDL设计5 A7 N* N8 U3 _! P1 u4 M& A" S* {
每个模块的VHDL设计都包括如下部分:1)定义所需的库函数;2)定义输入、输出端口;3)对设计所需预置数初始化;4)相关功能的实现语句。CCD驱动程序主体部分设计如下:
; U& o8 r. P. w. D" }2 S. m- a
5 j9 d# t% v6 ]. y0 ~1 m" M
6 D) A. O7 `" N8 s ! G* C( A* ?) U' s
4 设计结果仿真& Q1 t4 w) u+ y8 H, J! k9 S
图4是在Altem公司的QUARTUS II开发系统中仿真的波形.从图中可以看出,产生的4路驱动脉冲完全满足TCDl206所需的时序脉冲,达到驱动要求。
7 f* S7 q0 A1 k2 @0 _6 o1 A8 R+ F. @% Q" i. p% L; I2 d
% S$ a. v1 z" c, \! c+ F
5 结束语. S) x: l+ v# L [& S6 Y0 d/ x
VHDL是一种自上向下设计的硬件描述语言,同时又具有高级语言的特性,这使得用这种硬件描述语言设计的逻辑功能比较容易实现。同时VHDL语言具有很好的可重用性和可移植能力,能够减轻工作量。利用VHDL设计整个传感器的驱动,并与硬件原理图相结合,不同于以往以单纯的硬件设计实现,这样不仅利于修改而且设计周期短。因此,基于VHDL对TCDl206驱动电路的设计是一种较实用的设计方案.4 c9 r7 D, ]: {2 J/ [3 \2 z
|
|