STM32之ADC

来源:互联网 发布:西安软件测试工资待遇 编辑:程序博客网 时间:2024/06/06 12:45

一、SMT32F1系列

1.对于stm32F1系列,ADCCLK不要超过14M,否则会影响到ADC的精度;

2.采样周期是可以设置的,通常为3个时钟周期。那么总的转换时间=采样周期+12个时钟周期(多少位精度就是多少个时钟周期)

例如 总的时间=3(3个周期)+12(12位精度)=15个ADCCLK  ,假设ADCCLK为12MHz。

那么ADC会以 15/12=1.25us间隔连续信号采样 ,采样率为12/15=0.8M(采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示)。

二、STM32F4系列和F7系列

1.STM32的ADCCLK最大可以达到36MHz

同样的算法, 假设ADCCLK=30MHz,  3+12=15个ADCCLK, 单个离散信号的时间为0.5us,采样率可以达到2M

三、通用的点

1.ADC有多种工作模式,具体可以参考手册和官方源码,根据具体需求来决定采用哪种方式

如果你对信号的采样率有要求,那么可以采用双ADC快速交替采样或者三ADC快速交替采样,这样可以使采样率翻倍

2.推荐使用DMA,而不使用中断。有一点要强调,在分配DMA通道的时候,最好采用DMA2(支持软件触发)的通道。且ADC1->DMA 0通道,ADC2->DMA 1通道,ADC3-> DMA 2通道。只有配置好对应的通道才能读取到数据。

0 0
原创粉丝点击