STM32H750驱动ADC的知识与经验分享

1、ClockPrescaler:

*ADC 预分频系数选择。

*可选的分频系数为 1、2、4、6、8、10、12、16、32、64、128、256。

*但是请记住,ADC的最大时钟为 36MHZ不管是定时器触发还是软件触发!!

2、Resolution:

*ADC 的分辨率。

*可选的分辨率有 16 位、12 位、10 位和 8 位

*16位时需要消耗8.5个ADC时钟周期

*14位时需要消耗7.5个ADC时钟周期

*12位时需要消耗6.5个ADC时钟周期

*10位时需要消耗5.5个ADC时钟周期

* 8位时需要消耗4.5个ADC时钟周期

3、ScanConvMode:

*配置是否使用扫描。

*如果是单通道转换使用 ADC_SCAN_DISABLE,如果是多通道转换使用 ADC_SCAN_ENABLE。

4、EOCSelection:

*可选参数为 ADC_EOC_SINGLE_CONV 和 ADC_EOC_SEQ_CONV,指定转换结束时是否产生 EOS 中断或事件标志

5、LowPowerAutoWait:配置是否使用低功耗自动延迟等待模式,

*可选参数为 ENABLE 和DISABLE,当使能时,仅当一组内所有之前的数据已处理完毕时,才开始新的转换,适用于

低频应用。该模式仅用于 ADC 的轮询模式,不可用于 DMA 以及中断

6、ContinuousConvMode:

*可选参数为 ENABLE 和 DISABLE,配置自动连续转换还是单次转换。

使用 ENABLE 配置为使能自动连续转换;使用 DISABLE 配置为单次转换,转换一次后停止需要手动控制才重新启动转换

7、NbrOfConversion:设置常规转换通道数目。

*范围是:1~16

8、DiscontinuousConvMode:配置是否使用不连续的采样模式,

*比如要转换的通道有 1、2、5、7、8、9,那么第一次触发会进行通道 1 与通道 2,下次触发就是转换通道 5 与通道7,这样不连续的转换,依次类推。此参数只有将 ScanConvMode 使能,还有ContinuousConvMode 失能的情况下才有效,不可同时使能

9、NbrOfDiscConversion:不连续采样通道数。

10、ExternalTrigConv:外部触发方式的选择,如果使用软件触发,那么外部触发会关闭。

11、ExternalTrigConvEdge:外部触发极性选择。

*如果使用外部触发,可以选择触发的极性,可选有禁止触发检测、上升沿触发检测、下降沿触发检测以及上升沿和下降沿均可触发检测。

12、ConversionDataManagement: 指定 ADC 转换后的数据处理方式。

*可以选择 DMA 管理传输数据、数据存储在数据寄存器中或者是传输到 DFSDM 寄存器中

13、Overrun:当有新的数据溢出时,可以选择覆盖写入或者是丢弃新的数据

14、LeftBitShift:数据左移位数,最多可支持左移 15 位

15、OversamplingMode:是否使用过采样模式。

16、ADC时钟频率最大不超过36M

17、ADC采样率= ADC时钟频率/(采样周期+转换周期) 其中ADC时钟频率来自系统主频( PLL2、 PLL3) 以及Per_ck(Per_ck时钟源就是来自频率为 64MHz 的高速内部 RC 振荡器(HSI))的分频 得到!!

  1. 关于定时器触发,定时器的频率要小于或等于ADC的采样率,换句话说就是定时器的溢出时间要大 于或等于ADC完成一转换所需的时间!!!

19、Channel:ADC 转换通道,范围:0~19。

20、Rank:在常规转换中的常规组的转换顺序,可以选择 1~16。

21、SamplingTime:ADC 的采样周期,最大 810.5 个 ADC 时钟周期,要求尽量大以减少误差。

22、 SingleDiff:选择通道单端输入还是差分输入。

23、 OffsetNumber:选择使用偏移量的通道。

24、 Offset:定义要从原始数据减去的偏移量。根据 ADC 的分辨率不同,支持的最大偏移量也不

同,例如分辨率是 16bit,,最大的偏移量为 0xFFFF。

25、OffsetRightShift:采样值进行右移的位数。

26、OffsetSignedSaturation:是否使能 ADC 采样值的最高位为符号位。

*赫兹转换:1MHZ=1000KHZ=1000000HZ

*时间换算:1s(秒)=1000ms(毫秒),1s=10^3ms(毫秒)=10^6us(微秒)=10^9ns(纳秒)=10^12ps(皮秒)

*周期与频率的关系:T=1/f,f=1/T(其中f为频率,T为周期)

*TCONV(转换时间) = 采样周期 + 转换周期

*采样周期越大,采样越精确

*转换周期受分辨率影响,精度越高,转换周期越大,花费时间越长!!!

物联沃分享整理
物联沃-IOTWORD物联网 » STM32H750驱动ADC的知识与经验分享

发表评论