合宙低功耗4G模组经典型号Air780E,支持两种软件开发方式:

一种是传统的AT指令;
一种是基于模组做Open开发。

传统AT指令的开发方式,合宙模组与行业内其它模组品牌在软件上区别不大,在硬件功耗上更有优势;

模组Open开发,合宙采用的是LuatOS方式,相对C-SDK入门更简单,开发更方便,开发时间上也更快。

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

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

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

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

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

一、GPIO复用表

对于GPIO功能复用,请参考如下表格。

▼ GPIO复用表 ▼

二、GPIO特性

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

  • 普通IO

  • Wakeup IO

  • AGPIO

不同特性的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

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)。

3. Wakeup IO

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

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

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

▼ Wakeup IO相关特性 ▼

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

  • 输入输出:仅输入

  • 上下拉:内部可配置

  • 休眠唤醒:支持

  • 驱动能力:30μA

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

  • 休眠电平保持:可保持

三、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),可以大幅减小休眠时输出的高脉冲幅值,使得减小到外设的高电平判别门限以下,也可以避免误动作的情况,但是相应的在某些情况下,会增加功耗,请根据实际情况酌情做出选择。

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上由于电平不匹配而导致的漏洞,有可能会影响系统稳定性。

设计建议:

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

今天的内容就分享到这里了~

想要硬件设计不用愁?首先要搞懂这三类GPIO!的更多相关文章

  1. 想换4K显示器了?那你搞懂啥是4K了吗?

    前言 我们在科技资讯以及电脑显示器.数字电视等电子产品的宣传语中,经常能够看见4K的字样.最近,B站(哔哩哔哩)升级了HTML5播放器和视频云等相关服务,为广大用户提供了超高清(UHD: Ultra ...

  2. 关于AD9516芯片的硬件设计和FPGA程序编写心得

    最近在做一个项目,其中有涉及时钟芯片AD9516的硬件设计和软件编程,有些使用心得,供大家参考讨论. AD9516,这是一个由ADI公司设计的14路输出时钟发生器,具有亚皮秒级抖动性能,还配有片内集成 ...

  3. SLAM+语音机器人DIY系列:(四)差分底盘设计——1.stm32主控硬件设计

    摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...

  4. Android之 看“马达”如何贯通Android系统 (从硬件设计 --> 驱动 --> HAL --> JNI --> Framework --> Application)

    在Android 2.3(Gingerbread) 系统的时候,我写过一篇关于“Android 震动马达系统“的文章,当时的Linux内核还是2.6版本的.写那篇文章的目的,是想彻底的了解从硬件到驱动 ...

  5. 实时人工智能:微软发布Project Brainwave预览版 现场可编程门阵列(Field Programmable Gate Array,简称FPGA) 硬件设计可以迅速演进

    https://mp.weixin.qq.com/s/bAPiPURZd-YsbV5PbzwpQQ 编者按:随着各大公司对于数据计算的要求越来越高,实时AI成为了研究者们关注的重点.在美国西雅图举行的 ...

  6. USB2.0学习笔记连载(六):USB2.0硬件设计需要注意事项

    笔者在设计USB2.0时找到了一个官方给的硬件设计正确设计指南,其中有些内容还挺nice的.不单单只是USB的设计,其中有些思想可以应用到其他的场合中. 对于USB2.0而言,全速状态下可以达到480 ...

  7. W5100硬件设计和调试要点

    文章来源:成都浩然 与MCU的接口 W5100与MCU接口採用并行总线方式(假设要使用SPI接口,建议採用W5200),因此W5100与MCU的接口设计相对简单.以AT89C52为例,例如以下图所看到 ...

  8. HDMI接口基础知识及硬件设计

    参考资料:http://blog.csdn.net/u013625961/article/details/53434189: http://blog.csdn.net/u014276460/artic ...

  9. 硬件设计--DC/DC电源芯片详解

    本文参考:http://www.elecfans.com/article/83/116/2018/20180207631874.html https://blog.csdn.net/wangdapao ...

  10. usb工业相机之硬件设计-双缓冲-双端口sdram-fpga

    usb工业相机之硬件设计-双缓冲-双端口sdram-fpga 在前期的产品设计中,采用cb提供的结构,68013直接操作摄像头,iic配置摄像头寄存器,板载晶振提供时钟,摄像头的pclk直接接ifcl ...

随机推荐

  1. 【工程应用十一】基于PatchMatch算法的图像修复研究(inpaint)。

      这个东西是个非常古老的算法了,大概是2008年的东西,参考资料也有很多,不过基本上都是重复的.最近受一个朋友的需求,前后大概用了二十多天时间去研究,也有所成果,在这里简单的予以记录.    图像修 ...

  2. TeX Live 安装

    Ubuntu sudo apt install texlive-full 其他可用软件包: 软件包 压缩包 磁盘空间 texlive-latex-base 59 MB 216 MB texlive-l ...

  3. 【Python自动化】之运用Git+jenkins集成来运行展示pytest+allure测试报告

    目录: 一.安装allure 二.生成allure报告 三.结合jenkins来集成pytest+allure 四.结合Git集成Jenkins+Pytest+Allure测试报告 五.附录 一.安装 ...

  4. elementUI 时间线居左显示

    elementUI 时间线居左显示 一.vue + elementUI 实现时间线 Timellne 中时间戳居左显示 二.效果图 三.实现方法 关键代码: <el-timeline> & ...

  5. Facebook – Reviews (Graph API)

    前言 企业网站经常需要放 customer reviews 来增加 conversion. 常见的 Reviews 平台有 Facebook Reviews 和 Google Reviews. 这篇, ...

  6. 三牧校队训练题目 Solution

    前置知识: 搜索 队列 栈 递归 (提高难度)记忆化搜索 T1:P1226 [模板]快速幂 暴力想法:\(a\times a\) 进行 \(b\) 次,每次 \(a\times a\mod p\)​. ...

  7. ajax发送 put和delete请求

    AJAX发送 PUT和DELETE请求(转载)    转自:https://blog.csdn.net/liuyuanjiang109/article/details/78972644 ajax使用r ...

  8. ARMv8 寄存器

    本文主要介绍 Armv8/v9 指令集架构中常用部分,详细的还是要看 Arm architecture reference manual. ARMv8 架构 ARMv8 架构支持3种指令集: T32, ...

  9. 2022年2月国产数据库排行榜: OceanBase“三连增”重夺探花,GaussDB实现本月最大涨幅引期待

    寒辞去冬雪,暖带入春风.2022年2月,虎年开年的国产数据库流行度排行榜已在墨天轮社区发布,本月共有195个数据库参与排名.排名前十位的数据库分数增减幅度较大,整体排名略有波动. 首先,我们来看看排行 ...

  10. 使用nacos上传配置文件报错

    1.使用nacos导入配置文件报错:未读取到合法数据,请检查导入的数据文件. 对比在naocs server中导出的文件,发现是少了一级目录.需要创建一个文件夹,名称为组的名称.因为在nacos上传文 ...