当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于CPLD的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]。

系统整体结构

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

process(clk)

begin

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

counter1<=counter1+1;

if counter1=2 then

mbt<=‘0’;

counter1<=0;
[!--empirenews.page--]
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;

产生rs的程序进程如下:

process(mbt,clk)

begin

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

rs<=not mbt;

ned if;

end process;

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

 [!--empirenews.page--]

由图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的变化控制在比较合适的范围内,从而使峰值的收敛达到较好的效果。此外,自动增益调整也避免了人工调整的麻烦和误差,提高了精度,降低了劳动强度。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭