首页 论坛 原厂专区 ST MCU 转载:基于CubeMx管脚配置时的ADC_IN与GPIO_Analog选项话题

发帖 回复

[分享] 转载:基于CubeMx管脚配置时的ADC_IN与GPIO_Analog选项话题
1818 查看
8 回复
 楼主 | 发布于 2019-06-10 | 只看楼主
分享到:

转载:基于CubeMx管脚配置时的ADC_IN与GPIO_Analog选项话题

原厂:ST原厂miler


我们在使用ST公司的STM32CubeMx工具对STM32芯片做管脚初始化配置时,点到某个管脚时会自动拉出一条长长的可配置的菜单选项。有人可能发现某些类似上面图形的情况,某管脚可以配置为ADC某输入通道,怎么同时还有个GPIO_analog选项呢?二者有什么差别?


ADC_Inx这个不难理解,就表示该GPIO可以作为ADC模拟输入通道,此时该GPIO也确实处在Analog模式。那还额外弄个GPIO_Analog干什么呢?跟ADC_Inx不是一个意思吗?


的确不是一个意思。


其实,GPIO_Analog跟GPIO_Input或GPIO_Output一样,也是GPIO工作模式的一个选项。具体到这里,ADC_Inx作为模拟输入通道,此时GPIO处于analog模式。但是,不能说GPIO配置在analog模式就是做ADC转换通道,它还可能做比较器、DAC等模拟外设的复用通道,也有可能纯粹只是被配置成Analog模式,跟其它模拟外设没有任何关联。


一般来讲,STM32的GPIO输入状态分为三类,其中Analog状态是GPIO输入模式的一种。

1、 上拉/下拉输入【push up/pull down】

2、 浮空输入【Floating input】

3、 模拟状态   【Analog】

对于前面1、2两种输入模式的GPIO功能框图如下:


此时,输出缓冲被禁用;图中的施密特触发器被启用;IO脚的数据被采样到数据输入寄存器可被读取。上/下拉电阻根据需要可以被打开或禁用。当上下拉电阻同时被禁用时即为浮空输入模式。


对于STM32芯片,复位后GPIO默认为浮空输入状态。对于不使用的GPIO,不建议让GPIO处于浮空输入模式。当它没有外接信号时,那个施密特触发器往往在随机地做电平翻转跳变,从而带来噪声并增加芯片的功耗。同时浮空脚对外部噪声或干扰敏感,对过ESD也极为不利。


上面是介绍的浮空输入与上下拉输入的框图与特征,而GPIO的Analog模式的功能框图如下:



(1 ) (1 )
回复 举报

楼主 | 回复于 2019-06-10 沙发

这个Analog模式的GPIO状态跟上面的带可配置上下拉输入的GPIO状态主要有两个明显差别:


1、 那个施密特触发器被关闭了,该触发器输出恒为0.

2、 内部的上下拉电阻被关闭了。


这个施密特触发器被关闭了,GPIO的数字输入功能被取消。如果此时读取输入数据寄存器的值,结果恒为0.由于关闭了施密特触发器,上面提到的因它而起的电平跳变噪声和相应的额外功耗就没有了。


换句话说,当GPIO状态由浮空或上下拉输入状态改为Analog状态时,既消除了因为施密特触发器带来的噪声,同时又因它的关闭而降低了芯片动态功耗。

另外,配置在GPIO_Analog状态的GPIO属于高阻态,这点也有利于保持模拟信号的真实性。


聊到这里,我们基本可以消除开篇的疑惑了。GPIO可能被配置为某些模拟外设的复用脚,比如ADC,DAC的复用功能脚等,但也完全可能不做任何模拟外设的复用脚,只是配置在Analog模式而已。比方对于那些不用的管脚,我们都可以将其配置为GPIO_Analog状态。做过STM32芯片低功耗应用的人可能会在ST官方例程里发现过,在进低功耗模式之前对不用外设的对应GPIO都配置为Analog状态了。


(0 )
评论 (0) 举报

楼主 | 回复于 2019-06-10 2#

(0 )
评论 (0) 举报

回复于 2019-06-10 3#

(0 )
评论 (0) 举报

回复于 2019-06-13 4#

支持下,谢谢分享!
(0 )
评论 (0) 举报

回复于 2019-06-22 5#

支持下,谢谢分享!
(0 )
评论 (0) 举报

回复于 2019-06-27 6#

感谢分享!!!
(0 )
评论 (0) 举报

回复于 2019-06-30 7#

感谢分享,欢迎关注我,资料持续更新中。有需要机械臂,电源,硬件电路设计,软件编程,开发板等各种定制的可以私聊我哦,相互学习,共同进步。
(0 )
评论 (0) 举报

回复于 2019-07-20 8#

多谢分享!!!!
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部