查看: 380|回复: 0

[应用笔记] NB861&MB261&MB961注意事项及FAQ_V2.0

[复制链接]

77

主题

118

帖子

1403

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1403
发表于 2024-2-3 15:22:51 | 显示全部楼层 |阅读模式
  一、引言

  本文档介绍利尔达展锐平台NB-IOT在开发和使用过程中重要注意事项和常见的问题,用户可以把本文档作为工具手册使用。在实际客户项目开发中,如果遇到问题,可优先参考此文档检查是否有相同或者相似的问题解决方案,快速解决问题,提高项目开发速度和问题解决效率。

  备注:本文所使用的AT指令,如无特殊说明,请参考文档模组相对应的《AT命令手册》。

  前线技术人员在特定场景应用时,优先确认&参考飞书对外相关资料,不同系列模组更新文档后都会同步上传到飞书。
图1.1 飞书对外资料知识库

  二、设备应用设计指导

  2.1 模组信息
表2-1 展锐8811系列模组参数对比

  备注:MB261 RAC-B01兼容MB26 Y0C、BC26
     MB961 RAC-B01兼容MB86、BC95
     NB861 RAC-B01兼容NB86-G
图2.1 利尔达通用模组兼容对比

  2.2 硬件设计

  产品硬件设计需参考各个模组对应的《NB-IoT模块硬件应用手册》,客户原理图、PCB绘制完成后,建议提交我们进行审核再打板。模组设计常见注意事项列出如下:
  •电源走线≥0.7mm(走线越长线宽越宽),电源4个电容按照硬件手册布置。
  •NB正常起振时间100mS,建议MCU上电后延时1S在进行NB操作。
  •Boot引脚与Reset引脚至少需要预留测试点,便于固件升级。
  •Reset走线必须包GND处理,不可与wakeup引脚平行走线。
  •USIM_DATA内置上拉电阻,理论上不需要预留上拉电阻的位置,但是如果走线过长,建议外部增加10K电阻靠近卡槽放置。
  •LOG口预留测试点,注意走线尽量短并包GND处理,避免LOG口干扰。

  2.3 软件设计

  参考《Lierda NB861&MB261&MB961 设备(MCU)应用设计指导》。

  2.4 固件烧录

  2.4.1 固件包说明


  用户收到模组后,可通过ATI命令查询当前批次的模块固件版本号。用户在反馈问题给利尔达技术支持或者研发时,请务必将模块固件版本号提供给利尔达,以辅助分析或复现问题。

  备注

  ATI //查询模组固件版本号

  Lierda
  MB261_RAC_78X
  Revision:223305Lierda88110206 //原厂版本+Lierda+芯片+特征号+版本号
  OK

  2.4.1.1 获取固件包和相关资料

  利尔达在发布固件时会提供相应的《固件版本更新说明》,用户也可以咨询对应技术支持工程师获取最新版本的固件包和相关资料。

  2.4.1.2 固件包文件介绍

  固件包为一个.pac文件,用户自行烧录时只需要将其导入到固件下载工具UpgradeDownload中,即可烧录固件。
图2.2 展锐8811系列模组标准固件

  2.4.2 固件包下载

  固件:MB261_RAC_78X_....pac
  工具:UpgradeDownload.exe
  文档:《Lierda NB861&MB261&MB961_固件烧录_应用指导》

  2.4.2.1 升级准备

  展锐8811系列模组只有在进入BOOT升级模式后,才能进行固件升级,因此在进行升级固件操作之前,需要先操作模组进入BOOT升级模式。

  对于模组端的操作:拉高模组的BOOT引脚→按下RST引脚(短接GND)→松开RST引脚→拉低模组的BOOT引脚。此时模组就进入了BOOT升级模式,此模式下,向NB模组发AT指令,模组不会响应(即不会回复信息)。

  2.4.2.2 UpgradeDownload.exe工具参数配置
图2.3 展锐8811系列模组固件下载方式

  2.4.2.3 下载确认
图2.4 升级成功确认

  设备下载固件时,在状态栏会提示固件下载进度,升级完成提示Passed。模组固件升级成功后,需要对模组进行硬件复位操作,使模组退出BOOT升级模式。用户可以使用sscom串口工具读取模组的固件版本进行确认是否升级成功。

  2.5 常用开发工具

  2.5.1 串口工具

  串口工具是NB调试最重要的工具,建议使用sscom,软件自带多字符串可以便于用户存储常用的AT指令。建议在使用串口工具是勾选“加时间戳”,同时必须勾选“加回车换行”。

  模组默认波特率为9600bps,可通过AT+IPR配置串口波特率,该命令配置后会立即生效,且PSM模式下唤醒后有效,但是不会自动保存至NVRAM,需要通过AT指令AT&W来进行保存。
图2.5 串口工具sscom应用示例

  2.5.2 Log抓取工具(ArmLogel)

  展锐8811系列模块常用的Log抓取工具是Logel。当模块出现用户业务异常时,一般难以通过应用层的AT Log定位问题,此时需要抓取问题的AP Log进行辅助分析。通常,分析如下几类问题时需要抓取AP Log:
  •网络相关异常,如入网时间过长、入网失败
  •模块异常重启或死机
  •应用协议相关业务失败,比如发送数据平台未返回ACK,TCP发送数据失败等
  •其他内核问题

  备注:抓取Log更详细说明参考文档《Lierda NB861&MB261&MB961_LOG抓取_应用指导》
图2.6 展锐8811系列模组抓取Log示例

  2.6 网络注册流程

  模块注册网络流程主要是指从模块开机到PDP激活(Attach Complete)的过程。该过程对用户不可见,需要了解的客户查看下图即可,业务流程如下:
图2.7 模块开机网络附着流程

图2.8 小区搜索流程

  2.7 DFOTA

  DFOTA指差分固件空中差分升级,即通过差分包实现固件升级,所述差分包仅包含模块的当前运行的固件版本和升级的目标版本之间的差异,相对于全量升级方式,DFOTA差分升级有更小的更新包,降低了数据传输量、缩短了传输时间和功耗。

  为了满足模组固件包的OTA升级功能,展锐8811系列模组提供了两种主要的DFOTA方式:中国电信IoT/AEP平台升级和中国移动OneNET平台升级,具体文档参考《Lierda NB861&MB261&MB961
DFOTA_应用指导。

  2.8 低功耗管理

  在嵌入式应用中,系统的功耗越来越受到重视,这对于需要电池供电的便携式系统尤为重要。降低系统功耗,延长电池的寿命,就是降低系统的运营成本。系统功耗的最小化需要从软、硬件两方面入手,下面重点介绍如何从硬件、软件方面降低系统功耗。

  2.8.1 硬件设计

  模组通用硬件连接,与MCU一般会连接4个引脚,分别是RST、Wakeup、TX、RX。
图2.9 NB-IoT模组引脚示例

  其中Reset、Wakeup引脚模组内部有上拉,不同模组所属电压域不同。用户供电电源通常为3.3V,所以MCU与Reset、Wakeup两个引脚不能直连,需要通过三极管转换操作(具体可参考各个模组对应的硬件设计手册),如果用户的MCU已经与这2个引脚直连,默认情况下MCU对应引脚必须设置为高阻态以确保设备功耗正常。切记直连情况下MCU不能设置为高电平,否则长时间工作可能导致模组异常。

  功耗异常大部分来自MAIN_TXD、MAIN_RXD在休眠状态下与MCU的适配问题,所以低功耗异常时可优先排查此时MCU引脚的配置。

  1)MAIN_RXD引脚

  展锐8811系列模组MAIN_RXD内部有上拉,低功耗的时候该引脚对应外部需设置为高阻态。即用户通过三极管连接MCU和模组MAIN_RXD时,三极管需为截止状态;MCU直连模组MAIN_RXD时,对应引脚需设置为高阻态。切记MAIN_RXD引脚不能外部上拉或者下拉,会导致进入PSM模式异常。

  2)MAIN_TXD引脚

  展锐8811系列模组MAIN_TXD低功耗的时候为高电平,MCU侧低功耗设置为高阻态(优先)。即用户通过三极管连接MCU和模组MAIN_TXD时,三极管需为截止状态;MCU直连模组MAIN_TXD时,对应引脚需设置为高阻态。切记MCU不能设置下拉或者低电平。

  2.8.2 软件设置

  展锐8811系列模组休眠需要关注两个功能模块:PMU和Modem。PMU相当于模组内部的MCU,有5种休眠模式,如图2.10所示。UIS8811芯片默认睡眠状态为PM3模式,通过AT唤醒时,会丢掉第一条唤醒AT命令。用户可以通过AT+UNBCFG指令对模组休眠状态进行设置。
图2.10 展锐8811系列模组低功耗模式

  模组Modem的工作模式分为Connect、Idle和PSM三种模式,模式切换由网络分配参数决定(主要取决于卡的APN,其次CPSM、EDRX参数),用户可以通过立即释放RRC的方式快速进入低功耗模式。

  AT*NBIOTRAI=1 //设置开启RAI功能
  AT*RAIREQ //设置RAI快速释放

  三、FAQ(常见问题

  3.1 产品信息

  3.1.1 如何选择合适的产品型号?

  前期产品选型请咨询利尔达销售或FAE,也可以发送邮件customerservice@lierda.com寻求帮助。

  3.1.2 如何获取模组的固件和相关文档?

  ◦正式固件和相关文档,从企业微信微盘上下载或联系对应支持人员。
  ◦定制固件,请咨询PM或AE。

  3.1.3 如何获取模组的认证信息?

  请联系相应利尔达支持人员获取。

  3.1.4 国外推广模组和国内是否相同?

  由于国内外模组认证以及支持的频段不同,在海外模组可能无法正常工作或者嵌入模组的整机产品可能无法通过最终认证。对于海外市场,建议使用针对海外市场的模组型号,如有需要,请联系对应PM进行确认。

  3.1.5 模组是否支持R14功能?

  展锐8811系列模组支持R14功能,默认为开启状态,通过AT指令AT+NCONFIG?可查询当前使用的3GPP协议版本。
通过AT指令开启R13或R14的方式如下:
  ◦发送AT指令AT+UNBCFG="SETRLSEVER",1,0后,通过AT指令AT&W保存到NV,即可开启R13,该配置重启后生效,掉电自动保存。
  ◦发送AT指令AT+UNBCFG="SETRLSEVER",1,1后,通过AT指令AT&W保存到NV,即可开启R14,该配置重启后生效,掉电自动保存。

  3.1.6 模组支持哪些频段?

  展锐8811系列模组支持的频段为B5、B8。

  3.1.7 模组是否支持内部看门狗?

  展锐8811系列模组支持内部看门狗。当模组出现死机、线程卡死等异常时,会自动触发看门狗并重启,看门狗超时时间是20秒,用户不可配置。

  3.1.8 模组复位打印的信息为什么会不同?

  展锐8811系列模组不同的复位方式会打印不同的信息:

  ◦模组开机上电(硬件重启,上下电)
  REBOOT_CAUSE_APPLICATION,0x0000,0x1
  Lierda

  ◦RST引脚(按键)复位重启
  REBOOT_CAUSE_APPLICATION,0x0000,0x3
  Lierda

  ◦AT+NRB软复位重启
  REBOOT_CAUSE_APPLICATION,0x0000,0x0
  Lierda

  3.2 模组供电

  3.2.1 低压工作条件下是否会对模组产生影响吗?

  当模组的供电电压低于正常工作电压范围最小值Vmin时,极易发生模组固件跑飞,从而造成模组不可恢复的宕机故障,因此请务必保证模组供电在正常工作电压范围内。

  当给模组的供电电压接近标定范围上限/下限时,为了防止供电电压超出供电范围,应注意电源纹波不能太大,不要让供电电压波动到标定范围外。

  3.2.2 模组对供电电压和驱动能力有什么要求?

  模组电压值范围为2.2V~4.2V,典型值3.6V(具体以相应的模组硬件应用手册为准),电流大于0.5A。若输入电压与模组的供电电压的压差不是很大,建议选择LDO作为供电电源;若输入输出之间存在比较大的压差,则使用DC-DC进行电源转换。

  3.2.3 模组上电时序有什么要求?

  VBAT上电时间需要保证在50ms以内。

  3.2.4 电源输入引脚的电容是否可以减少?

  电容主要有四种作用,分别是储能、滤波、旁路和去耦。电源引脚处的3个小电容主要是去除高频干扰,另一个稍大的电容主要是提高电源的续流能力和稳定电压,用户可以根据实际电源测试结果酌情增减电容。

  3.2.5 展锐8811系列模组为什么有时候会自动复位?

  展锐8811系列模组内部有电压跌落检测机制,分高压、低压模式。

  Vbat≥3.0V,高压模式,当检测到电压低于2.65V时,模组复位。跌落时间>10mS复位后推送信息0x1,跌落时间<10mS复位后推送信息0x41。

  Vbat<3.0V,低压模式,当检测到电压低于1.9V时,模组复位。跌落时间>10mS复位后推送信息0x1,跌落时间<10mS复位后推送信息0x41。

  3.3 固件升级

  3.3.1 为何固件升级失败?

  固件升级失败的原因一般为以下几个原因:

  1)未进入下载模式

  模组BOOT引脚拉高后,通过RESET引脚复位模组,再松开BOOT引脚即可进入下载模式;或者发送AT指令AT^FORCEDNLD,模组也会进入下载模式。

  2)串口转换芯片不支持921600bps

  由于模组在固件升级时,波特率需要使用921600 bps,如果串口转换芯片最高速率不支持921600bps,则会导致下载失败,需更换其他USB转串口工具。推荐使用如下串口芯片:
  ◦四路串口芯片FT4232
  ◦两路串口芯片XR21V1412
  ◦单路串口芯片CP2102、XR21B111L16

  3)模组未开机导致下载失败

  模组上电后,可以通过VDD_EXT电压来判断模组是否正常开机。如果开机成功,VDD_EXT电压为3V。

  4)串口被占用

  若用作升级固件的串口被占用,则开启升级后会显示Failed:Open port fail。

  5)串口飞线接触不良

  上述原因均排除后,请检查串口线或飞线是否接触不良。

  3.3.2 打开UpgradeDownload为何显示缺少dll文件?

  运行库是程序在运行时所需要的库文件,通常运行库是以dll形式提供的,而UpgradeDownload的运行需要依赖微软Visual C++运行库,如果没有安装Visual C++运行库文件或者安装的版本不完整,就可能会导致UpgradeDownload启动时报错,提示缺少dll文件。

  解决方法是搜索“微软VC++运行库合集”并进行下载安装。
3.1 微软VC++运行库合集

  3.3.3 固件升级失败怎么排查?

  1. 检查下载线连接是否正确,下载线要连接模组的DBG_TXD、DBG_RXD、GND。
  2. 检查DBG_TXD、DBG_RXD是否由于贴片或者焊接问题与其他引脚短路。
  3. 串口转换芯片不支持921600bps,更换FT4232/CP2102串口转换工具对比尝试,或降低波特率进行固件升级。
  4. 检查供电以及开机是否正常,测量VBAT电压是否在模组工作电压范围内,VDD_EXT电压是否为3V。
  5. 检查下载口电平是否匹配。
  6. 更换电脑USB口或者更换电脑对比测试。
  7. 模组可能损坏(静电击穿、炉温过高可能导致损坏),更换模组对比测试确认。

  3.4 常用工具

  3.4.1 Logel为什么无法抓取Log?

  依照LOG抓取应用指导对Logel进行配置后依然无法看到Log时,可对模组进行复位或重新上电,即可在Logel中看到Log的输出。

  3.4.2 SSCOM为何无法正常使用?

  ◦串口选择错误或串口被占用,请确认主串口是否可以正常使用。
  ◦未勾选“Send With Enter”,导致AT命令发送后没有回复。

  3.5 串口通信

  3.5.1 主串口默认波特率是多少?

  主串口默认波特率为9600bps,可以使用AT+IPR配置波特率。该命令立即生效,且PSM模式下唤醒后有效,但是不会自动保存至NVRAM,需要通过AT指令AT&W来进行保存。

  3.5.2 当模组处于PSM模式,串口能否接收数据?

  展锐8811系列模组可以通过串口唤醒,进行数据收发,但是通过AT指令唤醒模组时,会丢掉第一条唤醒AT指令;通过拉低WAKEUP_IN引脚也可唤醒模组,唤醒模组后发送AT指令会有响应。

  备注:MCU控制WAKEUP_IN引脚拉低唤醒模组后,先发送AT指令AT给模组,当模组返回OK后,再继续发送业务,不建议唤醒模组后立即发送数据。

  3.5.3 串口电平是多少V?

  如果模组的串口电压和外部MCU的串口电压不一致,在通信时可能对模组引脚造成永久性损坏,所以需要在硬件上做电路匹配,具体匹配电路参考各个模组对应的《硬件应用手册》。串口电平电压具体参考表2-1展锐8811系列模组参数对比,VDD_EXT的电压即为串口电平电压。

  3.5.4 模组支持硬件流控吗?

  不支持。

  3.5.5 串口不通怎么办?

  1. 首先确认模组已经开机:查看VDD_EXT是否有输出电压(PSM状态下掉电)。
  2. 检查串口配置参数是否匹配:波特率,流控,串口选择,回车换行。
  3. 检查UART是否有线序错误或者焊接不良,是否对地短路。
  4. 检查电平是否匹配。

  3.5.6 单片机串口发送数据,模组返回的是乱码是什么原因?

  ◦处理器使用的波特率的误差较大,模组对波特率的准确性要求高,修改处理器端的参数设置达到匹配即可。
  ◦串口对地短路,建议对比波形进一步定位问题。

  3.6 USIM卡

  3.6.1 模组支持的USIM卡电压是多少?

  模组支持1.8V和3.0V电压的USIM卡,能够自动对USIM卡的接口电平进行识别。

  3.6.2 USIM_DATA引脚外部是否需要加上拉电阻?

  展锐8811系列模组USIM_DATA引脚内置上拉电阻(阻值10k)到USIM_VDD,可以不用额外加上拉电阻。但是如果走线过长,则建议外部增加10k电阻靠近卡槽放置。

  3.6.3 模组是否支持USIM卡热插拔?

  目前,展锐8811系列模组不支持USIM卡热插拔功能。当发生掉卡后发送AT指令AT+CPIN?进行读卡时,模组会返回+CPIN: NO SIM,MCU发现无法读取到卡号时,可以通过重启模组或者使用AT+CFUN=0/1发起重新找卡。

  3.6.4 如何配置物联网卡的APN和PDP类型?

  目前国内运营商均支持MME自动修正APN,因此配置错误的APN也能接入网络,但是不建议随意配置。因为运营商不同的APN会配置不同的网络参数,这将影响T3324/T3412的值,进而影响终端的功耗。而PDP类型配置错误,将导致模组不能入网。

  3.6.5 为什么开机后模组未找到USIM卡?

  插入USIM卡并开机后发送AT指令AT+CPIN?进行读卡,模组返回+CPIN: NO SIM,说明模组未读到USIM卡,具体分析解决方式详见《Lierda NB&Cat.1 SIM卡原理&问题排查应用指导》。

  3.7 网络注册

  3.7.1 什么是TAU?

  TAU是终端和运营商核心网之间的状态同步、位置同步的消息,可以理解成NB-IoT网络的心跳包。

  TAU一般包括周期性的TAU和非周期性的TAU。当T3412/T3412ext(extended)定时器超时就会触发周期性的TAU,而触发非周期性的TAU的常见原因有:小区发生变化且变化前后小区所属的TAC不同、PLMN发生变化、开启/关闭PSM、开启/关闭eDRX等。

  3.7.2 如何通过AT命令查看T3324和T3412的值?

  设置AT+CEREG=5时,通过AT指令AT+CEREG?可以查询T3324和T3412ext的值;T3412的值暂不支持AT指令方式查询。
图3.2 AT指令查询T3324、T3412ext

  如果T3412ext值存在,周期性位置更新将使用这个值;如果不存在,将使用T3412值。但T3412值无法通过AT指令查询,可以通过抓取log确认网络分配参数值。

  3.7.3 3GPP R14相对于R13有哪些提升?

  相对于3GPP R13,R14网络接入容量和速率有所提升。对于终端来说,支持了2-HARQ和更大的传输块(TBS),因此速率有一定的提升;网络接入容量支持了最多15个non-anchor载波,且non-anchor载波上支持RACH和paging,对容量有较大的提升。

  3.7.4 AT+CSQ查询的信号值较大,但为什么发送数据总是失败?

  AT+CSQ查询的值为RSSI(接收信号强度指示),表示一个频率上的总的电平值,其中不仅包含有用信号,也包含无用的干扰、噪声,因此信号值大并不代表信号较佳。对于NB-IoT模组来说,CSQ并不是关键指标,用户可通过AT+NUESTATS查询信号质量相关参数(RSRP和SNR)。

  3.7.5 如何判断NB-IoT网络的信号质量?

  NB-IoT网络信号质量一般通过RSRP(参考信号接收功率)和SNR(信噪比)值来综合判断,如表3-1所示为NB-IoT信号质量区分。
表3-1 NB-IoT信号质量区分

  3.7.6 如何确认是否附着网络?

  模组在发起数据业务之前,需要先附着网络才可以发送数据,确认附着网络常用3个AT指令:
  ◦AT+CGATT? 返回1。
  ◦AT+CEREG? 第二个参数返回1或者5。
  ◦AT+CGPADDR 查询IP是否已经分配成功。

  3.7.7 为什么模组开机后识别到SIM卡但是无法注册网络?

  模组开机后识别到SIM卡但是无法注册网络,请检查如下方面是否存在异常:
  ◦AT+CPIN? 确认模组是否读到SIM卡。
  ◦确认SIM卡是否欠费。
  ◦AT+NBAND?和AT+CFUN? 确认模组的工作频段和工作模式是否正确。
  ◦AT+NUESTATS 确认模组射频信号质量(RSRP和SNR)是否正常。
  ◦AT+CGSN=1 查询模组IMEI号,确认IMEI号是否合法。由于有些客户会改写IMEI号,导致部分区域网络认为此IMEI号非法,从而禁止模组注册。

  3.7.8 如何清除模组的历史频点信息?

  使用AT指令AT+NCSEARFCN可清除先验频点信息,该命令只能在AT+CFUN=0的模式下配置,切换为AT+CFUN=1后生效。

  3.7.9 时间获取

  使用AT指令AT+CCLK?查询当前的日期和时间,用户需注意时区转换。格式为“yy/MM/dd,hh:mm:ss±zz”,各字符分别表示年(最后两位数字)、月、日、时、分、秒及时区(表示当地时间与GMT的时差,以15分钟为单位,范围为-96~+96)。例如,1994年5月6日,22:10:00GMT+2小时相当于“94/05/06,22:10:00+08”。
图3.3 查询AT+CCLK?实例

  如果需要获取精确的时间,通过控制时间同步的AT指令AT+SNTP、AT+CTZU获取。

  CTZU是自动时区更新,默认开启。NTP是网络获取NTP服务器时间,需要用户指定对应的NTP服务器。NTP服务器地址有很多,比如用户要获取精确时钟,发送指令:AT+SNTP="ntp1.aliyun.com"即可。

  备注:AT+CCLK?获取的时间是从基站获取,若模组未能连网成功,则返回OK。

  3.7.10 网络指示灯是否已经开通?

  目前展锐8811系列模组网络指示灯功能已开通。网络指示灯亮64ms,灭800ms为未入网(包含入网失败和搜网中的情况);亮64ms,灭2000ms为入网成功。

  3.7.11 无网络时模组搜网机制是怎么样?

  无网情况下,模组会开启脱网定时器LossCovTimer,该定时器超时后会重新进行搜网。脱网定时器时长可通过AT指令进行设置,展锐8811系列模组默认的脱网定时时长是1分钟,是从NV中读取的。

  定时器规则如下:

  若默认的脱网定时时长是1分钟,则第一次延时1分钟,第二次延时2分钟,第三次延时4分钟,以此类推,每次搜网失败后都乘2增大,不过要注意有个最大退避次数,退避到最大次数后不再增大,或者搜网成功后复位为0。

  用户可以通过AT指令配置和查询周期脱网重搜定时器时长、最大脱网时长退避次数和周期模式切换时长,可以即时生效并保存到NV。设置脱网定时器的AT指令可参见我们提供的《Lierda_NB861&MB261&MB961_AT_CommandSet》手册,AT指令为:AT+UNBCFG(LOSSCOVLEN) set LOSSCOVLEN。

  3.8 DFOTA

  3.8.1 DFOTA是否支持断电/断点续传?

  展锐8811系列模组DFOTA支持断点续传功能,但不支持断电续传功能。

  3.8.2 DFOTA是否支持加密?

  展锐8811系列模组支持DFOTA加密功能。

  3.8.3 模组支持哪些平台的DFOTA升级?

  支持的平台包括AEP平台、OneNET平台和OC平台。

  3.8.4 平台下发DFOTA升级任务后模组侧为什么没有启动升级?

  模组可通过向平台发送一包数据的方式启动升级。

  3.8.5 如何判断模组DFOTA升级成功?

  ◦AT指令AT+CGMR查询固件版本信息,若固件版本信息已更新,则DFOTA升级成功。
  ◦模组升级完成后,需要重新连接平台上报升级结果。需避免模组上电后立即进入PSM模式(若模组进入PSM模式,则无法将升级结果上报给平台)。

  3.8.6 模组是否支持升级外部MCU?

  支持,用户可以借助物联网平台(如电信IoT或AEP平台)的SOTA升级来升级外部MCU固件,具体操作详见《Lierda 移芯 海思 展锐 AEP SOTA升级应用笔记》。

  备注:此功能要求外部MCU同步支持SOTA升级功能。

  3.9 中国电信物联网平台

  3.9.1 什么是电信IoT/AEP平台?

  电信IoT平台的全称是中国电信物联网开放平台-连接管理子系统,与华为OceanConnect平台兼容。使用时需注意平台的版本是否相同,有关中国电信IoT平台的详细信息,请访问官方地址:https://www.ct10649.com/

  电信AEP平台官方名称为CTWing中国电信物联网开放平台,有关中国电信AEP平台的详细信息,请访问官方地址:https://www.ctwing.cn/

  3.9.2 如何判断AEP平台注册(登录)是否成功?

  通过AT+CTM2MREG注册AEP平台后,模组会推送
  +CTM2M: reg,0 //reg表示登录成功
  +CTM2M: obsrv,0 //obsrv表示订阅成功

  用户只需要判断obsrv,0,收到该数据即代表注册成功并可收发数据。

  3.9.3 AEP平台注册失败可能的原因是什么?

  模组注册AEP平台,如果注册失败,则会上报+CTM2M: reg,1,可能的原因如下:
  ◦对接电信AEP平台时,没有配置Lifetime。
  ◦没有在平台完成创建设备步骤。
  ◦平台注册超时等。

  3.9.4 AEP平台注册失败后如何处理?

  参考《Lierda NB861&MB261&MB961 设备(MCU)应用设计指导》进行操作。

  3.9.5 生命周期(Lifetime)机制的作用是什么?

  对于电信IoT平台来说,若在25小时内未与模组进行数据交互将显示异常,49小时内未与模组进行数据交互将显示离线,当模组发送上行数据或者更新注册包后将恢复正常。因此,电信IoT平台并不关注生命周期这个参数。

  对于AEP平台来说,如果在每一次生命周期到期前没有更新注册包,平台将自动断开与模组的连接,模组与平台间的数据交互将无法进行。

  3.9.6 模组更新Lifetime机制是怎么样的?

  展锐8811系列模组默认的update方式为自动update,可通过AT指令AT+MLIFETIMEUPREGSWT?进行查询,更多关于模组更新Lifetime机制的信息详见《Lierda 移芯 爱旗 展锐平台NB模组update机制》。

  3.9.7 IoT平台的立即下发与缓存下发有何区别?

  立即下发:
  ◦如果模组处于DRX状态,模组可以立即接收到平台下发的数据。
  ◦如果模组处于eDRX状态,数据会在核心网缓存一段时间(具体时间需咨询运营商),核心网网元寻呼到设备后,会将数据发送给设备。
  ◦如果模组处于PSM状态,模组大概率收不到数据,除非在核心网缓存时间内有发送上行数据。

  缓存下发:
  ◦当命令为缓存下发时,平台将收到的下发命令缓存,等设备上报数据时,按顺序将缓存的命令全部下发。前一个命令送达设备或超时后,开始下发后一个缓存命令。

  3.9.8 模组对接IoT/AEP平台是否支持实时收发数据?

  模组对接IoT/AEP平台支持实时收发数据,但是模组需要一直处于DRX状态,同时SIM卡的APN必须为长连接状态,如表3-2所示,具体操作参考《Lierda NB861&MB261&MB961 设备(MCU)应用设计指导》。
表3-2 运营商SIM卡长连接APN

  3.9.9 对接IoT/AEP平台,模组发送的数据包长度最大为多少?

  对接IoT/AEP平台时,仅支持发送十六进制字符串格式数据,数据包长度不超过1024个字节。

  3.9.10 模组从PSM模式唤醒是否可以立即发送数据?

  模组从PSM模式唤醒立即发送数据会造成数据发送失败。模组从PSM模式唤醒后需要重新注册AEP平台,建议唤醒模组后先自动或手动注册平台,确保注册平台成功后再上报数据。

  3.9.11 平台下发数据+NNMI指令后面跟随的数据最大长度支持多少?

  模组在接收到来自AEP平台侧的数据后,会通过+NNMI指令进行转送。模组侧没有对+NNMI指令后面跟随的数据长度做限制,但是AEP平台下发数据时最多只能发送1024个字节的数据,超过1024个字节的数据会显示“指令内容长度不能超出1024个字符”,无法将数据下发至模组。

  3.10 中国移动OneNET平台

  3.10.1 如何查询模组支持的OneNET SDK版本?

  模组支持的SDK版本为V2.2.0,也可以通过AT指令AT+MIPLVER?进行查询。

  3.10.2 模组是否支持BS和加密?

  支持,具体参考AT指令集对应MIPLCONFIG指令。

  3.10.3 执行AT+MIPLOPEN注册平台何种情况下会返回+MIPLEVENT:0,3?
  ◦平台上未创建设备时,执行AT+MIPLOPEN后会在5秒内上报URC +MIPLEVENT: 0,3。
  ◦网络信号较差,但是数据仍能发送时,只是收到平台回复的ACK,超过了Bootstrap的超时时间(20秒),此时大约30秒上报+MIPLEVENT: 0,3。
  ◦网络信号非常差,数据无法发送,此时会一直重传,总耗时大约128秒,之后才会上报+MIPLEVENT:0,3。

  3.10.4 对接OneNET平台时,执行AT+MIPLOPEN失败怎么办?

  注意在执行AT+MIPLOPEN后,如果由于网络或者相关配置问题出现Bootstrap失败(+MIPLEVENT:0,3)或者注册失败(+MIPLEVENT: 0,7),模组会重新进行Bootstrap和注册,如果连续三次尝试均失败,模组便放弃此次注册请求动作。此时,需要检查网络和相关配置,确认无问题后,重新执行AT+MIPLOPEN尝试注册。

  3.10.5 为什么响应平台下发的发现资源请求和订阅请求会失败?

  如果出现响应平台下发的发现资源请求和订阅请求失败, 可能是因为没有及时响应, 平台端认为已超时,建议终端在10秒内进行响应。

  3.10.6 注册成功后为什么没有下发订阅和发送资源请求?

  检查平台上的自动订阅和自动发现资源开关是否开启。
图3.4 开启自动发现资源开关

  3.10.7 模组从PSM模式唤醒后能否直接向平台发送数据?

  模组从PSM模式唤醒后,需要重新注册OneNET平台再上报数据。

  3.10.8 连接OneNET平台后,是否需要经常发送心跳包维持连接?

  模组连接OneNET平台后,需要模组在生命周期到达之前发送心跳包维持连接,并且发送UPDATE指令。

  3.10.9 对接OneNET平台时,是否支持实时收发数据?

  模组侧支持,但是普通的移动物联网卡不支持,网络侧最多保活2分钟,建议联系运营商开通GRE专用APN。由于普通APN存在2分钟左右端口老化的问题,所以无法实现实时控制,故引入GRE专用APN,以延迟端口老化的时间。

  3.10.10 平台下发数据为什么显示为ASCII形式?

  平台下发数据默认ASCII格式推送,比如下发ABCD模组推送41424344,如果用户需要设置字符串格式推送,需要在注册OneNET平台前发送AT指令AT+MIPLCONFIG=6,1进行配置,此时下发数据就会按照字符串格式输出。
图3.5 字符串格式数据

  3.11 TCP/UDP

  3.11.1 模组支持TCP多连接吗?

  支持,可以配置多个Socket进行连接,最多支持7个Socket,但其他服务可能会占用Socket。如果出现连接或者发送数据失败,请先确认模组是否能够成功入网和服务器是否支持接入,不能解决的话可以抓取Log排查问题。

  3.11.2 TCP/UDP发送数据格式&最大发送数据长度?

  十六进制字符串格式。默认最大长度为1358字节,实际取决于网络下发的MTU值。

  3.11.3 TCP/UDP接收数据格式&最大接收数据长度?

  十六进制字符串格式。最大的接收数据长度是1358字节。

  3.11.4 如何判断TCP/UDP数据发送是否成功?

  建议用户向TCP/UDP服务器发送数据时携带确认包(即发送数据AT指令中加入<sequence>参数),可通过URC对数据是否发送成功进行判断。

  3.12 低功耗

  3.12.1 eDRX、PSM是什么?

  eDRX、PSM是不同的省电模式,其中PSM是3GPP Rel-12引入的,eDRX是3GPP Rel-13引入的。
  ◦eDRX(Extended Discontinuous Reception):扩展非连续接收模式。在该模式下只能在PTW时间窗内监听下行消息,最长周期能达到2.91小时;
  ◦PSM(Power Saving Mode):省电模式。在此状态下不能响应网络寻呼,也不能接收网络下发的数据,只能通过模组发送上行数据,或者TAU定时器超时唤醒,最长周期达到410多天。

  3.12.2 DRX、eDRX、PSM是否支持配置?

  DRX周期不支持配置,固定2.56s;eDRX和PSM的周期均可配置,也支持功能开启和关闭,但设置值是否生效以核心网下行信息为准。如果网络不支持配置eDRX和PSM的周期,建议咨询运营商特定APN对应的eDRX、PSM 时长,以期找到一个符合业务模型的eDRX或PSM周期。

  3.12.3 如何查看模组的PSM是否开启?

  发送AT指令AT+CPSMS?,若返回的第一个参数<mode>=1,则表示开启了PSM(省电模式);若<mode>=0,则表示关闭了PSM。

  备注:开启PSM模式并不代表模组可以进入PSM模式,最终能否进入该模式仍然取决于模组使用的SIM卡&当前注册的基站是否支持PSM模式。

  3.12.4 PSM状态是否可以进行业务?

  PSM状态下,射频功能是关闭的,无法收到下行业务数据。但是,若有上行业务,模组会自动开启射频功能,退出PSM状态。因此在PSM状态下,需先发送上行业务数据才能接收下行业务。

  3.13 天线

  3.13.1 模组天线走线部分阻抗匹配作用是什么?

  ◦在射频电路里,当两个特性阻抗不一样的线路连接在一起时,会造成能量反射,只有一部分能量传输过去。当两个阻抗严重不一样时,就会造成绝大部分的能量被反射回来。在高频电路里,当负载的阻抗和源端的阻抗共轭匹配时,负载就能够获得最大的功率。
  ◦为了统一标准,国际上定义射频线路的特性阻抗为50欧,因此所有的射频走线都需要遵循50欧阻抗。
  ◦对于天线接口的外围电路设计,为了能更好地调节射频性能,建议预留匹配电路。

  3.13.2 模组天线选型注意事项有哪些?

  不同的终端产品应根据其电路布局、产品结构和使用环境等,选用合适的天线类型,以达到产品射频性能最佳。在天线选择时应考虑以下因素:
  ◦终端产品所放置的环境是否有空间支持外部天线。
  ◦需考虑工序问题,若工序简单,可以采用内置PCB天线或者内置支架天线。
  ◦无论采用哪一种天线类型,在进行 PCB 设计时,都应与天线供应商沟通确认。当产品结构和PCB布局发生改变时,尤其是与天线相关的部分发生变化时,要及时通知天线供应商,确认是否会对天线性能造成影响。

  3.13.3 天线效率、天线增益的含义及作用?

  ◦天线效率是指天线辐射出去的功率(即有效转换电磁波部分的功率)和输入到天线的有功功率之比,天线效率是恒小于1的数值。
  ◦天线增益是指在输入功率相等的条件下,实际天线与理想的辐射单元在空间同一点处所产生的信号的功率密度之比。通常来说,天线增益G=Dη,其中D是方向性系数,η是天线效率。当D一定时,天线效率越高,天线增益越高;天线增益越高,天线性能越好。

  3.13.4 模组RF走线Layout建议

  ◦ 天线走线50欧姆,为了减小线损,尽量走直线。
  ◦ 无法避免转弯时,则必须采用弧线转弯。
  ◦ 走线不要有过孔。
  ◦ 进行包地处理。
  ◦ 远离电源线以及其他高频信号线,防止信号间干扰。

  四、相关文档

  以下相关文档提供了文档的名称,版本请以最新发布的为准。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表