欢迎访问ic37.com |
会员登录 免费注册
发布采购

AD9923A是一个完整的36兆赫前端解决方案

日期:2019-9-6 (来源:互联网)

一般说明

AD9923A是一个完整的36兆赫前端解决方案,适用于数码相机和其他CCD成像应用。与AD9923产品类似,AD9923A包括模拟前端(AFE),一个完全可编程的定时发生器(TG)和15通道垂直驱动器(V驱动器)。Precision Timing™内核允许在36 MHz工作时以大约600 ps的分辨率调整高速时钟。片上V驱动器支持多达15个通道,可与5场10相CCD一起使用。模拟前端包括黑色电平钳位、CD、VGA和12位ADC。定时发生器和V驱动器提供所有必要的CCD时钟:RG、H时钟、垂直时钟、传感器门脉冲、衬底时钟和衬底偏置控制。内部寄存器使用3线串行接口编程。AD9923A封装在8 mm×8 mm CSP_BGA中,其工作温度范围为-25°C至+85°C。

术语

微分非线性(DNL)

理想的adc显示的代码转换正好是1 lsb间隔。dnl是这个理想值的偏差。因此,每个代码都必须有一个有限的宽度。保证12位分辨率的无漏码表示所有4096码必须在所有操作条件下分别存在。

积分非线性(inl)

从零到满标度值之间的真实直线测量的每个代码的偏差。用作零刻度的点在第一个代码转换之前出现0.5 lsb。正满标度定义为最后一个代码转换之后的1.5级LSB。从每个输出代码的中间到真正的直线测量偏差。

峰值非线性

峰值非线性,一个完整的信号链规范,是指AD9923A输出与真实直线的峰值偏差。用作零刻度的点在第一个代码转换之前出现0.5 lsb。正满标度定义为最后一个代码转换之后的1.5级LSB。从每个输出代码的中间到真正的直线测量偏差。误差以2V ADC满标度信号的百分比表示。输入信号总是被适当地放大以满足ADC的满标度范围。

总输出噪声

利用直方图技术测量均方根输出噪声。ADC输出码的标准偏差以LSB计算,表示指定增益设置下整个信号链的均方根噪声级。利用这种关系,输出噪声可以转换成等效电压

1 LSB=(ADC满标度/2N代码),其中N是ADC的位分辨率,1 LSB是0.488mV。

电源抑制(PSR)

PSR通过施加在电源引脚上的阶跃变化来测量。psr规范是根据给定的供电电压阶跃变化的数据输出的变化来计算的。

操作理论

主模式下AD9923A的典型系统框图。CCD输出由AD9923A AFE电路处理,该电路由CDS、VGA、黑色电平钳位器和ADC组成。数字化的像素信息被发送到数字图像处理器芯片进行后处理和压缩。为了操作ccd,ccd定时参数通过3线串行接口从系统微处理器编程到AD9923A中。AD9923A从系统主时钟cli生成CCD水平、垂直和内部AFE时钟。cli由图像处理器或外部crystal提供。外部同步由微处理器的同步脉冲提供,该脉冲重置内部计数器并重新同步VD和HD输出。或者,AD9923A可以在从机模式下操作,其中vd和hd从图像处理器外部提供。在此模式下,AD9923A定时与VD和HD同步。

HL、H1至H4和RG的H驱动器包括在AD9923A,允许这些时钟直接连接到CCD。支持高达3.3 V的H驱动器电压HVDD。垂直传输时钟、传感器门脉冲和基板时钟需要外部V驱动器。AD9923A还包括可编程MShut和可用于触发机械快门和频闪(闪光)电路的频闪输出。

AD9923A的最大水平和垂直计数器尺寸。内部水平和垂直时钟由这些计数器控制,以指定线条和像素位置。最大hd长度为每行8192像素,最大vd长度为每字段4096行。

精密定时

高速定时生成AD9923A使用灵活的精密定时核心产生高速定时信号。这个核心是产生用于CCD和AFE的定时的基础。它由复位门(rg)、水平驱动器(h1到h4和hl)和采样时钟(shp和shd)组成。独特的结构使得系统设计者可以通过对水平ccd读数和afe相关双采样的精确控制来优化图像质量。AD9923A的高速定时在主模式和从模式下工作相同。有关同步和管道延迟的详细信息,请参阅从模式中的通电和同步部分。

定时分辨率

精密定时核心使用1×主时钟输入(cli)作为参考。该时钟的频率应与ccd像素时钟频率相匹配。图17说明了内部定时核心如何将主时钟周期划分为48个步骤或边缘位置。使用36mhz cli频率,精密定时核心的边缘分辨率约为0.6ns。如果1×系统时钟不可用,则可通过编程clidivide寄存器(地址0x30)使用2×参考时钟。然后,AD9923A在内部将cli频率除以2。AD9923A包括一个主时钟输(CLO),它与CLI相反。这个输出被用作一个晶体驱动器。可以在cli和clo管脚之间放置一个Crystal来生成AD9923A的主时钟。

高速时钟可编程性

图18显示了如何生成rg、hl、h1到h4、shp和shd高速时钟。rg脉冲具有可编程的上升和下降边缘,并且可以使用极性控制反转HL、H1和H3水平时钟具有可编程的上升和下降边缘以及极性控制。h2和h4时钟分别与h1和h3时钟相反。表10总结了高速定时寄存器及其参数。图19显示了典型的2相H时钟操作,其中H3和H4被编程为与H1和H2相同的边缘位置。边缘位置寄存器宽6位,但只有48个有效的边缘位置可用。因此,寄存器值被映射成四个象限,每个象限包含12个边缘位置。表11显示了相应边缘位置的正确寄存器值。图20显示了高速时钟信号的默认定时位置。

H驱动器和RG输出

除了可编程定时位置外,AD9923A具有用于RG和H1到H4输出的片上输出驱动器。这些驱动器足够强大,可以直接驱动ccd输入。通过使用h1到h4、hl和rgdrv寄存器(地址0x36),可以调整h驱动器和rg电流,以在特定负载下获得最佳上升/下降时间。每个输出的3位驱动器设置可按4.1毫安的增量进行调整,最小设置为0等于0毫安或三种状态,最大设置为7等于30.1毫安。如图18、图19和图20所示,H2和H4输出分别与H1和H3输出相反。h1/h2交叉电压约为输出摆幅的50%。交叉电压不可编程。

数字数据输出

AD9923A数据输出和DCLK相位可使用双相寄存器(地址0x38,位[5:0])进行编程。从0到47的任何边都可以编程,如图21所示。通常,dout和dclk信号根据双相寄存器的内容同相跟踪。通过将dclkmode寄存器设置为高(地址0x38,位[8]),dclk输出相位也可以相对于数据输出保持固定。在此模式下,dclk输出保持在与延迟的cli版本相等的固定阶段,并且数据输出阶段保持可编程。有关更多详细信息,请参阅模拟前端说明/操作部分。

从dclk上升沿到dout转换有一个固定的输出延迟,称为t。使用dout delay寄存器(地址0x38,位[10:9]),可以将该延迟编程为0 ns到12 ns之间的四个值。默认值为8 ns。外径通过AD9923A的管道延迟如图22所示。通过shd对ccd输入进行采样后,在数据可用之前有16个周期的延迟。

1、显示的计时值为shdloc=0,dclkmode=0。

2、相对于cli位置,右侧shd和/或doutphase shift dout transition的值较高。

3、dout相位的抑制时间由tdoutinh定义,它等于shdloc加上11个边。建议不要将shdloc之后的12个边缘位置用于双相位置。

4、dout phase的建议值是使用shploc边或shploc后的11条边。

5、TOD(双倍)的建议值为4ns。

6、可以使用寄存器0x01,位[1]=1绕过双锁存器,以便ADC数据输出直接出现在数据输出管脚。如果不需要可调双相位,建议使用此配置。

水平夹紧下料

AD9923A水平夹紧和消隐脉冲完全可编程,以适应各种应用。期间为CLPOB、PBLK和HBLK提供单独的控制每个领域的不同区域。这允许在读出的每个阶段改变暗像素夹紧和消隐模式,以适应不同的图像传输定时和高速线移动。

单个CLPOB和PBLK模式

AFE水平定时由CLPOB和PBLK组成,如图23所示。这两个信号使用表12中的寄存器独立编程。spol是信号的起始极性,tog1和tog2是脉冲的第一和第二拨动位置。两个信号都处于低激活状态,应进行相应的编程。可以为每个v序列编程clpob和pblk的单独模式。如垂直定时生成部分所述,可以创建多个v序列,每个v序列包含用于clpob和pblk的唯一脉冲模式。

图46显示序列改变位置如何将读出字段划分为区域。可以为每个区域分配不同的v序列,使得clpob和pblk信号随着垂直定时的每次改变而改变。未使用的CLPOB和PBLK切换位置应设置为8191。

CLPOB和PBLK掩蔽区

AD9923A允许在现场的某些线路中禁用CLPOB和/或PBLK信号,而不改变现有的CLPOB和/或PBLK模式设置。为了使用CLPOB屏蔽,对CLPMaskStart和CLPMaskend寄存器进行编程,以指定起始行和结束行在忽略CLPOB模式的字段中。有三组CLPMaskStart和CLPMaskend寄存器,允许创建多达三个CLPOB掩蔽区域。CLPOB掩蔽寄存器并不特定于给定的V序列;它们对于任何现有的定时字段都是活动的。要禁用clpob掩蔽功能,请将这些寄存器设置为最大值0xfff(默认值)。要使用pblk掩蔽,pblkmaskstart和PBLkmaskend寄存器编程用于指定忽略PBLK模式的字段中的起始行和结束行。有三组pblkmaskstart和pblkmaskend寄存器,允许创建最多三个pblk掩蔽区域。

pblk掩蔽寄存器并不特定于给定的v序列;它们对于任何现有的定时字段都是活动的。要禁用pblk掩蔽功能,请将这些寄存器设置为最大值0xfff(默认值)。

单个HBLK模式

图26所示的hblk可编程定时与clpob和pblk类似;但是,没有启动极性控制。只有切换位置用于指定消隐期间的开始和结束位置。此外,还有极性控制寄存器hblkmask,用于指定消隐期间水平时钟信号的极性。设置hblkmask high设置h1=h3=高,h2=h4=低,如图27所示。与clpob和pblk寄存器一样,hblk寄存器在每个v序列中都可用,允许不同的消隐信号与不同的垂直时序一起使用。注意8189是AD9923A上任何未使用的HBLK切换位置的推荐设置。HBLK模式寄存器HBLKALT的设置。8190和8191对于未使用并导致不需要的hblk切换活动的hblk切换位置是无效设置。

生成特殊的hblk模式

HBLK有六个切换位置。通常,只有两个切换位置用于生成标准hblk间隔。但是,可以使用附加的切换位置来生成特殊的HBLK模式,如图28所示。本例中的模式使用所有六个切换位置在hblk间隔期间生成两组额外的脉冲。通过改变切换位置,可以创建不同的模式。

生成hblk线路交替

AD9923A可以在奇偶线上交替使用不同的HBLK切换位置。此功能可以与V型奇偶交替结合使用,也可以单独使用。当1写入hblkalt寄存器时,hblktoge1和hblktoge2用于奇数行,hblktoge3到hblktoge6用于偶数行。将2写入hblkalt寄存器得到相反的结果hblktoge1和hblktoge2用于偶数行,hblktoge3到hblktoge6用于奇数行。当3写入hblkalt寄存器时,所有六个偶数切换位置hblktoge1到hblktoge6都在偶数行上使用。还有六个额外的切换位置,hblktogo1到hblktoge6,用于奇数行。这些寄存器通常用于vpat组a、vpat组b和冻结/恢复功能,但当hblkalt=3时,这些寄存器成为hblk的奇数行切换位置。通过将4、5、6或7写入HBLKALT。在这些模式中,使用不同的寄存器hblkstart、hblkend、hblklen和hblkrep以及四个切换位置来生成hblk模式。这允许HBLK信号的多次重复,如图32所示。

在hblk期间增加h时钟宽度AD9923A允许在HBLK间隔期间增加H1到H4脉冲宽度。H时钟脉冲宽度可以通过降低H时钟频率来增加。hblkwidth寄存器(寄存器0x35,位[6:4])是一个3位寄存器,允许h时钟频率减少1/2、1/4、1/6、1/8、1/10、1/12或1/14。频率降低仅发生在位于hblk区域内的h1到h4脉冲。

水平时序示例

图33显示了CCD布局的示例。水平寄存器包含28个虚拟像素,这些像素出现在从ccd计时的每一行上。在垂直方向上,在读出前端有10条黑色(ob)线,在读出后端有2条黑色(ob)线。水平方向在前面有四个ob像素,在后面有48个ob像素。

图34显示了在有效像素读出期间使用的基本序列布局。每行末尾的48个ob像素用于clpob信号。PBLK是可选的,通常用于在无效的CCD像素期间使数字输出空白。在垂直移位间隔期间使用hblk。

HBLK、CLPOB和PBLK参数在V序列寄存器中编程。更精细的夹紧方案。HBLK宽度寄存器使用,例如在ob像素的整行期间添加单独的序列以进行钳制。这需要配置一个单独的v序列来读取ob行。clpmaskstart和clpmaskend寄存器可用于在几行上禁用clpob,而不影响钳位序列的设置。

垂直定时生成

AD9923A为产生垂直CCD定时提供了非常灵活的解决方案;它可以支持多个CCD和不同的系统架构。13相垂直传输时钟,xv1到xv13,用于将像素线移到ccd的水平输出寄存器中。AD9923A允许使用图35所示的四步过程,将这些输出单独编程为各种读出配置。

1、使用垂直模式组寄存器为xv1到xv13创建单独的脉冲模式。

2、使用v模式组构建序列并添加更多信息。

3、通过将场划分为区域并为每个区域分配一个序列来构造整个场的读出。每个字段可以包含多达九个区域以适应读出的不同步骤,例如高速线移位和独特的垂直线移位。v模式、v序列和字段的总数是可编程的,并且受寄存器数量的限制。高速线位移和独特的垂直传输是读出所需的不同步骤的例子。

4、使用模式寄存器以任意顺序组合字段以用于各种读出配置。

垂直模式(VPAT)组

垂直模式(vpat)组定义每个xv1到xv13输出信号的单独脉冲模式。表15总结了可用于生成每个vpat组的寄存器。第一、第二、第三、第四、第五和第六拨动位置(xvtog1,xvtog2,xvtog3,xvtog4,xvtog5,xvtog6)是脉冲转换的像素位置。所有切换位置都是13位值,可以放在水平线的任何位置。更多的寄存器包含在垂直序列寄存器中以指定输出脉冲:xv1pol到xv13pol指定表15。垂直模式组寄存器,对于每个信号的起始极性,vstart指定vpat组的起始位置,vlen指定vpat组的总长度,如果使用重复,该长度确定每个图案重复之间的像素数。为了获得最佳的噪声性能,请确保vstart+vlen<h空白区域的末端。

垂直序列(VSEQ)

垂直序列(vseq)是通过选择v模式组之一并添加重复、起始位置和水平夹紧和消隐信息来创建的。使用表16所示的寄存器对每个VSEQ进行编程。图37显示了如何使用每个寄存器生成v序列。

vpatsela和vpatselb寄存器选择在给定v序列中使用的v模式组。有两个可用的组允许将每个垂直输出映射到不同的v模式组。所选的v模式组可以通过使用奇偶线的vrep寄存器,为高速线移位或线装箱添加重复项。通常,两个寄存器中的重复次数相同。如果奇数和偶数行上需要不同的重复次数,则可以为每个寄存器使用单独的值(参见生成v序列和hblk段的行交替)。vstarta和vstartb寄存器指定v模式组开始的像素位置。vmask寄存器与冻结/恢复寄存器一起使用,以启用xv输出的可选屏蔽。其中一个或两个可启用冻结1/Resume1和冻结2/Resume2寄存器。

线长度(以像素为单位)可使用hdlen寄存器进行编程。每个v序列可以具有不同的线长度以适应各种图像读出技术。每行最大像素数为8192。注意,字段的最后一行可以使用位于字段寄存器中的hdlast寄存器单独编程。

A组/B组选择

AD9923A具有在垂直序列中使用两个V型组的灵活性。一般来说,所有的垂直输出在一个序列中使用相同的v模式组,但是一些输出可以分配给不同的v模式组。这在某些ccd读出模式下是有用的。groupsel寄存器用于为每个xv输出选择组a或组b(lsb是xv1,msb是xv13)。将每一位设置为0将选择A组;将每一位设置为1将选择B组。如果垂直输出只需要一个V型组,则默认使用A组(GroupSel=0),并且输出使用由VPATSela寄存器指定的V型组。

如果需要B组灵活性,则在组选择寄存器使用vpatselb寄存器。例如,图38显示了使用单独的v型组b执行特殊ccd定时的xv12和xv13输出。

A组和B组寄存器的另一个应用是组合两个VPAT组以获得更复杂的模式。这是通过将两个组寄存器设置为1来实现的。图39显示了这种计时的一个示例。当两个_组=1时,A组和B组切换位置都被使用。此外,当两个组=1时,长度、起始极性和重复次数都由组A的适当寄存器确定。图40显示了将A组和B组与重复组合在一起的更复杂的操作。

v序列与hblk的生成线交替

在低分辨率读出过程中,一些ccd需要交替线路上不同数量的垂直时钟。AD9923A可以通过使用不同的VREP寄存器来支持这种CCD。这允许在奇数和偶数行上编程不同数量的vpat重复。

注意,只有奇偶行中的重复次数不同,但vpat组保持不变。对于指定的组A和组B模式有单独的控件。A组和B组都支持奇偶线交替。A组使用VREPA_1和VREPA_2寄存器;B组使用VREPB_odd和VREPB_even寄存器。A组还可以使用VREPA_3和VREPA_4寄存器支持三线和四线交替。

此外,hblk信号可以交替用于奇偶线。当hblkalt=1时,在奇数行上使用hblktoge1和hblktoge2位置,并且HBLKToge3到HBLKToge6位置在偶数行上使用。这允许在需要时在奇偶线上调整hblk间隔。