开关机
简介
模块支持上电后的开机、关机、复位三种状态,本章节会对其进行相应的介绍。
特性
PWRKEY:
VILmin=0V,VILmax=0.5V,推荐值0.1V以下;
引脚状态:模块供电后PWRKEY内部拉高,满足低电平输入持续时间超过1.5s后开机
RESET:
VILmin=0V,VILmax=0.5V,推荐值0.1V以下;
引脚状态:模块供电后RESET内部拉高,满足低电平输入持续时间超过100ms后重启
开机
模块在上电后默认不会自动开机,需要PWRKEY管脚来给出开机信号。拉低PWRKEY管脚1.5s以上进入开机流程,开机成功后PWRKEY管脚可以释放。
参考设计
1.使用开集驱动电路来控制PWRKEY管脚,可通过检测 V_GLOBAL_1V8 管脚的电平来判别模块是否开机,下图为参考电路:
图表:开机驱动参考开机电路
2.另一种控制PWRKEY管脚的方法是直接使用一个按钮开关,按钮附近需放置一个TVS管用以ESD保护。下图为参考电路:
图表:按键开机参考电路
3.也可将模块的PWRKEY直接接地,实现上电自动开机功能。a.需要注意,如果是at固件上电开机模式下,可以调用AT+CPOWD=1关机,但是想再次开机必须把powerkey 和地断开从新拉到地1.5s才会开机或者按复位键拉低到地1.5s也可以开机,否则开不了机。b.需注意如果是lua固件,上电自动开机模式下,直按powerkey按键是开关不了机的,可以通过调用如下接口:
–加载powerKey测试模块
require “powerKey”
–定义长按3s 关机
powerKey.setup(3000, function() rtos.poweroff() end)这个接口配置开关机
–(PWRKEY 接地(不接USB) 可以通过rtos.poweroff()关机,不会反复重启。)
注意:如果PWRKEY使用电阻下拉方式实现上电开机的情况下,要确保下拉电阻不大于1K欧姆
对于用锂电池或其他可充电电池供电的应用场景,推荐优先采用按键开机的方式。
如果要上电开机,除了要把PWRKEY 拉低以外,还必须把 VBUS 管脚接到充电器上来触发充电开机,或者在 VBUS 和 VBAT 之间加一个肖特基二极管来触发充电开机,否则在锂电池过放导致模块低电压关机后,在给锂电池重新充电时因为电压还不稳,而模块只会检测到一次 PWRKEY 拉低的中断,会导致概率性无法开机。
增加这颗肖特基二极管后会增加约 0.6mA 的待机电流。
参考电路如下:
关机
以下的方式可以关闭模块:
AT版本关机
• 正常关机:使用PWRKEY管脚关机
• 正常关机:通过AT指令AT+CPOWD关机
LuatOS-Air版本关机
• 调用接口关机:rtos.poweroff()
正常关机:使用PWRKEY管脚关机
正常关机:通过软件关机
低电压自动关机
PWRKEY管脚关机:
开机状态下,PWRKEY管脚拉低1.5s以上时间,模块会执行关机动作。
关机过程中,模块需要注销网络,注销时间与当前网络状态有关,经测试约2s~12s,因此建议延长12s后再进行断电或重启。
低电压自动关机:
模块在运行状态时当VBAT管脚电压低于软件设定的关机电压时(默认设置3.2V),软件会执行关机动作。
复位
拉低 RESET_IN_N 引脚 100ms 以上可使模块复位。
参考设计
RESET_IN_N信号对干扰比较敏感, 因此建议在模块接口板上的走线应尽量的短,且需包地处理。参考电路:
图表:复位参考电路
1.确保PWRKEY和RESET_IN_N引脚没有大负载电容。
2.RESET_IN_N内部上拉到VBAT,禁止外部上拉 。
开关机及复位控制
LUA开发相关API
常见问题及故障排查
1 无法正常开机
确定模块供电端是否在工作范围内,电压是否稳定
是否有拉低开机信号去执行开机动作
复位脚电平是否处于高电平状态
2 低电自动关机后,等电压恢复正常,为什么开不了机?
1.3基线增加了低电压检测关机功能,1.2基线没这个功能不会出现上电不开机问题
1.3基线低电压关机后需按复位键,或者vbat完全断电,或者vbus供电(at版本不行),都可以重新上电开机
AT版本不支持充电开机,AT版本如果powerkey按键接地后, 软件关机,就无法在开机了,通过AT设置电压后, 不会触发软件关机, 只会硬件掉电,这样电压上来就可以通过按键开机
LUA版本支持充电开机,所以vbus供电后就可以开机。
针对带电池cat1设备,烧录1.3基线后,电池电压低于3v时,重新上电不能自动开机总结如下。
硬件状态 LUA固件 AT固件
powerkey接地,vbus不供电 1.可以自动开机
2.电池电压低于3v时自动关机后,重新上电到正常电压,不能自动开机;按照以下两种方式中任意一种方式操作,才能自动开机
(1)需按复位键,或者vbat完全断电再上电到正常电压,才能重新上电开机,
(2)需烧录大于等于v3035版本【关闭“低电自动关机”功能、关闭“开机检测低电不允许开机”功能】才能上电可以自动开机 1.可以自动开机
2.电池电压低于3v时关机后,重新上电到正常电压,不能自动开机
(1)需按复位键,或者vbat完全断电再上电到正常电压,才能重新上电开机
(2)需烧录大于等于v301840版本【关闭“低电自动关机”功能、关闭“开机检测低电不允许开机”功能】,可以上电开机
powerkey接地,vbus供电 1.可以自动开机
2.电池电压低于3v时关机后,重新上电,能上电开机 1.可以自动开机
2.电池电压低于3v时关机后,重新上电,不能自动开机
(1)需按复位键,或者vbat完全断电再上电到正常电压,才能重新上电开机
(2)需烧录大于等于v301840版本可以上电开机
powerkey不接地,vbus不供电 1.不能自动开机
2.需按键开机,开机后,电池电压低于3v时关机后,重新上电,不能自动开机,需烧录大于等于v3035版本才能上电开机 1.不能自动开机
2.需按键开机,开机后,电池电压低于3v时关机后,重新上电,不能自动开机,需烧录大于等于v301840版本可以上电开机
powerkey不接地,vbus供电 1.能上电开机 1.不能上电开机
2.需按键开机,开机后,电池电压低于3v时关机后,重新上电,不能自动开机,需烧录大于等于v301840版本可以上电开机
722ug模块 第6脚不接VBAT 不开机,需烧录大于等于v3035版本才能开机,开机后和其他cat1设备一样分上述四种情况,adc(5)会检测异常 不开机,需烧录大于等于v301840版本才能开机,开机后和其他cat1设备一样分上述四种情况
722ug模块 第6脚接VBAT 能自动开机,开机后和其他cat1设备一样分上述四种情况 能自动开机,开机后和其他cat1设备一样分上述四种情况
3 powerkey脚接了个10k电阻到地,为什么不能上电开机?
如果要上电开机,powerkey脚可以 接个小于1k的电阻到地或者直接接地。
4 复位管脚拉低多少时间可以复位模块
50ms以上
5 内部的引脚用不到 都可以悬空吗 包括GND
gnd打样手焊可以不焊,后续出货要接上
6 不开机&不识别usb端口&烧录不了固件&开机出现SPR2端口uboot模式(变砖),处理步骤如下:
1.正常情况,模块vbat供电,powerkey 管脚拉到地1.5s 以上就可以开机,1.8v输出就是开机标志
2.先看是什么情况下导致的?
(1) 如果是烧录程序导致不识别端口,大概率是变砖,用uboot方式烧录,烧录方法参考第8点。
(2) 如果是第一次打样,按如下方式排查:
3.接个好的板子看能不能识别到端口,排除电脑环境和usb线和usb驱动问题,检查下usb座子到模块之间线路有没问题?
4.也可以直接飞线到模块usb脚到电脑usb口测试,把tvs管和电容都去掉测试。
5.模块供电,复位脚电压,1.8v电压是不是ok ,1.8v有没对地短路,
断电后万用表打到二极管档,红接地,黑接vbat,1.8v ,usb三个脚测量,数值在400-500是正常,如果偏差大可能有硬件损坏。
6.按开机键,1.8v出来没,如果有1.8v说明开机了
7.上面都没问题,用uboot烧录个at固件试下。
8.uboot强制烧录步骤:先选个at固件,勾uboot点下载,然后powerkey脚对地短接,uboot和1.8v短上,最后通电,看到 进度条在跑了就行了,烧录完后要断开1.8v和uboot管脚
9.如果能烧录成功,但是不能识别到usb虚拟端口,一般是vbus没供电或者tvs管导致,可以去掉usb上的tvs管和电容测试。
10.如果设备管理器一直有SPR2端口:
(1)看是否uboot和1.8v短路。
(2)uart2的rx和tx是否短路,串口是否对地短路。
(3)1.8v是否对地短路。
(4)KEYIN1管脚是否一直被拉高。
(5)如果是烧录中途失败导致,就用uboot方式重新烧录个at固件。