微波EDA网,见证研发工程师的成长!
首页 > 微波射频 > 微波器件设计 > 基于单片机的直接数字频率合成器的设计

基于单片机的直接数字频率合成器的设计

时间:11-14 来源:现代电子技术 点击:

序根据地址读出相应的函数值,再由P0口输出,送至D/A转换。

所谓查表法,就是预先将满足一定精度要求的表示变量与函数值之间关系的一张表求出,然后把这张表存于单片机的程序存储器中。这时自变量为单元地址,相应的函数值为该地址单元中的内容。在微机应用系统中,一般使用的表均为线性表,他是一种最常用的数据结构,是个数据元素a1 ,a2,?a n的集合,各元素之间具有线性的位置关系。每次查表时,首先将P3.1,P3.0以及P1.7~P1.0,输入的10位地址存放在20H,21H两个单元中(高字节在20H),他将作为查表时的地址偏移量(函数值存放在程序存储器的实际地址=表首地址+偏移量)。

 \

3.3 数/模转换器(D/A)

数/模转换器DAC0832输入数字量是8位,参考电压V 的工作范围是一10~+10 V,通过他将外加高精度电压源与内部的电阻网络相连接。芯片内有一个8位输入寄存器和一个8位DAC寄存器,形成两级缓冲结构。这样可使DAC转换输出前一个数据的同时,将下一个数据传送到8位输入寄存器,以提高数/模转换的速度。DAC0832与80C51的接口电路如图3所示,80C51的P0口直接与DAC0832的数字输入DI7~DI0相接,8OC51的WR与DAC0832的WR1相接,P2.7与片选端CS连接,芯片采用的是单缓冲方式。这时芯片的地址为7FFFH。

\

3.4 系统时钟的产生

系统时钟可利用80C51的定时/计数器产生。时钟频率要根据最高输出频率确定,一般fc≥ 4f0max ,而低通滤波器的截止频率为最高输出频率。本设计中时钟频率要求为50 kHz,则要用定时器输出周期为20 us方波。选用定时/计数器T0,工作于方式0,输出为P2.0引脚。20us的方波可由间隔10us的高低电平相间而成,因而只要每隔10us对P2.0取反一次。由于实验用80C51的时钟频率为12 MHz,因此计数初值:
\

4 软件设计

4.1 ROM 查表程序
 \
4.2 用定时器产生系统时钟的程序
 \
 
 
5
 
经过示波器观察可以看到清晰的正弦波形,通过计算机改变频率码k,可以得到不同频率的波形,且输出频率随频率控制字的增大而增大。但输出频率超过13 kHz时,输出波形明显失真,这主要由D/A转换、低通滤波等部分产生的杂散所致。由于DDFS采用全数字结构,不可避免地引人了杂散。其来源主要有3个:相位累加器相位舍位误差造成的杂散,幅度量化误差(由存储器有限字长引起)造成的杂散和DAC非理想特性造成的杂散。
 
本文的设计是以产生正弦波为例,实际上只要在DDFS的波形存储器存放不同的波形数据,就可以实现各种波形输出,如三角波、锯齿波和矩形波,甚至是任意波形。另外只要在DDFS内部加上相应控制,如调频控制FM、调相控制PM 和调幅控制AM,即可以方便灵活地实现调频、调相和调幅功能,产生FSK,PSK,ASK和MSK等信号。在通信、雷达、电子对抗、导航、广播电视、遥控遥测、仪器仪表等领域具有广泛的应用前景。
 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top