• 275查看
  • 0回复

[芯片硬件] 电子技术(八)——GPIO

[复制链接]


该用户从未签到

发表于 9-1-2024 19:56:53 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师



一、GPIO概述


GPIO(General Purpose I/O Ports)意思为通用输入/输出端口,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。 GPIO口一是个比较重要的概念,用户可以通过GPIO口和硬件进行数据交互(如UART),控制硬件工作(如LED、蜂鸣器等),读取硬件的工作状态信号(如中断信号)等。GPIO口的使用非常广泛。

电子技术(八)——GPIOw1.jpg

图1.端口引脚的一般结构

每条端口线都有许多控制和数据位,可以非常灵活地使用该线。 每个端口引脚都可以配置为输入或输出操作。 在输入模式下(复位后默认),输出驱动器关闭(高阻抗)。 端口引脚上的实际电压电平通过施密特触发器转换为逻辑 0 或 1,并可通过只读寄存器 Pn_IN 读取。 输入信号直接连接到外围单元的各种输入 (AltDataIn)。 从引脚到输入寄存器 Pn_IN 和AltDataIn 的输入线的功能与端口引脚是作为输入还是作为输出运行无关。 这意味着当端口处于输出模式时,引脚的电平可以由软件通过 Pn_IN 读取,或者外设可以使用引脚电平作为输入。

通用输入输出端口GPIO具有两大功能,一种是作为一个可控的端口引脚,另外一种是通过端口映射功能连接到芯片外设。最为常用的功能是,可以作为一个可控的端口引脚,配置该引脚为输入或者输出。输出功能包括强推挽输出和开漏输出两项,当配置为强推挽输出时,用户可以对该引脚任何时刻的电平状态进行定义,高电平或者低电平,当配置为开漏输出时,此时需要外接上拉电阻才能输出高电平信号。输入功能可以对任意时刻引脚电平状态进行查看,其中输入功能包括输入上拉、输入下拉、高阻态三种,输入上拉和输入下拉分别设定输入引脚处于高电平和低电平状态,而设置成高阻态模式时,输入引脚电平不稳定。

二、GPIO输入、输出模式及说明


【来源:星空闪耀&】

电子技术(八)——GPIOw2.jpg

图2.I/O端口位的基本结构

2.1浮空输入模式

电子技术(八)——GPIOw3.jpg

添加图片注释,不超过 140 字(可选)

外部的电平信号通过左边编号1的I/O端口进入MCU,经过编号2的施密特触发器的整形送入编号3的“输入数据寄存器”,在“输入数据寄存器”的另一端(编号4),CPU可以随时读出I/O端口的电平状态。

2.2输入上拉模式

电子技术(八)——GPIOw4.jpg

添加图片注释,不超过 140 字(可选)

输入上拉模式;与前面的浮空输入模式相比,仅仅是在数据通道上部,接入了一个上拉电阻,同样,CPU可以随时在“输入数据寄存器”的另一端,读出I/O端口的电平状态。

2.3输入下拉模式

电子技术(八)——GPIOw5.jpg

添加图片注释,不超过 140 字(可选)

输入下拉模式;数据通道的下部,接入了一个下拉电阻。

2.4模拟输入模式

电子技术(八)——GPIOw6.jpg

添加图片注释,不超过 140 字(可选)

模拟输入模式;信号从左边编号1的端口进入,从右边编号2的一端直接进入ADC模块。这里我们看到所有的上拉、下拉电阻和施密特触发器,均处于断开状态,因此“输入数据寄存器”将不能反映端口上的电平状态,也就是说,模拟输入配置下,CPU不能在“输入数据寄存器”上读到有效的数据。

2.5开漏输出模式【来源:硬件十万个为什么】

电子技术(八)——GPIOw7.jpg

添加图片注释,不超过 140 字(可选)

开漏输出模式;当CPU在左边的编号1端通过位设置/清除寄存器,或输出数据寄存器写入数据后,该数据位将通过编号2的输出控制电路传送到编号4的I/O端口,如果CPU写入的是逻辑“1”,则编号3的N-MOS管将处于关闭状态,此时I/O端口的电平将由外部的上拉电阻决定,如果CPU写入的是逻辑“0”,则编号3的N-MOS管将处于开启状态,此时I/O端口的电平被编号3的N-MOS管拉到了VSS的零电位。

在图的上半部,施密特触发器处于开启状态,这意味着CPU可以在“输入数据寄存器”的另一端,随时监控I/O端口的状态;通过这个特性,还实现了虚拟的I/O端口双向通信:只要CPU输出逻辑“1”,由于编号3的N-MOS管处于关闭状态,I/O端口的电平将完全由外部电路决定,因此,CPU可以在“输入数据寄存器”读到外部电路的信号,而不是它自己输出的逻辑“1”。【来源:星空闪耀&】

2.6开漏复用输出模式

电子技术(八)——GPIOw8.jpg

添加图片注释,不超过 140 字(可选)

开漏复用输出模式;与开漏输出模式的配置基本相同,不同的是编号2的输出控制电路的输入,与复用功能的输出端相连,此时输出数据寄存器被从输出通道断开了。同样,CPU可以从“输入数据寄存器”读到外部电路的信号。

2.7推挽输出模式

电子技术(八)——GPIOw9.jpg

添加图片注释,不超过 140 字(可选)

推免输出模式;在开漏输出模式的基础上,推挽输出模式仅仅是在编号2的输出控制电路之后,增加了一个P-MOS管。当输出逻辑“1”时,编号3处的P-MOS管导通,而下方的N-MOS管截止,达到输出高电平的目的。当输出逻辑“0”时,编号3处的P-MOS管截止,而下方的N-MOS管导通,达到输出低电平的目的。在这个模式下,CPU仍然可以从“输入数据寄存器”读到外部电路的信号。

2.8推挽复用输出模式

电子技术(八)——GPIOw10.jpg

添加图片注释,不超过 140 字(可选)

推挽复用输出模式,同样的道理,编号2的输出控制电路的输入,与复用功能的输出端相连,此时输出数据寄存器被从输出通道断开了。


该用户从未签到

发表于 15-3-2025 21:08:00 | 显示全部楼层
关于GPIO的概述描述得相当专业且准确。GPIO(General Purpose I/O Ports)确实是通用输入/输出端口,它为硬件与外部设备之间的数据交互提供了桥梁。这些端口引脚如同连接点,能够进行高低电平的读入和输出,是硬件控制的要点之一。每个端口引脚都能配置为输入或输出模式,为用户提供了极大的灵活性。在输入模式下,它们可以读取外部信号如中断信号;在输出模式下,可以控制硬件的工作状态,如点亮LED灯或驱动蜂鸣器发声。这些端口广泛应用于各种场景,为硬件与软件的交互提供了重要的支撑。后续还可以对GPIO的配置、应用案例等进行深入探讨。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 15-3-2025 21:08:00 | 显示全部楼层
作为汽车工程师,对GPIO(通用输入/输出端口)有着深入的理解。GPIO端口是硬件设计中非常重要的部分,允许用户与硬件进行数据交互、控制硬件工作以及读取硬件状态。每个端口引脚都可灵活配置为输入或输出模式。在输入模式下,端口能够读取外部信号,如中断信号;在输出模式下,则可以控制如LED、蜂鸣器等设备。其应用广泛,对于汽车中的许多电子系统都至关重要,如ECU控制、传感器信号采集等。在汽车工程中,我们需要高效、准确地使用GPIO,以确保汽车各项功能的正常运行。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 21:24 , Processed in 0.379491 second(s), 36 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.