控制/MCU
所有的STM32芯片中都带有逐次逼近型ADC模块,关于它的应用非常广泛和频繁。不过,应用过程中时常也会遇到些问题,这尽力小结下,与大家分享出来算作一些提醒。
1、Vdda没有供电或没有正常供电;STM32系列众多,该参数不可一概而论,细节请参考各个芯片数据手册。
2、采样电阻取值不合适,跟采样时间不匹配,经常表现为输入电阻过大、配置的采样时间偏短。实际设计时可以参考下STM32官方各系列评估板的相关电路。另外可以参考ST官方的应用笔记AN2834。关于ADC 应用其它的应用笔记,可以去搜索ADC即可。
3、ADC上电开启到稳定需要一段时间,即Tstab,该参数在数据手册里有介绍。在使用寄存器操作时要特别注意这个时间。另外要注意给ADC外设上电、使能ADC功能、启动ADC转换、实质AD转换是不一样的动作和不同的时间点。
4、输入信号幅度超过ADC参考电压范围导致转换结果的数据错误。
5、芯片供电的波动尤其VREF的波动和外来干扰都会导致ADC转换值的异常。
6、在使用注入触发转换时,触发事件的时间间隔必须大于注入转换序列所需的转换时间。比方有两个注入通道所需转换时间为28 ADCLK,那触发事件的间隔必须大于28个ADCLK,比方29,30 个ADCLK等都可以。
7、大多数STM32的ADC模块在使用前需要校准。校准须在启动AD转换之前完成。原则上给ADC外设上电后校准一次就够,但当参考电压波动较大、温度变化较剧烈时需再次校准。
8、开启ADC的DMA功能,建议在ADC校准之后进行。换句话说校准ADC前不要使能其ADC的DMA功能。尤其涉及到多通道ADC DMA传输时要注意这个次序。
9、如果使用ADC的DMA传输,在启动AD转换时,DMA需配置好且被使能待命。
10、当使用内部SENSOR ADC通道时,注意这些通道从开启到稳定跟开启ADC模块一样都是需要时间的;针对这些特定传感器通道的AD采样时间,手册里往往有相关参数明确告知,请参照使用。比方内部温度传感器通道的采样时间推荐为17us.
11、ADC通道序列的修改应该保证在ADC的停止状态下进行。
12、在多通道ADC DMA传输时,经常出现因为缓冲区数据类型、源数据类型不一致导致的异常状况。这里主要是因为数据宽度不一致所导致的问题。
13、当外部信号被选择为注入转换的触发信号时,只有其上升沿才有效。
上面提到的都只是抛砖引玉的提醒, 设计应用时多留意下,特别是第7、8、9、12四点提醒。STM32的ADC外设在不同系列间也不完全相同,尤其涉及多个ADC模块配合采样转换的时候还是挺复杂的。任何时候都不忘多查看STM32英文参考手册和数据手册。
STM32单片机中文官网
意法半导体/ST/STM
全部0条评论
快来发表一下你的评论吧 !