内容介绍
内容介绍
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
查看更多
猜你喜欢