查看原文
其他

STM32 ADC应用要注意的几点问题

Miler Shao 茶话MCU 2022-09-11

    所有的STM32芯片中都带有逐次逼近型ADC模块,关于它的应用非常广泛和频繁。不过,应用过程中时常也会遇到些问题,这尽力小结下,与大家分享出来算作一些提醒。

 

1Vdda没有供电或没有正常供电;STM32系列众多,该参数不可一概而论,细节请参考各个芯片数据手册。

 

2、采样电阻取值不合适,跟采样时间不匹配,经常表现为输入电阻过大、配置的采样时间偏短。实际设计时可以参考下STM32官方各系列评估板的相关电路。另外可以参考ST官方的应用笔记AN2834。关于ADC 应用其它的应用笔记,可以去搜索ADC即可。


3ADC上电开启到稳定需要一段时间,即Tstab,该参数在数据手册里有介绍。在使用寄存器操作时要特别注意这个时间。另外要注意给ADC外设上电、使能ADC功能、启动ADC转换、实质AD转换是不一样的动作和不同的时间点。


4、输入信号幅度超过ADC参考电压范围导致转换结果的数据错误。

5芯片供电的波动尤其VREF的波动和外来干扰都会导致ADC转换值的异常

6、在使用注入触发转换时,触发事件的时间间隔必须大于注入转换序列所需的转换时间。比方有两个注入通道所需转换时间为28 ADCLK,那触发事件的间隔必须大于28ADCLK,比方2930 ADCLK等都可以。

7、大多数STM32ADC模块在使用前需要校准。校准须在启动AD转换之前完成。原则上给ADC外设上电后校准一次就够,但当参考电压波动较大、温度变化较剧烈时需再次校准。

8、开启ADCDMA功能,建议在ADC校准之后进行。换句话说校准ADC前不要使能其ADC的DMA功能。尤其涉及到多通道ADC  DMA传输时要注意这个次序。

9、如果使用ADCDMA传输,在启动AD转换时,DMA需配置好且被使能待命。

10、当使用内部SENSOR ADC通道时,注意这些通道从开启到稳定跟开启ADC模块一样都是需要时间的;针对这些特定传感器通道的AD采样时间,手册里往往有相关参数明确告知,请参照使用。比方内部温度传感器通道的采样时间推荐为17us.

11ADC通道序列的修改应该保证在ADC的停止状态下进行。

12、在多通道ADC DMA传输时,经常出现因为缓冲区数据类型、源数据类型不一致导致的异常状况。这里主要是因为数据宽度不一致所导致的问题。

13、当外部信号被选择为注入转换的触发信号时,只有其上升沿才有效。

 

上面提到的都只是抛砖引玉的提醒, 设计应用时多留意下,特别是第78912四点提醒。STM32ADC外设在不同系列间也不完全相同,尤其涉及多个ADC模块配合采样转换的时候还是挺复杂的。任何时候都不忘多查看STM32英文参考手册和数据手册。

相关话题链接:

关于STM32F0多通道ADC的DMA传输话题


一个涉及DMA传输的I2C通信异常的话题


 

       拇指长按上方精灵鸟识别图中二维码可关注公众号

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存