摘要:针对传统信号源精度低的特点,提出一种新的函数信号发生器设计方案。这里介绍的函数信号发生器由CPLD、单片机控制模块、键盘、LED显示、D/A转换模块组成。采用直接数字频率合成(DDFS)技术,用单片机控制CPLD的方法产生正弦波、方波、三角波和占空比可调的矩形波。该系统具有频率范围宽,步进小,幅度和频率的精度高等特点。
关键词:CPLD;DDFS;单片机控制;80C196
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%)已经足够小了。