0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

硬件设计技巧:三类GPIO接口的实用指南

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-11-05 12:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天教大家一些关于硬件设计的的技巧,只要掌握好三类GPIO,轻松玩好硬件设计。

本文所介绍的GPIO设计指导,都是针对Air780E用于LuatOS开发方式时的一些注意事项,AT指令开发版本不支持GPIO操作。

Air780E模组共支持GPIO0~GPIO31合计32个GPIO和WAKEUP0~5合计6个唤醒管脚,其中:

32个GPIO口本身有多重复用功能,大家需要根据实际应用进行选择配置;

32个GPIO中,又可分为普通GPIO和AGPIO,在接下来的表格中,会详细介绍这两种GPIO的定义和区别;

6个WAKEUP管脚中,部分也可以配置为GPIO功能,在接下来的表格中,也将详细介绍WAKEUP管脚的注意事项。

一、GPIO复用表

对于GPIO功能复用,请参考如下表格(可通过下方链接下载最新版)。

最新资料详见:

https://docs.openluat.com/air780e/luatos/hardware/design/gpio/

▼ GPIO复用表 ▼

wKgZomcpnPaAQCyeAARBkLTpnpQ538.png

wKgaomcpnQmAE46uAAcV2dRgHQo020.png

二、GPIO特性

Air780E的GPIO口根据不同的特性,可以分为三种类型:

普通IO

AGPIO

Wakeup IO

不同特性的GPIO,其驱动能力以及在低功耗模式/PSM+模式下的表现区别比较大,在使用这些特性的GPIO时尤其要注意;

AGPIO也常被写作为:AONGPIO、AON_GPIO,以下均以AGPIO的写法进行描述。

1. 普通IO

Air780E大部分管脚为普通GPIO(上图GPIO复用表格中灰色底色的IO);

Air780E系统为了在休眠模式下有极致的低功耗性能,会在模组进入休眠/深休眠模式时,关闭GPIO供电(VDD_EXT),因此会导致所有以VDD_EXT为电源域的GPIO会进入下电状态。

在使用普通GPIO时,要尤其注意在休眠状态下GPIO的掉电状态对控制外设造成的误动作风险。

▼ 普通IO相关特性 ▼

电压域:VDD_EXT(1.8/3.3V可配置)

输入输出:可以配置

上下拉:内部可配置

输入中断:
上下边沿触发/双边沿触发/高低电平触发(休眠后无法响应中断)

休眠电平保持:不可保持

休眠唤醒:不可唤醒模组

驱动能力:单个普通GPIO驱动能力<=10mA

wKgZomcpnSeAdR-DAAObs11Fkj0807.png

2. AGPIO

AGPIO管脚为休眠可保持管脚(GPIO复用表格中绿色底色IO管脚);

这类管脚电源域为长保持的LDO_AONIO电源(为内部电源,模组外部不可测量),这类电源在模组低功耗模式/PSM+下,仍然能够保持供电,因此AGPIO管脚在休眠状态下能够保持电平。

AGPIO管脚可以用于休眠状态下仍然需要保持工作状态的外设。

▼ AGPIO相关特性 ▼

电压域:LDO_AONIO(1.8/3.3V)

输入输出:可以配置

上下拉:内部可配置

输入中断:
上下边沿触发/双边沿触发/高低电平触发(休眠后无法响应中断)

休眠电平保持:可保持

休眠唤醒:不可唤醒模组

驱动能力:

AGPIOWU0/1/3(MAIN_DTR):30μA;

AGPIO3~8:5mA(所有AGPIO总共驱动电流不能超过5mA)。

wKgZomcpnTuABNLFAAOJz9ACEMU559.png

3. Wakeup IO

Air780E模组包含6个特殊管脚:
WAKEUP0~WAKEUP5

此类型IO为中断唤醒管脚,能够在模组休眠状态下响应外部中断从而使模组退出休眠状态,因此这类IO管脚在休眠状态下也能保持供电。

注意:Wakeup IO仅支持输入,不能配置为输出,且固定电平不可配置。

▼ Wakeup IO相关特性 ▼

电压域:LDO_AON(2V,不可配置)

输入输出:仅输入

上下拉:内部可配置

输入中断:上下边沿触发/双边沿触发/高低电平触发

休眠电平保持:可保持

休眠唤醒:支持

驱动能力:30μA

wKgaomcpnU6ABMX0AAO4vGXcIdA868.png

三、GPIO应用注意事项

1. 普通GPIO以及相应的电压域VDD_EXT,在休眠时会输出频繁百ms级别的高脉冲,极易导致连接的外设误动作。

原因解析:

Air780E的休眠特性,VDD_EXT在休眠状态下会关闭,但是Air780E系统在休眠的整个时期内并不是一直保持稳定休眠状态,需要不定时唤醒起来与4G网络交互以保持网络连接,因此VDD_EXT会随着模组唤醒而打开。而大部分普通GPIO默认是I&PU状态,就会被VDD_EXT拉高,导致输出高脉冲。

设计建议:

在一些需要休眠状态下正常工作的外设的控制(比如LED控制)不建议使用普通GPIO,可以使用AGPIO。

由于AGPIO数量有限,在必须用普通GPIO的情况下,可以在普通GPIO上做外接10K电阻下拉(如下图R23),可以大幅减小休眠时输出的高脉冲幅值,使得减小到外设的高电平判别门限以下,也可以避免误动作的情况,但是相应的在某些情况下,会增加功耗,请根据实际情况酌情做出选择。

wKgaoWcpnWOAYEV5AAF4NpqozHc724.png

2. Wakeup IO类型的GPIO不要用VDD_EXT或者普通GPIO上拉,会导致系统无法进入休眠。

原因解析:

Air780E的休眠特性使得普通GPIO管脚和VDD_EXT会在休眠状态下输出高脉冲,会使得Wakeup IO收到中断而导致系统被唤醒,无法进入休眠模式。

设计建议:使用内部的上下拉。

3. Wakeup IO类型的GPIO不要直接连接主控MCU的IO管脚,会导致电平不一致而影响系统稳定性。

原因解析:

Wakeup IO管脚电平是2V左右,这个与大多数MCU的IO电平不匹配,而且Wakeup IO的供电为内部的LDO_AON,而这个供电会给系统启动相关的部分供电,比如reset管脚,因此Wakeup IO上由于电平不匹配而导致的漏洞,有可能会影响系统稳定性。

设计建议:

使用二极管或者三极管来隔离(如下图)。

wKgZomcpnXCAeJKLAAEtDQ49bgg341.png



审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 4G
    4G
    +关注

    关注

    15

    文章

    5627

    浏览量

    124523
  • 硬件设计
    +关注

    关注

    18

    文章

    495

    浏览量

    45688
  • gpio接口
    +关注

    关注

    1

    文章

    18

    浏览量

    13657
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    audio_hw.c核心逻辑及第方算法集成

    该文件的配置主要分为PCM 参数配置、路由配置、设备标识配置三类,是音频硬件抽象层(HAL)与底层 ALSA 驱动交互的基础。
    的头像 发表于 02-06 16:53 3013次阅读
    audio_hw.c核心逻辑及第<b class='flag-5'>三</b>方算法集成

    深入解析RK平台GPIO驱动:从原理到调试,开发者必看指南

    GPIO(通用输入输出)作为嵌入式系统中最基础也最常用的硬件接口,是连接芯片与外部设备的 “桥梁”。从简单的 LED 控制、按键检测,到复杂的传感器通信,都离不开 GPIO 的支持。在
    的头像 发表于 02-03 15:53 1243次阅读
    深入解析RK平台<b class='flag-5'>GPIO</b>驱动:从原理到调试,开发者必看<b class='flag-5'>指南</b>

    嵌入式新手必看!GPIO调试从0到1:计算、操作、排错全指南

    在嵌入式开发中,GPIO(通用输入输出口)是最基础也最常用的硬件接口 —— 小到控制一颗 LED 亮灭、读取一个按键状态,大到驱动传感器、控制外设,都离不开 GPIO。但对新手来说,“
    的头像 发表于 02-01 16:55 3961次阅读
    嵌入式新手必看!<b class='flag-5'>GPIO</b>调试从0到1:计算、操作、排错全<b class='flag-5'>指南</b>

    GPIO接口介绍

    存放数据的“通用I/O端口数据寄存器”。数据寄存器的每一位是和GPIO硬件引脚对应的,而数据的传递方向是通过控制寄存器设置的,通过控制寄存器可以设置每一位引脚的数据流向。 用户可以通过GPIO
    发表于 11-20 08:12

    网线接口能插六网线吗

    网线接口(RJ45)可以插六网线,但实际使用效果需结合具体场景和设备综合判断。以下是详细分析: 一、物理兼容性:接口通用,但需注意细节 RJ45
    的头像 发表于 09-08 10:32 1.7w次阅读

    深度揭秘GPIO重身份:从普通IO到AGPIO与Wakeup IO

    你是否曾困惑于GPIO功能的多样性?从基础IO到高级AGPIO,再到低功耗唤醒的Wakeup IO,这一接口实则拥有重身份。本文带你深入内核,解析其不同形态下的技术逻辑与实战价值。 本文特别
    的头像 发表于 08-11 13:44 846次阅读
    深度揭秘<b class='flag-5'>GPIO</b>的<b class='flag-5'>三</b>重身份:从普通IO到AGPIO与Wakeup IO

    GPIO 接口的 0.4-2.7 GHz SP12T 开关 skyworksinc

    电子发烧友网为你提供()带 GPIO 接口的 0.4-2.7 GHz SP12T 开关相关产品参数、数据手册,更有带 GPIO 接口的 0.4-2.7 GHz SP12T 开关的引脚图
    发表于 08-07 18:36
    带 <b class='flag-5'>GPIO</b> <b class='flag-5'>接口</b>的 0.4-2.7 GHz SP12T 开关 skyworksinc

    GPIO 接口的 0.4-2.7 GHz SP10T 开关 skyworksinc

    电子发烧友网为你提供()带 GPIO 接口的 0.4-2.7 GHz SP10T 开关相关产品参数、数据手册,更有带 GPIO 接口的 0.4-2.7 GHz SP10T 开关的引脚图
    发表于 08-07 18:34
    带 <b class='flag-5'>GPIO</b> <b class='flag-5'>接口</b>的 0.4-2.7 GHz SP10T 开关 skyworksinc

    RK3568驱动指南|第十二篇 GPIO子系统-第130章 GPIO的调试方法

    RK3568驱动指南|第十二篇 GPIO子系统-第130章 GPIO的调试方法
    的头像 发表于 06-03 11:32 1438次阅读
    RK3568驱动<b class='flag-5'>指南</b>|第十二篇 <b class='flag-5'>GPIO</b>子系统-第130章 <b class='flag-5'>GPIO</b>的调试方法

    迅为RK3568开发板驱动指南GPIO子系统GPIO子系统API函数的引入

    迅为RK3568开发板驱动指南GPIO子系统GPIO子系统API函数的引入
    的头像 发表于 05-29 14:05 1180次阅读
    迅为RK3568开发板驱动<b class='flag-5'>指南</b><b class='flag-5'>GPIO</b>子系统<b class='flag-5'>GPIO</b>子系统API函数的引入

    迅为RK3568驱动指南GPIO子系统 GPIO操作函数实验

    迅为电子RK3568开发板驱动指南GPIO子系统 GPIO操作函数实验
    的头像 发表于 05-28 15:24 1499次阅读
    迅为RK3568驱动<b class='flag-5'>指南</b><b class='flag-5'>GPIO</b>子系统 <b class='flag-5'>GPIO</b>操作函数实验

    迅为RK3568开发板驱动指南GPIO子系统级节点操作函数实验

    迅为RK3568开发板驱动指南GPIO子系统级节点操作函数实验
    的头像 发表于 05-26 15:39 1672次阅读
    迅为RK3568开发板驱动<b class='flag-5'>指南</b><b class='flag-5'>GPIO</b>子系统<b class='flag-5'>三</b>级节点操作函数实验

    RK3568驱动指南|第十二篇 GPIO子系统-第135章 GPIO子系统与pinctrl子系统相结合实验

    RK3568驱动指南|第十二篇 GPIO子系统-第135章 GPIO子系统与pinctrl子系统相结合实验
    的头像 发表于 05-23 13:47 1192次阅读
    RK3568驱动<b class='flag-5'>指南</b>|第十二篇 <b class='flag-5'>GPIO</b>子系统-第135章 <b class='flag-5'>GPIO</b>子系统与pinctrl子系统相结合实验

    硬件原理图学习笔记

    这一个星期认真学习了硬件原理图的知识,做了一些笔记,方便以后查找。硬件原理图分为三类1.管脚(gpio)和门电路
    的头像 发表于 04-30 18:40 1622次阅读
    <b class='flag-5'>硬件</b>原理图学习笔记