Xilinx DDS IP核配置及使用方法
DDS IP核配置及使用方法
- 一、配置界面参数说明
- 1、Configuration
- 2、Implementation
- 3、Detailed Implementation
- 4、Output Frequencies
- 5、Summary
- 6、Additional Summary
- 二、IP核接口信号说明
直接数字合成器(DDS)或数控振荡器(NCO)是许多数字通信系统中的重要组成部分。正交合成器用于构建数字下变频器、上变频器和解调器。它们还用于实现各种类型的调制方案,包括PSK(移相键控)、FSK(频移键控)和MSK(最小移位键控)。一种用于数字生成复数或实值正弦曲线的常见方法采用查找表方案。查找表存储正弦曲线的样本。数字积分器用于生成合适的相位参数,该参数由查找表映射到所需的输出波形。一个简单的用户界面接受系统级参数,如所需的输出频率和生成波形的杂散抑制。
DDS编译器核心用于以下应用:
- 数字无线电和调制解调器
- 软件定义无线电(SDR)
- 蜂窝和PCS基站的数字下/上变频器
- 数字锁相环中的波形合成
- 为模拟混频器生成注入频率
DDS由两个主要部分组成,相位发生器和SIN/COS LUT,可以独立使用或一起使用,以创建DDS功能。支持时分(TDM)多信道功能,具有独立配置的相位增量和偏移参数。
一、配置界面参数说明
1、Configuration
(1)Configuration Options:
选择DDS Compiler的模式
- Phase Generator and SIN COS LUT
- Phase Generator Only
- SIN COS LUT Only
一般使用DDS Compiler作为测试信号生成器时选择Phase Generator and SIN COS LUT模式即可。
(2)System Requirements
- System Clock(MHz):DDS系统时钟aclk频率,范围0.01-1000MHZ。
- Number of Channels:根据需求选择通道数(最多支持16个通道,通道是时分复用的)。
- Mode Of Operation:一般选择Standard模式,Rasterized(光栅)模式有助于减少相位噪声。
- Frequency per channel (每个通道频率):通过系统时钟除以通道数得到每通道的频率。
- Parameter Selection:选择DDS要使用System Parameters(系统参数-频域参数)还是Hardware Parameters(硬件参数-时域参数);System Parameters将可配置Spurious Free Dynamic Range (SFDR)、Frequency Resolution和Noise Shaping;Hardware Parameters将可配置Noise Shaping、Phase Width和Output Width。通常选择System Parameters。
(3)System Parameters
- Spurious Free Dynamic Range (SFDR):SFDR(非虚动态范围)将决定DDS Compiler的数据输出宽度,其计算方式如下表所示:
- Frequency Resolution:频率分辨率,以Hz为单位,指定最小频率分辨率,影响Phase Width(相位宽度)和输出信号的频率,其计算方式如下所示:
若DDS被时分复用以生成C个通道,则频率分辨率的计算方式应为:
其计算值一般为不循环无限小数,填写时小数值越精确Phase Width的值越准确 (可能会出现小数值位数不够导致Phase Width的值有误差的情况,所以建议把计算得到的值全部填上而不是只取其中的几位)。设置Frequency Resolution后可以通过Summary中的Phase Width判断是否计算正确。
公式中fclk为aclk-System Clock的频率,Bθ(n)为相位宽度的值。推荐将Phase Width设为32以便进行Phase Increment(相位增量)和Phase Offset(相位偏移)的控制。 - Noise Shaping:噪声整形,选择是否使用None(相位截断),Dithering(抖动)或Taylor Series Corrected(泰勒级数校正)。一般选择Auto,此选项将根据System Parameters(系统参数)自动确定Noise Shaping(噪声整形)的模式。
(4)Hardware Parameters
如果System Requirements中Parameter Selection选项选择了Hardware Parameters,则会出现以下配置参数:
- Phase Width:相位宽度,设置m_axis_phase_tdata中PHASE_OUT字段的宽度。
- Output Width:输出宽度,仅当选择DDS或SIN/COS LUT部件时才启用,设置m_axis_data_tdata中SINE和COSINE字段的宽度。
- Noise Shaping:噪声整形,选择是否使用None(相位截断),Dithering(抖动)或Taylor Series Corrected(泰勒级数校正)。下图为Hardware Parameters模式下噪声整形选项:
2、Implementation
(1)Phase Increment Programmability(相位增量可编程)
设置Phase Increment值是否可以在运行时更改或者更改的方式:
- Fixed:表示该值在生成时固定,不能在运行时更改,使用的资源最少,选择时需要手动配置Output Frequencies或Phase Offset Angles;
- Programmable:表示在运行时可以通过CONFIG channel进行更改(选择时IP核将生成S_AXIS_CONFIG通道),建议在DDS频率需要在操作模式进行改变时选择此选项;
- Streaming:表示在运行时可以直接通过输入的PHASE channel进行更改(选择时IP核将生成S_AXIS_PHASE通道),建议在需要经常配置时选择此选项。
(2)Phase Offset Programmability(相位偏移可编程)
设置Phase Offset值是否可以在运行时更改或者更改的方式:
- None:只在Phase Offset Programmability中可选,表示不需要相位偏移功能。
- Fixed:表示该值在生成时固定,不能在运行时更改,使用的资源最少,选择时需要手动配置Output Frequencies或Phase Offset Angles;
- Programmable:表示在运行时可以通过CONFIG channel进行更改(选择时IP核将生成S_AXIS_CONFIG通道),建议在DDS频率需要在操作模式进行改变时选择此选项;
- Streaming:表示在运行时可以直接通过输入的PHASE channel进行更改(选择时IP核将生成S_AXIS_PHASE通道),建议在需要经常配置时选择此选项。
注意: - 若Phase Width的值为3-16时,若同时选择Programmable或Streaming时S_AXIS_CONFIG或S_AXIS_PHASE的tdata信号将变成32位(只有一个时为16位),低16位由Phase Increment和Unsed Bit组成,高16位由Phase Offset 和Unsed Bit组成。
- 若Phase Width的值为17-32时,若同时选择Programmable或Streaming时S_AXIS_CONFIG或S_AXIS_PHASE的tdata信号将变成64位(只有一个时为32位),低32位由Phase Increment和Unsed Bit组成,高32位由Phase Offset 和Unsed Bit组成。
- 若Phase Width的值为更高时以此类推即可。
- 若使能Resync则还需占据额外的字段。
(3)Output
- Output_Selection:选择DDS通过m_axis_data_tdata输出具有正交SINE和COSINE字段数据或仅输出这两个字段之一。
- Sine and cosine(正弦和余弦):如果用到正弦和余弦同时输出,则高N位表示正弦输出,低N位表示余弦输出。
- Sine(正弦):选择正弦输出。
- Cosine(余弦):选择余弦输出。
- Polarity:选择m_axis_data_tdata输出的的SINE和COSINE字段是否被反转。
- Negative sine:负极性正弦。
- Negative cosine:负极性余弦。
(4)Implementation Options
Implementation Options中的选项默认即可,如非必要无需修改。
- Memory Type(内存类型):控制SIN/COS查找表的实现。
- Auto:默认选择自动。
- Distribution Rom:分布式Rom。
- Block Rom:块Rom。
- Optimization Goal(优化目标):选择控制实现决策的目标是最高速度还是最低资源。
- Auto:默认选择自动。
- Area:面积。
- Speed:速度。
- DSP48 Use:控制相位累加器和后续添加阶段(相位偏移或抖动噪声添加)的实现。
- Minimal:默认最小。
- Maximal:最大。
3、Detailed Implementation
(1) AXI Channel Options
用于配置AXI接口信号,选项默认即可,如非必要无需修改。在默认情况下Phase Increment和Phase Offset的配置只需要在输入数据时同时使能tvalid信号即可,便于操作,可简化配置流程。
可以选择 output tready(输出正余弦数据有效信号)输出引脚。
(2) Latency Options
选择通过Vivado自动配置延迟或者手动配置延迟,推荐使用自动配置。
(3)Control Signals
- ACLKEN:选中时,DDS IP核将具有一个aclken(高电平有效时钟使能)输入端口。
- ARESETn:选中时,DDS IP核将具有一个aresetn(低电平有效同步复位)输入端口。
4、Output Frequencies
配置通道的信号输出频率。
5、Summary
配置总结,可以查看配置的参数。
6、Additional Summary
可以通过之前输入的输出频率看到每个通道数对应的16进制的相位增量,以及理论输出的频率,如果之前选择了相位偏移,还可以看到16进制的相位偏移增量以及相位增量值。
二、IP核接口信号说明
配置完成后生成的IP核接口信号如下所示,例化时具体信号取决于配置时设置的参数: