当前位置:首页 > EDA > 电子设计自动化
[导读]ccd(charge couple device)是一种电荷藕合式光电转换器件。在物体位移测量系统中,常常以ccd作为位移传感器。当一束曝光器发出的激光照射到被测物体上并发生漫反射 时,反射光将经透镜聚焦后成像在ccd上,以使ccd光敏

ccd(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]。 [next]

系统整体结构

这种基于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的信号及一位单位转移信号。 [next]

当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,因此应对输入的时钟脉冲三分频,低电平占时钟脉冲一个周期,高电平占时钟脉冲两个周期,其具体的程序部分如下:

process(clk)

begin

if(clk’event and clk=‘1’)then

counter1<=counter1+1;

if counter1=2 then

mbt<=‘0’;

counter1<=0;

else mbt<=‘1’;

end if;

end if;

bt<=mbt;

sp<=mbt and(not msh2);

end process;

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

process(mbt,clk)

begin

if (mbtevent and mbt=‘1’)then

mt<=not mt;

end if;

if(clk’event and clk=‘1’)then

t1<=mt and (not msh2);

t2<=(not mt)or msh2;

end if;

end process;

process(mt)

begin

if(mt’event and mt=‘1’)

then

counter2<=counter2+1;

if counter2=1100 then

counter2<=0;

msh1<=‘1’;

msh2<=‘1’;

elsif(counter2<=3)then

msh1<=‘1’;

msh2<=‘1’;

elsif(counter2>3 and counter2<=5)then

msh1<=‘0’;

msh2<=‘1’;

else

msh1<=‘0’;

msh2<=‘0’;

end if;

end if;

sh<=msh1;

end process;[next]

产生rs的程序进程如下:

process(mbt,clk)

begin

if(clk’event and clk=‘0’)then

rs<=not mbt;

ned if;

end process;

至此,这样ccd驱动电路的六路信号均产生完毕,可以进行仿真,其结果如图3所示。

 


由图3可看出,所产生的驱动信号满足tcd1201d所需驱动时序关系。

dispart模块是用来对外部时钟进行分频的,可应用vhdl语言描述。其中二、三分频的程序如下:

process(clk)

begin

if(clk’event and clk=‘1’)then

mf1<=not mf1;

end if;

f1<=mf1;

end process;

process(clk)

begin

if(clk’event and clk=‘1’)

then

counter2<=counter2+1;

if counter2=2 then

mf2<=‘1’;

counter2<=0;

else

mf2<=‘0’;

end if;

end if;

f2<=mf2;

end process;

其他分频数与之类似,这里不再赘述。

compare模块是用来对a/d的转换结果进行寄存,并在一帧结束后,对得到的电压峰值进行判断以确定其是否在所规定的阈值范围内,从而控制多选一模块multiplexer。应用vhdl语言描述时,其程序的主要部分如下:

process(clk)

begin

if(clk’event and clk=‘0’)then

if data>reg_data then

reg_data<=data;

end if;

end if;

end process

process(sh)

begin

if(sh’event and sh=‘1’)

then

if(reg_data>200)then

if(reg_q(2)or reg_q(1)or reg_q(0)=‘1’ then

reg_q<=reg_q-1;

end if;

elsif(reg_data<150)then

if(reg_q(2)and reg_q(1)

and reg_q(0)=‘0’ then

reg_q<=reg_q+1;

end if;

else reg_q<=reg_q;

end if;

end if;

q<=reg_q;

end process;

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

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

 


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

实验结果

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

结束语

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在电子电路的研究、开发与测试过程中,常常会遇到需要观察瞬间出现的波形的情况,比如电路中瞬间产生的脉冲、突发的干扰信号等。这些瞬间波形携带了重要的信息,对于分析电路的工作状态、排查故障以及验证设计的正确性至关重要。而示波器...

关键字: 脉冲 干扰信号 自动锁存

PWM,也称脉冲宽度调制,它是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。

关键字: 脉冲 宽度调制 MOS管

全称Pulse Width Modulation:脉冲宽度调制(简称脉宽调制,通俗的讲就是调节脉冲的宽度),是电子电力应用中非常重要的一种控制技术,在理解TA之前我们先来了解几个概念 。

关键字: 脉宽调制 控制 脉冲

PWM控制的基本原理可以概括为:通过对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替所需要的波形(如正弦波)。

关键字: PWM控制 脉冲 正弦波

控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。

关键字: 逆变电路 控制 脉冲

随着脉冲电流按指数衰减,TVS两极间的电压也不断下降,最后恢复到初态,这就是TVS管抑制可能出现的浪涌脉冲干扰,保护电路的过程。

关键字: 脉冲 电流 保护电路

正弦信号发生器是一种用于产生正弦波信号的电子设备,广泛应用于通信、测试和测量等领域。该发生器主要由两部分组成:正弦波信号发生器和调频、调相、键控等信号产生部分。

关键字: 正弦波信号发生器 CPLD

CPLD(可编程逻辑器件)无刷直流电机驱动设计是一种基于硬件可编程逻辑电路的电机驱动方法。CPLD无刷直流电机驱动设计的主要目的是实现高效率、高可靠性和精确控制。以下是CPLD无刷直流电机驱动设计及原理的一些基本信息:

关键字: 无刷直流电机 CPLD 可编程逻辑电路

步进电机是将电脉冲信号,转变为角位移或线位移的开环控制电机,又称为脉冲电机。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响。当步进驱动器接收到一个脉冲信号时,它就可以驱动步进...

关键字: 步进电机 脉冲 控制

创新生态,韧性增长,共探食品行业新发展 上海2022年12月19日 /美通社/ -- 12月18日,第十一届“中国食品健康七星奖”(下称“七星奖”)颁奖典礼在上...

关键字: RSQUO 可持续发展 BSP MDASH
关闭