ADC采集那些事

一、提出问题:
假设有一个需求,那就是需要对输入频率为100HZ的PWM信号进行采样,该PWM信号控制某一个器件进行电流输出。求平均电流。

二、分析问题。
1、频率为100hz,那周期就是10ms。
2、假设在单周期内需要采集100个点,每两个点间的采样间隔是t1=0.1ms.就是采样率做到10k。
3、假设同时有八个通道需要进行采样。
4、stm32的采样周期假设选择239.5T,转换时间固定为12.5T。也就是说ADC采集单通道的一个点的时间是t2=255T.其中T为ADC的运行周期。
那么8通道的采集时间为t3=255*8=2040T.
5、stm32的系统时钟是72M 。那么,我们假设ADC时钟是系统时钟的2分频。那么t3=2040T=2040/36000000=56.7us=0.056ms.
6、因为ADC采集所有通道的时间小于其采集两个点之间的时间,所以这种设计是合理的。可以满足设计要求。

三、计算均值。
1、因为单周期内采集的点数固定为100点,那么每两个点之间的时间间隔就是t1=0.1ms。
2、采用积分方式。I=0.1*(i1+i2+……In)/10

四、可以采用定时器定时触发ADC采集,并用DMA搬运的方式。编程思路是,DMA进入中断后,置标志位,并且关闭定时器。在主函数里进行数据处理,数据处理完毕后,打开定时器。注意,DMA功能不能关闭,实测发现,关闭DMA后,数据运行一段时间会出现错乱。

五、代码。

源代码

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值