[其他ST产品] STM32 ADC DMA通道数减小引发的异常问题及解决

[复制链接]
719|15
 楼主| lxs0026 发表于 2022-9-30 23:36 | 显示全部楼层 |阅读模式
AD, DM, ST, dc
一、基础知识在讲具体问题之前先列出STM32系列单片机ADC部分的一些知识:
ADC控制器STM32一共有3个ADC控制器:ADC1、ADC2、ADC3。
18个通道STM32的ADC多达18个通道:16个外部通道和2个内部信号源。
  • 16个外部通道:芯片上有16个引脚是能够接到模拟电压上进行电压值检测的。
  • 2个内部信号源 :一个是内部温度传感器,一个是内部参考电压。
一共支持23个引脚支持ADC,包括21个外部和2个内部信号源。



 楼主| lxs0026 发表于 2022-9-30 23:38 | 显示全部楼层
STM32F10x系列芯片ADC通道和引脚对应关系

如下图所示:
3192563370d62784e7.png
 楼主| lxs0026 发表于 2022-9-30 23:38 | 显示全部楼层
ADC的转换模式
1.单次转换模式:ADC只执行一次转换。
 楼主| lxs0026 发表于 2022-9-30 23:43 | 显示全部楼层
2.连续转换模式:转换结束以后立刻开始新的转换。
 楼主| lxs0026 发表于 2022-9-30 23:43 | 显示全部楼层
3.扫描模式:ADC扫描被规则通道和注入通道选中的全部通道,在每一个组的每一个通道上执行单次转换。在每一个转换结束时,这一组的下一个通道被自动转换。若是设置了CONT位(开启了连续 转换模式),转换不会在选择组的最后一个通道上中止,而是再次从选择组的第一个通道继续转换。
 楼主| lxs0026 发表于 2022-9-30 23:44 | 显示全部楼层
4.间断模式:触发一次,转换一个通道,再触发,再转换。在所选转换通道循环,由触发信号启动新一轮的转换,直到转换完成为止。
 楼主| lxs0026 发表于 2022-9-30 23:45 | 显示全部楼层
扫描模式简单地说是一次对全部所选中的通道进行转换。假设开了ch0、ch1、ch4、ch5,通道0转换完之后就会自动依次转换通道1、4、5,直到转换完,这个过程不能被打断。若是开启了连续转换模式,则会在转换完ch5以后开始新一轮的转换。
 楼主| lxs0026 发表于 2022-9-30 23:45 | 显示全部楼层
这就引入了间断模式,可以说是对扫描模式的一种补充。它能够把ch0、ch1、ch4、ch5这四个通道进行分组。既能够分成0、1一组,4、5一组;也能够每一个通道单独配置为一组。这样每一组转换以前都须要先触发一次。
 楼主| lxs0026 发表于 2022-9-30 23:46 | 显示全部楼层
ADC单通道
1.只进行一次ADC转换:配置为“单次转换模式”,扫描模式关闭。ADC通道转换一次后,就中止转换,等待再次使能后才会从新转换;
 楼主| lxs0026 发表于 2022-9-30 23:48 | 显示全部楼层
2.进行连续ADC转换:配置为“连续转换模式”,扫描模式关闭。ADC通道转换一次后,接着进行下一次转换,不断连续。
 楼主| lxs0026 发表于 2022-9-30 23:49 | 显示全部楼层
ADC多通道
1.只进行一次ADC转换:配置为“单次转换模式”,扫描模式使能。ADC的多个通道,按照配置的顺序依次转换一次后,就中止转换,等待再次使能后才会从新转换;
 楼主| lxs0026 发表于 2022-9-30 23:57 | 显示全部楼层
2.进行连续ADC转换:配置为“连续转换模式”,扫描模式使能。ADC的多个通道,按照配置的顺序依次转换一次后,接着进行下一次转换,不断连续。
 楼主| lxs0026 发表于 2022-9-30 23:58 | 显示全部楼层
也就是说:多通道必须使能扫描模式。
左对齐或右对齐
由于ADC获得的数据是12位精度的,而数据存储在16位数据寄存器中,因此ADC的存储结果能够分为左对齐或右对齐方式(12位),如下表所示:
1956563371205d68d4.png
 楼主| lxs0026 发表于 2022-9-30 23:58 | 显示全部楼层
586416337122a1dbc0.png
ADC输入通道
从ADCx_INT0-ADCx_INT15对应三个ADC的16个外部通道,进行模拟信号转换。此外,还有两个内部通道:温度检测和内部电压检测。选择对应通道以后,便会选择对应GPIO引脚,相关的引脚定义和描述可参见数据手册。
 楼主| lxs0026 发表于 2022-9-30 23:59 | 显示全部楼层
注入通道,规则通道

在选择了ADC的相关通道引脚以后,在模拟至数字转换器中有两个通道:注入通道、规则通道。
规则通道至多16个,注入通道至多4个。
huohun86 发表于 2022-10-1 15:16 | 显示全部楼层
学习学习,很好的内容
您需要登录后才可以回帖 登录 | 注册

本版积分规则

103

主题

1290

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部