基于CPLD控制的DDS数字频率合成器设计
时间:11-07
来源:互联网
点击:
3 基于CPLD和DDS的数频源设计
图2所示是一个数字频率合成器的总体框图。图中,先由CPLD芯片根据DDS需要的输出频率计算出频率控制字,然后附上DDS寄存器地址输出给DDS芯片,同时输出一路信号给开关,以便分段进行后续处理。
为了实现极低噪声,首先注意晶振的选取,因为根据资料分析,输出信号的相位噪声取决于时钟信号的相位噪声,并将以20log(Fout/Fclk)的规律变化,这意味着在输出信号频率不变的情况下,10MHz时钟信号所产生的相位噪声将会比100MHz时钟信号恶化20dB。所以必须选取相噪指标极低的高频率晶振作为DDS的时钟。同样,根据20log(Fout/Fclk)的公式,在时钟不变的情况下,100MHz输出信号的相位噪声也会比10MHz输出信号恶化20dB。
由于工作频带的相对带宽很宽,因此降低输出频谱谐波电平是着重考虑的问题。如果按照原来的办法,在输出信号后加一级滤波器选择信号,那么无用的谐波分量就会混入到有用信号带宽内,从而造成谐波电平超标,频谱质量降低。因此可以考虑将输出信号频带分段,即由选通开关分配给几组滤波链,最后再合成f1~f2 4.5倍频程宽带信号;滤波器要求带外抑制特性好,带内平坦度好,插损尽可能小。选通开关控制信号可由CPLD控制电路给出。
AD9952时钟输入采用双端差模输入,由外部晶振通过差分器提供。将时钟工作模式的选择管脚接地,即直接应用参考时钟频率的工作模式。输出IOUT和IOUT是一对互补信号,这种差分形式可以减少输出的共模噪声、提高信噪比;DAC_RSET通过可调电阻接地,有利于找到能够抑制噪声的最佳的电阻值;DACBP通过一个0.01μF的电容接至模拟电源,可以改善其谐波失真和杂散电平性能;DDSRE-SET由按键开关控制,按下并抬起可形成一个宽幅脉冲来使AD9952复位;串口输入控制由DDSCLK、DDSDATA、DDSCSB、DDSIOUPDATE组成,全部由控制电路输出;它们之间的关系是:由DDSCLK提供串行时钟,并在它的作用下DDSCSB由高变低时,使DDS芯片处于使能状态,然后输出一个完整的控制数据(包括寄存器地址和频率控制字的内容),之后再将DDSIOUPDATE由低变高,使已传输到AD9952的数据产生作用并使输出频率发生跳变,从而完成了一个动作。继而完成CPLD作为控制电路要实现的主要功能。
通过对AD9952的分析可知,控制电路必须输出4组信号给DDS芯片,包括DDSDATA、DDSCSB、DDSSCLK和DDSIOUPDATE,同时还要输出两组信号给后面的频选开关。DDSDATA信号是寄存器地址和频率控制字的总和,共有40位;DDSCSB作为芯片的使能信号是单独脉冲;DDSSCLK是串行时钟,DDSIOUPDATE也是单独脉冲。因此根据上面的分析,要实现DDSDATA、DDSCSB、DDSIOUPDATE信号都是很困难的。图3是CPLD顶层的电路组成。
在CPLD内部,为了简化设计,重复性使用,常常将一部分功能做成模块的形式。图3的左上脚有一个频率转换模块?ftoftw ,它的功能是根据要输出的频率(其典型值通过内部预先设置的对应表的查询来实现,非典型值则通过公式计算来实现)来输出想要的频率控制字和附加的频率寄存器地址。该模块之所以采用查表方式是出于速度的考虑。图3左下脚的模块可将一个宽幅的按键RESET信号转化成一个时钟周期的RESET信号,并且将输出作为使能信号送到右边的两个模块;该模块内部是由一个计数器来实现的,当计到某一值时输出一个脉冲,而后进入一个无输出的开循环以满足单独的脉冲输出。右上脚的模块是一个并串转换模块(shifter_ps),它可将40位的并行信号转换成串行信号,并在串行时钟的参考下一位一位地输出给DDS芯片,从而实现对寄存器的修改。这样,给输入时钟加一个反门就可得到想要的串行时钟,而且可以很方便地使之随着输入时钟的变化而变化。右下脚的模块是一个简单的计数器(counter2),它的输出正是40个时钟周期后的DDSIOUPDATE信号,同时和前一个计数器的输出通过或门得到DDSCSB信号。
该电路是数模混合电路,为了保证相噪和杂散性能,除了在原理设计和元器件选择方面要注意外,在电路的具体布局和布线方面也要加以考虑,以防止额外干扰的产生。CB采用4层板设计,数字电源与模拟电源要分开,时钟也要单独供电;为降低电源纹波和其它干扰,还要对每一组电源分别用电容去耦。地平面上要将数字地和模拟地分开,并应在大面积铺地处通过一点连接,各相邻地平面通过磁珠相连。时钟尽量远离其它信号,并应加地线屏蔽。
4 结束
图2所示是一个数字频率合成器的总体框图。图中,先由CPLD芯片根据DDS需要的输出频率计算出频率控制字,然后附上DDS寄存器地址输出给DDS芯片,同时输出一路信号给开关,以便分段进行后续处理。
为了实现极低噪声,首先注意晶振的选取,因为根据资料分析,输出信号的相位噪声取决于时钟信号的相位噪声,并将以20log(Fout/Fclk)的规律变化,这意味着在输出信号频率不变的情况下,10MHz时钟信号所产生的相位噪声将会比100MHz时钟信号恶化20dB。所以必须选取相噪指标极低的高频率晶振作为DDS的时钟。同样,根据20log(Fout/Fclk)的公式,在时钟不变的情况下,100MHz输出信号的相位噪声也会比10MHz输出信号恶化20dB。
由于工作频带的相对带宽很宽,因此降低输出频谱谐波电平是着重考虑的问题。如果按照原来的办法,在输出信号后加一级滤波器选择信号,那么无用的谐波分量就会混入到有用信号带宽内,从而造成谐波电平超标,频谱质量降低。因此可以考虑将输出信号频带分段,即由选通开关分配给几组滤波链,最后再合成f1~f2 4.5倍频程宽带信号;滤波器要求带外抑制特性好,带内平坦度好,插损尽可能小。选通开关控制信号可由CPLD控制电路给出。
AD9952时钟输入采用双端差模输入,由外部晶振通过差分器提供。将时钟工作模式的选择管脚接地,即直接应用参考时钟频率的工作模式。输出IOUT和IOUT是一对互补信号,这种差分形式可以减少输出的共模噪声、提高信噪比;DAC_RSET通过可调电阻接地,有利于找到能够抑制噪声的最佳的电阻值;DACBP通过一个0.01μF的电容接至模拟电源,可以改善其谐波失真和杂散电平性能;DDSRE-SET由按键开关控制,按下并抬起可形成一个宽幅脉冲来使AD9952复位;串口输入控制由DDSCLK、DDSDATA、DDSCSB、DDSIOUPDATE组成,全部由控制电路输出;它们之间的关系是:由DDSCLK提供串行时钟,并在它的作用下DDSCSB由高变低时,使DDS芯片处于使能状态,然后输出一个完整的控制数据(包括寄存器地址和频率控制字的内容),之后再将DDSIOUPDATE由低变高,使已传输到AD9952的数据产生作用并使输出频率发生跳变,从而完成了一个动作。继而完成CPLD作为控制电路要实现的主要功能。
通过对AD9952的分析可知,控制电路必须输出4组信号给DDS芯片,包括DDSDATA、DDSCSB、DDSSCLK和DDSIOUPDATE,同时还要输出两组信号给后面的频选开关。DDSDATA信号是寄存器地址和频率控制字的总和,共有40位;DDSCSB作为芯片的使能信号是单独脉冲;DDSSCLK是串行时钟,DDSIOUPDATE也是单独脉冲。因此根据上面的分析,要实现DDSDATA、DDSCSB、DDSIOUPDATE信号都是很困难的。图3是CPLD顶层的电路组成。
在CPLD内部,为了简化设计,重复性使用,常常将一部分功能做成模块的形式。图3的左上脚有一个频率转换模块?ftoftw ,它的功能是根据要输出的频率(其典型值通过内部预先设置的对应表的查询来实现,非典型值则通过公式计算来实现)来输出想要的频率控制字和附加的频率寄存器地址。该模块之所以采用查表方式是出于速度的考虑。图3左下脚的模块可将一个宽幅的按键RESET信号转化成一个时钟周期的RESET信号,并且将输出作为使能信号送到右边的两个模块;该模块内部是由一个计数器来实现的,当计到某一值时输出一个脉冲,而后进入一个无输出的开循环以满足单独的脉冲输出。右上脚的模块是一个并串转换模块(shifter_ps),它可将40位的并行信号转换成串行信号,并在串行时钟的参考下一位一位地输出给DDS芯片,从而实现对寄存器的修改。这样,给输入时钟加一个反门就可得到想要的串行时钟,而且可以很方便地使之随着输入时钟的变化而变化。右下脚的模块是一个简单的计数器(counter2),它的输出正是40个时钟周期后的DDSIOUPDATE信号,同时和前一个计数器的输出通过或门得到DDSCSB信号。
该电路是数模混合电路,为了保证相噪和杂散性能,除了在原理设计和元器件选择方面要注意外,在电路的具体布局和布线方面也要加以考虑,以防止额外干扰的产生。CB采用4层板设计,数字电源与模拟电源要分开,时钟也要单独供电;为降低电源纹波和其它干扰,还要对每一组电源分别用电容去耦。地平面上要将数字地和模拟地分开,并应在大面积铺地处通过一点连接,各相邻地平面通过磁珠相连。时钟尽量远离其它信号,并应加地线屏蔽。
4 结束
集成电路 电路 ADI DAC 比较器 电流 Xilinx CPLD 电压 CMOS 滤波器 电阻 电容 相关文章:
- 周立功:如何兼顾学习ARM与FPGA(05-23)
- 初学者如何学习FPGA(08-06)
- 为何、如何学习FPGA(05-23)
- FPGA 重复配置和测试的实现(08-14)
- 适用于消费性市场的nano FPGA技术(09-27)
- 赛灵思“授之以渔”理论:危机中如何巧降成本(06-04)