【概述】
上海联通NB-IoT网络已商用物联网终端3000+以上,终端需要周期性上报数据,与网络的时间同步就显得尤为重要。
上海联通目前已实现该功能,通过网络授时进行终端与网络的时间同步。即核心网下发时间信息,终端获取这条消息后进行时间同步。
【原理说明】
核心网连接NTP服务器,获取时间同步。再通过网络授时开关下发给终端,终端如果支持,则进行时间同步,如果不支持,返回协议值#96。终端支持情况需要厂家确认。
网络授时,涉及到的消息是EMM information,EMM information用于网络下发信息到终端,终端根据自我实现可以选择是否支持这种消息。如果不支持,会忽略消息并且带回固定原因值#96。
下发的与时间相关的信元是Local time zone, Universal time and local time zone和Network daylight saving time。其中Universal time and local time zone补充携带了格林威治时间GMT,终端可以使用这个同步时间。
3GPP协议关于网络授时规定如下:
图(1)时间同步的协议规定
【解决方案】
华为核心网MME打开网络授时开关
1.下发EMM INFO的场景有3种:
1)转发MSC的 MM INFO消息。
2)多时区特性开启;
3)流程中主动下发(例如ATTACH),& 配置开关强制下发EMMINFO
目前上海联通使用第3种方式下发时间信息。
2.Local time zone和Universal time and local time zone信元携带介绍
1)除转发MSC的MMINFO消息外,PS下发EMMINFO时,两个信元都会携带,无开关控制。
2)两信元中的time zone值相同,差异在于Universal time and local time zone补充携带了格林威治时间GMT。
终端日志查询时间消息
核心网打开网络授时开关后,可采集终端日志,查询是否收到EMM_INFORMATION信令。
查询终端侧时间
终端完成时间同步后,可通过AT命令查询终端的时间。
AT命令为:AT+CCLK?。
说明如下:
Return current date & time (+CCLK)
图(2)查询时间同频的AT命令
Description
The clock will be set automatically once the UE has connected to the network.
Read command returns the current setting of the clock.
Refer to Chapter 6: Error Values for possible <err> values
Defined values
<time>: string type value; format is "yy/MM/dd,hh:mm:ss?zz", where characters indicate year (two last digits), month, day, hour, minutes, seconds and time zone (indicates the difference, expressed in quarters of an hour, between the local time and GMT; range -96...+96). E.g. 6th of May 1994, 22:10:00 GMT+2 hours equals to "94/05/06,22:10:00+08"
NOTE: If MT does not support time zone information then the three last characters of <time> are not returned by +CCLK?
Hisi Hi2110 Implementation
If the RTC has not been set by the network, no value is returned.
【效果验证】
上海联通现网分海思芯片与高通芯片两类终端,分别进行验证。
海思芯片:
图(3)海思芯片终端
使用UElogviewer工具,采集终端入网日志,搜索EMM_INFORMATION关键字,得到网络授时信息,结果如下:
图(4)UElogviewer采集海思芯片终端日志
使用SSCOM串口工具,对终端下发AT+CCLK?命令,查询终端当前时间,返回结果如下:
图(5)串口工具查询海思芯片终端时间
如上图所示,返回终端实时日期和时间为18/04/27,02:50:46+32,此为GMT时间,即18/04/27,10:50:46,与实际时间一致。
还可以使用UElogviewer工具采集终端日志,确认终端日期和时间,查询结果如下:
图(6)UElogviewer查询海思芯片终端时间
如上图所示,使用UElogviewer采集的日志中的终端日期时间,与实际一致,说明该终端支持时间同步。
高通芯片:
图(7)高通芯片终端
高通芯片终端同样使用AT+CCLK?的串口命令,返回结果如下:
图(8)串口工具查询高通芯片终端时间
如上图所示使用串口工具对高通芯片终端发送AT+CCLK?,返回18/04/27,05:43:15”为GMT时间,与实际时间一致。说明该高通芯片终端支持时间同步。
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。