信号测量系统

本文介绍了作者在电赛中制作的一款基于STM32F103C8T6的信号测量系统,包括频率测量、电压测量、高脉冲测量和显示部分。通过定时器、ADC、DMA和FFT实现了100Hz-1MHz的频率测量,利用ADC进行电压测量,采用定时器输入捕获处理高脉冲,1.44寸TFT屏幕显示结果。文章详细阐述了各个部分的技术实现和遇到的问题。
摘要由CSDN通过智能技术生成

简介

夏季学期来了,春季学期的事情差不多都忙完了,突然想起来自己还有一篇记录与解析自己参加校园赛电赛选拔赛的博客没写,所以今天就来写一下这篇博客,看之前我先提醒一下大家,博主目前大一,能力不太行,对电赛也不是很理解,有什么问题非常欢迎指出。

题目简介

这次电赛分AB题,A题是电源方面的题目,B题是控制方面的题目。我选的是B题,如下图所示
在这里插入图片描述
很显然,这个题目就是来做一个示波器。对于这整个我们可以把它分为四个部分,测量频率与判断波形部分,测量电压部分(电路设计部分),测量高脉冲部分,显示部分。对于硬件方面我选用的是为了突出我后面的某些叙述的说服力,我先把我做到的成果说一说,频率测量部分测量范围是100hz-1Mhz,测量分辨率是4HZ,测量电压部分是0-3300mv,测量显示分辨率10mv,测量精度±(1%+50mV),测量高脉冲部分有电压限制,其他都满足。波形显示可调,但是不完善。
我选用的硬件材料是stm32f103c8t6和一个1.44的TFT彩屏(我觉得这个操作有点傻逼,具体后续分析的时候说),其他的电路没加过,因为博主面前的硬件能力也不是很行。

测量频率部分与波形判断部分(FFT+ADC)

题目要求的是在100hz-1Mhz的频率,我刚开始的时候以为一个简单的中断捕获就可以完成,后来发现这里面坑略微有点多,寻求多种方案之后最后确定了使用定时器触发+ADC采样+DMA存储+FFT变化(快速傅里叶变换)+频谱分析的方案。这种方案的主要流程是使用定时器触发ADC采集,再用DMA进行搬运,定时器时间可以自己设置,定时器的时间就是采样的时间。这个方法实测能解决官方手册上面说的STM32f103最大的1M的采样率。采样率的计算公式就是定时器频率f=72M/((ARR+1)(PSC+1))=fs。
具体的实现方式分为三步,第一步采样,第二部FFT变化,第三步频谱分析。采样的定时器,DMA和ADC的配置我会放在最后;我选用的是stm32的DSP库中的FFT,它里面提供了256点和1024点的FFT,并且我查相关资料之后知道点数和采样率没有关系,但和分辨率有关系,我当时在做的时候对分辨率的认知有点误区,又考虑到在开2M采样率的时候资源剩余不多,所以就选用了256点的fft变换。至于第三步,我们知道傅里叶变换是将时域信号下的实数变成了复数,按照官方手册的说法
在这里插入图片描述
我们可以知道输入、输出两个数组都应该是32位的,高16位存储实部,低16位存储虚部。所以在定义数组的时候我们需要

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值