Zynq FPGA实验

本文详细介绍了在Zynq FPGA上进行的实验,包括DDS IP数字波形合成,ADDA测试,以及带FIFO的ADDA实验。实验涉及Vivado的IPI工具,ILA波形观察,MATLAB频谱分析,以及FIFO在跨时钟域传输中的应用。通过调整频率字,生成不同频率的正弦波,并验证了波形的正确性。

FPGA实验

DDS IP 数字波形合成

  1. 使用 Vivado的IPI工具,例化DDS IP
  2. DDS需要能够配置频率字(相位增量)
  3. DDS工作时钟使用PL的板载50MHz时钟
  4. 使用ILA工具观察波形, 使用VIO设定频率字
  5. 在ILA的波形窗口里,观察你设定的波形的周期,验证你频率字设定的正确性
  6. 把ILA波形导出到CSV文件,波形样点长度不小于2048点,在Matlab里分析波形的频谱,验证你生成波形的正确性。
  7. 使用VIO更改频率字,分别生成1MHz和3MHz的正弦波形。使用以上流程,验证你输出波形的正确性。

ADDA测试

  1. 注意,AN108是34针的插头,注意其插装位置,1脚和zynq底板对齐,不要插错
  2. 黑金AN108的低通滤波器通带为0-20MHz左右
  3. 基于“DDS IP 数字波形合成DAC ” 实验方案,使用50MHz时钟频率,使用DAC输出正弦波。
  4. 把DAC输出模拟信号自环给ADC的输入
  5. 使用MMCM分频,给ADC提供25MHz采样时钟
  6. 使用ILA捕获ADC的输出数据,不少于2048样点。
  7. 使用Matlab分析ADC数据频谱
  8. 用VIO更改频率字,生成1MHz和3MHz的正弦信号,用Matlab分析ILA数据验证频谱正确。

DAC FIFO实验

  1. 基于“DDS IP 数字波形合成DAC ” “ ADDA测试” 实验方案
  2. 用MMCM 把 合成出100MHz的时钟,让DDS工作在100MHz时钟
  3. 让DAC和DAC的接口电路工作在50MHz,此时DAC的采样率为50MHz
  4. 在DDS和DAC接口电路之间,放置一个带独立时钟的AXI-Stream-Data FIFO,FIFO两端的时钟分别为DDS的工作时钟100MHz和DAC的工作时钟50MHz
  5. 生成FIFO需要带data count信号(本实验仅用于观察,以后的实验中这些信号有用。)
  6. DDS的数据输出接口需要有TREADY信号
  7. DAC接口电路需要将FIFO输出端的AXI-S接口转换成DAC的接口格式,自行编写RTL代码完成该功能。另外由于DAC的工作频率小于DDS工作频率,所以DAC接口控制器给FIFO的RDY信号应该一直为高。
  8. 以上结构的意义在于,把接口电路和信号处理电路分离在不同的时钟域,从而使得各部分保持独立
  9. 本实验添加2个system ILA,分别观察FIFO两端接口的信号时序,注意观察 data count端口的变化。
    10.用VIO配置频率字,分别生成1MHz和3MHz的DDS正弦波形,用system ILA抓取DAC的输入数据,用Matlab分析频谱,验证频率正确。
  10. 本实验是一个典型的带反向流控的跨时钟域传输信号的例子

带FIFO的ADDA实验

  1. 本实验在DAC FIFO实验的基础上完成
  2. 把DAC输出模拟信号自环给ADC的模拟输入
  3. ADC使用25MHz的时钟信号采样
  4. ADC的输出的数据信号,用ILA抓取观察波形
  5. 用VIO配置频率字,分别生成1MHz和3MHz的DDS正弦波形,用Matlab分析频谱,验证频率的正确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值