跳转至

开机键,CHG_DET

1、CHG_DET,有些模组型号资料上也曾写作为CHRG_DET或WAKEUP6,历史原因,为同一个信号管脚;

写作CHG_DET或CHRG_DET时会比较有迷惑性,从字面意义上很容易理解为充电器插入检测;

2、充电器插入检测功能确实是原始设计功能,不过现在只做跟PWRKEY一样的功能使用:

特别说明!CHG_DET既不做开机也不做终端功能使用时直接悬空处理即可;

  • 如果CHG_DET接地,芯片上电即开机;

a. 注意!

不同于PWRKEY,CHG_DET实现上电开机功能时需要直接接地,不需要也不能串联电阻接地;

  • CHG_DET不接地时:

a. 模组关机状态下,检测到CHG_DET下降沿,模组启动上电流程;

b. 当系统在启动状态下检测到CHG_DET下降沿时触发中断,是否进入关机过程或其他动作由软件决定;

c. 模组上电开机时,需确保VBAT上电时的起始电压小于0.5V,否则可能会因低电压造成模组时序混乱而无法正常开机;关于这一点的详细介绍,会在“开机时序”章节进行详细介绍;

3、CHG_DET与PWRKEY的不同点是,PWRKEY模组内部上拉到VBAT,CHG_DET模组内部上拉到VDD_1.8V,不过这个区别在实际应用中目前并没有遇到实际有影响的场景;

4、实际硬件设计中,如果将PWRKEY作为开机信号使用,将CHG_DET作为WAKEUP中断信号使用,需要特别注意的是:

如果开机前CHG_DET是直接接地,会导致模组上电直接开机,可能会导致与你产品定义不符的开机表现,也可能与PWRKEY的操作形成冲突,请特别注意;

5、当CHG_DET接实体按键进行拉低执行开机、关机或中断输入动作检测时,实体按键键帽与底座接触时极易产生静电,因此,需要增加TVS进行保护;

推荐TVS型号如下;

样品购买链接:SIM和GPIO用,DFN1006-2封装,AR3321P1LV,应能微-淘宝网

AR3321P1LV.pdf

XESD100N-3V3 Rev. 0.1.pdf

CSLS03FBZ.pdf

PESDR3321P1.pdf

6、CHG_DET的API介绍,详见:21 gpio - 合宙模组资料中心

gpio.CHG_DET

常量含义:命名为CHG_DET,但实际功能同PWRKEY一样
        开机前用于开机,开机后用于中断输入检测,内部固定上拉至一个不对外开放的LDO_1.8V
        CHRG DET 开机前,下降沿触发模组开机;
        CHRG DET 内部上拉,不可外接高电平,只能外接高阻、强下拉或弱下拉;
        USB Vbus 可通过 MOS 管反向连接到 CHRG DET,实现插入 USB 线触发开机;
        不实现插入 USB 线开机时:
        开机前:只能做输入,检测到 CHG_DET下降沿,模组启动上电流程;
        开机后:
        1.开机后和PWRKEY一样的功能和特性;
        2.开机后仅支持双向触发中断,不支持输出;
        3.模组内部固定上拉至LDO_1.8V,因此,不支持上下拉操作;
数据类型:number
示例代码:function chgdet_callback()
             log.info("gpio", "chg_det interrupt triggered")
        end
        gpio.setup(gpio.CHG_DET, chgdet_callback, gpio.PULLUP)
适用产品型号:Air780Exx系列(780EPM/EHM除外)/Air8000系列支持;

因历史原因,CHG_DET也曾被命名为WAKEUP6,所以gpio.WAKEUP6实际就是gpio.CHG_DET,保留两个是为了兼容大家不通历史时期的LuatOS代码;

gpio.WAKEUP6

常量含义:休眠唤醒脚6,不支持输出;
数据类型:number
示例代码:
         function wakeup6_callback()
             log.info("gpio", "wakeup6 interrupt triggered")
         end
         gpio.setup(gpio.WAKEUP6, wakeup6_callback, gpio.PULLUP)
适用产品型号:仅Air8000系列支持