一种基于STM32的太阳能便携式多功能示波器设计

2020-09-26 09:51丁磊董标韩磊袁扣祥林煜崔渊薛波
江苏理工学院学报 2020年4期

丁磊 董标 韩磊 袁扣祥 林煜 崔渊 薛波

摘    要:对信号的准确观测是研究信号的重要手段和首要前提,而逐渐多样化的户外信号研究更是让人们渴望拥有一款能够具有太阳能充电功能的便携信号观测仪器。初步探索了一种具有太阳能功能的便携示波器,系统采用ARM-Cortex M7架构的高性能处理器,配以相关信号调理电路,最终在TFT彩色液晶显示器上实时动态显示。系统以STM32微处理器为控制核心,以较低成本实现了信号采集、显示、频谱分析等功能。

关键词:DDS;STM32;信号观测;频谱分析;幅频特性

中图分类号:TM935.3            文献标识码:A            文章编号:2095-7394(2020)04-0043-10

随着全球电子科学技术的飞速发展,电子电路设计日益成熟,信息传输方式更加快捷和多样化,信号技术已逐渐从高端技术人员向普通学生、工人等群体普及。由于信号的处理方式不同,使各种形状、频率和幅度的信号层出不穷[1],因此,示波器作为观察信号的一种工具应运而生。鉴于传统的双通道数字示波器操作不便、价格昂贵、体积较大且不便于携带[2],本设计采用32位单片机为控制处理核心,充分利用硬件电路的集成技术和核心处理芯片的资源优势,制作了一款具有太阳能充电功能的便携示波器。

1   系统设计方案

如图1所示,本设计采用Cortex m7架构的ARM处理器STM32F767,配合DDS信号发生器输出正弦信号实现扫频功能,通过程控放大等电路使单片机引脚能够采集输入信号,并实时动态地送入高色彩的TFT显示设备进行波形显示;同时,对输入信号FFT变换进行频谱分析。

如图2、图3、图4所示,为系统模具设计图。便携示波器产品造型设计简洁大方、立体感强,结构设计紧凑、可靠并且耐用。其表面工艺处理采用磨砂涂层,这样的表面细节设计不仅可以增加产品的品质感,而且还可以增强表面摩擦力,使其在户外以及复杂环境的使用中更加符合人体工学要求。

2   单元电路分析与设计

2.1  STM32主控模块设计

本设计采用CortexTM-M7为内核的STM32F767高性能微处理器。STM32F767作为核心控制芯片,系统由它进行A/D采集获得信号,再进行快速傅里叶变换得到设计所需要的频谱数据;由其控制DDS输出特定频率范围的扫频信号,并通过幅度检测送回单片机,来获得外部器件的幅频特性曲线。

2.2  电源保护电路设计

本次设计采用太阳能电板和可充电电池组合,实现可持续5 V输出电源,在电源接入电路前,对5 V电源进行保护,以防止电压击穿或电流倒流。图5为电源保护电路设计,由于系统使用5 V电源供电,为防止由于电路断路、短路等引起过载、电流过大等问题,使用保险丝和二极管器件,通过二极管的正向导通性和保险丝熔断特性实现电流保护,从而保障用户的使用安全。[3]如图6所示为太阳能电路。

2.3  DDS信号源电路设计

本示波器由于拥有幅频特性测试功能,该功能需要在一定时间内测量不同频点的幅值,因此,需要一个正弦波扫频电路,它能够通过程序改变频率,输出扫频波形。设计采用DDS输出扫频,DDS信号源电路如图7所示。

DDS采用串行数据传输芯片AD9834,工作时钟为75 MHz。AD9834提供频率寄存器和相位寄存器,频率寄存器为28位,最低可达到0.28 Hz的分辨率。AD9834通过一个三线式串行接口写入数据,在总时钟SCLK控制下, FSY口拉低、FS口拉低时写入数据为信号频率数据;FSY口拉低、PS口拉低时写入数据为信号相位数据。因此,单片机只需按照时序写入频率信息,AD9834即可在寄存器中找到对应频率,输出指定频率的正弦波。

2.4  程控放大器电路设计

由于外部信号经衰减电路后输入,部分幅度不大的信号经衰减后难以测量,因此,系统使用程控放大电路,对不同幅度段的信号进行分级放大,以便于A/D转换器采集。本设计采用PGA202作为程控放大芯片,该芯片是由德州仪器公司生产的数字可编程增益芯片,具有非常低的非线性度的特点,能够保证输出增益稳定。该芯片具有1/10/100/1 000共4个可调节增益,程序只需操作A0、A1两位控制位即可改变芯片增益,简单而又实用。[4]程控放大电路原理如图8所示。

2.5  有效值检波电路设计

本设计使用程控放大电路前需要先对幅度进行检测,以此幅度为基础,再判断该信号是否需要放大;因此,需要使用有效值检波电路对衰减后的信号进行幅度检测。由于衰减电路输出峰峰值为0~3.3 V的信号,因此检波电路检波幅度为0~1.65 V,而A/D转换器采集上限为3.3 V,从而导致该检波器检波电压增益不能超过2,否则会烧坏A/D转换器。此外,有效值检波器也存在一个普遍的问题,那就是频率越高的信号,越容易出现截止的情况。[5]本设计所采用的AD637有效值检波芯片,能够检测0~8 MHz的信号,且内部增益为1,单片机采集到的电压值无需再经过转换即可用于判断电压。检波器电路原理如图9所示。

3    软件设计及算法实现

3.1  DDS信号源模块

采用串行传输方式,通过数据线SDATA、控制线(FS、PS)和时序线将数据输入到寄存器,在FSYNC的低电平受SCLK下降沿控制装入16位串行数据,由FS和PS口控制数据输入到相位和频率寄存器。AD9834作为一款串行DDS芯片,能够输出正弦波、方波和三角波三种波形,软件开始运行后初始化DDS,将FSY端拉至低电平,等待时钟即可写入波形数据,当FSY为高电平時则写入频率数据。AD9834设置输出波形流程如图10所示。

AD9834频率数据总共有28位,每7位一组,单片机设置输出频率后,软件中将该频率分为4组,每组7位,每组加上一位控制字后将低14位组合,再将高14位组合,最终组合成2组16位数据,由SDATA口在时钟控制下,串口输出16位串行数据字,再由AD9834输出频率。AD9834设置输出频率流程如图11所示。

3.2  ADC模块

STM32F767有多个ADC通道,本系统需要3路ADC通道进行采集,选择PA1路采集波形信息,PA2路采集波形幅度以便控制增益,PA3路采集扫频波形幅度测量幅频曲线,在使用3路A/D转换前需要先逐一进行ADC初始化工作。ADC采集流程如图12所示。

3.3   FFT模块

系统采集输入信号波形信息后,对该信号进行FFT变换,由此得出所测量信号的幅度和频率等信息。本设计采用ST公司已提供的DSP库中的FFT函数。

3.4   蓝牙通信模块

本设计在测量外部信号频谱等信息后,将通过STM32单片机的串口3发送信息给蓝牙模块,因此,单片机只需要进行串口模块的程序初始化和对应的串口发送程序,即可实现蓝牙数据传输。蓝牙发送流程如图13所示。

单片机与蓝牙模块通过串口传输信息,当蓝牙模块成功与手机端相连后,会给单片机发送AT指令,单片机识别该指令后确认连接蓝牙,从而进入对应功能界面发送测量信息。

4    实验结果和分析

根据PGA202芯片工作原理可知,STM32单片机控制2个I/O口输出四组“0”“1”信号控制该芯片4级增益(1,10,100,1 000)。系统外部输入信号经衰减后,峰峰值被限制在-1.6 V~1.6 V,经搬移的信号在0~3.3 V。但因为衰减电路,原本小幅度的信号也会衰减,从而导致A/D转换器无法准确辨认幅度;因此,在33 ~330 mV的信号增益10倍,以此类推,提高小信号精确度。各级输出增益电压如表1所示,程控放大器增益对比如图14所示。

由表1和图14可知,随着外部输入峰峰值的上升,增益也在改变:1~3 mV的信号被放大到1~3 V,放大了1 000倍;3 ~30 mV信号放大了100倍;30 ~300 mV信号放大了10倍;300 mV~3.3 V信号保持不变。最终显示增益输出的幅度与程控增益表的增益等级相同,该程控放大电路正确。

利用信号发生器产生10 V、1 kHz的正弦信号,从输入端输入该信号,±5 V供电,观察输出信号,如图15所示。从图15可以看出,输入10 V、

1 kHz的信号,输出的信号幅度被衰减到3 V,衰减倍数约为3.3倍,满足A/D转换器采集范围,衰减电路工作正常。如图16所示,输入信号加上1.65 V电压,可将输入信号搬移至X轴上方,加法器模块工作正常。

AD637是一款高精度的单片RMS-to-DC(有效值转直流)转换器,它可以计算任何复杂波形的有效值。AD637采用波峰因数补偿方案,当测量信号的波峰因数达到10时,它的额外误差仍然保持在低于1%的水平[6];此外,通过数据拟合方式能够将偏差较大数据拟合,以提高最终结果的准确度。拟合结果如表2所示。

将表2的数据拟合,在Excel中绘制曲线如图17所示。从图17可知,趋势线拟合程度[R2]达到0.999 4,拟合度近似于1,可见AD637检波结果较为准确。考虑到STM32内部ADC采集电压的最大值为3.3 V,检波器输入电压需要控制在4.7 V以内,而在检波器前端为衰减电路;因此,10 V的输入信号衰减为3 V后,检波恰好落在较为准确的检波区域内,在此基础上对检波器输出电压使用公式进行拟合,得到的幅度值将更加准确。

进入信号测量界面,从信号发生器接入外部信号,信号发生器输出峰峰值为10 V、频率为1 kHz的正弦信号,如图18所示。测量该信号幅度、频率及波形,手持示波器测量结果如图19所示。信号频率测量如表3、表4和图20所示。

综合表3、表4和图20可知,在输入信号峰峰值为1 V和10 V的条件下,系统测量的频率与理论值的误差均在0.01%以内,[R2]值为1,说明本设计频率测量结果较为准确。这是因为系统通过快速傅里叶变换计算频率,快速傅里叶变换点数越多,频率精确度越高,但相对的使用资源也就越多。例如:4 096 Hz的采样频率,采样后进行4 096点FFT,最终的频率精度就是[4 0964 096=1 ]Hz,也就是说,最终测得的频率1 Hz和1.25 Hz都会被分为1 Hz,频率精度越高,测得的频率越准确。

5    结语

采用STM32单片机实现的便携示波器,以较高的性价比实现了输入波形信号的测量、显示以及信号的FFT变换、频谱特性显示等功能。本系统设计具备成本低廉、扩展性好的特点,其太阳能充电功能非常适合户外及日常生活使用。

设计采用STM32的DSP库进行FFT变换。对于FFT类似数字变换,FPGA相较于STM32具有较大优势[7],因此,可以考虑将核心单片机更改为FPGA继续设计。对于检波电路,本系统在低频和高频的时候,检波输出幅度明显下降,导致最终A/D转换器测量和程控放大不准确。这个问题部分是因AD637芯片能力限制所致,通过软件拟合,能够对高频和低频进行额外增益,从而使最终输入的信号保持在一个稳定的幅度。

参考文献:

[1] 吕冬梅, 王小兵. 示波器的基本结构和发展历史[J]. 贵州农机化,2001(3):26-27.

[2] 威海同力计算机工程有限公司. 示波器的发展史与选择示波器的几点建议[EB/OL].(2011-09-15)[2019-12-20].https://wenku.baidu.com/view1c14360e4a7302768e9939e3.html.

[3] KULAH H , AKIN T. A current mirroring integration based readout circuit for high performance infrared fpa applications[J]. IEEE Transactions on Circuits and Systems II Analog and Digital Signal Processing,2003,50(4):181-186.

[4] SERGIO F.基于运算放大器和模拟集成电路的电路设计[M]. 西安:西安交通大学出版社,2004.

[5] 宋雁鹏. 基于单片机和DDS的高频信号源的设计[J].电子世界,2015(13):131-134.

[6] 马超,高鹏,杨自芹,等. 基于STM32和μC/OS-Ⅱ的嵌入式数字示波器设计[J].电子技术,2013(12):78-81.

[7] 刘丽丽,樊延虎,高瑛. DDS原理及基于FPGA的实现[J].电子技术,2010,47(9):44.

責任编辑    盛    艳