丁 蓉, 杨俊杰
(上海电力学院 a.自动化工程学院, b.电子与信息工程学院, 上海 200090)
信号发生器作为一种常用的信号发生装置和信号源,广泛应用于电力电子、测量控制和工业自动化等方面,在日常工作生活中的测量方面有着重要的地位[1].在实验室以及教学环境中经常需要对一些电子仪器的性能进行测试,信号发生器能够为这些设备提供信号源,如正弦信号、方波或三角波等[2].在数字信号发生器的研究过程中,直接数字频率合成(Direct Digital Synthesizer,DDS)技术对提升电子系统的性能有很重要的作用,已成为电力电子系统中的一种新颖的频率合成技术.其具有许多的优点[3],如可编程和全数字化频率、分辨率高、频率转变速度快、输出相位连续等.由于信号发生器在生产科研等方面发挥着重要的作用,所以在工业自动化产业中有着很深入的推广和应用[4].因此,作为检测过程中较为重要的一个基础环节,研究精度高、可靠性好、性能强的数字信号发生器具有重要的实际意义和学术价值.
在DDS技术中相位累加器、波形存储器、数模转换器起着决定性的作用,利用数字控制振荡器(Numerically Controlled Oscillator,NCO)可产生标准可调的正弦波.其基本原理为[5]:相位累加用于存储产生信号的相位信息部分;频率控制字K对相位累加器存储的相位信息进行控制;信号经过相位累加器后,其相位信息与正弦查询表相结合,可得到离散的数字量幅度信息(即相位转化为幅度);而数模转换器的作用则是将离散的数字量幅度信息转换为模拟的正弦量,然后通过低通滤波器按照一定要求滤除不需要的杂波,得到正弦波信号;将经过滤波器后的信号通过比较器处理,可产生方波信号.
使用了DDS技术的数字信号发生器可以让输出的信号具备高精度和高分辨率的频率,而且调频时频率切换的速度较快.虽然这种合成技术的结构不复杂,但是集成度很高.在该技术的发展过程中,做到了结构简单却有着高性能的优点,可以快速获取精度高、噪声低的信号.DDS的基本结构电路如图1所示.
图1 DDS的基本结构电路
本系统的主要功能是产生正弦信号和方波信号,并将波形类型和波形频率显示在显示屏上.系统硬件结构框图如图2所示.
图2 信号发生器系统硬件结构
系统主要包含4个模块:AT89C51型号的单片机作为控制模块来控制系统的其他模块;控制DDS模块中的AD9850芯片可以产生特定波形、特定频率的信号;有机发光二极管(Organic Light Emitting Diode,OLED)用于显示波形类型及频率,并通过独立按键为整个系统提供友好的人机交流界面;低通滤波模块可以滤除AD9850产生信号中的直流分量和高次谐波成分,以得到纯净的正弦信号.
AD9850芯片[6]的制作采用了CMOS工艺,表面封装形式采用28脚的SSOP.AD9850中的可编程DDS系统,方便了信号的合成,通过高速比较器,可达到全数据可控编程.其中,可编程DDS系统等同于一个相位累加器,该系统由一个加法器和一个32位相位寄存器构成;由外部参考时钟提供上升沿和下降沿,当上升沿和下降沿到达系统内部时,相位寄存器会接收外部时钟信号的激励增加相应步长;在相位累加器中,将相位的控制字和寄存器中的数据进行累加,累加后的结果在正弦查询表上匹配对比后,输出属于该数据地址上的信号.正弦查询表包含整个正弦波周期的数字幅度信息,其中每一个地址都对应着正弦波中的一个相位点,范围是0°~360°.在查询表中将输入的地址信息与正弦波中的相位点进行映射,获取对应的正弦幅值信号,通过数字模拟转换器(Digital to Analog Converter,DAC)转化为模拟量输出.
AT89C51单片机包含4 kB Flash闪速存储器,128 B内部RAM,4个I/O并行口,1个可编程的I/O串行口,2个16位定时器/计数器,5个优先级不一样的中断源,以及基本的时钟振荡电路,有些特殊电路还包括可调振荡器.
由于单片机采用了静态设计,当频率降至零时,可以通过软件来选择当前的节约系统用电模式(空闲模式和掉电模式).当系统选择了空闲模式后,中央处理器(CPU)将会停止一切工作,但系统中的定时器、RAM和串口等都会正常工作,使系统与外部模块的通信保持通畅.掉电模式则可以保证系统RAM的内容不会发生变化,振荡器掉电后会停止工作,并指引片内其他功能停止工作.因此,时钟停止时用户数据并不会丢失,单片机可从时钟停止处开始恢复工作.
信号发生器的硬件原理如图3所示,通过各模块之间的接线以及外围电路的设计,能够满足信号产生的条件,模块与模块之间的接口要一一对应.
图3 硬件模块接线示意
在该信号发生器系统中,硬件是基础,软件是精髓.通过软件程序控制波形信号的产生,当键盘模块有输入时,要进行快速的反应并产生相应的变化.与此同时,显示模块产生同步的显示信号,是整个系统得以实现功能以及稳定快速地完成设计要求的决定性因素.本系统在单片机开发软件Keil C51上用C语言完成程序的编写与调试.
在本系统中,软件设计采用模块化的方法,以小显大,组合完成.将程序分为按键、显示及DDS等模块,分别进行设计、编写和调试.各模块调试无误,则可组合成整个系统程序,模块化程序设计调试方便、容易完成.
在软件控制方面,需要在硬件的基础上针对每个I/O口进行程序的编写,将软硬件组成一个整体,然后进行调试、测试,进而实现整个系统的功能.运行整个程序后,首先初始化各模块,使各模块处于工作状态.然后单片机对键盘模块进行扫描,当键盘模块接到外部触发时,单片机立即获取信号,同步控制AD9850芯片产生信号,并通过显示模块进行显示.系统程序流程如图4所示.
图4 系统程序流程示意
首先进行单元测试,将每个模块单独测试,确保各模块独立测试无误后,再进行系统测试.将所需的程序、硬件设备、外部设备、通讯等其他模块结合在一起,将系统进行组装,并设计测试方案,测试结果如图5所示.
图5 信号发生器系统测试示意
然后对AD9850芯片产生的波形进行调试,结果如图6所示.图6中,波形横坐标为时间,单位为μs;纵坐标为幅值,单位为V.
图6 信号波形
最后对按键模块与显示屏进行调试.按键模块测试的目的是确保按键能够根据所写指令进行正常工作,结果如表1所示.
表1 各波形频率测试数据 Hz
由表1可以看出,调试结果与设计目的一致,该信号发生器调控频率时,频率的精确度很高.
本文完成了基于DDS的信号发生器的设计与实现,通过单片机控制DDS模块来产生信号,通过按键改变信号的频率,同时通过按键选择输
出波形,最终通过示波器显示波形的类型和频率.测试结果表明,该发生器实现了精度高、频率转换时间短的多种信号的输出,满足了实际生产中对信号源的需求.
[1] 杨蕊.基于DDS技术的实用信号源设计[D].武汉:华中师范大学,2012.
[2] 付江蔚.基于DDS信号发生器的研究和设计[D].成都:电子科技大学,2007.
[3] 李伟英,钟新跃,谢四莲.基于DDS技术的信号发生器设计与实现[J].电子工程师,2008(5):35-37.
[4] 汤兵兵.基于DDS技术的信号发生器设计与实现[D].南昌:南昌大学,2015.
[5] 李站,陈金鹰.基于DDS芯片AD9851的信号发生器的设计[J].中国集成电路,2013(12):83-87.
[6] 林万荣.基于AD9850的DDS信号发生器系统设计与实现[J].中国有线电视,2015(11):1 286-1 290.