一、背景
近些年物联网行业如日中天,越来越多的设备需要接入网络平台。因此无线通信模组便成为了连接物联网感知层和网络层的关键环节,属于底层硬件环节,具备其不可替代性,且无线通信模块与物联网终端存在一一对应关系。目前M2M物联网模组厂家如雨后春笋,此处不进行一一概述,但各个厂家的模组通讯原理都是大同小异,可以相互作为参考。
二、模组开机电路推荐:
任何电子设备的使用,首先考虑的都是其供电和开机;作为物联网模组也是同样的道理。关于模组的供电可以参考对应模组的硬件设计手册;这里重点讲解模组开机的操作步骤;以芯讯通(SIMcom)的2G模组SIM800C为例(其他的厂家模组也是同样的条件和方法,适用于所有的2G/3G/4G/5G/NB模组),根据官方手册《SIM800C_硬件设计手册_V1.03》给出的推荐电路有两种,如下图11/图12所示;
提示:模块内部有100K的上拉电阻,所以模组电源3.8V供电后,此引脚默认应该为高电平;模块开机方法是:通过拉低 PWRKEY 引脚至少 1 秒然后释放。
三、模组开机步骤推荐:开机的时序如下图13所示,
注意:1、模块正常供电(须满足DC3.8V/3A条件),开机PWRKEY引脚拉低的时间T1应该大于1秒,并且拉低的低电平应该小于0.7V,之后再释放PWRKEY引脚;
2、从拉低PWRKEY引脚到串口有效的时间T2大于3秒,并且在这个过程中最好不要给模组的串口发任何的数据(即使发送AT指令串口也不会有数据返回;强烈推荐3秒后再发送AT指令,否则会造成模块开机成功,但是串口不响应AT命令的问题);
四、模组是否开机成功判断:
1、硬件上可以通过模组的STATUS引脚进行判断(所有的2G/3G/4G/5G/NB模组都一样),模组正常开机后此引脚应该为高电平;
2、串口发送“AT\r\n” 指令,模组正常开机且串口有效后会回复“OK”,表示指令通讯成功(注意串口的配置:不同厂家的模组,自适应支持的波特率不同;不同的模组开机后默认支持的波特率也会有所不同,请参考具体的模组手册说明或咨询厂家);
五、模组开机后出现AT指令无反应/模块开机失败/模块开机不响应AT指令等问题的排查方法:
1、模组供电:必须满足模组最低的供电电压和电流,采用推荐的供电电压(SIM800C是3.8V)且满足最大的电流条件;最好采用稳压电源供电调试;不推荐使用电脑USB口供电,因为电脑USB口输出的电流有限(部分NB模组除外);
2、模组开机时序:对于图13中T1和T2的时间是否满足要求,可以根据需要适当的延长30%-50%的时间,确保时序正确;
3、判断模组STATUS引脚电平:测量模组的STATUS引脚电平是否为高电平;如果为低电平说明模组没有开机成功;再检查1-2步骤是否出现问题;
4、发送串口指令:根据模组支持的默认波特率(默认波特率请参考对应的模组手册说明或咨询厂家),发送“AT\r\n” 指令;"\r\n"意思是需要发送回车换行字符,否则模块不响应AT指令;有些串口助手上会有“发送回车换行”的复选框,打上勾再发送“AT”,正常情况下模块会立即响应“OK”;
5、万能的重启大法:根据上述的步骤,相信你应该能够实现99.99%的模组正常开机;如果你很不幸的属于剩余那0.01%,不要慌,可以采用万能的模组重启大法。
如果模组重启后问题还是照旧出现,相信我,你可以去买彩票了!
如果真的出现了重启也无法解决的问题,推荐咨询供应商或直接咨询厂家,获取技术支持。
备注:因为设备间的通讯设计到TTL或者RS232等协议和模组之间的硬件连接,这里不赘述,后面再进行详细的描述。默认认为硬件上连接是没有问题的(交叉共地连接),软件上驱动是正常的(特别是PC端不同USB的驱动安装)。
------------------------------------------------------------------------------------------------------------------------------------------
因为小编自己能力水平有限,文中难免有错误或表达不到的信息,还望广大阅读者留言批评指正,谢谢。