其他分享
首页 > 其他分享> > BC35 RAI功能应用

BC35 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(加上\r\n)指令开启RAI功能,发送此指令之后需要重启模块,RAI功能才能生效。执行AT+CSCON(加上\r\n)命令使能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,RRC,RAI,终端,应用,数据,连接,0x200
来源: https://blog.csdn.net/professionalmcu/article/details/111433249