硬件大神分享!4G模组Air780EPM——GPIO的设计说明

开发者可结合Air780EPM的GPIO特性,探索如AIoT传感器融合、无线充电控制等创新场景,同时持续优化电源管理策略,以延长设备生命周期。建议在实际项目中结合示例代码,通过模块化设计降低开发复杂度,最终实现兼具功能性与经济性的物联网解决方案。

一、概述

开发方式:Air780EPM 仅支持 LuatOS 软件开发方式,不支持 AT 指令开发方式。若使用 AT 指令开发方式,可选择 Air780EQ。

LuatOS 开发优势:相对 C-SDK 入门更简单,开发更方便,开发时间更快。

适用对象:本文的 GPIO 设计指导针对 Air780EPM 用于 LuatOS 开发方式时的注意事项。

GPIO 及 WAKEUP 管脚数量:Air780EPM 模块共支持 38 个 GPIO 和 3 个 WAKEUP 唤醒管脚。38 个 GPIO 口本身有多重复用功能,需根据实际应用进行选择配置。38 个 GPIO 中分为普通 GPIO 和 AGPIO,AGPIO 又有 AGPIO 和 AGPIOWU(AGPIO+WAKEUP)的复用。6 个 WAKEUP 管脚为 AGPIOWU0-2 和 WAKEUP0、VBUS、USIM_DET,用于低功耗模式/PSM+ 模式下的休眠唤醒。

二、GPIO 复用表

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

三、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

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

设计建议:

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

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

4G模组Air780EPM的SIM卡接口设计指南主要涵盖以下几个方面: ### 1. SIM卡接口的基本功能 SIM卡接口用于读取SIM卡信息,以便在注册4G网络时进行鉴权和身份验证,是4G通信系统的必要功能。Air780EPM支持两路SIM卡,允许设备灵活选择并切换网络[^2]。 ### 2. 设计规范与注意事项 为了确保设备在极端环境或复杂网络场景下的稳定运行,设计时应遵循以下规范: - **电源管理**:确保SIM卡接口的电源稳定,避免电压波动影响SIM卡的正常工作。 - **信号完整性**:优化信号线布局,减少噪声干扰,保证数据传输的可靠性。 - **物理接口设计**:选择合适的SIM卡座,并确保其与模组之间的连接牢固可靠。 - **热插拔支持**:设计时需考虑SIM卡的热插拔功能,以提高用户体验。 ### 3. SIM卡初始化流程 SIM卡初始化流程通常包括以下几个步骤: - **上电复位**:当设备启动时,对SIM卡进行上电复位,确保其进入初始状态。 - **协议选择**:根据SIM卡的类型(如GSM或UMTS),选择合适的通信协议。 - **文件系统读取**:读取SIM卡中的文件系统,获取必要的用户信息和网络参数。 - **鉴权与注册**:通过读取的SIM卡信息进行网络鉴权和注册,确保设备能够顺利接入4G网络。 ### 4. 射频隔离设计 射频隔离设计是确保SIM卡接口与其他射频电路之间互不干扰的重要环节。设计时应考虑以下几点: - **物理隔离**:通过合理的PCB布局,将SIM卡接口与其他高频电路隔离开来。 - **屏蔽措施**:使用金属屏蔽罩或其他屏蔽材料,减少电磁干扰。 - **接地设计**:确保SIM卡接口的接地良好,以降低噪声和干扰。 ### 5. 自动化测试脚本编写方法 为了提高测试效率,可以编写自动化测试脚本对SIM卡接口进行测试。测试脚本应包括以下内容: - **初始化测试**:验证SIM卡的上电复位和协议选择是否正常。 - **数据读取测试**:检查SIM卡文件系统的读取是否正确。 - **网络注册测试**:测试设备能否通过SIM卡成功注册到4G网络。 - **稳定性测试**:模拟长时间运行,确保SIM卡接口在各种环境下都能稳定工作。 ### 示例代码 以下是一个简单的Python脚本示例,用于测试SIM卡接口的基本功能: ```python import serial def test_sim_card(): # 打开串口连接 ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1) # 发送AT命令测试SIM卡 ser.write(b'AT\r\n') response = ser.read(100) print("Response to AT command:", response.decode()) # 发送AT命令读取SIM卡信息 ser.write(b'AT+CPIN?\r\n') response = ser.read(100) print("Response to CPIN command:", response.decode()) # 关闭串口连接 ser.close() # 运行测试 test_sim_card() ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值