文章目录
- 前言
- 一、DDS 是什么?
- 二、LogiCORE 功能介绍
- 1. 概述
- 2. 端口描述
- 3. Mode of Operation 工作模式和 Output Frequency 输出频率计算
- (Ⅰ)Standard Mode of Operation
- (1)Output Frequency 输出频率计算
- (2)Customsize IP
- (3)计算验证
- (Ⅱ)Rasterized Mode of Operation
- (1)Output Frequency 输出频率计算
- (2)Customsize IP
- (3)计算验证
- 4. 自定义配置IP核
- Configuration Tab - 配置选项卡
- Implementation Tab - 实现选项卡
- Detailed Implementation Tab - 详细实现选项卡
- Output Frequencies - 输出频率
- Phase Offset Angles - 相位偏移角
- Phase Angle Increment Values - 相位角增量值
- Phase Offset Values - 相位偏移值
- 三、Example Design
- 总结
前言
本文是关于 Xilinx LogiCORE IP DDS Compiler v6.0 的功能、配置、仿真等内容介绍,更多内容参考Xilinx官方文档:DDS Compiler v6.0 LogiCORE IP Product Guide
一、DDS 是什么?
DDS 是指 Direct Digital Synthesizer(直接数字频率合成器),提供相位生成和相位到正弦波的转换功能,常用于数字通信系统中的数字上变频(DUC)、数字下变频(DDC)、数字调制解调(FSK、PSK、MSK 等)等场景
二、LogiCORE 功能介绍
1. 概述
Xilinx LogiCORE DDS Compiler 主要由Phase Generator 和 SIN/COS LUT 两部分组成,可以单独使用,也可以一起使用,Configuration Options:Phase Generator Only、SIN/COS LUT Only、Phase Generator and SIN/COS LUT
2. 端口描述
端口名称 | 方向 | 描述 |
aclk | input | 时钟输入端口 |
aclken | input | 时钟使能输入端口,高电平有效 |
aresetn | input | 同步复位/清除输入端口,低电平有效,优先级高于aclken,必须拉低至少两个aclk周期才能复位Core |
s_axis_config_xxx | inout | 配置通道 |
s_axis_phase_xxx | inout | 相位输入通道 |
m_axis_data_xxx | inout | 数据输出通道 |
m_axis_phase_xxx | inout | 相位输出通道 |
event_xxx | output | 事件状态指示输出端口 |
3. Mode of Operation 工作模式和 Output Frequency 输出频率计算
(Ⅰ)Standard Mode of Operation
(1)Output Frequency 输出频率计算
- Standrad 模式下 DDS 输出频率 fout计算公式如下,其中 fclk 为 System Clock(MHz), BΘ(n) 为 Phase Width(Bits),∆Θ 为 Phase Increment value(Decimal)
- 单通道模式下 用于生成 DDS 输出频率 fout 的 ∆Θ 计算公式如下
- 多通道模式下 用于生成 DDS 输出频率 fout 的 ∆Θ 计算公式如下
(2)Customsize IP
按下图配置
(3)计算验证
根据公式计算验证结果一致
(Ⅱ)Rasterized Mode of Operation
(1)Output Frequency 输出频率计算
- Rasterized 模式下 DDS 输出频率 fout计算公式如下,其中 fclk 为 System Clock(MHz),M 为 Modulus,∆Θ 为 Phase Increment value(Decimal)
- 单通道模式下 用于生成 DDS 输出频率 fout 的 ∆Θ 计算公式如下
- 多通道模式下 用于生成 DDS 输出频率 fout 的 ∆Θ 计算公式如下
(2)Customsize IP
按下图配置
(3)计算验证
根据公式计算验证结果一致
4. 自定义配置IP核
Configuration Tab - 配置选项卡
Configuration Options - 配置选项
a)Phase Generator and SIN/COS LUT —— DDS 通过将相位发生器和 SIN/COS LUT 与可选的抖动电路相结合
b)Phase Generator only - 仅提供相位发生器
c)SIN/COS LUT only - 仅提供带有可选泰勒级数校正电路的正弦/余弦 LUTSystem Requirements - 系统要求
a)System Clock - DDS 内核的时钟频率,用于计算输出频率的相位增量值
b)Number of Channels - DDS 和相位发生器最多可支持 16 个通道,通道是时分复用的
c)Mode of Operation - Standard(相位截断)和 Rasterized(modulo M)
d)Modulus - 仅限Rasterized模式,用于描述系统时钟频率与所需频率之间的关系
e)Frequency per Channel (Fs) - 由于多通道时分复用,每个通道的有效系统时钟是实际系统时钟除以通道数Parameter Selection - 参数选择
DDS关键参数可以使用 System Parameters(频域参数)或 Hardware Parameters(时域参数)指定。Phase Generator and SIN/COS LUT 仅根据 Hardware Parameters 指定。
1)System Parameters - 系统参数
a)Spurious Free Dynamic Range (SFDR) - 无杂散动态范围,指示 DDS 产生的音调的目标纯度。这将设置输出宽度以及内部总线宽度和各种实现决策
b)Frequency Resolution - 以 Hz 为单位指定最小频率分辨率,用于确定相位累加器及其相关相位增量(PINC)和相位偏移(POFF)值所采用的相宽。较小的值提供较高的频率分辨率,并且需要较大的累加器。较大的值会减少硬件资源。根据噪声整形的选择,可以增加相位宽度,并且频率分辨率高于指定的分辨率。对于Rasterized模式,频率分辨率由系统时钟、通道数和所选模数固定。
2)Hardware Parameters - 硬件参数
a)Phase Width - 设置 m_axis_phase_tdata 内 PHASE_OUT 字段的宽度
b)Output Width - 仅在选择 DDS 或 SIN/COS LUT 器件时启用,设置 m_axis_data_tdata 内 SINE and COSINE 字段的宽度Noise Shaping - 噪声整形
1)Phase Dithering - 相位抖动
2)Taylor Series Corrected - 泰勒级数校正
Implementation Tab - 实现选项卡
Phase Increment Programmability - 相位增量可编程性
1)Fixed - PINC 在生成时是固定的,不能在运行时更改
2)Programmable - 可以在运行时使用 CONFIG 通道更改 PINC 值
3)Streaming - PINC值直接取自输入PHASE通道Resync - 选中后,s_axis_phase 通道具有“Resync”字段。当置位时,该位会使相关通道的累积相位静音。该周期的累积阶段值是伴随 RESYNC 断言的 PINC 值加上 POFF 值
Phase Offset Programmability - 相位偏移可编程性
1)Fixed - POFF 在生成时是固定的,不能在运行时更改
2)Programmable - 可以在运行时使用 CONFIG 通道更改 POFF 值
3)Streaming - POFF值直接取自输入PHASE通道Output - 输出
1)Output_Selection - DDS 在m_axis_data_tdata 总线中具有SINE 和COSINE字段,或者只有这两个字段中的一个
2)Polarity - 极性
a)Negative Sine -
b)Negative Cosine -
3)Amplitude Mode - 振幅模式
a)Full Range - 全范围
b)Unit Circle - 单位圆
Detailed Implementation Tab - 详细实现选项卡
略
Output Frequencies - 输出频率
当“Parameter Selection”设置为“System Parameters ”且“Phase Increment Programmability”为“Fixed or Programmable”时,将显示此页面。对于每个通道,可以在表中输入一个独立的频率(MHz)。允许的范围显示为 0 到 Fs(其中 Fs 是每个通道的频率)
Phase Offset Angles - 相位偏移角
当“Parameter Selection”设置为“System Parameters”且“Phase Offset”设置为“Fixed or Programmable”时,将显示此页面。此表允许将每个通道的相位偏移指定为周期的一小部分。标准模式的有效范围为 -1.0 到 1.0。对于栅格化模式,有效范围为 0 到 1.0。例如,输入 0.5 表示 180°(即 π 弧度)
Phase Angle Increment Values - 相位角增量值
当“Parameter Selection”设置为“Hardware Parameters”且“Phase Increment Programmability”为“Fixed or Programmable”时,将显示此页面。值必须以二进制形式输入
Phase Offset Values - 相位偏移值
当“Parameter Selection”设置为“Hardware Parameters”且“Phase Offset”设置为“Fixed or Programmable”时,将显示此页面。值必须以二进制形式输入
三、Example Design
略
总结
本文仅仅简单介绍了 DDS Compiler 的使用,后续根据实际使用更新 更多内容,未完待续…