首页 > 其他分享 >就业班学员高速AD采集项目学习笔记(全)

就业班学员高速AD采集项目学习笔记(全)

时间:2022-12-02 15:33:36浏览次数:39  
标签:输出 AD clock 学员 IP DAC 笔记 设置 时钟

本文为明德扬原创文章,转载请注明出处!

以下是我在做高速AD项目的调试经验,现在分享出来,希望可以给大家提供一定的帮助。如果发现sync一直没有同步上,即一直为低,那么就需要检查同步条件,具体操作如下。

1、检查是时钟的正确性

1)需要使用示波器测量时钟的正确性,示波器设置如下

就业班学员高速AD采集项目学习笔记(全)_AD

2)表笔设置,使用前需要自行校准表笔,校准方法这里不再赘述,不会的同学可以在网上搜索方法。

就业班学员高速AD采集项目学习笔记(全)_AD_02

3)测量点

接着对参考时钟和同步时钟进行测量,这两个测量点都是AD9516给AD9144的时钟,给FPGA的时钟需要直接测量芯片引脚,比较危险,不建议测。主要测量有无输出和时钟频率是否正确。

AD9516的配置软件生成的寄存器值不一定正确,部分寄存器的值需要自行修改。之前就遇到过同步时钟的输出频率不对的问题,修改了AD9516的0x19B寄存器的值,问题得到解决。分频系数=M+N+2,其它寄存器的分频系数计算方式与此相同。

参考时钟在开发板上的位置如下:

就业班学员高速AD采集项目学习笔记(全)_数据_03

同步时钟在开发板上的位置如下:

就业班学员高速AD采集项目学习笔记(全)_AD_04

2、AD9144的寄存器正确设置

ACE软件生成出来的值基本是正确的,但是要注意一下几点:

1)正确设置DAC PLL,如下图所示,其中Ref_clk = 参考时钟;Fin = 这个时钟作用不清楚;FDAC = DAC每通道的实际工作频率,这个值包含插值。

注意:要点应用

就业班学员高速AD采集项目学习笔记(全)_数据_05

2)正确设置采样率如下图所示,

就业班学员高速AD采集项目学习笔记(全)_FPGA培训_06

因为乘法器输出的频率范围是6-12GHZ,所以DAC的工作频率要≥375MHZ,如果不够,可以通过增加插值的方式来提高频率,同时也可以不用PLL(此方法未测试)

AD9144对寄存器的配置顺序有要求,具体顺序可以阅读数据手册或者看明德扬潘老师的上位机代码。配置的顺序特别注意一个0X300的寄存器,这个寄存器第一次配置要设置为0,第二次配置设置为1

就业班学员高速AD采集项目学习笔记(全)_FPGA培训_07

AD9144的要在AD9516配置完成之后等待一段时间才能开始配置,具体等待输出时钟稳定的时间可以看AD9516的数据手册,程序里面的延时是调出来的。AD9144的寄存器的配置速度不能太快,不然也会出现无法同步的现象,具体原因未知,程序里面的延时也是调出来的。

3、IP核设置

公式计算和IP核设置的F,S,K,Lane,等参数是由选择的DAC工作模式确定的,其他参数如SCR等,需要怎么设置在AD9144数据手册里面第50页(不同版本的数据手册页数可能会有偏差)开始有详细介绍。        IP核是高电平复位的,这里要注意:如果复位住了这几个会一直等于0,并且无法同步

就业班学员高速AD采集项目学习笔记(全)_数据_08

就业班学员高速AD采集项目学习笔记(全)_寄存器_09

4、AXI总线配置

具体配置方法参考明德扬潘老师的文档,经过一次简单的测试,这个可以不配置也能正常工作,具体没有详细测试。

5、时钟

IP核的tx_core_clk需要PLL产生一个合适的时钟并且经过BUFG给JESD204B IP核使用;Drp_clk动态调整时钟我这里没有用到,但是必须给一个时钟,并且要和IP核里面设置的频率相同;AXI时钟频率和IP核内设置的相同即可。

6、参数计算

参考明德扬潘老师的文档,特别注意是要 * 还是 \ 。

举个例子:20MHZ正弦波,16个点组成一个正弦波,2通道,16bit,插值=2(使用DAC PLL的时候频率必须≥375MHZ,这例子速率不够所以要X2)。

1)有效传输:20MHZ16个点2通道*16bit=10.24Gbit;

2)实际经过8b/10b编码的速率是:10.24Gbit * 1.25=12.8Gbit这就是4条Lane总共要传输的速率;

3)单通道的DAC采样率(sample_clock):20MHZ16个点=320MHZ(因为插值=2所以这个值填入ACE的时候要2=640MHZ,计算的时候依旧使用320MHZ);

4)帧频率(frame_clock):sample_clock / S=320 / 1 = 320MHZ(S值由DAC模式决定);

5)字符频率(character_clock):frame_clockF=320MHZ1=320MHZ(F值由DAC模式决定);

6)Bit频率(bit_clock):character_clock10=320MHZ10=3.2Gbit;

7)多帧频率(multi_frame_clock):frame_clock / K=320MHZ / 32 =10MHZ(K由DAC模式决定);

8)同步时钟(sysref_clock):multi_frame_clock / R =5MHZ(R=2),AD9144数据手册规定,同步时钟的最大值是:fdata / (K * S)  fdata是哪个没有细看;

9)设置时钟(device_clock):multi_frame_clock * D =80MHZ(D取8);

10)Ref_clk:每条Lane的速率/ 40 =3.2Gbit / 40 = 80MHZ;

11)device_clock要≥ref_clk,最好是等于;

12)实际上设置的频率是160MHZ主要是考虑到插值=2,实际上应该设为80MHZ也能工作(未测试)。

7、实现同步

经过上面的设置应该就能同步上了,具体表现为tx_sync信号持续为高电平

8、DAC输出波形

必须拉高DAC的输出使能引脚,不然会没有波形输出!!!

AD9144是电流型输出DAC,并且板子上使用变压器进行放大,所以,不能输出直流波形只能输出交变的波形,目前已经测试能输出正弦波。三角波 和 方波可能无法输出或者输出失真。

9、DAC的数据映射

用一个示例展示给大家。

2路DAC输出 4调lane

波形数据是:

30FB

5A81

7640

7FFF

7640

5A81

30FB

0

CF05

A57F

89C0

8001

89C0

A57F

CF05

0

输入到IP核的数据(tx_tdata)00057fc000cfa58900057fc000cfa589

00 05 7f c0

00 cf a5 89

00 05 7f c0

00 cf a5 89

第2路 DAC(顺序得看数据手册)

00        05     7f       c0     lane 3

00        cf     a5       89     lane 2

0x0000  0xcf05  0xa57f  0x89c0

第1路 DAC(顺序得看数据手册)

00       05      7f      c0     lane 1

00       cf      a5      89     lane 0

0x0000  0xcf05  0xa57f  0x89c0

以上就是高速AD项目中实现sync同步的小经验,不同情况遇到的问题有所不同,希望我的思路可以给大家带来帮助,同学们也可以在留言评论中与我进行讨论。

标签:输出,AD,clock,学员,IP,DAC,笔记,设置,时钟
From: https://blog.51cto.com/u_14636286/5907077

相关文章

  • centos7.9采用kubeadm的方式部署k8s(Kubernetes)
    一.环境准备1.系统介绍k8s-master:192.168.142.131k8s-node1:192.168.142.133k8s-node2:192.168.142.1342.软件介绍Docker:20-ceK8s:1.233.主机环境配置systemctlstopfirewa......
  • Qwt开发笔记(一):Qwt简介、下载以及基础demo工程模板
    前言  QWT开发笔记系列整理集合,这是目前使用最为广泛的Qt图表类(Qt的QWidget代码方向只有QtCharts,Qwt,QCustomPlot),使用多年,系统性的整理,本系列旨在系统解说并逐步更新其各......
  • 吴恩达课程学习笔记--第二课第一周:深度学习的实践层面
    训练,验证,测试在机器学习的小数据时代,70%验证集,30%测试集,或者60%训练,20%验证和20%测试。大数据时代,如果有百万条数据,我们可以训练集占98%,验证测试各占1%。深度学习的一个趋......
  • Qwt开发笔记(一):Qwt简介、下载以及基础demo工程模板
    前言  QWT开发笔记系列整理集合,这是目前使用最为广泛的Qt图表类(Qt的QWidget代码方向只有QtCharts,Qwt,QCustomPlot),使用多年,系统性的整理,本系列旨在系统解说并逐步更新......
  • Python高级-mini-web框架、添加路由、MySQL功能-笔记
    此篇文章是接着上一篇文章写的​​《Python高级-WSGI、mini-web框架-笔记》​​下一篇​​《Python高级-mini-web框架、添加log日志、路由支持正则-笔记》​​1.miniweb框......
  • Python高级-mini-web框架、添加log日志、路由支持正则-笔记
    接着上一篇介绍mini-web框架​​《Python高级-mini-web框架、添加路由、MySQL功能-笔记》​​​8.mini-web框架-路由支持正则importpymysqlimporttimeimportosimportret......
  • PADS VX2.4 在WINDOWS 10乱码
    1,修改计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\FontsMicrosoftYaHei&MicrosoftYaHeiUI(TrueType)simsun.ttc默认:msyh.ttcMicroso......
  • iOS上架之App Uploader辅助工具激活码获取
    1. 点击图示的激活,获取激活码。2. 如图示,点击链接:​​http://www.applicationloader.net/purchase.html​​。会跳转购买激活码页面,购买成功即可生成激活码,购买的激活码越......
  • App Uploader下载安装
    ​1. 进入AppUploader官网下载。下载地址:​​http://www.applicationloader.net/​​2. 最新版本下载地址​​https://net-appuploader.oss-cn-qingdao.aliyuncs.com/app......
  • quilt add cdc_ncm.c
    2.添加patch关联的文件 quiltadd [-Pfilename.patch] filesquilt命令具有生成和应用补丁的功能,同时也可以作为补丁管理工具。使用quilt命令之后,会在源代码目录......