经改造的DDS功能用作波特率发生器
时间:08-05
来源:21ic
点击:
一般情况下,可以用一个现有的振荡器,为一个UART产生一个波特率时钟。振荡器频率必须作分频,而分频会带来波特率误差。表1表示当用一个8 MHz晶振和一个普通的二进制分频器生成波特率时,产生误差的百分比。本例中的系统可以获得一个比波特率快16倍的时钟。
当示波器频率不相匹配时,波特率设置中的误差会增加。此时,可以增加一个工作在18.432 MHz的振荡器,以尽可能减小误差率。另外,可以采用DDS(直接数字综合)方法,以较高波特率使用相同振荡器,从而降低误差(表2)。
参考文献1中描述了基本的DDS操作原理。本设计采用了一种较简单的DDS版本,只有一个方波输出(图1)。可以从相位累加器的MSB获得方波的输出。也可以增加一个除2级,使获得的信号有50%的占空比。波特率时钟频率的计算方法是:波特率时钟 = (基准时钟×控制字/2N)/2,其中N是相位累加器的位数。代码清单1(http://www.edn.com/file/25467-Modified_DDS_functions_as_baud_rate_generator_listing.doc)是一个采用20位相位累加器和16位控制字的DDS波特率发生器的Verilog实现。
参考文献 1. A Technical Tutorial on Direct Digital Synthesis,” Analog Devices, 1999.
- 基于AD9951射频正弦波信号发生器的设计(01-11)