基于Xilinx K7-410T的高速DAC之AD9129开发笔记(一)

news2024/11/25 2:35:53

引言:从本文开始,我们介绍下项目中设计的并行LVDS高速DAC接口设计,包括DAC与FPGA硬件接口设计、软件设计等。项目设计高速DAC采用了ADI公司的AD9129,该芯片最大更新速率5.7Gsps,该芯片在宽带通信应用、LTE、雷达信号产生、干扰机等领域有广泛应用。

1. AD9129概述

AD9129是高性能14位RF数模转换器(DAC),支持最高达2.85GSPS的数据速率。DAC内核基于一个四通道开关结构,使双边沿时钟能够有效运行,配置为混频模式(Mix-Mode™)或2倍插值时,能将DAC更新速率提高至5.7GSPS。在混频模式中,AD9129可在二阶和三阶奈奎斯特区内重构RF载波,同时仍保持高达4.2GHz的出色动态范围。其高性NMOS DAC内核具有四通道开关结构,能以最小输出功耗实现业界领先的直接RF频率合成性能。输出电流可以在9.5mA至34.4mA范围内进行编程。

图1:AD9129系统框图

2.AD9129接口描述

图2:AD9129管脚分布

如图1所示,AD9129接口主要分为与主机FPGA互联的控制接口(包括SPI接口、复位等)和LVDS源同步数据接口,参考电压接口,DAC时钟接口(包括DCO_x、DACCLK_x)以,DAC模拟输出接口以及供电接口(图1中未标出)。

2.1控制接口

AD9129控制接口包括SPI接口、复位接口。SPI接口包括四个信号:SCLK、CSn、SDO、SDIO,通过该接口可以实现DAC内部寄存器的配置。SPI接口支持MSB(最高有效位)优先和LSB(最低有效位)优先传输格式。AD9129串行接口端口可以配置为单I/O引脚(SDIO),或者配置为两个单向输入/输出引脚(SDIO和SDO)。SCLK最大工作时钟为20MHz。

复位信号RESET为高电平复位,如果未使用此管脚,需接地处理。SPI及RESET接口电平为1.8V IO。

2.2 LVDS源同步数据接口
 

AD9129数据输入接口为LVDS源同步数据接口,包含源同步时钟DCI、两组数据接口P0_D和P1_D,分辨率为14bits。LVDS接口电平为1.8V,典型输入阻抗为100Ω。

AD9129与FPGA之间的接口关系如下图所示。

图3:AD9129与FPGA之间的接口关系

2.3参考电压VREF接口

AD9129输出电流由数字控制位和I250U基准电流共同设置,如图下图所示。

图4:基准电压源电路

将VREF施加于I250U(引脚A1)与VSSA之间的4.0 kΩ外部电阻,便可获得基准电流。1.0 V标称参考电压(VREF)在4.0 kΩ电阻中产生250 µA基准电流。配置基准电压电路应注意以下几点限制:
• 为使器件正常工作,4.0 kΩ电阻和1 nF旁路电容均是必需的。
• 将DAC输出满量程电流IOUTFS调整为默认设置20 mA以外的值时,应以数字方式执行。
• AD9129不是乘法DAC,不支持用交流信号对基准电流I250U进行调制。
• VREF引脚上的带隙电压必须缓冲才能用于外部电路,因为其输出阻抗约为7.5 kΩ。
• 可以将一个外部基准源连接到VREF引脚,以过载内部基准源。

2.4时钟接口

DAC时钟接口包括DAC工作时钟DACCLK_x和DCO_x时钟。DACCLK_x时钟用于设置DAC的更新速率,还路由至时钟分配模块以产生所有关键的内部和外部时钟DCO_x。DCO_x=1/4*DACCLK_x。DCO时钟与DCI时钟频率相同,以建立同步操作,如图3所示。

图5:DACCLK_x时钟输入

DACCLK_x输入连接到一个高频PLL以确保DAC采样时钟可靠地锁定输入时钟。PLL默认使能,上电后即锁定。

图6:DACCLK_x输入的可能信号链

DACCLK_x输入的峰峰值电压为0.25~2V,典型值为1V,共模电压为1.25V。DACCLK_x输入时钟频率范围为1.4G~2.85GHz。

DCO_x时钟输出时钟阻抗100Ω,最大时钟712.5MHz,输出电压为1.025~1.375V,共模电压为1.25V。

DACCLK_x差分时钟可以接受正弦信号;如果输入信号电平保持在0dBm以上,则NSD(噪声谱密度)性能降低可忽略不计。−5dBm输入时,性能降低+1dB;当信号接近−10dBm时,性能进一步降低,达到+2dB。时钟接收器之后有一个占空比恢复器(DCR),用于确保后续电路的占空比接近50%。DCR的输出用作主时钟,直接路由至DAC。此外时钟源的质量是保持最佳交流性能的重要考虑因素,可从三方面来定义:相位噪声特性、抖动和驱动能力。

2.5模拟输出接口

AD9129提供互补电流输出IOUTP和IOUTN,吸收外部负载的电流,外部负载由1.8 V VDDA电源供电。

2.5.1峰值DAC输出功率能力

差分电流输出DAC的最大峰值功率能力取决于峰值差分交流电流IPEAK和等效负载电阻。对于具有50 Ω源端接电阻的1:1巴伦,DAC交流电流源的等效负载为25 Ω。如果AD9129设置IOUTFS = 20 mA,则其峰值交流电流为9.375 mA,提供给等效负载的峰值功率为2.2 mW(即P = I2R)。由于1:1巴伦的源电阻和负载电阻相等,因而此功率由二者均分。所以,输出负载获得1.1 mW或0.4 dBm的峰值功率。

要计算提供给负载的均方根功率,需考虑以下事项:
• 数字波形的峰值与均方根之比
• 相对于数字满量程的任何数字倒退
• DAC sinc响应和外部网络中的非理想损耗

2.5.2输出级配置

AD9129设计用于需要宽信号重构带宽或高IF/RF信号产生的高动态范围系统。最佳交流性能只有在以下情况下才能实现:DAC输出配置为差分(即平衡)工作模式,输出共模电压偏置到稳定的低噪声1.8 V标称模拟电源(VDDA)。用于与DAC接口的输出网络应提供接近0 Ω的直流偏置路径以连接到VDDA。在整个频率范围内,IOUTP和IOUTN引脚之间的任何输出阻抗不平衡都会降低失真性能(主要是偶数阶失真)和噪声性能。元件选择和布局对于实现AD9129的潜在性能至关重要。大多数要求平衡到不平衡转换且工作频率为10 MHz到1 GHz的应用,都可以利用Mini-Circuits JTX系列变压器,它可提供2:1和1:1的阻抗比。

图7:宽带应用的推荐变压器,带宽上限高达2.2 GHz

图7显示AD9129与JTX-2-10T变压器接口。此变压器可提供出色的幅度/相位平衡(<1 dB/1°,最高1 GHz),通过提供0 Ω直流偏置路径以连接VDDA。如果需要滤除DAC镜像和时钟成分,可在单端侧应用一个模拟LC滤波器,其好处是可以保持变压器的平衡。

图8:DAC输出与自偏置差分增益级接

图8显示了将DAC输出与自偏置差分增益模块接口时可以考虑的接口。电感(L)用作RF扼流圈,提供直流偏置路径以连接到VDDA。其值与隔直电容一起决定复合通带响应的截止频率下限。(隔直电容与RF差分增益级的输入电阻一起形成高通响应。)

许多RF差分放大器由两个增益匹配的单端放大器组成,因而无法提供共模抑制,而且由于匹配不佳,还可能降低平衡。此外,由于元件容差,差分LC滤波器可能会进一步降低差分信号路径的平衡。两种情况下,使用巴伦均非常有利,可在滤波或进一步放大之前,抑制RF DAC的共模失真和噪声成分。

图9:建议混频模式配置,提供扩展的RF带宽,采用TC1-1-13M+巴伦

对于在混频模式下使用AD9129且输出频率超过2.2 GHz的应用,用户可以考虑图9所示的电路。此电路采用宽带巴伦(例如4.0 GHz时为−3 dB)来为DAC输出提供直流偏置路径,其配置与图7所示范例相似。此电路是在评估板上实现,结果如图10所示。

图10:实测与理想DAC输出响应,fDAC = 2.6 GSPS

2.6电源接口

AD9129电源分为模拟电源和数字电源,整个芯片最大功耗在1.1W左右。

模拟电源VSSA=-1.5V,Imax=54mA;

模拟电源VDDA=1.8V,Imax=230mA;

数字电源VDD=1.8V,Imax=336mA。

3.小结

本文简单介绍了AD9129的基础知识,包括芯片的重要特性,外部接口相关的信号特性等。下一篇我们重点介绍下项目中FPGA与AD9129互联的原理图设计,包括LVDS IO接口设计、时钟电路以及供电设计。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/613309.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

wpf中使用svg图片

在wpf中&#xff0c;svg图片不能直接使用&#xff0c;但是我们知道&#xff0c;svg图片比png&#xff0c;jpg等图片都好点&#xff0c;原因就是它是矢量图片&#xff0c;不会变形。 一共4种方式&#xff1a; 第一种&#xff1a; 简单的svg&#xff0c;我们可以使用path来装载…

算法与数据结构(三)

一、堆 1&#xff0c;堆结构就是用数组实现的完全二叉树结构 根节点的左孩子的下标为&#xff1a;2i1,右孩子为2i2。两个孩子的父节点为(i-1)/2向下取整 2&#xff0c;完全二叉树中如果每棵子树的最大值都在顶部就是大根堆 从下往上将孩子与父节点进行比较&#xff0c;如果子叶…

【Docker】什么是Docker,它用来干什么

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…

使用Leangoo轻量敏捷看板工具实现多泳道任务管理

在敏捷开发的实践当中&#xff0c;通过可视化的敏捷任务看板来实现团队协同和透明化管理是必不可少的一个实践。 通过可视化的敏捷任务看板我们可以达到如下几个目的&#xff1a; 1. 可视化管理团队的目标; 2. 明确目标的优先级; 3. 明确目标分解后的任务项; 4. 可视化管理任…

【算法题解】34. 二叉树的最小深度

这是一道 简单 题 https://leetcode.cn/problems/minimum-depth-of-binary-tree/ 文章目录 题目简单递归解法Java 代码实现Go 代码实现复杂度分析 DFSJava 代码实现Go 代码实现复杂度分析 BFSJava 代码实现Go 代码实现复杂度分析 总结 题目 给定一个二叉树&#xff0c;找出其最…

第十一届蓝桥杯国赛JavaB组题解

A. 美丽的2 思路&#xff1a; 枚举 1 到 2020 的每个数&#xff0c;依次判断即可。 代码&#xff1a; public class Main {public static boolean check(int x) {while (x ! 0) {if (x % 10 2) return true;x / 10;}return false;}public static void main(String[] args) …

CPU和微程序

目录 一、CPU功能和结构 &#xff08;一&#xff09;CPU的功能 1. 指令控制 2. 操作控制 3. 时间控制 4. 数据加工 5. 中断处理 &#xff08;二&#xff09;CU和ALU的功能 1. CU&#xff08;控制器&#xff09;的功能 2. ALU&#xff08;运算器&#xff09;的功能 …

Greenplum高并发数据库概览

一、前言 GreenPlum DB&#xff08;GPDB&#xff09;是一个开源的高并发(MPP&#xff1a;massively parallel processing ) 数据处理平台&#xff0c;可用于海量数据分析&#xff0c;机器学习&#xff0c;AI场景&#xff0c;专为下一代数据仓库和大规模分析处理设计。 参考&am…

008-从零搭建微服务-系统服务(一)

写在最前 如果这个项目让你有所收获&#xff0c;记得 Star 关注哦&#xff0c;这对我是非常不错的鼓励与支持。 源码地址&#xff08;后端&#xff09;&#xff1a;https://gitee.com/csps/mingyue 源码地址&#xff08;前端&#xff09;&#xff1a;https://gitee.com/csps…

【ArcGIS Pro二次开发】(33):合并文件夹下的所有shp文件

在工作中&#xff0c;即使很不喜欢用shp文件&#xff0c;但还是经常会收到shp格式的文件。关于shp文件的吐糟就不多说了&#xff0c;除了文件小、字段名长度限制&#xff0c;不能储存弧线段等问题&#xff0c;还有一种处理方式也让人很是难受。 如上图&#xff0c;有些shp文件是…

挂起、激活单个流程实例

类&#xff1a;com.roy.ActivitiBusinessDemo/*** 挂起、激活单个流程实例*/Testpublic void suspendSingleProcessInstance(){ // 1、获取流程引擎ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine(); // 2、RuntimeServiceRuntimeService…

Flowable开始事件-空开始事件

文章目录 空开始事件一、开始事件的定义1、图形标记2、XML内容3、使用示例 总结 空开始事件 利用空开始事件发起流程 一、开始事件的定义 空开始事件意味着没有指定启动流程实例的触发条件。它是最常见的一种开始事件&#xff0c;一般需要人工启动或通过api启动 1、图形标记…

最系统的网络安全自学笔记+学习路线(超详细)

01 什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防两面…

职场工作的前提

职场工作 目录概述需求&#xff1a; 设计思路实现思路分析1.职场工作 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wait for change,challenge Survive.…

自动攻丝机(比例随动控制应用)

比例随动控制的详细介绍,可以参看下面的文章链接: 运动控制比例随动系统_RXXW_Dor的博客-CSDN博客PLC如何测量采集编码器的位置数据,不清楚的可以参看我的另一篇博文:三菱FX3U PLC高速计数器应用(附代码)_RXXW_Dor的博客-CSDN博客本文主要以三菱FX3U系列的高速计数为例来…

数据库期末复习(9.1)故障恢复到检查点之前

故障的分类 事务故障 系统故障 存储介质故障 只能通过故障来实现. 故障恢复 缓冲池策略 STEAL和FORCE策略:具体内容见课件。 为啥要使用steal和force两种策略 原因&#xff1a;如果不用steal策略 缓冲区就会有大量的脏页&#xff0c;如果使用not force策略 由于对同一个对…

R语言多线程提高计算速度,如何使用foreach包加速并行计算

R语言多线程加速 通常情况下&#xff0c;R语言只能使用一个线程来进行计算&#xff0c;因此计算的速度及其感人&#xff01; 最近刚好有一个需求&#xff1a;我有一个参考数据表&#xff0c;里面存放了30万条基因的名称和位置信息&#xff0c;现在我想从里面找到指定的6000个基…

C++程序员的待遇怎么样?我来谈谈学好C++的五个关键点

有个学弟跟我谈到这样一个问题&#xff1a;现在我看到网上很多人都在讲&#xff0c;说这个做C程序员&#xff0c;尤其是本科毕业计算机专业&#xff0c;然后步入社会之后就能拿到月入过万。但是为什么自己找的这个工作啊&#xff0c;普遍在月薪六七千块钱左右&#xff0c;也就是…

一图看懂 werkzeug 模块:是一个全面的WSGI web应用程序库,最先进的WSGI实用程序库之一,资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创&#xff0c;转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 werkzeug 模块&#xff1a;是一个全面的WSGI web应用程序库&#xff0c;最先进的WSGI实用程序库之一&#xff0c;资料整理笔记&#xff08;大全&#xff09; &#x1f9ca;…

强连通分量-tarjan算法缩点

一. 什么是强连通分量&#xff1f; 强连通分量&#xff1a;在有向图G中&#xff0c;如果两个顶点u,v间&#xff08;u->v&#xff09;有一条从u到v的有向路径&#xff0c;同时还有一条从v到u的有向路径&#xff0c;则称两个顶点强连通(strongly connected)。如果有向图G的每…