寒假一起练-1-有信号发生器功能的简易示波器
基于STM32G031实现的有信号发生功能的简易示波器,实现了一些基础功能
标签
示波器
STM32
MCU
Cathy
更新2021-03-06
1410

1 项目需求

  • 完成对板上音频信号的采集和波形显示,可以通过手机播放音乐或App产生音频信号的方式提供声音信号源,通过板上电路的放大、MCU中ADC的采集以后将波形显示在OLED屏幕上,可以通过板上按键的操作在两个方向(横轴 - 时间;纵轴 - 幅度)来扩展、压缩波形的显示,按键的功能可自行定义;
  • 实现信号发生器的功能,能够产生2KHz以内的正弦波、三角波、方波三种常用波形,通过按键的操作能够实现频率可调、幅度可调,通过调整板上的R、C的值,可以最高生成200KHz的模拟信号;
  • 能够通过Ain管脚测量外部模拟信号(0-3.3V,DC-200KHz),并能够对外部的周期性波形测量其周期和峰-峰值;
  • 能够对采集到的信号进行FFT变换,并在屏幕上显示其基频及低次谐波(比如2、3、4、5次)的分量。

2 实现的思路及完成的功能

  • 信号采集和波形显示:可以通过对采集板上音频信号或Ain管脚获取外部信号。用ADC端口转换这两路信号,用下标区分两路信号。ADC使用的是DMA方式,将ADC采样以后经过量化的数值显示在OLED屏上,从而显示波形。通过设置几种不同的采样间隔,实现了时间方向的扩展压缩。通过设置不同的电压范围,实现了纵轴方向的扩展压缩。
  • 实现信号发生器的功能:板上配有1K的电阻和10nF的电容组成的低通滤波器,经计算,截止频率为1.6KHz。输出端的输出电压大小与PWM的占空比成正比。通过调整PWM的占空比就可以实现不同波形的输出。
  • FFT变换功能:对外界输入的音频信号进行FFT变换,点数是32点,在屏幕显示基频及各次谐波分量。
  • 五个按键从左到右依次实现采样间隔调节,电压显示范围调节,正弦波、方波、三角波波形切换,关闭启动信号发生器功能,FFT变换。

3未完成功能

  • 通过Ain管脚测量外部模拟信号,并能够对外部的周期性波形测量其周期和峰-峰值。

4.遇到的主要问题

  • 有时候会出现OLED屏幕显示问题,信号显示不够稳定,这与屏幕刷新率有关。
  • 只完成了较少点数的FFT变换,由于知识储备的不足,没有成功完成更多点数的FFT的变换。

5.未来的计划建议

  • 解决OLED屏幕显示不清晰,波形显示不稳定的问题。
  • 学习空间的合理安排,来实现更多点数的FFT,如64点、128点、256点等。

我在学校没有接触过硬禾课程这样的项目,这次活动拓展了我的知识储备,全方面锻炼了我的能力。这次项目,我开始学习的时间比较晚,通过跟老师说明情况后,老师网开一面,多给我了一周进行学习。在这段时间里的努力学习下,我仅仅完成了要求的部分功能。我充分认识到了理论水平、代码水平与大佬的差距。感谢老师给我的这次机会,感谢工作人员检查我的代码、视频、报告,希望老师能够给我打一个过得去的成绩,让我通过学校的考核。

 

 

 

附件下载
STM32_Scope.elf
STM32.zip
团队介绍
北京理工大学
团队成员
王佳星
北京理工大学
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号