MAX5881直接RF合成DAC与FPGA的接口

摘要:本应用笔记讨论了4.3gsps下行电缆直接rf合成dac max5881与现场可编程门阵列(fpga)的接口技术。讨论的重点是max5881高速数字输入与xilinx® virtex™-5 fpga的接口时序。这里讨论的技术同样适用于其它多种fpga和定制asic。
介绍由于max5881 4.3gsps下行电缆直接rf合成dac具有宽带特性,相比窄带dac,它的数据接口需要更高的工作频率。通常,设计宽带数据接口时,需要注意确保其工作可靠、无误。
接口架构fpga功能可以有多种不同组合,有几种接口架构可供选择,其中之一如图1所示。这种架构可以支持较宽的工作频率范围,并且对处理过程、电压和温度(pvt)变化有较好的容限。本应用笔记重点讨论这种架构的特征。通过数据接口的具体时序分析,突出了该架构相比其它架构的优点。
图1. max5881与xilinx virtex-5 fpga的接口(clkdiv = 0,ddr数据接口架构)
时钟max5881具有独立的模拟和数字时钟。max5881为数字数据接口提供时钟输出。由于作为数据源的fpga并不是数据时钟源,所以,需要使用一个“系统同步”的数据接口¹。需要注意的是,max5881的数据时钟输出dataclkp/dataclkn抖动非常小,原因是它直接来自于高质量的模拟时钟clkp/clkn输入。
对fpga dcm²使用外部时钟反馈,以自动补偿fpga固有的随温度变化的输出数据时钟。设计外部时钟反馈路径,使其严格匹配max5881的dataclkp/dataclkn输出到fpga内部数据路径的延时。这确保了由数字时钟管理器(dcm)提供的时钟补偿与fpga时钟、数据路径的温度漂移相一致。使时钟反馈信号的pcb路径与数据路径加上dataclk路径长度相等,以确保fpga的数据输出变化与dataclk边沿一致。给时钟反馈路径加上额外的延时,可以使数据与时钟保持一致。设计或调整延时以确保max5881从数据建立到保持时间段内的数据稳定性。可以采用延长时钟反馈信号路径长度、或者在反馈路径上增加一个fpga odelay器件的方法,以实现这种额外的延时。
数据速率把max5881的clkdiv引脚设置为低电平,fpga配置为双倍率(ddr)输出数据格式。在这种情况下,dataclkp/dataclkn信号的频率是max5581 clkp/clkn引脚输入时钟频率的四分之一。对于max5581的更新速率,clkp/clkn的频率是2.0ghz。使得dataclkp/dataclkn的频率为500mhz。这个500mhz的时钟信号用来驱动fpga的串行器(oserdes),串行器配置为在时钟的上升和下降沿都会输出数据。因此fpga输出数据的周期是1ns (或者1.0ghz)。由于xilinx不允许dcm (或者此种情况下的pll)配置成外部时钟反馈和多重输出时钟,配置clkdiv = 0,可以避免生成一个双倍频率时钟驱动串行器。位于fpga最后端的数据输出级的oserdes器件减小了上行时钟或oserdes侧数据输入的频率。这使得fpga的布局和布线变得容易。对于max5581的更新速率,上行时钟的频率是250mhz。
接口时序表1以数据表的方式提供了数据接口的时序分析。通过两个部分进行分析,第一部分,对接口工作频率进行分析,称为“数据周期分析”。这部分内容不考虑在数据周期内稳定数据的确切位置。然而,它可以确定:是否可能调整时钟反馈延时,以确保max5881从数据建立到数据保持时间窗口内的数据稳定性。数据表中分析了一个工作频率,并重复分析了其它几个工作频率(没有示意),图2所示为分析结果。同时,图3给出了时序参考波形。
表1. virtex-5与max5881接口的数据周期分析 value unit specification description source notes
4.300 ghz fdac max5881 output update rate max5881 data sheet
0.5375 ghz fdataclk = fdac/8 ddr interface mode max5881 data sheet
930 ps tdataperiod = 1/(2 × fdataclk) data period max5881 data sheet
50 ps tinfboffset fpga dcm feedback phase error (peak ±) xilinx ds202.pdf
120 ps tperjitt fpga dcm jitter (peak ±) xilinx ds202.pdf
121 ps dtoutwc worst pvt fpga output-to-output skew (peak-to-peak) .twr post-layout static timing report from xilinx static timing analyzer (worst-case pvt)
1.4 ps dtpcb board output-to-output skew estimate all pcb data and data clock trace lengths matched
462 ps dttotal = (2 × tinfboffset) + (2 × tperjitt) + dtoutwc + dtpcb total fpga data output timing variance
1100 ps tsetup max5881 setup time max5881 data sheet
-760 ps thold max5881 hold time max5881 data sheet
590 ps tdw = tdataperiod - (tsetup + thold) max5881 data change window time in clock period when data does not have to be valid and stable
128 ps tpsl = tdw - dttotal period timing slack extra time between fpga changing data; data must be stable at dac
图2. 周期容限
图3. 时序参考波形
时序分析的第二部分计算了所需要的时钟反馈延时(表2),同时计算了与反馈延时相对应的建立和保持时间容限,或者叫做时序余量。
表2. 数据时序分析(max5881的引脚delay = 0) value unit specification description source notes
0 ps tdoutnom fpga clock-to-data output delay fpga external clock-feedback configuration feedback-path length equal to data-path length plus clock-path length; this centers data transitions at the clock edge
-170 ps tsunom = tdataperiod - tsetup - tdoutnom nominal setup margin (without dttotal factor) calculate margin without jitter, skew, and phase-error effects first; they are accounted for later
760 ps thldnom = tdoutnom - thold nominal hold margin calculate margin without jitter, skew, and phase-error effects first; they are accounted for later
-401 ps tsuabs = tsunom - dttotal/2 absolute setup margin (including dttotal factor) include jitter, skew, and phase-error effects
529 ps thldabs = thldnom - dttotal/2 absolute hold margin (including dttotal factor) include jitter, skew, and phase-error effects
-529 ps tdadvance = -thldabs delay-adjusted fpga clock-to-data output external clock feedback with feedback-path length equal to data-path length plus clock-path length plus thldabs place data transition immediately after thold
128 ps tsufinal = tsuabs - tdadvance delay-adjusted setup margin
0 ps thldfinal = thldabs + tdadvance delay-adjusted hold margin
同样地,这部分分析在各种工作频率下重复进行。由于数据生成量太大,表格中没有给出这些数据,而是用图4建立容限和图5保持容限给出了曲线示意图。
图4. 建立容限
图5. 保持容限
需要注意的是,在图4和图5中,时钟反馈延时基于宽工作频率范围(变化的fdac)进行计算。实现方法是设置无效数据窗口的前沿,也就是在这个位置,数据开始变化为max5881保持时间后的下一个值。换句话说,一旦满足了保持时间规定,fpga就开始转换到下一个数据值。
对于某一个特定频率,可以使用增加保持时间容限并且减少建立时间容限的方法来平衡建立时间和保持时间容限。这是通过在时钟反馈路径上插入可变延时的途径实现的。对于低频,建立和保持时间容限足够大,容限平衡将失去意义。
图6. 容限平衡
其它处理过程由于fpga器件的灵活性,可以考虑多种设计方法。研究这些方法的具体细节超出了本篇应用笔记的范围,这里只简单描述其中几种:
使用dcm相位偏移控制输出数据变化,而不是靠增加dcm时钟反馈路径的长度来增加额外延时。这种方法在软件延时调整方面具有优势,但同时引入了由fpga相位偏移电路带来的更多的时序不确定性。 在dcm反馈路径中使用odelay器件。同样,在软件延时调整灵活性方面具有优势,但也会引入更多的时序不确定性。 使用方法1或者方法2,但对器件进行逐个校准。max5881特性数据表明,在所有器件整个温度范围内,每个器件的数据采样窗变化量是151ps相比于340ps。每个器件的微小时序变化可以补偿fpga时序不确定性。使用这种方法,可以减小fpga器件间的某些时序差异。 结论通过仔细选择系统架构、pcb设计和利用特定的设计,fpga可以成功地与max5881接口,并且具有正的数据时序容限。

iOS11开发者预览版Beta5发布:iOS11开发者预览版Beta5已知更新汇总
对于名爵HS动力总成的性能分析与研究
基于Yun SDR的L⁃DACS1系统前向链路平台的设计与实现
What range of dielectric const
三星标准化5G NTN技术用于智能手机与卫星直接通信
MAX5881直接RF合成DAC与FPGA的接口
工程师模拟电路设计应该注意的12个问题
嵌入式设计经验:ARM-WinCE平台时钟同步设计
对于智能化的数据中心基础设施展开了一系列讨论并分享了有成效的实践
Xilinx亮相2016AETF(亚太工业控制电子技术论坛峰会)
华为WATCH GT2拆解 做工到底怎么样
远距离无线充电技术来了,这样用超声波给手机充电
交流接触器的主触点辅助触点和线圈的区别
利用变分推断进行分割置信度的预测
DL-CC2340-B蓝牙模块以高性价比占领蓝牙市场
碳化硅基铌酸锂异质集成实现超高Q值SAW延迟线器件简析
关于FLIR A615优化注塑工艺的详细信息
C9M格雷希尔GripSeal对接模块的小电流应用
2022思尔芯EDA生态大会首场上海爆火,三大亮点抢先看
首批互联网地图服务资质将于本月发牌