1.本发明涉及一种信号源,具体涉及一种多功能波形发生装置及方法。
背景技术:
2.波形发生器是一种信号源,它被广泛用于电子电路、自动控制和科学试验等这些领域。例如:测量电参量、雷达、通信、电子对抗与电子系统、宇航和遥控遥测技术等等,所以说——高质量的信号源是高性能指针实现的关键,许许多多的现代电子仪器设备和许多系统功能的实现都得取决于其信号源的性能,因此可以说高质量的信号源是诸多电子系统的“命脉”。伴随着通信技术以及雷达技术的快速发展,对信号源的一些性能(例如频率稳定度、频谱的纯度、频率的范围、其输出频率的个数以及信号波形的形状)提出了更多的要求。另外,波形发生器也可以作为教学设备,但由于现有的波形发生器通常过于昂贵且体积较大,极大的影响教学质量,并给校园设备管理人员带来维护上的压力。
技术实现要素:
3.本发明所要解决的技术问题是提供一种多功能波形发生装置及方法,其结构简单、体积小且成本低,可以产生稳定的正弦、方波和三角波三种周期性波形。
4.本发明解决上述技术问题的技术方案如下:一种多功能波形发生装置,包括主控制器、dds多波形发生电路、显示屏和按键,所述dds多波形发生电路、所述显示屏以及所述按键均与所述主控制器电连接。
5.本发明的有益效果是:本发明一种多功能波形发生装置以主控制器为核心,采用dds多波形发生电路,其在按键的调节下不仅可以产生频率不同的正弦、三角波和方波并显示在显示屏上,而且还可以控制波形的初始相位,利用晶体振荡电路可以提升多波形发生器的输出频率稳定度;本发明结构较为简单、体积小且价格便宜,非常适合作为教学设备使用。
6.在上述技术方案的基础上,本发明还可以做如下改进。
7.进一步,所述dds多波形发生电路包括ddc电路、d/a转换器、低通滤波器和信号放大器;
8.所述ddc电路包括型号为ad9833brm的ddc芯片d1和晶振cy1;所述ddc芯片d1的vdd引脚连接在avcc 5v电源电压上,所述ddc芯片d1的vdd引脚还分别通过电容c2和电容c3接agnd;所述ddc芯片d1的comp引脚通过电容c4连接在avcc 5v电源电压上;所述ddc芯片d1的cap引脚分别通过电容c6和电容c7接dgnd;所述晶振cy1的vcc引脚通过dgnd引脚接dgnd;所述ddc芯片d1的mclk引脚连接在所述晶振cy1的out引脚上,所述晶振cy1的gnd引脚接dgnd,所述晶振cy1的vcc引脚通过磁珠b1连接在dvcc 5v电源电压上,所述晶振cy1的vcc引脚还分别通过电容c9和电容c10接地;所述ddc芯片d1的agnd引脚接agnd,所述ddc芯片d1的vout引脚与所述d/a转换器连接;
9.所述d/a转换器包括型号为tlv2374的运算放大器u1a,所述运算放大器u1a的同向
输入端通过电阻r3连接在所述ddc芯片d1的vout引脚上,所述运算放大器u1a的同向输入端还通过电容c5接agnd,所述运算放大器u1a的反向输入端与所述运算放大器u1a的输出端连接,所述运算放大器u1a的电源负端接agnd,所述运算放大器u1a的电源正端接vcc12v的电源电压,所述运算放大器u1a的电源正端还通过电容c1接agnd;所述运算放大器u1a的输出端与所述低通滤波器连接;
10.所述低通滤波器包括型号为tlv2374的运算放大器u1b,所述运算放大器u1b的同向输入端依次通过电阻r2以及电阻r1连接在所述运算放大器u1a的输出端上,所述电阻r2和所述电阻r1的公共连接端通过电容c8连接在所述运算放大器u1b的输出端上,所述运算放大器u1b的反向输入与所述运算放大器u1b的输出端连接,所述运算放大器u1b的输出端与所述信号放大器连接;
11.所述信号放大器包括型号为tlv2374的运算放大器u1c以及型号为lm393dr的双电压比较器u2a;所述运算放大器u1c的反向输入端依次通过电阻r7以及电容c12连接在所述运算放大器u1b的输出端上,所述运算放大器u1c的反向输入端还通过电阻r5与所述运算放大器u1c的输出端连接,所述运算放大器u1c的正向输入端通过电阻r12连接在avcc 5v的电源电压上,所述运算放大器u1c的正向输入端还通过电阻r13接agnd;所述运算放大器u1c的输出端与所述双电压比较器u2a的同向输入端连接,所述双电压比较器u2a的反向输入端通过电阻r14连接在avcc 5v的电源电压上,所述双电压比较器u2a的反向输入端通过电阻r15接agnd,所述双电压比较器u2a的电源负端接agnd,所述双电压比较器u2a的电源正端连接在avcc 5v的电源电压上,所述双电压比较器u2a的电源正端还通过电容c11接agnd,所述双电压比较器u2a的电源正端还通过电阻r6连接在所述双电压比较器u2a的输出端上,所述双电压比较器u2a的输出端与所述主控制器连接。
12.进一步,还包括电源电路,所述电源电路分别与所述主控制器以及所述显示屏电连接。
13.进一步,还包括串口电路,所述串口电路与所述主控制器电连接。
14.采用上述进一步方案的有益效果是:本发明的装置通过串口电路可以实现与上位机之间进行通信,方便数据的传输与应用。
15.进一步,所述主控制器采用型号为stm32f103的单片机,所述显示屏采用oled显示屏。
16.进一步,还包括外壳,所述主控制器以及所述dds多波形发生电路集成封装在所述外壳内,所述外壳的顶面设有倾斜的显示屏镶嵌口和控制面板,所述显示屏镶嵌在所述显示屏镶嵌口中,所述按键镶嵌在所述控制面板中;所述外壳的侧面设有防尘散热口,所述外壳的侧面还设有提手。
17.基于上述一种多功能波形发生装置,本发明还提供一种多功能波形发生方法。
18.一种多功能波形发生方法,应用于上述所述多功能波形发生装置,包括如下步骤,
19.s1,开机初始化,通过显示屏显示界面;
20.s2,检测是否有按键按下;若否,则使显示屏继续显示当前界面;若是,则通过按键调整波形类型、波形频率以及波形幅度;其中,波形类型包括正弦波、三角波和矩形波;
21.s3,根据调整的波形类型、波形频率以及波形幅度在显示屏上显示对应的波形。
22.本发明的有益效果是:本发明一种多功能波形发生方法在按键的调节下不仅可以
产生频率不同的正弦、三角波和方波并显示在显示屏上,而且还可以控制波形的初始相位,利用晶体振荡电路可以提升多波形发生器的输出频率稳定度。
23.在上述技术方案的基础上,本发明还可以做如下改进。
24.进一步,在所述s2中,通过调整离散化的相位值来控制波形类型和波形幅度,通过调整定时器的溢出时间来控制波形频率;
25.令离散化的相位值点数为n,定时器的频率为f
tim
,定时器的重载计数值为n
tim
,则波形的输出频率f为,
26.进一步,所述三角波的离散相位值通过加法得到,所述矩形波的离散相位值通过对全局变量赋值得到,所述正弦波的离散相位值通过调用的sin()函数得到。
27.进一步,在通过按键调整波形类型、波形频率以及波形幅度的过程中,通过添加延时程序对按键进行消抖处理;所述按键消抖处理的过程为,
28.在系统上电运行后,对按键进行按键状态扫描,判断是否有按键按下,若检测到有按键按下,则延时预设时间;
29.在延迟预设时间之后再次扫描该按键的按键状态,若仍检测到该按键按下,则确定该按键按下。
30.采用上述进一步方案的有益效果是:按键消抖可以防止按键误判的效果。
附图说明
31.图1为本发明一种多功能波形发生装置的整体结构框图;
32.图2为本发明一种多功能波形发生装置中ddc电路的电路结构示意图;
33.图3-1为实施例一中主控制器的电路结构示意图;
34.图3-2为实施例二中主控制器的电路结构示意图;
35.图4-1为实施例一中电源电路的电路结构示意图;
36.图4-2为实施例二中电源电路的电路结构示意图;
37.图5为本发明一种多功能波形发生装置的外观结构示意图;
38.图6为本发明一种多功能波形发生方法的流程图;
39.图7为本发明一种多功能波形发生方法中dds驱动流程图;
40.图8为本发明一种多功能波形发生方法中dds软件流程图;
41.图9为dds软件的main函数流程图;
42.图10为dds软件的正弦波输出程序流程图;
43.图11为dds软件的方波输出程序流程图;
44.图12为dds软件的三角波输出程序流程图;
45.图13为oled屏显示程序流程图;
46.图14为本发明一种多功能波形发生方法中按键消抖处理流程图;
47.图15为串口初始化流程图。
48.附图中,各标号所代表的部件列表如下:
49.1、外壳,2、显示屏镶嵌,3、和控制面板,4、防尘散热口,5、提手。
具体实施方式
50.以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
51.如图1所示,一种多功能波形发生装置,包括主控制器、dds多波形发生电路、显示屏和按键,所述dds多波形发生电路、所述显示屏以及所述按键均与所述主控制器电连接。
52.本发明一种多功能波形发生装置以主控制器为核心,采用dds多波形发生电路,其在按键的调节下不仅可以产生频率不同的正弦、三角波和方波并显示在显示屏上,而且还可以控制波形的初始相位,利用晶体振荡电路可以提升多波形发生器的输出频率稳定度;本发明结构较为简单、体积小且价格便宜,非常适合作为教学设备使用。
53.在本发明中,如图2所示,所述dds多波形发生电路包括ddc电路、d/a转换器、低通滤波器和信号放大器;
54.所述ddc电路包括型号为ad9833brm的ddc芯片d1和晶振cy1;所述ddc芯片d1的vdd引脚连接在avcc 5v电源电压上,所述ddc芯片d1的vdd引脚还分别通过电容c2和电容c3接agnd;所述ddc芯片d1的comp引脚通过电容c4连接在avcc 5v电源电压上;所述ddc芯片d1的cap引脚分别通过电容c6和电容c7接dgnd;所述晶振cy1的vcc引脚通过dgnd引脚接dgnd;所述ddc芯片d1的mclk引脚连接在所述晶振cy1的out引脚上,所述晶振cy1的gnd引脚接dgnd,所述晶振cy1的vcc引脚通过磁珠b1连接在dvcc 5v电源电压上,所述晶振cy1的vcc引脚还分别通过电容c9和电容c10接地;所述ddc芯片d1的agnd引脚接agnd,所述ddc芯片d1的vout引脚与所述d/a转换器连接;
55.所述d/a转换器包括型号为tlv2374的运算放大器u1a,所述运算放大器u1a的同向输入端通过电阻r3连接在所述ddc芯片d1的vout引脚上,所述运算放大器u1a的同向输入端还通过电容c5接agnd,所述运算放大器u1a的反向输入端与所述运算放大器u1a的输出端连接,所述运算放大器u1a的电源负端接agnd,所述运算放大器u1a的电源正端接vcc12v的电源电压,所述运算放大器u1a的电源正端还通过电容c1接agnd;所述运算放大器u1a的输出端与所述低通滤波器连接;
56.所述低通滤波器包括型号为tlv2374的运算放大器u1b,所述运算放大器u1b的同向输入端依次通过电阻r2以及电阻r1连接在所述运算放大器u1a的输出端上,所述电阻r2和所述电阻r1的公共连接端通过电容c8连接在所述运算放大器u1b的输出端上,所述运算放大器u1b的反向输入与所述运算放大器u1b的输出端连接,所述运算放大器u1b的输出端与所述信号放大器连接;
57.所述信号放大器包括型号为tlv2374的运算放大器u1c以及型号为lm393dr的双电压比较器u2a;所述运算放大器u1c的反向输入端依次通过电阻r7以及电容c12连接在所述运算放大器u1b的输出端上,所述运算放大器u1c的反向输入端还通过电阻r5与所述运算放大器u1c的输出端连接,所述运算放大器u1c的正向输入端通过电阻r12连接在avcc 5v的电源电压上,所述运算放大器u1c的正向输入端还通过电阻r13接agnd;所述运算放大器u1c的输出端与所述双电压比较器u2a的同向输入端连接,所述双电压比较器u2a的反向输入端通过电阻r14连接在avcc 5v的电源电压上,所述双电压比较器u2a的反向输入端通过电阻r15接agnd,所述双电压比较器u2a的电源负端接agnd,所述双电压比较器u2a的电源正端连接在avcc 5v的电源电压上,所述双电压比较器u2a的电源正端还通过电容c11接agnd,所述双
电压比较器u2a的电源正端还通过电阻r6连接在所述双电压比较器u2a的输出端上,所述双电压比较器u2a的输出端与所述主控制器连接。
58.dds芯片的内部电路主要有频率控制寄存器、正弦计算器以及高速相位累加器三个部分。频率控制寄存器控制频率控制码有串行或并行两种方式。正弦计算器是以步长增加相位寄存器的输出,再加上相位控制字,然后输入到正弦查询表地址中,通过查表得到映射成数字化的正弦波幅度
5.。相位累加器根据dds频率控制码在时钟周期内相位累加得到。dds芯片输出的数字化的正弦波,还需经过d/a转换器和低通滤波器才能得到一个模拟频率信号。正弦波是一种频率成分最单一的信号,所有的信号都能看成有不同频率,不同大小的正弦波复合而来。然后把输出的正弦波形通过一个低通滤波器电路得到要求区间的正弦波。正弦波的生产原理就是将三角波按傅里叶级数展开得到。三角波中含有基波、3次、5次、7次等奇次谐波。通过低通滤波器将高次谐波进行过滤就能得到正弦波,低通滤波器采用运放构成sallenkey巴特沃兹滤波器,将200khz以上的频率滤除。对于输出的正弦波和三角波还需要进行放大处理,采用是tlv2374芯片,这是一种单电源运算放大器芯片,在对于信号处理中经常运用到,提供轨到轨输入和输出功能。
59.在本发明中,本发明还包括电源电路,所述电源电路分别与所述主控制器以及所述显示屏电连接。
60.在本发明中,本发明还包括串口电路,所述串口电路与所述主控制器电连接。通过串口电路可以实现与上位机之间进行通信,方便数据的传输与应用。
61.在本发明中,所述主控制器采用型号为stm32f103的单片机,所述显示屏采用oled显示屏;或,所述主控制器采用型号为stc89c52的单片机,所述显示屏采用型号为lcd1602的液晶显示屏。
62.实施例一:在本发明中,所述主控制器采用型号为stm32f103的单片机,所述显示屏采用oled显示屏。
63.主控制器采用型号为stm32f103的单片机如图3-1所示,其外围电路包括晶振电路和复位电路。
64.晶振电路是单片机系统不可或缺的部分之一,和复位电路一起构成单片机的最小系统,是单片机可以正常工作的必要条件,没有了晶振电路,单片机将不会工作,晶振电路也决定了单片机的运行速度。单片机主要依靠晶振电路中的晶振提供时钟振荡,一个振荡器输送给单片机一个时钟节拍,根据时钟电路产生的节拍来完成单片机所需要执行的指令。单片机没有晶振电路就无法单独工作,晶振电路在系统中本身不会控制任何器件,只是配合单片机来完成相应的工作。一般的晶振电路是由晶振和电容组成,本次的系统中采用的晶振是8mhz的无源晶振和两个20pf的陶瓷电容。晶振的两端分别与单片机的ph0和ph1引脚相连。
65.复位电路的设计可以分为两种,一种是上电复位,另一种是通过人为手段的干预,实现复位操作。stm32f103单片机的复位引脚是nrst引脚,单片机通过输送高电平信号来促使复位电路的工作,本设计的复位电路通过一个四脚按键和一个104的电解电容c以及一个10k的电阻r的控制来实现一个短暂高电平复位。需要将nrst引脚维持24个时钟周期的高电平使指针指向的地址变为0。复位电路作为单片机最小系统的重要组成部分,上电复位的功能是由电解电容c实现,当系统通电瞬间,电解电容c有一个充放电的过程,放电时会产生高
电平,将单片机的rst引脚持续置于高电平,reset置于高电平的持续时间就是放电时间。放电时间可以根据得到;其中,c为电解电容c的大小,r为电阻r的阻值。在系统运行时,通过手动按下按键复位键,nrst引脚产生高电平,电压大小为vcc*10/11,就可以实现手动高电平复位。
66.当所述主控制器采用型号为stm32f103的单片机,所述显示屏采用oled显示屏时,电源电路采用如图4-1所示的电源电路,采用的是 12v供电,多功能波形发生装置中单片机和oled屏的供电电压均为 3.3v。所以还需要对电压进行处理,主要通过tps61040dbvrg4电源芯片进行处理,先是得到 5v电压,后面再通过5v转3.3v,得到需要的电压。
67.实施例二:在本发明中,所述主控制器采用型号为stc89c52的单片机,所述显示屏采用型号为lcd1602的液晶显示屏。
68.主控制器采用型号为stc89c52的单片机的结构示意图如图3-2所示。主控制器选择型号为stc89c52的单片机,其管脚数量不多,所能搭载的外围io设备受限,但正是因为其外围设备数量的限制可以最大优势的发挥其处理效率高的作用,stc89c52单片机的最大优势是在经过多年的产品验证和性能优化,已经将其性能提到最优状态并且成本控制的非常低,对于产品的市场化具有很好的推进作用,且性能稳定可满足大部分客户的需求。
69.型号为stc89c52的单片机的复位电路包括电阻r4-1、电容c4-1和复位开关k0,所述电容c4-1的一端连接电压vcc,所述电容c4-1的另一端通过所述电阻r0接地,所述复位开关k0与所述电容c4-1并联,所述电容c4-1以及所述电阻r4-1的公共连接端连接在所述单片机的rest引脚上。复位电路通常是以一个按键形式隐藏在产品的即可内,目的是为了避免误触发,若没有按下复位按键k0,即rest端输出给单片机的信号为低电平,单片机无识别到指令信号,整个电路保持原样,当按下复位按键k0时,由于电容c4-1存在的短触还不至于产生低电平的复位信号,则需要长按复位按键k0,此时电容c4-1内的电量被全部释放,rest端持续输出低电平给单片机,单片机完成初始化操作。
70.型号为stc89c52的单片机的晶振电路包括晶振y、电容c4-2和电容c4-3,所述晶振y的一端通过所述电容c4-2接地,所述晶振y的另一端通过所述电容c4-3接地,所述晶振y的两端还分别对应连接在所述单片机的xtal1引脚以及xtal2引脚上。stc89c52单片机的rtc选用了内部时钟方式,通过调配晶振y与电容c4-2、电容c4-3两组匹配电容,来实现正常起振,且频偏要在正负3%以内,来确保单片机最小系统的稳定工作,保证其可靠性方可实现后续其他的功能性模块内容,晶振频率选用11.0592mhz,匹配电容选用容值为30pf或22pf的瓷片电容,通过寄生电容的计算公式得出此时的频偏最小,单片机起振最稳定。
71.当主控制器采用型号为stc89c52的单片机,所述显示屏采用型号为lcd1602的液晶显示屏时,电源电路采用如图4-2所示的电源电路,所述电源电路包括按钮开关j、电容c4-4、电容c4-5、指示灯led和电阻r4-2;所述按钮开关j的输入端接入5v的usb电源,所述按钮开关j的电源端与所述电容c4-4的一端连接,所述电容c4-4的另一端接地;所述按钮开关j的电源端还与所述电容c4-5的一端连接,所述电容c4-5的另一端接地;所述按钮开关j的电源端还与所述指示灯led的正极连接,所述指示灯led的负极通过所述电阻r4-2接地;所述按钮开关j的电源端为所述单片机提供 5v的电压vcc。由于单片机为标准5v供电,本发明选用5v的usb作为输入电源,保证核心主控模块的正常工作,同时为了避免电压输入瞬间产生的高尖峰信号,在电源模块电路上搭建了电容c4-4和电容c4-5来实现过压保护和储能的
功能,增加一个按钮开关j,用于实现切换电源的工作状态,设计一个指示灯led用于显示电源工作状态。
72.如图5所示,本发明一种多功能波形发生装置还包括外壳1,所述主控制器以及所述dds多波形发生电路集成封装在所述外壳1内,所述外壳1的顶面设有倾斜的显示屏镶嵌口2和控制面板3,所述显示屏镶嵌在所述显示屏镶嵌口2中,所述按键镶嵌在所述控制面板3中;所述外壳1的侧面设有防尘散热口4,所述外壳1的侧面还设有提手5。
73.在本发明中,单片机与具有数字合成dds功能的ad9833芯片串口通信,经过计算公式,将正弦波转换成三角波、矩形波等多种波形。三角波、矩形波等是在正弦波的基础上利用直接数字频率合成技术的数学原理计算而来:
74.一个正弦波信号表达式见公式(1):
75.u(t)=usin(2πfot θo)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
76.式中:
77.u——幅度;
78.θ0——初始相位;
79.fo——初始频率。
80.若u=1,θ0=0,则可得公式(2):
81.u(t)=sin(2πfot)=sinθ(t)(n=0,1,2...)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
82.以系统时钟频率fc对u(t)间隔取样,得到公式(3)的采样波形序列:
83.u(n)=sin(2πfontc)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
84.式中:
85.tc——采样周期;
86.f0——初始频率。
87.相应的离散相位序列见公式(4)所示:
88.θ(n)=2πfontc=δθ
·
n(n=0,1,2...)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
89.式中:
90.δθ——是连续两次采样之间的相位增量。
91.δθ=2πfotc=2πfo/fcꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
92.是相位增量,它是连续两次采样得到的差值,根据采样定理得出下面公式(6):
[0093][0094]
因此得:系统输出频率f0由两次采样之间的增量δθ决定,所以通过控制δθ,就可以控制合成信号的频率。
[0095]
若相位增量选择为kδ,得信号频率见公式(7)
[0096][0097]
相应的模拟信号为:
[0098]
[0099]
式中:
[0100]
k——控制字;
[0101]
m——累加器位宽;
[0102]
fc——时钟频率。
[0103]
在dds芯片中,若累加器位宽为m=2n,从而得输出的正弦波信号频率见公式(9):
[0104][0105]
由公式(9)能够看出,当改变输入的控制字k的值,就可以改变输出的正弦波频率。当k=1时可以到该dds系统的最小频率f
omin
见公式(10):
[0106][0107]
由奈奎斯特准则,理想状况下,
[0108][0109]
为其允许输出的最大频率,即k≤2
n-1
。但是,在实际的应用中,考虑到它受到低通滤波器对其的限制,通常最高频率fomax见公式(12)
[0110][0111]
以便于滤波镜像频率,通过测试,最高频率为:f
omax
=40%
×
fc,所以dds的工作频率带还是较宽,能够得到从零到40%fc的信号输出。
[0112]
本发明一种多功能波形发生装置以主控制器为核心,采用dds多波形发生电路,其在按键的调节下不仅可以产生频率不同的正弦、三角波和方波并显示在显示屏上,而且还可以控制波形的初始相位,利用晶体振荡电路可以提升多波形发生器的输出频率稳定度;本发明结构较为简单、体积小且价格便宜,非常适合作为教学设备使用。
[0113]
基于上述一种多功能波形发生装置,本发明还提供一种多功能波形发生方法。
[0114]
如图6所示,一种多功能波形发生方法,应用于上述所述多功能波形发生装置,包括如下步骤,
[0115]
s1,开机初始化,通过显示屏显示界面;
[0116]
s2,检测是否有按键按下;若否,则使显示屏继续显示当前界面;若是,则通过按键调整波形类型、波形频率以及波形幅度;其中,波形类型包括正弦波、三角波和矩形波;
[0117]
s3,根据调整的波形类型、波形频率以及波形幅度在显示屏上显示对应的波形。
[0118]
本发明一种多功能波形发生方法在按键的调节下不仅可以产生频率不同的正弦、三角波和方波并显示在显示屏上,而且还可以控制波形的初始相位,利用晶体振荡电路可以提升多波形发生器的输出频率稳定度。
[0119]
本发明采用ad9833芯片来输出的波形,在系统时钟的作用下完成相位累加和相位调制,通过把选通信号置为有效状态,使得数据有效的写入寄存器中,dds产生信号的输出频率由给出,其中f
clk
为系统频率,k为频率控制字。通过读取波形数据表来控
制数模转换器的输出。系统时钟clk为整个系统的工作时钟,频率为f_clk;频率字输入f_word,一般为整数,数值大小控制输出信号的频率大小,数值越大输出信号频率越高,反之,输出信号频率越低,后文中用k表示;相位字输入p_word,为整数,数值大小控制输出信号的相位偏移。
[0120]
dds驱动流程如图7所示,三角波的离散相位值通过加法即可得到,而矩形波的离散相位值通过对全局变量赋值即可得到,正弦波的离散相位值可以通过调用math.h头文件中的sin()函数得到。而幅度的衰减系数由后级的运放再加上实际测量进行适当的调节,最终可以得到正弦波的衰减系数为0.2822,矩形波的衰减系数为0.3173,三角波的衰减系数为0.2598,三者的衰减系数不一致是由于离散相位值的最大值和最小值之间的差一样。
[0121]
当人机交互界面设置波形参数时,波形参数结构体发生相应的改变,波形参数结构体主要由频率、幅度和波形类型组成,波形类型和幅度主要由离散化的相位值控制,而波形的频率由定时器的溢出时间控制。假设离散化的相位值点数为n,定时器的频率为f
tim
,定时器的重载计数值为n
tim
,则波形的输出频率f为,
[0122]
最终可以根据计算出定时器的触发时间,通过定时器自动触发dma来传输dds数据流。dds软件流程图如图8所示;其中,dds软件的main函数流程如图9所示,dds软件的正弦波输出程序如图10所示,dds软件的方波输出程序如图11所示,dds软件的三角波输出程序如图12所示。
[0123]
对于本发明多功能波形发生装置中的oled屏显示,通过使用单片机控制oled显示相应出需要的内容。首先需要对oled屏进行相关的配置。设置光标、输入方式。当配置完成后,对液晶进行清屏操作。之后再对初始化液晶显示位置和内容。oled的某一位显示数据时,必须先将位的地址写入程序,然后才能将要显示的数据写入oled屏。在进行程序设计时,将oled的相关显示处理函数封装到一个函数库中,在主函数中通过头文件调用各个函数进行使用,函数库中包括初始化函数,在主函数中若需要进行显示首先调用初始化函数,初始化函数中进行的操作包括通过写数据指令函数设置光标的位置和移动方向,防止系统有其他的显示任务没有执行完毕,再次输入数据显示会出现乱码,然后判断主函数是否调用显示函数,若调用则通过字符显示函数。图13是oled的显示程序流程图。
[0124]
在本发明的方法中,在通过按键调整波形类型、波形频率以及波形幅度的过程中,通过添加延时程序对按键进行消抖处理;如图14所示,所述按键消抖处理的过程为,
[0125]
在系统上电运行后,对按键进行按键状态扫描,判断是否有按键按下,若检测到有按键按下,则延时预设时间(10ms);
[0126]
在延迟预设时间之后再次扫描该按键的按键状态,若仍检测到该按键按下,则确定该按键按下。
[0127]
按键抖动时间很短,通过10ms的延时就能避免由机械产生的抖动,起到防止按键误判的效果。
[0128]
串口是本发明多功能波形发生装置的关键部分,在使用串口时,首先就是对串口极性初始化设置。在多功能波形发生装置中,显示采集到信号,再通过将数据打包,通过串口将数据传输至上位机。第一步就是对串口进行初始化。串口初始化就是对串口的数据格
式和波特率进行设置,还有就是设置单片机内部的寄存器来控制串口的通信方式。在本发明方法中,首先需要设置串口的工作方式,一般设置为8位数据位一位停止位,没有校验位。设置波特率为9600bit/s。开启串口中断当触发中断。数据是一个字节、一个字节发送出去,串口初始化流程如图15所示。
[0129]
本发明一种多功能波形发生方法在按键的调节下不仅可以产生频率不同的正弦、三角波和方波并显示在显示屏上,而且还可以控制波形的初始相位,利用晶体振荡电路可以提升多波形发生器的输出频率稳定度。
[0130]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
转载请注明原文地址:https://tc.8miu.com/read-2527.html