GPIO的八种工作模式

gpio的八种工作模式
gpio是通用输入/输出端口的简称,gpio的引脚与外部设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。gpio的8种输入模式:包括4种输入模式和4种输出模式(2种普通输出和2种复用输出)。
gpio基本结构
每个gpio内部都有这样的一个电路结构,下面就简单的介绍一下这个电路
保护二极管:i/o引脚上的二极管是为了防止引脚外部输入过高、过低的电压时对芯片造成损坏而设置的,起到保护电路的作用。当引脚电压>vdd时,上方的二极管导通;当引脚电压p-mos管和n-mos管:gpio所具有的“推挽输出”输出和“开漏输出”模式得益于由p-mos管和n-mos管组成的单元电路。
ttl肖特触发器:可以理解为用肖特管构成的施密特触发器,模拟信号经过触发器后,就会转化为0和1的数字信号。如果gpio引脚作为输入通道进行adc电压采集时,用其“模拟输入”功能,信号就不会经过触发器进行ttl转换。
vdd_ft 对5v容忍i/o脚是特殊的,它与vdd不同。这句话的意思就是vdd_ft是兼容5v和3.3v的,而没有ft的是不兼容5v的。
下面具体介绍gpio的8种工作模式:
输入模式—浮空输入
在此模式下,上图黄色阴影部分①—④的电路为通路,由①i/0端口输入电平(高电平或低电平)→保护二极管→②ttl肖特基触发器→③输入数据寄存器→④cpu,这样cpu就能读取到i/o端口处的高低电平状态。浮空输入模式下,i/o端口的电平信号直接进入输入数据寄存器。也就是说,i/o的电平状态是不确定的,完全由外部输入决定;如果在该引脚悬空(无信号输入)的情况下,读取该端口的电平是不确定的。它的输入阻抗较大,一般把这种模式用于标准的通信协议如i2c、usart。
输入模式—输入上拉
上拉电阻:把不确定的信号通过电阻连接到高电平,默认情况下输入引脚数据为1,高电平。在上拉输入模式下,也是i/o端口的电平信号直接进入输入数据寄存器,但是它和浮空模式的主要区别在于,输入上拉模式中上拉电阻(连接vdd)的开关闭合,上拉电阻的大小约为30—50kω。
输入模式—输入下拉
下拉电阻:把不确定的信号通过电阻连接到低电平,默认情况下输入引脚数据为0,低电平。在下拉输入模式下,也是i/o端口的电平信号直接进入输入数据寄存器,同理,它和浮空模式的主要区别在于,输入下拉模式中下拉电阻(连接vss)的开关闭合。
输入模式—模拟输入
在此模式下,数据通道中上拉、下拉电阻和ttl肖特触发器,这时均处于关断的状态,在模拟输入状态下,cpu是无法通过“输入数据寄存器”读到io端口变化的数据了,也就是说“输入数据寄存器”就无法反映i/o端口上的电平变化的了。i/o端口的模拟信号(注意是电压信号,而非电平信号)直接模拟输入到片上外设模块,比如adc模块。
输出模式—开漏输出

若②输出控制电路接收到1(高电平),则③n-mos管截止,那么此时 ④i/o端口处的电平不是通过②输出控制电路和③n-mos管来控制的,而是取决于外部的“上拉”或“下拉”。
若②输出控制电路接收到 0(低电平),③n-mos管导通,此时④i/o端口处的电平就被③n-mos管拉低。
同时,在输出的状态下,i/o口的电平还可以通入输入电路(④i/o端口→⑥输入数据寄存器→⑦cpu读取)来读取。
输出模式—开漏复用输出
开漏复用输出模式与开漏输出模式很相似,区别在于输出的高低电平的来源,不是让cpu直接向位设置/清除寄存器写1/0然后将其映射到输出数据寄存器中,而是利用片上外设模块的复用功能输出来决定的。
输出模式—推挽输出
由图可知,gpio的推挽输出模式是在开漏输出模式的基础上,在“输出控制电路”之后,增加了一个p-mos管。
当cpu输出逻辑“1 ”时,③p-mos管导通,n-mos管截止,输出高电平。
当cpu输出逻辑“0 ”时,③p-mos管截止,n-mos管导通,输出低电平。
同时,i/o端口的电平也可以通过输入电路(④i/o端口→⑥输入数据寄存器→⑦cpu读取)进行读取。
输出模式—推挽复用输出
推挽复用输出模式与推挽输出模式相似。只是输出的高低电平的来源,不是让cpu直接向位设置/清除寄存器写1/0然后将其映射到输出数据寄存器中,而是利用片上外设模块的复用功能输出来决定的。

太极半导体先进技术推动中国半导体产业的发展
应用材料公司荣获英特尔公司首选优质供应商奖
USB Type-C开始一统接口标准,连接器的数量会越来越少
华为nova2主打颜值和拍照,为什么一直不火呢?
安全重于泰山 人工智能助力动车段创新管理
GPIO的八种工作模式
如何使用Arduino控制RGB LED
数据是因为区块链技术变成资产的吗
PowerLab 设计具体都包含了些什么?
鉴释宣布加入RISC-V基金会、Linux基金会、seL4基金会与ioXt联盟,旨在实现静态代码分析服务的全方位赋能
卷积神经网络的数学原理介绍
进度加快!台积电2019年上半年试产5nm制程
什么是嵌入式工控主板,嵌入式工控主板的分类和应用有哪些?
别再用锤子砸了,这才是轴承拆卸的正确方法!
人工智能在新时代具备怎样的潜力
自耦减压起动器的常见故障
简单介绍下LDO分类
UBS to RS232 转接线(PL-2303HX)的特性
英特尔与百度覆盖端-边-云的全面合作,推动5G+AI能力落地与商用
物联网咖啡机制作图解