AD9850的FPGA实现--理论部分
可能有的人会说FPGA都用上了,为何还用集成芯片来做DDS,的确是这样的,用了FPGA配合高速DA
加上外围的一些模拟电路,DDS一样可以达到很好的效果。
最近刘大牧刚好做了一块DDS的小模块,我就顺道拿来用FPGA来实现下吧。(在这里感谢刘大牧同学)
-------------------------------------------------------------------------------------->>>>
下面结合PDF对AD9850作出一些说明
---->> AD9850内部功能框图
上图中 HIGH-SPEED DDS的内部结构如下
----------------------------------------------------------------------------------------------------------------------- >>>
相位累加器32bit,相位寄存器32bit,频率控制字32bit,相位控制字5bit,相位寄存器输出32Bit并不是全部输出到 查找表
而是截断,留高位13-15位部分作为查询表地址.正弦查询表包含一个正弦波周期的数字幅度信息,每一个地址对应正弦波
0°--360°范围内的一个相位点,查询表把输入地址的相位信息,映射成正弦波幅度信号然后再截断到10bit,送DAC输出模拟量。
注意:
有的PDF上说是正弦查找表,有的说是余弦查找表,米有关系,相移控制即可,这不是需要过于关注的地方。
--------------------------------------------------------------------------------------------------------------------->>>>
--------------------------------------------------------------------------------------------------------------------->>>>>>
--->> AD9850是一款高度集成了DA和comparator的DDS芯片。分辨率可以达到0.0291HZ。125000000/(2的32次方)=0.0291Hz.
--->> 频率字32bit,相位字5bit,通过对5bit的相位字设置可以得到不同的初始相位。32位的频率控制制字决定了相位累加器每次累加的相位的数值,
增加的越多则频率会越高。
---->> AD9850内部无倍频电路,一般是采用外部有源晶振作为标称频率输入,外部最大支持的标称频率为125M(5V供电下)。
若3.3V供电,标称频率最大为110M。AD9850的参考标称频率不要低于1MHZ,如果低于这个频率的话,芯片会自动的进入
待机模式,以节省动态电阻上的漏电流。
---->> AD9851内部有倍频电路,经内部倍频后,标称频率最高支持到180MHZ,外部可以采用低频率晶振代替。
---->> 支持串行和并行两种操作方式.
---->> 理论最大输出信号频率是标称频率的1/2.
---->> 电流形式输出经I/V变换后,正弦波信号可直接做频率信号源,也可以经滤波后通过比较器转换成方波作为信号源输出。
--->> 通过一个先进的算法将COS所需的DA转换数值算出来,减少了ROM的开支和降低了消耗
---------------------------------------------------------------------------------------------------------------------
并行操作时,频率 相位 控制字的输入顺序。
注意频率字32位,分4次8bit写入,同时注意MSB和LSB的位置。
-------------------------------------------------------------------------------------------------------------------
并行操作时序
-------------------------------------------------------------------------------------------------------------------------->>
参数计算