基于基于CPLD的函数信号发生器设计的函数信号发生器设计
0 引言 传统的信号源设计常采用模拟分立元件或单片压控函数发生器MAX038,可产生正弦波、方波、三
角波,并通过调整外部元件改变输出频率,但由于采用模拟器件,所用元件的分散性太大,即使使用单片函数
发生器,也因参数与外部元件有关(外接的电阻电容对参数影响很大),使频率稳定度较差,精度低,抗干扰能力
低,成本也高;况且其灵活性较差,而不能实现多种波形以及波形运算输出等功能。 在此,采用直接数字
频率合成(DDFS)技术,并使用单片机控制CPLD的方法。由于CPLD具有可编程重置特性,因而可以方便地改变
控制方式或更换波形数据,而且简单易行,易于系统升级,同时具有很高的性价比。频率合成是将一个
0 引言
传统的信号源设计常采用模拟分立元件或单片压控函数发生器MAX038,可产生正弦波、方波、三角波,并通过调整外部
元件改变输出频率,但由于采用模拟器件,所用元件的分散性太大,即使使用单片函数发生器,也因参数与外部元件有关(外
接的电阻电容对参数影响很大),使频率稳定度较差,精度低,抗干扰能力低,成本也高;况且其灵活性较差,而不能实现多
种波形以及波形运算输出等功能。
在此,采用直接数字频率合成(DDFS)技术,并使用单片机控制CPLD的方法。由于CPLD具有可编程重置特性,因而可以
方便地改变控制方式或更换波形数据,而且简单易行,易于系统升级,同时具有很高的性价比。频率合成是将一个高稳定度和
一个高精度的标准频率经过运算,产生同样稳定度和精度的大量离散频率技术,一定程度上解决了既要频率稳定、,又要频率
在较大范围内可变的矛盾。
1 DDFS的原理和特点
1.1 DDFS的基本原理
DDFS的基本原理图如图1所示。
一个完整输出波形的周期、幅值都被顺序地存放在RAM中。当RAM的地址变化时,DAC将该波形数据转换成电压波形,
该电压波形的频率与RAM地址变化的速率成正比。DDFS发生器使用了相位累加技术,以控制波形在RAM中的地址。它用一
个加法器代替计数器来产生RAM的顺序地址。在每一个时钟周期,存储于相位递增寄存器(Phase Increment Register,PIR)
中的常数都被加到相位累加器的当前结果上。相位累加器输出的有效位数被用来确定波形在RAM中的地址。通过改变PIR的常
数,确定每个周期中的点数,而这些点数正是用来改变整个波形的频率。当一个新相位递增寄存器的(PIR)常数被存进寄存器
中,波形的输出频率便随下一个时钟周期连续地改变相位。相位累加器将依据PIR中存储的常数来改变RAM的地址,若PIR数
值很小(即频率较低)时,累加器便逐步地经过每个RAM地址;当PIR的值较大时,相位累加器将跳跃某些RAM地址。
1.2 DDFS的特点
DDFS的特点如下:
(1)DDFS的频率分辨率在相位累加器的位数N足够大时,理论上可以获得相应的分辨精度,这是传统方法难以实现的。
(2)由于DDFS中不需要相位反馈控制,频率建立及频率切换快,并且与频率分辨率、频谱纯度相互独立,这一点明显优于
PPL。
(3)DDFS的相位误差主要依赖于时钟的相位特性,相位误差小。另外,DDFS的相位是连续变化的,形成的信号具有良好
的频谱,这是传统的直接频率合成方法无法实现的。
(4)DDFS的失真度除了受到D/A转换器本身的噪声影响外,还与离散点数N和D/A字长有着密切的关系。在高输出频率
取样点数32和相应的量化级数256条件下,失真度(5.676%)已经足够小了。
2 系统设计
2.1 总体设计
系统框图如图2所示。