GPIO I/O口——八种工作模式

最新更新时间:2022-09-30来源: csdn关键字:GPIO  I  O口  工作模式 手机看文章 扫描二维码
随时随地手机看文章

通用模式:4种输入模式,2种输出模式(此时GPIO受CM3内核(即:cpu)控制)

复用模式:2种复用输出模式:推挽式复用功能输出模式、开漏复用功能输出模式(在复用模式下,GPIO受STM32片上外设(如:I^2C、UART、TIM、pwm、ADC等)所控制,(此时I/O口输出/输入的信息,都是由片上外设来发送/接收)

一共八种模式



4种输入模式:

1.浮空输入:

                

浮空输入,就是I/O口在输入模式时,红框中的上/下拉电阻都是断开连接的情况下,stm32外部输入的信号进行读取。注意:VDD为3.3v,VSS为0v。


拓展:这个上/下拉电阻的阻值范围在30k~50k之间。

经过的路径:

        外部输入信号------》I/O口  ------》 同相施密特触发器(即:同相滞回比较器)-------》 输入数据寄存器  -------》 Read


CPU通过内部的数据总线可以随时读出I/O 端口的电平变化的状态。


特点:

1.没有上拉电阻,也没有下拉电阻。


2.当没有输入时,Read读的是上一次读取的状态,因为当没有输入时,由于上拉,也没有下拉,所以此时施密特触发器就没有输入,虽然没有输出,但是施密特触发器的输出会保持上一次的输出状态不变。


3.没有输入时,I/O口呈高阻态。实际上这时的输出电路与输入的端口处于隔离状态。


施密特触发器的作用:

校正输入电平。因为,输入的电平并不是3.3v或者0v(而是模拟量),但是存储在输入数据寄存器里面的1、0却是3.3v或0v(寄存器存储的是数字量),所以我们需要用施密特触发器来将外部输入电平进行校正为只有3.3v、0v这两种电平状态。


施密特就是为了防止在某一个临界电平的情况出现各种情况的抖动出现,为了稳定我们的输出,而设计的。这里用的是非反相施密特触发器来做阈值判断。这也就是为什么单片机的高电平是在一个范围内就为高电平,低电平也是一个范围而不是一个确定的值。


上拉输入:

上拉输入就是在输入模式下,红框中的上拉电阻是连接着VDD电源的。


特点:

1.有上拉电阻,但是没有下拉电阻。


2.当没有输入时,由于上拉电阻的存在,施密特触发器输入为1,则施密特触发器输出就为1,所以Read读到的就为1。


下拉输入:

下拉输入就是在输入模式下,红框中的下拉电阻是连接着Vss地的。


特点:

1.没有上拉电阻,但是有下拉电阻。


2.当没有输入时,由于下拉电阻的存在,施密特触发器输入为0,则施密特触发器输出就为0,所以Read读到的就为0。


对于要加上拉或下拉电阻:

1.当作单片机作为输入时,假设我们直接在IO端口接一个按键到地(或电源)。因为按键按,于不按管脚都是悬空的。单片机就很难检测按键是否按下。所以人为的接一个上拉(或下拉)。以确定未按下的时候IO输入电平的状态。


2.可以提高芯片的抗干扰能。


3.当单片机的IO口作输出时,如果不接上拉电阻只能提供灌电流(如:开漏输出模式)。无法输出电流驱动外接设备。这时也需要考虑上拉电阻。这样才可以使IO输出高电平。


拉电流和灌电流是衡量电路输出驱动能力(注意:拉、灌都是对输出端而言的,所以是驱动能力)的参数,这种说法一般用在数字电路中。


由于数字电路的输出只有高、低(0,1)两种电平值:当高电平输出时,一般是输出端对负载提供电流,其提供电流的数值叫“拉电流”;当低电平输出时,一般是输出端要吸收负载的电流,其吸收电流的数值叫“灌(入)电流”。


模拟输入:

模拟输入就是在输入模式下,没有上下拉电阻,并且读取的是外部信号的模拟量。


特点:

1.没有上拉电阻,也没有下拉电阻。


2.不经过施密特触发器,读取的是信号模拟量。


3.没有输入时,I/O口呈现高阻态


细心的朋友可以看到数据通道中上拉、下拉电阻和施密特触发器,这时均处于关断的状态,“输入数据寄存器”就不能反映IO端口上的电平变化的状态了,换句话说,也就是在模拟输入状态下,CPU不能通过“输入数据寄存器”读到IO端口变化的数据了。        


两种输出模式:

推挽输出:

     

            

        

 

             

推挽输出,顾名思义就是输出处是由图腾柱输出。但是注意,当output control模块(即:输出控制单元)的输入为0时,p-mos管关闭,N-mos管打开。当output control模块的输入为1时,p-mos管打开,N-mos管关闭。


也就是,当output control模块的输入为0时,I/O口输出就是0,当output control模块的输入为1时,I/O口输出就是1。


由于,当output control模块的输入值是来自于输出数据寄存器,所以配置输出数据寄存器为0,则I/O口输出就是0,配置输出数据寄存器为1,则I/O口输出就是1。


输出路径1:

write -----> 端口位设置/清除寄存器(即:置1/清零寄存器) ----->输出数据寄存器(ODR寄存器)----->输出控制单元----->I/O口


输出路径2:

Read/write (可读可写)-----> 输出数据寄存器(ODR寄存器)----->输出控制单元----->I/O


特点:

1.即能输出高电平,也能输出低电平。


2.当output control模块的输入为0时,p-mos管关闭,N-mos管打开。当output control模块的输入为1时,p-mos管打开,N-mos管关闭。


3.在这个模式下,如果施密特触发器是开启状态的,那么CPU 仍然可以从“输入数据寄存器”读到该IO端口电压变化的信号


GPIO口的输出模式下,有3 种输出速度可选(2MHz 、10MHz和50MHz) :

这个速度是指GPIO口驱动电路的响应速度,而不是输出信号的速度,输出信号的速度与程序有关(芯片内部在I/O口的输出部分安排了多个响应速度不同的输出驱动电路用户可以根据自己的需要选择合适的驱动电路)。通过选择速度来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。


高频的驱动电路,噪声很高  当我们的项目不需要比较高的输出频率时,请选用低频驱动电路,这样非常有利于提高系统的EMI 性能和降低芯片功耗。当然如果我们的项目要求输出较高频率的信号,但却选用了较低频率的驱动模块,很可能会得到比较失真的输出信号。


开漏输出:

开漏输出,就是输出时,p-mos管一直是关断的。也就是说,该模式下,I/O口不能输出高电平,只能输出低电平和高阻态。如果在此模式下,还想要输出高电平,那么需要在I/O外部外接一个上拉电阻,然后关闭图中的N-MOS管,此时I/O 端口的电平将由外部的上拉电阻决定(实际上,此时这个高电平并不是I/O输出的,它实际上是由外部的上拉输出的)。当没有输出的时候,I/O口为高阻态。


输出路径:与推挽输出一样。


如果CPU 写入的是逻辑“1 ”(读数据),则编号3 的N-MOS管将处于关闭状态,此时I/O 端口的电平将由外部的上拉电阻决定。如果CPU 写入的是逻辑“0 ”,则编号3的N-MOS管将处于开启状态,此时I/O端口的电平被编号3 的N-MOS管拉到了“地”的零电位。在图中的上半部,施密特触发器处于开启状态,这意味着CPU 可以在“输入数据寄存器”的另一端,随时可以监控I/O端口的状态,通过这个特性,还可以实现了虚拟的I/O端口双向通信:假如CPU 输出逻辑“1 ”,由于编号3 的N-MOS管处于关闭状态,I/O 端口的电平将完全由外部电路决定,因此,CPU 可以在“输入数据寄存器”读到外部电路的信号,而不是它自己输出的逻辑“1 ”


推挽式复用功能输出模式:

 

推挽式复用功能就是,输出时是推挽式输出,但是,此时I/O口是受STM32片上外设所控制的,而不是由内核(cpu)控制。


在这个模式下,如果施密特触发器是开启状态的,那么CPU 仍然可以从“输入数据寄存器”读到该IO端口电压变化的信号


开漏式复用功能输出模式:

开漏式复用功能就是,输出时是开漏式输出,但是,此时I/O口是受STM32片上外设所控制的,而不是由内核(cpu)控制。


在这个模式下,如果施密特触发器是开启状态的,那么CPU 仍然可以从“输入数据寄存器”读到该IO端口电压变化的信号

关键字:GPIO  I  O口  工作模式 编辑:什么鱼 引用地址:GPIO I/O口——八种工作模式

上一篇:stm32f103 GPIO——一灯大师之I/O口输出模式的寄存器配置
下一篇:SMT32打印固件版本信息

推荐阅读

STM32入门系列-GPIO概念介绍
GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出。STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。不过 GPIO 最简单的应用还属点亮 LED 灯了,只需通过软件控制 GPIO 输出高低电平即可。当然 GPIO 还可以作为输入控制,比如在引脚上接入一个按键,通过电平的高低判断按键是否按下。其中STM32F103xC、STM32F103xD和STM32F103xE有144个引脚的芯片如下图所示。那么是不是所有引脚都是 GPIO 呢?当然不是,STM32 引脚可以分为这么几大类:电源引脚:引脚图中的 VDD、V
发表于 2022-11-18
STM32入门系列-GPIO结构
已经了解了STM32 GPIO的基本概念及引脚分类。现在来看下STM32 GPIO内部的结构是怎样的。IO端口位的基本结构如下图所示。从图中可以看出GPIO内部结构还是比较复杂的,只要将这张GPIO结构图理解好,那么关于GPIO的各种应用模式将非常清楚。图中最右端I/O端口就是STM32芯片的引脚,其它部分都在STM32芯片内部。上图中我们将每部分都用红色数字标号了,按照顺序我们逐一讲解。保护二极管引脚内部加上这两个保护二级管可以防止引脚外部过高或过低的电压输入,当引脚电压高于VDD_FT或VDD时,上方的二极管导通吸收这个高电压,当引脚电压低于VSS时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁。尽管STM32芯片内部有
发表于 2022-11-18
STM32入门系列-<font color='red'>GPIO</font>结构
STM32入门系列-GPIO工作模式及LED电路原理
GPIO工作模式由于GPIO内部的结构关系,决定了GPIO可配置成以下几种模式。输入模式在输入模式时,施密特触发器打开,输出被禁止。可通过输入数据寄存器GPIOx_IDR读取I/O状态。输入模式可以配置为模拟、上拉、下拉以及浮空模式。上拉和下拉输入很好理解,默认的电平由上拉或者下拉决定。浮空输入的电平是不确定的,完全由外部的输入决定,一般接按键的时候可以使用这个模式。模拟输入则用于 ADC 采集。输出模式(推挽/开漏)在输出模式中,推挽模式时双MOS管以推挽方式工作,输出数据寄存器GPIOx_ODR可控制I/O输出高低电平。开漏模式时,只有N-MOS管工作,输出数据寄存器可控制I/O输出高阻态或低电平。输出速度可配置,有2、25、5
发表于 2022-11-18
研华M2I工业设备联网解决方案 —90%以上设备联网场景全覆盖的行业通用解决方案
研华M2I工业设备联网解决方案——90%以上设备联网场景全覆盖的行业通用解决方案导读工业互联网圈的人都知道,数字孪生的概念最近几年很是火热,是工厂数字化转型的得力助手。但是面对自身薄弱技术力量和复杂的设备使用场景,有没有一种方案,可以开箱即用,或者通过简单配置就能快速实现设备数字化管理呢?答案就是研华嵌入式物联网事业群的《M2I(MachineUnite)工业设备联网解决方案》!本期就从数字孪生基础概念讲起,带您了解在此基础之上衍生出来的行业通用设备联网解决方案——M2I工业设备联网解决方案。一、何为数字孪生?“数字孪生”这个概念作为工业圈的读者来说并不陌生。大家都知道企业的数字化转型是现代企业实现智能化非常重要的一步,在数字转型的
发表于 2022-11-11
研华M2<font color='red'>I</font>工业设备联网解决方案  —90%以上设备联网场景全覆盖的行业通用解决方案
米尔ARM+FPGA异核架构核心板精彩亮相深圳国际电子展
2022 年11月6日,深圳国际电子展暨嵌入式系统展(ELEXCON 2022)在深圳会展中心(福田)拉开序幕,此次展会以“芯趋势!新商机!”为主题,展出内容包括芯片、封测、嵌入式系统和国产化元器件选型等创新技术及产品。此次展会,米尔电子作为领先的嵌入式处理器模组厂商受邀参展。米尔电子携公司最新产品和技术方案参会,包括基于NXP、ST、全志等系列的核心板及开发板产品,同期展示了精彩的demo秀和微信抽奖活动,现场吸引了广大客户前来观看和参与。展会现场-米尔展台精彩demo秀:米尔MYD-JX8MPQ开发板在边缘计算的应用 展会期间,米尔工程师在展台进行了《米尔MYD-JX8MPQ开发板在边缘计算的应用》主题的Demo秀演讲。米尔d
发表于 2022-11-11
米尔ARM+FPGA异核架构核心板精彩亮相深圳国际电子展
英特尔 Evo 携手 BMW i 以科技助力长江大保护行动
英特尔 Evo 携手 BMW i 以科技助力长江大保护行动守护长江生态底色 守望自然和谐美好2022 年 11 月 9 日,上海——今天,自 9 月启动、为期 2 个月的“看见长江的美好”系列长江大保护行动圆满落幕,并在 BMW 上海体验中心进行精彩展示。该系列公益行动由武汉白鱀豚保护基金会发起,由英特尔(中国)有限公司与 BMW 鼎力支持。英特尔Evo™和BMW i品牌以“计算”和“驰骋”相融合,彰显绿色性能和超极智能,共同打造出“移动数字探索工作室”,推出了“绿色科考探索”“绿色微笑守护”“绿色数字收藏”和“绿色科普教育”等公益举措,给观众留下了深刻印象。“科技与自然、创新与和谐一脉相承。这正是我们思考和行动的原点——创造改变世
发表于 2022-11-09
英特尔 Evo 携手 BMW <font color='red'>i</font> 以科技助力长江大保护行动
小广播
设计资源 培训 开发板 精华推荐

何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved