tag 标签: AD9633

相关帖子
相关博文
  • 热度 2
    2024-11-9 10:26
    301 次阅读|
    0 个评论
    AD9633默认情况下调试记录(二)
    概述 所谓默认情况,即如器件手册中图2所标示那样。对应AD9633的调试,除了涉及到ADC自身,还需要兼顾前端驱动器,系统中AD9633驱动器使用了差分运算放大器,这里不在赘述,笔者已有相关文章论述。 此外,默认情况下的调试,还有一文已经谈及了与FPGA联调时如何让逻辑进行“字”对齐,参考《AD9633在旁路SPI接口时如何出在FPGA逻辑中确认字边界》一文(已更名:AD9633默认情况下调试记录(一))。故本文属于默认调试记录(二)。 AD9633默认工作设置 AD9633是4通道、12位、80/105/125 MSPS高速串行LVDS模数转换器(SST使用100MHz采样率,故选购的芯片为105MSPS即可)。该ADC会自动倍乘采样速率时钟,以便产生合适的LVDS串行数据速率。它提供一个数据时钟输出(DCO)用于在输出端捕获数据,以及一个帧时钟输出(FCO)用于发送新输出字节信号。每一个通道都拥有两组LVDS差分数据线,在默认模式下分别串行传输低数位和高数位数据。图1是AD9633在默认工作模式下的时序图(截取手册中Figure 2): 图1:AD9633默认工作时序图,DDR/SDR,12-bit,双道,x1帧模式 尽管ADI的这类ADC支持单道输出,但是由于采样频率比较高,单道输出串行数据率会超过1Gbps的限制。退而求其次使用双道,这样就需要消耗双倍的FPGA接收LVDS引脚数量。 而ADC的输出双道数据流又有两种模式,如图1所示,分别为BITWISE MODE和BYTEWISE MODE。BITWISE MODE下,双道分别串行传输偶数位和奇数位数据。BYTEWISE MODE下,双道分别串行传输高6-bit和低6-bit。如图2所示,AD9633数据手册中,表21提供片内寄存器21对于串行输出的设定,默认情况下为双道BYTEWISE。用户如果不喜欢这种模式,可以打通器件的SPI通信接口,进行修改配置。 图2:手册表格21显示了AD9633默认输出设定 AD9633默认配置调试遇到的问题 上面介绍了AD9633串行输出的具体模式,到此笔者在调试的时候一开始认为已经认清了该ADC输出的一切面目,然而在FPGA侧对接收数据进行分析时还是遇到了问题,除了上文提到的另一文中,即《默认情况调试记录一》,讨论到的字边界未对齐问题外,还出现了如图3所示的问题。 图3:SignalTap II观测ADC采样后的数字输出 如图3所示,信号源提供了正弦波信号,而AD9633采样出来的只是得到了上半周期。这个问题困扰了我们一段时间,从怀疑信号源输出幅度不够,到怀疑前端驱动器的直流偏置不对等等。把所有想到的可能检查个遍都未能找到问题根源。如图4所示,更改信号源正弦波各种参数,使用单极性、双极性不同频率、幅度,得到不同的正弦波,采样结果都类似。如图5所示,在调整正弦波幅度后,尽管SignalTap II里可以得到完整的正弦波形,但这是在牺牲ADC一半动态范围的情况下得到的。也即ADC仅利用到了图示中上半部分动态范围,下半部分依然被忽视了。 图4:信号源为AD9633提供不同正弦波 图5:调整正弦波幅度后,虽然能观察到完整的波形,但是ADC只有上半部分动态范围 这个问题最终得到解决,只是因为SignalTap II显示问题。因为AD9633默认输出模式是 2的补码 模式,所以正常采样的时候,如果SignalTap II选择的是无符号线显示就会显示如图3或图5那样,如果选择有符号线,则如图6所示。 图6:显示设置成“Signed Line”模式后,ADC完整动态范围可以显现出正弦波完整波形 参考 Quad, 12-Bit, 80 MSPS/105 MSPS/125 MSPS, Serial LVDS 1.8 V ADC Datasheet LVDS SERDES Intel FPGA IP User Guide: Intel Arria 10 and Intel Cyclone 10 Devices.
  • 热度 2
    2024-11-7 10:40
    491 次阅读|
    1 个评论
    AD9633默认情况下调试记录(一)
    AD9633在旁路SPI接口时如何在FPGA逻辑中确认字边界 概述 AD9633与FPGA之间的LVDS接口初调试,ADC可以通过SPI接口对其内部寄存器进行各项配置。在SPI接口未调通之前,对LVDS接口初步尝试调试,且已经打通。 在打通LVDS接口的基础上,FPGA收到AD采样结果后,字边界对齐是首要任务。未打通SPI接口的情况,只能使用默认配置进行调试,即在关闭SPI的时候,ADC输出总线也可以强制对外输出识别码(Pattern Code),FPGA收到此码后,即可利用LVDS的Bitslip功能完成字边界对齐。本文即记录此调试过程。 AD9633如何在未打通SPI接口时发送识别码 根据数据手册描述,在禁用SPI接口模式下,CSB直接接AVDD,这样SDIO/OLM引脚依据图1所示表格选择AD输出模式。本系统100MHz@12-bit,所以必然选择2个Lane(目前市面ADC单通道串行输出最高限速1Gbps,100MHz@12bit要单通道输出,则速率高达1.2Gbps)。 图1:输出分道模式(Output Lane Mode)引脚设置 由上确定了CSB和SDIO/OLM两个引脚的接法,下面确定SCLK的接法。SCLK/DTP引脚在禁止用SPI接口模式下用来控制AD的输出模式,即控制输出识别码还是模数转换的数值。 CSB与SDIO/OLM在上述配置的情况下,SCLK/DTP如果接AVDD,则ADC通道对外输出固定的数字识别码,即二进制的“1000 0000 0000”,即或十六进制的x“800”。具体控制如图2所示,所以切换到正常操作时,将该引脚悬空即可,实际板级设计可以使用拨码来完成图2中两个模式之间的切换。 图2:数字测试识别引脚设置 FPGA逻辑使用识别码 FPGA逻辑收到识别码,即十六进制h’800,其后实际得到数字码会发生移位,如图3所示,实际两个ADC分别接收到的是h'400和h'100,即字边界未对齐。 图3:FPGA的LVDS-RX收到的识别码解串后发生位移 如图3所示,板子上有2片不同的AD9633,均被控制发送十六进制h’800识别码,但是两个ADC均发生了位移,而且位移还不一样。 此时可以根据上图收到的实际数码,编码字边界对齐控制逻辑,让LVDS-RX模块自动完成字对齐。如图4所示,由逻辑生成控制脉冲,然后得到图5所示的控制结果,识别码从h’400到h’800的逐次转变对齐。 图4:控制逻辑产生bitslip控制脉冲提供给LVDS的rx_bitslip_ctrl端口 图5:LVDS收到bitslip脉冲后自动完成字边界对齐 注意事项 在找字边界调试的时候,发现有几个事项需要注意。首先,对于LVDS-RX模块来说,对应每个AD9633在双分道(Lane)的时候,总共有8个LVDS接收通道,所以图4中的rx_bitslip_ctrl端口有8个比特。而在调试的时候通过SignalTap观察仅有最低位能收到bitslip脉冲(如图6),似乎LSB单个bit的控制脉冲完成整个8通道的控制,而且8个通道来自同一ADC,所以其位移也是一样的,这样也不会有问题。 其次,由于ADC输出使用双Lane模式,所以12-bit分成了两个6-bit部分。所以识别码h’800也要分成两部分,所以其位移的可能性总共只有5种,即从十六进制的“800”到“400”、“200”、“100”、“080”以及最后的“040”,不会出现其余可能。 图6:Bitslip控制过程观察 参考 Quad, 12-Bit, 80 MSPS/105 MSPS/125 MSPS, Serial LVDS 1.8 V ADC Datasheet LVDS SERDES Intel FPGA IP User Guide: Intel Arria 10 and Intel Cyclone 10 Devices.
  • 热度 3
    2024-9-1 15:12
    809 次阅读|
    0 个评论
    概述 基于前述ADA4930用作ADC驱动器的分析,下一步即开展启动器电路的仿真。ADI为用户提供全差分运输放大器仿真工具Diff-Amp Calculator,同时凌特被ADI收购之后,之前凌特的仿真工具LTSpice也可以拿来对ADA4930运放进行仿真。 本文记录使用上述两种工具对ADA4930的仿真,以及仿真获得成果,同时依据仿真对ADC驱动电路进行完善。 使用Diff-Amp Calculator仿真 驱动器详细型号为ADA4930-2YCPZ,即双通道单端转差分模拟放大器,作为AD9633的前端驱动,每片ADC需要2片驱动。 驱动电路设计参考了器件手册,以及ADI提供的仿真工具Diff-Amp Calculator搭建的模型电路,如图1所示。 图1:ADC驱动放大器仿真电路模型 驱动电路设计有几个关键点: 放大器单电源轨 前端单端模拟信号要求单极性输入 Vocm来自后端AD9633提供,即两片放大器共享单片AD9633提供的Vocm ADA4930D 数据手册并未提供单极性信号输入的参考电路,比如手册中的图51到图55讨论的都是双极性信号输入,所以实际电路设计的时候我们无法直接照搬,上述仿真电路中为了得到单极性2Vpp的输入源,VS DC为1V或1000mV。放大器VN端单独接入直流偏置,其余部分与之前的分析一样。 根据之前分析,从VinP向右看去,输入阻抗为50欧姆,而源端阻抗50欧姆,所以2Vpp的信号在VinP点则为1Vpp。同时注意,Vp与Vn的共模电压范围限制在0.3~1.2V之间,这是手册给出的指标参数要求。输出的信号,VoutP与VoutN都在相同的共模电压,即0.9V上上下摆动,VDiff虽然也显示为在0.9上上下各摆动1V,即2Vpp。所以整个电路体现的增益为1,是为VDiff/Vs。需要注意的是,输出的VDiff为何也在0.9V上上下摆动,理论上应该在0V上上下摆动。 同时,图1所示的电路其实与手册中给出的单端直流偏置端接电路还是有所不一样的,即图1中直流是分别加入到正负端,而手册中图51~图53中是同一直流加入两端。图1信号源为单端单极性模拟信号,即信号下限固定在0电位,图1表现为2Vpp的信号添加1V直流偏置。当信号幅度变化时,为了继续维持单极性,那么偏置直流也会跟随变化。 从以上可以看出,Diff-Amp Calculator这个工具虽然使用方便,但很多地方限制太多。比如似乎无法指定其它的RF值,也没办法仿真手册中图55所示的电路。所以下一节则介绍了使用LTSpice来仿真。 使用LTSpice仿真 为了简化电路,又由于输入信号固定为单极性信号,所以信号端不需要额外进行直流偏置。那么为了不增加的额外的直流源,经过与ADI的工程师讨论,他建议可以使用放大器供电电压来产生一个替换的直流偏置。该替换方案的仿真电路如图2所示。 AD9633默认的输入动态范围是2Vpp,所以图1中输入信号设置最大也是2Vpp,由于实际系统中模拟脉冲都是0V之上的正脉冲,所以图中输入信号源是单极性单端模拟信号。 而工具Diff-Amp Calculator无法随意对其中的元件进行更换调整,所以又使用LTSpice对仿真电路进行调整,具体调整的地方是放大器负端,使用+3.3V来替换图1中的1Vdc源,这样电路设计时可以减少电压源数量。即使用+3.3V串接一个300欧姆左右的电阻来提供图1中的1Vdc,修改后的LTSpice仿真电路如图2所示。 图2:替换1Vdc之后放大器的LTSpice仿真电路图及信号源设置 注意,图2右侧给出了LTSpice仿真中信号源参数设置。为了使用单极性信号源,设置参数有,偏置直流1V,信号幅度1000mV,信号频率1MHz以及源阻抗50欧姆。注意图1与图2中信号源是一样的,一个是2Vpp,即peak到peak之间是2000mV,另一个是正弦波幅度1000mV,即peak到偏置直流幅度是1000mV,其peak到peak也是2000mV。所以这两个仿真电路有相同的仿真结果,如图3为LTSpice的仿真结果。 图3:ADA4930-2的LTSpcie仿真结果 需要注意的是,ADI的Diff-Amp Calculator似乎将输出的差分信号Vdiff的摆幅中心挪移到了与Vop和Von相同的共模位置,而LTSpice给出V(OUPp,OUPn)摆幅中位是位于0V处。 LTSpice也可以对手册中其它电路进行仿真,这里不再赘述。LTSpice虽然用起来少了Diff-Amp Calculator的便利,但是可以搭建更多的电路方案实现仿真。 附注: 为了了解仿真内容,AN-1026给出详尽的介绍。这里摘取与SiPM读出系统有关部分,即单端模拟输入信号。如图4所示,给出了单端端接ADC驱动器差分输出的工作方式。 图4:ADC驱动器单端输入示例 虽然输入为单端性质,但VIN, dm仍等于VIN。由于电阻RF和RG相等且平衡,故为单位增益,且差分输出VOP−VON等于输入,即4Vp-p。VOUT,cm等于VOCM= 2.5V;来自低反馈电路的两个输入电压VA+和VA−等于VOP/2。 利用公式VOUT,cm=VOP−VON和公式VOUT,cm=(VOP+VON)/2,可得 VOP=VOCM+ VIN/2, ±1V 同相摆动约 2.5V。VON= VOCM− VIN/2, ±1V反相摆动约 2.5 V。因此,VA+和 VA−在±0.5 V下约摆动1.25V。必须由VIN提供的电流的交流成分为 (2V – 0.5V)/500 Ω = 3 mA, 因此,必须匹配的接地电阻(从VIN看过去)为 667Ω。 参考 ADA4930-1/ADA4930-2:Ultralow Noise Drivers for Low Voltage ADCs Datasheet AN-1026
  • 热度 5
    2024-8-17 08:55
    985 次阅读|
    0 个评论
    概述 模数转换系统计划由前一代的AD9218升级到AD9633,之前的AD驱动器AD8138应该是可以使用的,为了减少电路面积,选择了ADA4930。 相对AD8138,ADA4930-2单芯片集成了2个通道,如此2片ADA4930-2就可以驱动一片AD9633了。 ADA4930外围电路配置 依据手册描述,单位增益下,ADA4930的RG必须大于等于301欧姆,参考手册中表格11到13,得出RF和RG都采用301欧姆。手册的图46给出了典型单端输入,增益1,输入源2Vpp,源端电阻50欧姆,如图1所示。 图1:单端输入阻抗RIN 这里注意RIN是单端信号接入点向内看去的输入电阻,即从RG1左侧向右侧看去。图1给出该点向右看去的电阻为401欧姆,具体推算公式手册已经给出基于平衡输入的简化版,即如图2所示。 图2:平衡单端输入的ADA4930输入阻抗推算公式 所谓的平衡,即RG1=RG2=RG,RF1=RF2=RF,图1中RG和RF均为301欧姆。为了给输入进行端接,需要在输入端端接一个电阻,并将输入阻抗从401欧姆改变为50欧姆。也就是说通过这个端接的电阻与401欧姆并联等于50欧姆来推算该端接电阻的阻值。手册里提供了详细的迭代过程,最终得到手册中图50所示的结构,这里截取如图3所示。 图3:端接后的单端转差分系统,单位增益,G=1 因为输入信号的内阻为50欧姆,从RT、RG节点向外看输入阻抗是50欧姆(向外看就是从右到左),为了确保电路的增益是1,正负端的RG*电阻的阻值要调整。这样端接后,RT、RG节点的电压是输入信号电压的一半。 上述这个电路实现的是末端匹配,如果输入的信号源的内阻为零(或者内阻为高阻抗,这个在信号发生器AFG3101中是可以设置的)时,RT、RG节点的电压又会是输入信号电压的多少呢。 图3电路是双电源供电电路,为了减少电源轨,ADA4930也支持单电源供电,为了对接SiPM读出电路并降低功耗,VS采用+3.3V。 单电源供电时,放大器输入端的共模电压VP和VN可能必须升高,以符合额定输入共模范围。器件手册给出了在VS = 3.3 V时,ADA4930-1/ADA4930-2求和节点的输入共模范围是0.3 V至1.5 V。为了避免非线性,在+IN和−IN 端的电压摆幅必须符合该范围。 为了达到升高VP和VN的目的,手册给出了两种方法:电源的直流偏置,如图4左侧电路所示,或者在每个 输入与电源间连接电阻RCM ,如图4右侧电路所示。 图4:单电源端接单端转差分系统(左)与使用电阻单电源偏置(右) 需要注意的是,图4右侧电路有个小瑕疵,即电路画出的是双电源轨方案。手册中分别针对上述两个电路进行推导,并得到了最终的VDC和RCM值,具体值可以查ADA4930手册,这里需要提醒的是,手册给出的推导过程有错误,根据与ADI工程师沟通,确认了该错误。该错误位于推导计算的第二步,使用-0.5V的最小输入时,应该无法得到9933欧姆RCM的推导值,实际应该使用-1V时才能正确推导出9933的RCM。最终成型的电路如图5所示。 图5:最终推导完成的直流偏置和偏置电阻单电源成型电路 完成了上述分析和学习,下一步就要开始对上述电路进行仿真,完成仿真后就要开始电路板设计。电路设计还需要对AD9633的手册进行学习和分析。SiPM读出系统给出的模拟信号还有一个点需要注意,即信号为单端单极性,而上述分析来自手册,均是基于双极性输入信号。那么我们的单极性模拟信号作为输入的时候,图5所示的最终成型电路还需要作何调整呢? 参考 ADA4930-1/ADA4930-2:Ultralow Noise Drivers for Low Voltage ADCs Datasheet AN-1026