我是靠谱客的博主 眼睛大爆米花,最近开发中收集的这篇文章主要介绍BC35 RAI功能应用一、概述二、FLAG定义三、启用RAI功能四、指令示列五、实测,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、概述

在使用BC35 NB-IOT模块和服务交互时,用电流表记录整个交互过程的电流消耗情况,发现一次数据交互,包含终端服务器数据到服务器,服务器应答终端,模块从唤醒到进入PSM,周期大概为45s,但是终端发送数据到收到服务器的应答,时长大概为15s,收到服务器应答后,模块还处于连接状态,等待核心网检测到终端不活动超时(大约20s)后才释放RRC连接,模块随后进入eDRX状态,时长由PTW的参数决定,我一般配置为10.24s,然后终端进入PSM状态,如果模块收到服务器的应答后能立即进入PSM,则能节约20s时间的大电流(2mA)消耗。

进一步查询BC35相关手册发现,可使用RAI功能。RAI为释放辅助指示,模组发送上行数据时携带 RAI 指示标志,核心网根据此指示标志来决定是否需要立即释放当前 RRC 连接状态,具体指示标志有两种:
⚫ 当前数据发送完成后,后续没有上行或下行数据,则立即释放 RRC 连接;
⚫ 当前数据发送完成后,仅有一条下行数据(如应答或对上行数据的响应),且后续没有其他上行
数据交互,则立即释放 RRC 连接。

1、未使用释放辅助指示

终端在最后一次数据交互后等待 20 秒的连接态时长才可离开高功耗的连接态。
image

2、使用释放辅助指示

image

二、FLAG定义

0x200 RRC 连接释放指示: 上行数据发送完成后, 指示核心网立即释放连接;
0x400 RRC 连接释放指示: 上行数据发送完成并收到下行数据回复后, 指示核心网立即释放连接;
需要注意的是,如果服务器会对终端发送的数据做应答,那么需要使用0x400 flag,指示核心网在终端收到下行数据时释放RRC连接;如果这种情况使用0x200 flasg,那么终端发送上行数据后,核心网会根据RAI指示立即释放RRC连接,终端进入eDRX状态,此时终端还能接收下行数据,在PTW时间内,终端收到下行数据,终端会再次进入连接状态,直到核心网检测到终端不活动超时(大约20s)后才释放RRC连接,终端才能进入eDRX状态,然后进入PSM。
如果服务器不会对终端发送的数据做应答,那么需要使用0x200 flag。

三、启用RAI功能

BC35模块默认RAI功能为FALSE,需要发送AT+NCONFIG=RAI,TRUE(加上rn)指令开启RAI功能,发送此指令之后需要重启模块,RAI功能才能生效。执行AT+CSCON(加上rn)命令使能URC上报功能,通过URC的上报状态,可判断标志位是否生效。

四、指令示列

AT+NSOSTF=0,220.180.239.212,8052,0x200,2,AB30//使用 0x200 标志位发送数据
AT+NSOSTF=0,220.180.239.212,8052,0x400,2,AB30//使用 0x400 标志位发送数据

五、实测

BC35模块开启了RAI功能,在服务器无应答的情况下发送了两包数据,第一包数据的RAI标志为0x400,第二包数据的RAI标志为0x200
在这里插入图片描述

BC35模块开启了RAI功能,在服务器无应答的情况下发送了两包数据,第一包数据的RAI标志为0x200,第二包数据的RAI标志为0x200
在这里插入图片描述

BC35模块开启了RAI功能,在服务器有应答的情况下发送了两包数据,第一包数据的RAI标志为0x200,第二包数据的RAI标志为0x200
在这里插入图片描述

最后

以上就是眼睛大爆米花为你收集整理的BC35 RAI功能应用一、概述二、FLAG定义三、启用RAI功能四、指令示列五、实测的全部内容,希望文章能够帮你解决BC35 RAI功能应用一、概述二、FLAG定义三、启用RAI功能四、指令示列五、实测所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部