中山市中等专业学校电子科 许娜芬
中山职业技术学院 江武志
在通讯、电子测量、电视广播、雷达、遥控遥测、导航等领域都需要在一定频率范围内产生符合质量要求的频率信号。随着电子技术的发展,人们对信号源的频率精确度和频率稳定度以及其他方面的要求越来越高[1-2]。目前,产生一定频率的信号一般是采用频率合成技术,随着技术的发展,频率合成器应运而生,这是实现频率合成技术的电路系统。而直接数字频率合成技术(Direct Digital Frequency Synthesis.简称DDS)频率转换速度快,频率分辨率精度高,被广泛使用。有王学凤等人使用DDS芯片的信号源设计[3];有袁辉使用AD9854和FPGA基于DDS理论设计并实现了多模式多波形雷达信号源[4];有刘健余等设计的基于DDS和PLL的Chirp超宽带信号源[5]等。DDS技术在各个领域的应用越来越多,越来越广。
本系统设计制作一个能够产生正弦波和方波的信号源。其中要求信号频率在20Hz到20KHz的范围内实现程控步进,步长1Hz,幅度则要求在100mV到3V间实现步长为100mV的程控步进,而方波的占空比要在2%到98%间可实现步长为2%的程控调整,且要求波形性能良好。综合以上因素,可知本系统的核心是在于波形的产生(包括频率和占空比的程控)以及幅度的程控。
要产生一定频率的信号源,有多种实现方法,如采用像8038这样的函数信号发生器,或者是利用锁相环的跟踪和滤波作用将频率锁定在所需要的谐波分量或者组合频率分量中[1]。但是这两种方法不是步长难以满足要求就是输出频率范围达不到要求,不适合产生低频信号。因此,本设计采用直接数字频率合成芯片。DDS(直接数字频率合成)是基于相位概念提出的一种直接合成所需波形的频率合成技术[1],特别适合于生成频率低、频带宽、频率稳定性和准确度较高及波形复杂的场合,可以很方便地生成符合要求的正弦波和方波。
本系统使用美国AD公司推出的高集成度频率合成器AD9850。其组成原理如图1所示。
AD9850采用CMOS工艺,供电在3.3V左右。供电时功耗仅为155mW,采用28脚SSOP表面封装形式,具有125M时钟频率。AD9850在接上精密时钟源及写入频率相位控制字之后就可产生一个频率和相位都可编程控制的模拟正弦波输出,此正弦波可直接用作频率信号源或者经内部的高速比较器转换为方波输出[1、6]。
系统原理总图如图2所示。
正弦波及方波产生的电路图如图3所示。
3.1.1 正弦波产生
AD9850[7-8]的ROM中已预先存入正弦函数表,其包含一个正弦波周期的数字幅度信息,每一个地址对应正弦波中0°-360°范围的一个相位点。查询表把输入地址的相位信息映射成正弦波幅值信号,驱动DAC输出模拟量。工作时,用单片机送入频率码。AD9850输入采用并行方式,8位一个字节,分5次输入,其中32位是频率码,另8位中的5位是相位控制码,2位是用于选择工作方式,1位用于电源休眠。改变读取ROM的数目,即可改变输出频率。AD9850的频率输出频率的一般表达式为:
式中,k为频率码,是32位的二进制数。fc为系统时钟频率,即125MHz。本设计中频率变化范围在20Hz到20KHz之间,则周期变化范围为50ms到50us,时钟周期为0.04us。当输出频率最高时,即20kHz,此时最小周期,所以步进宽度为:
3.1.2 方波产生
以DDS芯片产生的正弦波为基波,通过STM32F103ZE单片机对DDS芯片内部比较器的控制来改变方波的频率和占空比的值。
表1 正弦波测试结果
表2 方波测试结果
图1 AD9850组成原理[1、6]
图2 系统原理总图
图3 正弦波及方波产生的电路图
图4 幅值调制电路图
图5 键盘接口电路设计图
图6 数码管显示电路图
图7 软件设计流程图
图8 正弦波输出实测幅度相对误差图
图9 方波输出占空比相对误差图
采用8位并行D/A转换器DAC0832来实现正弦波与方波的幅度步进。DAC0832具有价格廉价、接口简单、转换控制容易、与微处理器完全兼容的优点。将DDS生成的正弦波或方波接到DAC0832的基准电压输入端VREF,通过单片机STM32F103ZE来调整DAC0832的输入数字量(N),从而完成正弦波和方波100mv的步进。其对应的输出电压为:
其中,N为幅值控制值。
本设计所使用的幅值调制电路如图4所示。
系统显示部分采用10位共阴数码管来实现,数码管显示数字清晰且直观。同时,在键盘及显示的控制上由单片机STM32F103ZE来实现,这样做既节省了资源,又提高了电路的工作效率。图5是STM32F103ZE单片机最小系统的键盘接口电路设计图。其中JP1为STM32F103ZE单片机最小系统的PA口的扩展口,键盘采用独立按键扫描方式。
10位数码管可显示信号的频率、幅值等值。电路图如图6所示。
STM32F103ZE单片机控制AD9850产生频率和相位都可控制的正弦波,频率量由键盘决定,步进量为1Hz。AD9850频率分辨率为0.029104Hz,完全能够满足要求。正弦号送入到DAC0832的基准电压输入端VREF,单片机控制D/A转换器的数字量调节其幅值,设置按键调整值实现100mv的步进。设置按键调整占空比和幅值,单片机通过对AD9850内部比较器的控制,从而改变方波的占空比和频率。方波信号送入到DAC0832的基准电压输入端,单片机控制D/A转换器的数字量调节其幅值,设置按键调整幅值可实现100mv的步进。
表1所示为正弦波测试结果,表2所示为方波测试结果。
图中蓝红青紫色曲线代表预设幅度值分别是0.1V、1V、2V和3V的正弦波输出的幅度相对误差。其中一条曲线代表预设幅值确定时,预设不同的频率时,正弦波输出的幅值相对误差。从图中可以看出相对误差控制在一定的范围内。而系统输出的正弦波频率与预设频率之间的平均相对误差约在0.0021%,误差极小。
从图中可以看出占空比相对误差控制在一定的范围内,其平均占空比相对误差约0.31%,大部分相对误差较小。而方波的输出频率与系统的预置频率之间的平均相对误差达到约0.005%,误差率很低。幅值平均相对误差约0.303%。由此可见,系统输出的方波相关参数的误差均较小。
造成误差的原因有很多,系统本身的硬件就会产生一定的量化误差。比如芯片本身所带来的误差,还有就是焊接电路时的电路布局和电路走线,这也会引起一定的误差和干扰。
本系统实现了可控正弦波和方波的生成,并在10位数码管显示其基本要求。DDS芯片AD9850产生的信号源,频率稳定,误差小。在实践测试中得知从AD9850输出的正弦波幅值会随频率变化,最后通过软件编程明显减少了幅值误差。关键部分在于产生占空比可控的方波,最后通过单片机对DDS内部比较器的控制来实现方波的占空比可控,可控结果很理想,误差很小,精确度高,达到了系统的要求。
[1]杨蕊.基于DDS技术的实用信号源设计[D].华中师范大学,2012,5.
[2]王建明.基于DDS技术的多波形信号源设计[D].南京理工大学,2005,6.
[3]王学凤等.基于DDS芯片AD9851的信号源设计与实现[J].微计算机信息,2008,24(8-1):111-112.
[4]袁辉.基于FPGA的数字信号发生器的设计与实现[J].电子技术应用,2011,37(9):67-69.
[5]刘健余等.一种基于DDS和PLL的Chirp超宽带信号源设计与实现[J].重庆邮电大学学报(自然科学版),2011,23(1).
[6]Each Manufacturing Company.AD9850[DB/OL].http://datasheet.eeworld.com.cn/pdf/AD/68298_AD9850.pdf.
[7]Analog Devices Inc.CMOS.125MHz complete DDS synthesizer AD9850[M].[S.1.]:Analog Devices Inc.,1999.
[8]牛耕,陈思宇等.基于DDS技术的正弦交流信号源的设计[J].现代电子技术,2012,35(3):52-56.