当前位置:网站首页 > 技术博客 > 正文

nb-iot工作原理



窄带物联网(Narrowband Internet of Things, NB-IoT)构建于蜂窝移动通信网络,实现物与物通信、物与人通信。NB-IoT 聚焦于低功耗广覆盖(LPWA)物联网(IoT)市场,是一种可在全球范围内广泛应用的新兴技术。

NB-IoT 网络只消耗大约 180 kHz 的带宽,使用 License 频段,可采取带内、保护带或独立载波等三种部署方式,与现有网络共存。可直接部署于 GSM 网络、UMTS 网络或 LTE 网络,以降低部署成本、实现平滑升级。

  • 低功耗

    IoT 应用(如智能抄表、环境监控、智能农业等)安装环境没有电源供应,需要使用电池。为了满足电池达到 5 到 10 年寿命的需求,NB-IoT 网络引入 PSM 和 eDRX 技术极大降低了终端功耗,可使设备在生命周期绝大部分时间处于极低功耗状态,从而保障电池的使用寿命。

  • 低成本

    NB-IoT 终端采用窄带技术,基带复杂度低,只使用单天线,采用半双工方式,射频模块成本低,大部分(SRVCC、IMS、紧急呼叫等功能)不必要的功能都可以裁剪。同时采用 SoC 内置功放(PA),降低了对终端 Flash 存储空间、终端尺寸、终端射频等的要求,从而极大降低了 NB-IoT 的终端成本。

  • 大连接

    NB-IoT 比 2G/3G/4G 有 50-100 倍的上行容量提升(特定业务模型),NB-IoT 可比现有无线技术提供 50-100 倍的接入数,单小区可支持 5 万级别的用户规模。

  • 覆盖广

    具有 164 dB 最大耦合损耗(Maximum Coupling Loss,MCL),NB-IoT 比 GPRS 提升 20 dB 增益,在地下车库、地下室、地下管道等信号难以到达的地方也能较好覆盖。

特点 NB-IoT 技术特点 具体取值范围 小数据量 空口资源有限(180 kHz),适宜小数据通信 50 字节~200 字节为宜,越小越好 低频次、长周期 大部分终端应长期处于休眠状态,上报数据频次低 按天上报,每天 1~2 次较为合适。高频次上报(例如 30 分钟),对网络容量占用大。上报频次越高,对网络容量影响越大。 低功耗 NB-IoT 网络 PSM 模式功耗最低 功耗敏感应用优选 低移动性 NB-IoT 适宜慢速移动 移动速度小于 30 km/h 深度覆盖 NB-IoT 覆盖能力较好 可支持地下室等场景覆盖 低速率 上行理论峰值速率 15.6 kbps,下行理论峰值速率 21.25 kbps 带宽型大速率的业务不能使用 NB-IoT 承载
image.png

NB-IoT 网络组成包括 NB-IoT 终端、NB-IoT 基站、NB-IoT 分组核心网、IoT 连接管理平台和行业应用服务器。NB-IoT 的接入网构架与 LTE 一样。

NB-IoT 业务规模发展与承载业务模型密切相关,其适用场景是 小流量,上报为主,长期休眠,功耗敏感,低移动性 应用。为了实现 NB-IoT 网络承载海量的低功耗设备,最重要的技术为 PSM 和 eDRX。

NB-IoT 支持三种省电模式:

  • PSM:Power Saving Mode,省电模式
  • DRX:Discontinuous Reception,不连续接收模式
  • eDRX:Extended DRX,扩展不连续接收模式

PSM 模式

终端非业务期间深度休眠,不接收下行数据。只有终端主动发送上行数据(mobile originated data)时,才可接收涂鸦 IoT 开发平台缓存的下行数据(mobile terminated data)。

在该状态下,终端射频关闭,相当于关机状态。但是核心网侧还保留用户上下文,用户进入空闲态/连接态时无需再附着 PDN 建立。适合对下行数据无时延要求的业务。终端设备功耗低,采取电池供电方式,例如抄表业务。

image.png
  • Active:模块处于活动状态,所有功能正常可用,可以进行数据发送和接收。模块在此模式下可切换到 idle 模式或 PSM 模式。
  • Idle:模块处于浅睡眠状态,模块处于网络连接状态,可接收寻呼消息。模块在此模式下可切换至 active 或 PSM 模式。
  • PSM:模块处于深睡眠状态,内部只有 RTC 工作,网络处于非连接状态,不可接收寻呼消息。当定时器超时后,模块将被唤醒,也可通过拉低 引脚从唤醒模块。 image.png

eDRX 模式

终端设备兼顾低功耗和对时延有一定要求的业务。在每个 eDRX 周期内,只有在设置的寻呼时间窗口内,终端可接收下行数据,其余时间终端处于休眠状态,不接收下行数据。该模式可在下行业务时延和功耗之间取得平衡,例如远程关闭煤气业务。

image.png

DRX 模式

可以认为下行业务随时可达终端设备,在每个 DRX 周期,终端都会检测一次是否有下行业务到达,适用于对时延有高要求的业务。终端设备一般采取供电的方式,例如路灯业务。

image.png

首次入网时延:NB-IoT 终端开机后,终端和网络有较多消息交互(认证,建立通道,分配 IP 地址等),花费时间较长,需要 6-8s 才完成网络接入,才能获得 IP 地址,用于后期数据传输使用。

数据上报和接收时延:NB-IoT 终端接入成功后,当终端有数据传输时,终端会主动和基站建立无线连接(此时不再需要认证、IP 地址分配等过程),无线链路建立成功后,立即发送数据。终端进行数据上报的时延与终端所处的状态、无线网络覆盖密切相关。

终端上报数据 平台下发数据(PSM) 平台下发数据(DRX) 平台下发数据(eDRX) 空口时延 + 专网到客户服务器之间的时延 空口时延 + 专网到平台之间的时延 + PSM 最长休眠周期(最大 310 小时) 空口时延(750ms)+ DRX 寻呼周期(最大为 10.24 秒,最小 1.28 秒) 空口时延(750ms)+ eDRX 寻呼周期(最大为 2.92 小时,最小 5.12 秒) 秒级(3 秒到 30 秒) 小时/天级别,取决于终端上报周期 秒级,取决于 DRX 寻呼周期 秒级到小时级,取决于 eDRX 寻呼周期

NB-IoT 应用的低功耗机制和 SIM 卡运营商的配置密不可分。因此,在购买 SIM 卡时请确认自己所办理的 APN 业务,不同 APN 适用于不同的应用场景。电信相关业务如图所示。

APN 名称 APN 描述 PSM eDRX 激活定时器 eDRX 周期 寻呼窗口 ue.prefer.ctnb 用户设置为准,使用用户上报的参数为准配置 终端上报 终端上报 终端上报 终端上报 终端上报 ctnb 监测上报类,立即 PSM(2 秒),不启用 eDRX 开启 关闭 2 秒 - - psmA.eDRX0.ctnb 监测上报类,立即 PSM(2 秒),不启用 eDRX 开启 关闭 2 秒 - - psmC.eDRX0.ctnb 监测上报类,稍后 PSM(60 秒),不启用 eDRX 开启 关闭 60 秒 - - psmF.eDRXC.ctnb 监测上报类,稍后 PSM(180 秒),启用 eDRX,寻呼周期 20 秒 开启 开启 180 秒 20.48s 10.48s psm0.eDRXH.ctnb 下发控制类,关闭 PSM,启用 eDRX,下发时延(15 分钟) 关闭 开启 - 655.36s 10.24s psm0.eDRXD.ctnb 下发控制类,关闭 PSM,启用 eDRX,下发时延(1 分钟) 关闭 开启 - 40.96s 10.24s psm0.eDRXC.ctnb 下发控制类,关闭 PSM,启用 eDRX,下发时延(30 秒) 关闭 开启 - 20.48s 10.24s psm0.eDRX0.ctnb 下发控制类,关闭 PSM,启用 DRX,下发时延(10 秒) 关闭 关闭(使用 DRX) - 2.56s -
终端状态 功耗消耗 某环境实测结果 PSM 状态 2 μA 1.7 μA eDRX 空闲态 2 μA~2 mA 1 mA DRX 空闲态 1~4mA 1mA 连接状态 发送 200 mA,接收 65 mA 发送 189 mA,接收 161 mA

当产品功能复杂或 SoC 方案无法满足需求时,客户可以选择 MCU 对接方案。在此方案中,涂鸦模组仅作为数据传输通道。MCU 对接方案常用于大小家电、安防传感等类别的产品。

通用对接方案

优点:相对于市场上 NB-IoT 模组普遍的 AT 指令开发方式,采用涂鸦的 NB-IoT 通用对接串口协议方式,客户的开发门槛更低,维护简单,可以更轻易地实现新产品接入。

  • PSM 型通用固件:监控上报型业务场景
  • DRX 型通用固件:下发控制型业务场景
  • 其他类定制固件:综合定制型业务场景

涂鸦已有 MCU 通用对接 NB-IoT 模组:PSM 型通用模组和 DRX 型通用模组。eDRX 型通用模组暂未开发。若有特殊需求,例如协议定制、功能定制等,可咨询涂鸦工作人员,确认方案可行性。

开发流程主要包含创建产品、硬件调试、软件开发和功能调试环节。

登录 涂鸦 IoT 开发平台,创建产品。根据实际需求选择产品品类,联网方式选择 NB-IoT,功耗类型根据自己产品的特性来选择。常用电池类供电、监控上报型业务的产品请选 PSM。对功耗不敏感、下发控制型业务的产品请选 DRX(注意功耗选择关系到后续模组的寄样与生产)。

产品创建完成后,可以根据产品实际需求选择功能、面板、模组和固件,就可以下载 MCU 开发包。

创建产品

常用模组介绍

在平台创建产品选择模组时,平台会推荐一些常用模组型号。以 NB-IoT 通用方案中使用最多的 NM1-GL 模组举例。

选定模组型号后,您可在线购买模组样品,硬件工程师可以进入画板阶段。关于硬件开发相关资料,可在文档中心查看 NB-IoT 模组规格书。

硬件最小系统搭建

image.png
  • 串口通讯电路:串口电平 1.8V,需电平转换。
    • UART1(必用):通用对接管脚,用于模块与用户芯片串口通讯(波特率 或 9600)。
    • UART2(选用):日志打印管脚,对接流程中发现问题,需要通过抓取日志协同判断时使用,可将此 IO 引出到测试点,方便调试(波特率 )。 image.png
    UART0(选用):模块固件烧录管脚,方案对接过程中一般使用不到,可将此 IO 引出到测试点,方便调试(波特率 )。
  • 模块唤醒电路:
    • 开机唤醒引脚:
    • 低功耗唤醒引脚:
  • SIM 卡电路:设计前,确定需要 SIM 卡封装,USIM 或 eSIM,根据产品特性购买相关业务的 SIM 卡。
  • 电源电路:模块功耗峰值约 300mA,需据此合理设计电源电路。
  • 天线电路:天线射频电路可参考硬件设计手册,天线需要自行与天线厂商做匹配。

拿到模组后,可先不必着急编写代码,首先确定模组是否工作正常。使用涂鸦提供的模组调试助手(MCU 模拟模式)与模组配合进行配网实操,验证模组的同时可以熟悉协议交互流程,后续开发调试效率将极大提升。

image.png

在涂鸦模组调试助手-MCU 模拟模式,调试助手会模拟 MCU 自动回复模组正确的协议数据,用 App 绑定模组后,可测试 DP 数据的上报下发。接下来简要介绍助手和模组配网实操的主要步骤。使用前,需提前了解 涂鸦模组调试助手使用说明。

  • 根据最小系统原理图,搭建模组外围电路,供电稳定,天线合规、信号强度良好,且已插上 NB-IoT 专用物联网 SIM 卡。
  • 打开开发包中涂鸦模组调试助手,导入调试文件。协议选择 NB-IoT 通用协议,MCU 模拟模式。
  • 将模组串口通过 USB 转 TTL 工具接到电脑端,调试助手选择对应的串口及波特率,打开串口单击 启动,将看到模组和上位机自动进行初始化流程协议交互。
15839146411.jpg

App 扫码绑定

  1. 注册:NB-IoT 模组在涂鸦出厂授权后,涂鸦 IoT 云会拉取模组信息,并在电信 IoT 平台注册该模组。
  2. 激活:NB-IoT 模组首次上电且完成初始化后,即可连接到电信 IoT 平台进行激活,以模组发出的网络状态为准。
  3. 使用:只有完成经过激活且未被其他账号绑定的模组,才能被 App 成功绑定。

    NB-IoT 接入NB-IoT 接入

在硬件调试环节,可以看到模组与 MCU 有一系列的串口协议交互数据,需要查看开发包中协议文档来理解这些数据。协议主要分为两部分:基础协议和功能协议。

  • 基础协议和产品无关,是模组共有协议,包括模组初始化指令及部分扩展功能指令。
  • 功能协议部分主要基于基础协议的上报下发命令字,对 DP 数据内容格式做了详细说明。

基础协议完整内容,文档中心保持实时更新,参考 NB-IoT 模组通用串口协议。

MCU 对接涂鸦模组协议,有两种途径:移植 MCU SDK 或自行对接协议。

自行对接协议

对于 MCU 资源有限或不适宜移植 MCU SDK 情况时,客户可以选择自行对接串口协议。

移植 MCU SDK

  • 若 MCU 资源足够,建议用户直接移植 MCU SDK,开发高效便捷。开发包中 MCU SDK 是涂鸦提供的基于 C 语言的协议应用代码,可直接添加到 MCU 工程中。
    • MCU SDK 对 MCU 硬件资源需求:
      • Flash 4K 字节
      • RAM 与 DP 数据长度有关,一百字节左右
      • 函数嵌套级数 9 级。
  • 若资源不足的用户,可自行对接协议,SDK 包中的函数依然可以作为参考。

MCU SDK 移植教程,参考 MCU SDK 移植。

移植 MCU SDK 代码开发完成后,可以使用涂鸦模组调试助手-模组模拟模式,验证代码的正确性。使用方法与 MCU 模拟模式类似,模组模拟模式下,调试助手自动发送模组初始化交互流程来验证 MCU 回复是否正确,对于错误数据给予相应提示。初始化交互通过后,可以手动单击其他拓展功能测试,功能验证完成可接实际模组配网联调。

image.png image.png

在使用调试助手验证代码后,MCU 可连接模组使用 App 配网,进入功能联调阶段。功能联调主要测试各 DP 上报下发是否正确。在调试过程,可使用一些常用工具:

  • 后台日志查询入口:功能联调时,经常需要查看后台数据来判断问题,涂鸦运营中心可以满足您的需求。
  • 涂鸦开发者论坛入口:涂鸦开发者论坛提供在线化的支持服务。如果文档资料无法解决您的问题,您可直接在线提问,专业技术团队将为您答疑。
  • 常见问题集锦:常见问题答疑,可提前了解,有效避免踩坑。

  • 上一篇: okhttp3(OKHttp3使用详解)
  • 下一篇: json 字符集
  • 版权声明


    相关文章:

  • okhttp3(OKHttp3使用详解)2024-11-09 18:01:04
  • bind服务使用什么协议2024-11-09 18:01:04
  • c++ opencv rect2024-11-09 18:01:04
  • python 离线安装第三方包2024-11-09 18:01:04
  • 移位指令的用途2024-11-09 18:01:04
  • json 字符集2024-11-09 18:01:04
  • python2打包成exe2024-11-09 18:01:04
  • kdump already running2024-11-09 18:01:04
  • 结巴分词 词性标注2024-11-09 18:01:04
  • springboot文件上传配置2024-11-09 18:01:04