支持jesd204b协议高速DAC芯片AD9144-FMC-EBZ配置笔记
本文为明德扬原创文章,转载请注明出处!
一、背景
AD9144是一款支持jesd204b协议高速DAC芯片。AD9144-FMC-EBZ是基于AD9144的评估板(Evaluation Board),它是主要由AD9144,AD9516,与PIC16F单片机组成的系统。工程上使用AD9144具有时钟时序要求很高和寄存器配置复杂的难点。
配置AD9144-FMC-EBZ,有两种途径:
1、通过FPGA母板,经由FMC接口,使用SPI配置寄存器
2、通过ADI提供的软件工具,配合母板(ADS7)来配置寄存器,如图所示:
官方的指导说明链接:https://wiki.analog.com/resources/eval/dpg/ad9144-fmc-ebz
遇到问题:
我们在尝试第一种方法的时候,遇到了SPI寄存器写不进的情况和读写不一致的情况。
而第二种方法则需要ADS7用作母板。
二、调试
在明德扬潘老师的帮助下,完成了以KC705作为母板,正确配置AD9144,并输出62.5MHz正弦波。
整个流程需要先在KC705上运行提供的HDL工程,随后进入软件工具配置流程。这里的HDL工程主要完成的是:Jesd204发送端的配置与正弦余弦信号的输出。另外,这里的软件工具配置流程既使用ADI官方提供的工具对AD9144和AD9516分别进行配置。
在调试开始前,硬件链接如下图所示:
1、AD9516寄存器配置获得
AD9516的作用是对输入时钟分频,为AD9144分别提供:sysref(3.91M),和refclk(125M)。
这里使用了AD9516-Evaluation-Software完成配置。软件下载链接:
https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/eval-ad9516-4.html#eb-relatedsoftware
在安装结束后,打开软件并选择正确的型号,这里选AD9516-1
分别按下图所示进行配置:输入时钟(来自KC705)设置为2500;分频系数如图设置:最后得到两组频率为120M和3.9063M的时钟;点击左下角的橙色框(RGISTER W/R)中的WRITE。
点击“file”,点击“Save Setup”,导出“stp”文件,如下图所示。
打开导出的.stp文件,如图:这个文件记录了寄存器地址与对应的值,将于后续步骤导入。
2、AD9144&AD9516寄存器配置:
A、首先到AD公司官网搜索DAC Software Suite和Analysis Control Evaluation软件,下载并安装;
B、打开已经安装好的ACE软件,界面如下图所示。在硬件连接正确的情况下,图中红圈会检测到所连接的硬件板卡,点击图中绿圈的LED状按钮,AD9144-FMC-EBZ板卡上的蓝色LED灯会随之闪烁,说明连接成功。
C、双击打开“AD9144-FMC-EBZ”板卡。在“initial configuration”界面中按如图所示进行设置,点击“summary”并“apply”,双击右侧红色图框中的AD9144芯片。
D、在打开的界面中按图中配置设置DAC calibration,选择“DAC3 DAC2”并点击“calibrate”。
E、点击上图右下角的“Proceed to memory map”,按照项目所需配置好AD9144相关的寄存器表的值,点击右上apply selected将对应的寄存器值写入AD9144芯片。
F、在电脑开始菜单>Analog Devices寻找“AD9144&AD9135&AD9136 SPI”并打开,软件界面如图所示:
G、在上方框中点击“read all registers”,然后点击“save registers to file”得到“.csv”文件,右键将其用记事本打开,如图所示,找到AD9516芯片开头的寄存器区域,将之前通过AD9516 Evaluation Software得到的stp文件中的寄存器值添加进.csv文件中并保存。
如图所示,第一列是AD9144/AD9516的芯片,第二列是对应芯片的寄存器地址,第三列是寄存器对应的值,将AD9516所有寄存器的值添加进来并保存。
H、打开“AD9144&AD9135&AD9136 SPI”软件并选择“restore registers from file”,将上一步中修改保存好的.csv文件导入。
I、将vivado中的工程bit流文件烧录到板子上,通过ila抓取并观察tx_sync信号,发现信号持续拉高,返回AD9144&AD9135&AD9136 SPI软件read all registers,观察如图区域,如果图中所示四个寄存器值都为0F,vivado tx_sync持续拉高,并且txdata有数值输出,则说明AD9144与JESD204B同步成功,此时用示波器测量AD9144板卡输出可观测到波形输出。
三、调试过程中遭遇问题
1.SPI配置失败问题?
2.AXI-Lite的参数设置?
通过在Analysis Control Evaluation软件中读取AD9144寄存器表值,查询0x453-0x45A寄存器值,得到关键参数L,SCR,F,K,M,N,N’,S,CF,HD等的值。
通过文档PG066 P27-P28中所示的值,计算出AXI协议所需要的每个寄存器地址的值。填入到vivado工程模块中的AXI协议部分。
Vivado工程中的AXI协议部分:地址填入PG066 P27-P28中的寄存器地址,值填入更据关键参数算出来的值。
以上就是AD9144的调试心得分享,持续关注明德扬可了解更多,也可加入明德扬QQ群进行深入讨论。
支持jesd204b协议高速DAC芯片AD9144-FMC-EBZ配置笔记相关推荐
- 数字插值滤波与数字正交上变频的仿真与实验----基于高速DAC芯片
基于ADI公司的AD9144高速DAC芯片原理,可以对数字基带信号进行插值滤波然后使用NCO(numberically controlled oscillator)进行正交上变频. 关于ADC的可以参 ...
- 数字正交下变频与数字滤波抽取的仿真与实验----基于高速ADC芯片
本篇内容的姊妹篇为:[1]数字插值滤波与数字正交上变频的仿真与实验----基于高速DAC芯片 关于正交变频的框图可以参考:[2]通信应用中数字上变频DUC与数字下变频DDC详细原理(带图) 本文的高速 ...
- 【转】借助第三方支持https协议的存储实现自己网站上扫描二维码安装IOS APP
使用plist安装,一般是企业级开发者账号不需要登录到APP STORE的IOS设备应用发布时所用到的技巧. 准备: *一台运行着OSX的苹果电脑,最新版的XCODE,用于导出ipa和plist 一个 ...
- STM32管脚模拟协议驱动双路16位DAC芯片TM8211
STM32管脚模拟协议驱动双路16位DAC芯片TM8211 TM8211是一款国产的低成本双路16位DAC驱动芯片,可以应用于普通数模转换领域及音频转换领域等.这里介绍STM32 HAL库驱动TM82 ...
- dac生成信号频率取决于_基于DAC芯片的信号源生成系统的制作方法
本发明涉及干扰机技术领域,特别是基于DAC芯片的信号源生成系统. 背景技术: 随着现在通信技术的高速发展,对于装备的小型化.集成化.成本控制要求越来越高,如何设计出低成本.高集成度.小型化的装备是现阶 ...
- 基于 JESD204B 协议ARM+FPGA+AD多板卡多通道同步采集实现方法
0 引言 随着数字化信号处理技术的不断进步,对数字信号 的处理已经成为当前大多数工程应用的基本方法.由于 模拟信号才是现实生活中的原始信号,为了工程研究实 现的可能,需将模拟信号转换为数字信号才能在工 ...
- 高速数据采集卡之FMC子板丨FMC接口AD/DA子卡丨坤驰科技
FMC子板因为其多样性,灵活性及得到日益广泛的使用.坤驰科技做为高速数据采集产品和FMC子板的设计者,近几年发布了多多款FMC子板产品,它们包含高速AD板和高速DA板及混合AD/DA板.它们的电气与机 ...
- 【嵌入式硬件芯片开发笔记】4-20mA DAC芯片AD5421配置流程
[嵌入式硬件芯片开发笔记]4-20mA DAC芯片AD5421配置流程 16位.串行输入.环路供电.4 mA至20 mA DAC 可用于HART协议相关电路 同AD5700配合使用 AD5421的SP ...
- 基于TM8211的DAC芯片的学习
一.什么是DAC芯片 (1)DAC是数字模拟转换器(英语:Digital to analog converter,英文缩写:DAC).DAC就是把数字音频信号转换成模拟音频信号的芯片. (2)DAC的 ...
最新文章
- 钉钉被小学生逼疯,拍片在线求饶哈哈哈哈
- 一文解读苹果 M1 芯片电脑上的开源软件
- 使用Jquery获取thymeleaf中checkbox的值
- Flutter进度条Flutter圆形进度条Flutter条形进度条Flutter Progress进度条LinearProgressIndicator
- CSS cursor 和 opacity 属性
- find命令过滤 no such_Linux中find命令的用法入门
- 电机扭矩计算公式T=9550*P/n
- Python 与金融科技6|上证50的收盘价汇总
- 259-数据明文传输的安全问题
- 大学计算机实验基础第二版,大学计算机基础实验指导(第2版)
- 使用Dhtml和poi导出excle表格出现Error Type:LoadXMl Incorrect Json错误
- 子之错父之过什么意思_子不教父之过?
- 矩阵中的旋转(Rotation)
- 三张图解释静态NAT、动态NAT、PAT
- 啊哈添柴挑战Java1008. 输入两个整数,倒序输出
- 使用四种框架分别实现百万websocket常连接的服务器{转}
- 情感分析实战(中文)-共现语义篇
- M1芯片的MacBook安装docker
- MATLAB与Simulink介绍(附上完整联合仿真源码)
- Java程序中使用Spire Jar包报java.lang.NoSuchMethodError类型错误的解决方法
热门文章
- 共享打印机的几种方法
- TCP/IP分为哪几层
- oracle ogg端口,OGG报错 OGG-01223
- 测试时代(www.testage.net)。。。无语
- Linux下实现文件实时同步(rsync命令+rsync作为服务+xinetd托管rsync)
- windows下php swoole扩展,PHP安装Swoole Loader扩展教程,适用于Windows和Linux
- linux安装文件多大空间,你的Linux系统上安装了多少内存?又使用了多少?
- 32位系统与64位系统各数据类型所占空间大小
- get,set方法的理解
- PyTorch GPU 利用率低?常见原因分析及优化