20200804
DDS发生流程
首先有个关于频谱图的知识,横坐标都为频率,纵坐标有dBm和dBW之分,
dBm和dBW之间的差值为dB,比如,30dBm-0dBm=30dB
dBm和dBW相加是两个功率相乘
dBm和dBW相减是两个功率相除。
上图是DDS的原理框图,假设系统工作时钟(查表时钟)为150MHz,ROM表深度为4096,存储波形为1个周期(如正弦波每周期抽样量化为4096个点),也就是一个周期的波形由4096个采样点组成,意味着输出波形一个周期最多4096个采样点。比如Data输出10M的正弦波,输出的正弦波每周期只有15个采样点;而输出1M的正弦波,每周期将有150个采样点;我们也可以知道当输出频率小于等于36.621KHz时,输出波形每周期由4096个点构成。输出信号的每周期点越多,阶梯效过越不明显,经过低通滤波器后波形越好看。
如果freq_ctrl为1时,那么输出信号为150MHz/4096=36.621KHz,如果freq_ctrl为2时,那么输出信号为150MHz2/4096=73.242KHz。因此当需要输出正弦波频率为fout MHz时,
Fout = 150MHzfreq_ctrl/4096,所以freq_ctrl = Fout4096/150MHz。
也就是当系统工作时钟为60M时,ROM表深度为65536,存储波形为1个周期(正弦波每周期抽样量化为65536个点),也就是一个周期的波形由65536个采样点组成,意味着输出波形一个周期最多65536个采样点,当Data输出12M正弦波,输出的正弦波每周期只有5个采样点,当频率为915.5时,输出正弦波每周期有65536个点。输出周期点越多,阶梯效果越不明显,经过滤波器后,波形越平滑。
如果频率控制字为1时,那么输出信号为60MHz/65536=915.5Hz,
如果频率控制字为2时,那么输出信号为260MHz/65536=915.52=1831Hz,
因此当输出正弦波频率为12.2MHz时,频率控制字为K=fo65536/60MHz=13326
注意!!!!
由于ROM地址为整数,所以频率控制字也为整数。