• 支持jesd204b协议高速DAC芯片AD9144-FMC-EBZ配置笔记


    一、背景

        AD9144是一款支持jesd204b协议高速DAC芯片。AD9144-FMC-EBZ是基于AD9144的评估板(Evaluation Board),它是主要由AD9144,AD9516,与PIC16F单片机组成的系统。工程上使用AD9144具有时钟时序要求很高和寄存器配置复杂的难点。
    
    • 1

    配置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正弦波。
    
    • 1

    整个流程需要先在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中的寄存器地址,值填入更据关键参数算出来的值。
    在这里插入图片描述

  • 相关阅读:
    LeetCode283. 移动零
    【vue3-element-admin】Husky + Lint-staged + Commitlint + Commitizen + cz-git 配置 Git 提交规范
    鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统
    科学家探索用于光电子的二维半导体
    Word论文封面下划线怎么都对不齐
    [HDLBits] Exams/2014 q4b
    C语言网题库:【1050】结构体之成绩记录
    java&正则表达式(Pattern类和Matcher类)
    多维高斯分布(多元正态分布)的概率密度函数和最大似然估计
    复制构造函数
  • 原文地址:https://blog.csdn.net/MDYFPGA/article/details/126300433