打印
[其他ST产品]

STM32 ADC DMA通道数减小引发的异常问题及解决

[复制链接]
305|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通道和引脚对应关系

如下图所示:

使用特权

评论回复
板凳
lxs0026|  楼主 | 2022-9-30 23:38 | 只看该作者
ADC的转换模式
1.单次转换模式:ADC只执行一次转换。

使用特权

评论回复
地板
lxs0026|  楼主 | 2022-9-30 23:43 | 只看该作者
2.连续转换模式:转换结束以后立刻开始新的转换。

使用特权

评论回复
5
lxs0026|  楼主 | 2022-9-30 23:43 | 只看该作者
3.扫描模式:ADC扫描被规则通道和注入通道选中的全部通道,在每一个组的每一个通道上执行单次转换。在每一个转换结束时,这一组的下一个通道被自动转换。若是设置了CONT位(开启了连续 转换模式),转换不会在选择组的最后一个通道上中止,而是再次从选择组的第一个通道继续转换。

使用特权

评论回复
6
lxs0026|  楼主 | 2022-9-30 23:44 | 只看该作者
4.间断模式:触发一次,转换一个通道,再触发,再转换。在所选转换通道循环,由触发信号启动新一轮的转换,直到转换完成为止。

使用特权

评论回复
7
lxs0026|  楼主 | 2022-9-30 23:45 | 只看该作者
扫描模式简单地说是一次对全部所选中的通道进行转换。假设开了ch0、ch1、ch4、ch5,通道0转换完之后就会自动依次转换通道1、4、5,直到转换完,这个过程不能被打断。若是开启了连续转换模式,则会在转换完ch5以后开始新一轮的转换。

使用特权

评论回复
8
lxs0026|  楼主 | 2022-9-30 23:45 | 只看该作者
这就引入了间断模式,可以说是对扫描模式的一种补充。它能够把ch0、ch1、ch4、ch5这四个通道进行分组。既能够分成0、1一组,4、5一组;也能够每一个通道单独配置为一组。这样每一组转换以前都须要先触发一次。

使用特权

评论回复
9
lxs0026|  楼主 | 2022-9-30 23:46 | 只看该作者
ADC单通道
1.只进行一次ADC转换:配置为“单次转换模式”,扫描模式关闭。ADC通道转换一次后,就中止转换,等待再次使能后才会从新转换;

使用特权

评论回复
10
lxs0026|  楼主 | 2022-9-30 23:48 | 只看该作者
2.进行连续ADC转换:配置为“连续转换模式”,扫描模式关闭。ADC通道转换一次后,接着进行下一次转换,不断连续。

使用特权

评论回复
11
lxs0026|  楼主 | 2022-9-30 23:49 | 只看该作者
ADC多通道
1.只进行一次ADC转换:配置为“单次转换模式”,扫描模式使能。ADC的多个通道,按照配置的顺序依次转换一次后,就中止转换,等待再次使能后才会从新转换;

使用特权

评论回复
12
lxs0026|  楼主 | 2022-9-30 23:57 | 只看该作者
2.进行连续ADC转换:配置为“连续转换模式”,扫描模式使能。ADC的多个通道,按照配置的顺序依次转换一次后,接着进行下一次转换,不断连续。

使用特权

评论回复
13
lxs0026|  楼主 | 2022-9-30 23:58 | 只看该作者
也就是说:多通道必须使能扫描模式。
左对齐或右对齐
由于ADC获得的数据是12位精度的,而数据存储在16位数据寄存器中,因此ADC的存储结果能够分为左对齐或右对齐方式(12位),如下表所示:

使用特权

评论回复
14
lxs0026|  楼主 | 2022-9-30 23:58 | 只看该作者

ADC输入通道
从ADCx_INT0-ADCx_INT15对应三个ADC的16个外部通道,进行模拟信号转换。此外,还有两个内部通道:温度检测和内部电压检测。选择对应通道以后,便会选择对应GPIO引脚,相关的引脚定义和描述可参见数据手册。

使用特权

评论回复
15
lxs0026|  楼主 | 2022-9-30 23:59 | 只看该作者
注入通道,规则通道

在选择了ADC的相关通道引脚以后,在模拟至数字转换器中有两个通道:注入通道、规则通道。
规则通道至多16个,注入通道至多4个。

使用特权

评论回复
16
huohun86| | 2022-10-1 15:16 | 只看该作者
学习学习,很好的内容

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

61

主题

905

帖子

1

粉丝