应用STM32和DDS的便携式简谐振动合成演示信号发生器
2015-12-06刘改琴
刘改琴,胡 南
(重庆理工大学光电信息学院,重庆 400054)
目前在各大高等院校的大学物理及相关课程的教学中,不同情况的简谐振动的合成是一个非常重要的基础知识点。对简谐振动合成的深入理解不但有助于学生理解波动光学中椭圆偏振光和圆偏振光的形成、线偏振光通过波晶片后能获得椭圆偏振光或圆偏振光等知识点,更重要的是可以很好地帮助学生理解后续课程中的各种信号的频谱分析。因此,在教学和实验中演示两简谐振动在不同情况下的合成波形及运动情况是非常重要的。
在通常情况下,简谐振动合成的演示是利用信号发生器产生2个位相和频率均可调的正弦信号,然后输入到示波器显示其合成波形,如拍频、李萨如图形等。目前大多数的信号发生器虽然能演示,但由于其输出信号频率的精度不够高、位相差的稳定性不够好、合成后的波形不够稳定,导致实验时很难调试出理想的合成波形,演示或实验都极不方便。
DDS(direct digital synthesis)数值直接合成技术不同于传统信号发生器的信号产生方法,利用该技术可获得高频率精度和高位相精度的正弦信号。例如,利用 AD9851、AD9850、AD9833、AD9834等[1-10]输出数控高精度正弦信号或其他信号均只有一道输出,不能用于简谐振动合成的演示。基于此,本文提出一种便携式简谐振动合成演示信号发生器,较好地弥补了上述不足。
1 仪器设计
本文设计的仪器采用高性价比的32位微处理器STM32F103RB,根据用户输入的频率、位相等信息控制两片DDS芯片AD9835产生高频率精度和高位相精度的正弦信号,并通过128×64的图形点阵LCD显示相应的频率、位相差和幅度等信息。总体而言,仪器由软、硬件两部分构成,其中硬件主要包括微处理器控制、数控双道信号产生等9个单元;软件使用C语言编写,利用keil uVesion4进行编译,主要包括主程序和按键输入、显示等4个子程序。
1.1 硬件设计
如图1所示,仪器的硬件主要包括微处理器控制单元、数控双道信号产生等9个单元。其中,微处理器控制单元主要根据按键输入单元输入的信息控制各部分并实现相应功能;数控双道信号产生单元主要实现在微处理器的控制下输出所需频率和位相差的双道正弦信号;信号幅度调节单元主要通过可调电阻和运算放大器输出所调相应幅度的双道正弦信号;功率放大单元主要实现电流放大,最大能提供500 mA的输出电流;信号输出接口主要由信号连接端子构成,便于同其他信号线连接;信号处理单元主要由数控放大器构成,其输出输入到微处理器的A/D转换端口,通过软件检测峰值电压或振幅;按钮输入单元主要实现各种信息的输入;LCD液晶显示单元主要采用FM12864图形点阵液晶显示双道信号的频率、振幅和位相差等信息;供电单元主要向其他部分提供±12 V和数字、模拟3 V的电源电压。本文只对其中重要的微处理器控制单元、数控双道信号产生单元、信号处理单元3个单元进行阐述。
图1 仪器原理框
1.1.1 微处理器控制单元
微处理器控制单元主要由32位微处理器STM32F103RB及其外围元件构成。其中,STM32F103RB内部具有128K字节的Flash程序存储(也可用于保存设置的运行参数)、20K字节的SRAM、2道12位的A/D转换器、3个具有预分频功能的16位定时/计数器,其CPU最高工作频率可达72 MHz,能满足对按键输入的信息进行处理、分析的要求,并可向其他部分发送各种数据或命令,实现输出所需信号,控制LCD液晶显示各种相关信息等功能。微处理器控制单元是整个仪器的控制和处理的核心单元。
1.1.2 数控双道信号产生单元
数控双道信号产生单元主要包括2片数控信号发生芯片AD9835[11]。该集成芯片采用DDS数值直接合成技术实现输出正弦波信号,具有32位数控频率和12位数控位相,输出信号频率最大可达25 MHz,输入时钟频率可达50 MHz,其输出为电流形式,通过一个电阻将其转化为电压Vo,可表示为
其中:Vo代表输出的电压;A表示输出的电压幅值;Vb表示输出电压的平均值;fo和Δφ由式(2)和式(3)确定。
其中:Nf表示微处理器输入的频率控制值,其范围为1~232-1;fMCLK为输入到AD9835的时钟频率;Nphase表示微处理器输入的位相控制值,其范围为0~212-1。仪器中的2片AD9835使用同一个24 MHz高精度有源晶振,由式(2)得到其数控频率分辨率可达24 MHz/232,约为0.005 6 Hz;由式(3)得到位相分辨率可达 360°/212,约为0.088°,可见其频率和位相的控制分辨率均较高。通过微处理器分别向2片AD9835传送相应的频率、位相等控制数值,可得到对应频率、位相的正弦或余弦信号,因此可以非常方便地得到具有特定初位相差的两个不同频率或相同频率的余弦信号或正弦信号,结合示波器即可方便地演示两简谐振动的合成等。
1.1.3 信号处理单元
信号处理单元主要由2片可编程增益放大器PGA113及外围元件构成。其中,PGA113具有两道输入,放大倍数分别为1,2,5,10,20,50,100,200。在微处理器的控制下,通过控制放大倍数满足STM103RB的A/D输入要求,并尽可能地提高幅度的测量精度。
1.2 软件设计
软件采用C语言编写,使用Keil uVision4编译器编译而成。软件部分主要由主程序和由双道数控信号产生的控制、按键输入、显示、峰值检测4个子程序组成,如图2所示。
主程序调用按键输入子程序获得用户的输入信息并进行分析,然后调用相应的双道数控信号产生控制和峰值检测子程序,并调用显示子程序显示输出信号的幅度、频率、位相差等信息。双道数控信号产生控制子程序主要是根据主程序传递的参数控制AD9835输出设定频率和位相差的信号。峰值检测子程序主要实现实时测量输出信号的幅度值,并根据测得的幅度自动调节数控幅度PGA113的放大倍数,同时将结果传送给主程序。按键输入子程序将用户输入的按键位置转换为相应的代码,将其传递给主程序做进一步处理。显示子程序根据主程序传递的各种参数控制FM12864图形点阵液晶在特定的位置显示幅度、频率和位相差等信息。
图2 软件部分框图
2 实验结果
利用本文设计的仪器可同时输出两道高精度频率和高精度位相差的余弦或正弦信号,输出电压最大幅度可达±10 V,输出电流最大为500 mA,最大频率为5 MHz。另外,仪器具有体积小、显示直观、操作简便等优点。为阐述该仪器的功能和实用性,以下给出实际输出信号。
2.1 双道数控输出信号波形
图3为仪器输出的双道正弦信号波形。其中:图3(a)为仪器同时输出两道频率均为2 000 Hz和位相差为0°的正弦信号的波形;图3(b)为两道频率均为1 500 Hz和位相差为180°的正弦信号的波形;图3(c)为一道频率为2 000 Hz,另一道频率为1 800 Hz和初位相差为90°的正弦信号的波形。
图3 输出双道正弦信号的波形
2.2 同方向简谐振动合成演示波形图
图4为同方向两简谐振动的合成波形。其中:图4(a)为两分振动频率相差较大,一道频率为6 000 Hz,另一道频率为2 000 Hz的合成波形图;图4(b)为两分振动频率相差较小,一道频率为6 000 Hz,另一道频率为6 030 Hz的合成拍频波形图。
图4 同方向两简谐振动合成演示波形
2.3 相互垂直方向简谐振动合成演示波形
图5为使用仪器演示的相互垂直方向两简谐振动的合成波形,即李萨茹图形。其中:图5(a)是频率之比为1∶1(5 000 Hz和5 000 Hz)、同初位相的合成波形图;图5(b)是频率之比为1∶1(5 000 Hz和5 000 Hz)、初位相差为π/2的合成波形图;图5(c)是频率之比为1∶1(5 000 Hz和5 000 Hz)、初位相差为5π/4的合成波形图;图5(d)是频率之比为1∶2(1 000 Hz和2 000 Hz)、初位相相同的合成波形图;图5(e)是频率之比为1∶3(1 000 Hz和3 000 Hz)、初位相差为π的合成波形图;图5(f)是频率之比为3∶2(3 000 Hz和2 000 Hz)、初位相差为3π/4的合成波形图。
图5 相互垂直方向简谐振动合成演示波形
3 结束语
本文设计的仪器采用32位高性能微处理器STM32F103RB、高精度单频信号发生芯片AD9835和FM12864图形点阵LCD液晶显示器。结合示波器,仪器可方便地演示两简谐振动在不同情况下的合成波形图,克服了传统仪器精度不高、不稳定的缺点。本仪器具有工作稳定、操作简单、可靠性高、显示直观等优点,且体积小、成本低,可广泛用于大学物理及相关课程的实验和教学中,也可用于对频率和位相控制精度要求较高的场合。
[1]Xian Yi Zhang,Jian Xu,Xiang Quan Guo,et al.A Signal Generator Based on AD9850[J].Advanced Materials Research,2013(712-715):1767-1770.
[2]王峰,夏巍,王鸣.基于单片机和AD9833的信号发生器的设计[J].南京师范大学学报:工程技术版,2012,12(1):76-79,92.
[3]李莹,钟波.纯音听力计中纯音信号发生器的设计与实现[J].计算机测量与控制,2010,18(3):721-723.
[4]Longcong Chen,Gaiqin Liu,Bin Gao,et al.Development of Digital-Controlled Measuring Instrument for Hearing[J].Journal of Signal and Information Processing,2012,3:421-426.
[5]李璐,李腾飞,李飞飞.一种多功能正弦信号发生器的设计[J].微型机与应用,2011,30(19):28-30.
[6]殷雷,金海军,李映雪,等.基于DDS的高精度函数信号发生器的研制[J].现代电子技术,2009,288(1):68-70.
[7]黄立新.基于微处理器控制的数字函数信号发生器的设计与实现[J].科学技术与工程,2009,9(12):3278-3283.
[8]郝小江,罗彪.基于FPGA的函数信号发生器[J].电测与仪表,2009,45(9):49-51.
[9]高大容.数控函数信号发生器[J].甘肃科技,2013,29(5):13-15.
[10]陈小桥,黄恩民,张雪滨,等.基于单片机与AD9851的信号发生器[J].实验室研究与探索,2011,30(8):98-102.
[11]Analog Device.50 MHz Direct Digital Synthesizer,Waveform Generator[EB/OL].[2015-02-28].http://www.analog.com/static/imported-files/data_sheets/AD9835.pdf.