5G/4GAT Command 详细教程(基于3GPP Spec 27.007)
Posted 从善若水
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5G/4GAT Command 详细教程(基于3GPP Spec 27.007)相关的知识,希望对你有一定的参考价值。
文章目录
本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。
博客内容主要围绕:
5G协议讲解
算力网络讲解(云计算,边缘计算,端计算)
高级C语言讲解
Rust语言讲解
AT Command 使用指南 (针对3GPP Spec 27.007)
同学们第一次看到AT Command 可能感觉这是什么指令,怎么还有问号和逗号。读完博主这篇博文,你不仅会明白AT Command 指令结构,还会构建AT Command 以及解析AT Command Response。
缩写介绍:
AT : ATtention
MT: Mobile Termination(可以理解为手机中的芯片)
TE: Terminal Equipment (除手机芯片外的其他部分)
TA : Terminal Adaptor (TE与 MT的适配层)
AT 架构:
一、AT Command 结构
我们这里介绍的AT Command是使用扩展语法规则(syntax rules of extended)的命令,基础命令可以参考《ITUT Recommendation V.250》
具体解析如下:
-
命令行前缀 “AT”:所有的AT Command都需要前置 “AT” 字符串,来标识这是一个 AT Command;
-
基础命令:没有前置 “+”的命令就是 基础 AT Command;
-
子参数:就是AT Command 的参数,可以有零个、一个或者多个,使用 “=”将子参数传递给 AT Commnad;
-
扩展命令:前置 “+” 的命令就是 扩展命令;
-
多个扩展指令之间,使用 “;” 分隔;
-
AT Command 的子参数可以是缺省值(即使有默认值),多个子参数之间使用 “,” 连接;
-
读命令:读命令会在AT Command 末尾添加 “?”,它会根据一些状态值返回当前命令的一个或多个子参数值;
-
测试命令:测试命令会在AT Command 末尾添加 “=?”,它会返回当前命令所有子参数的可能值;
(例如,我们忘记了这个参数应该怎样设置,可以先查询此参数可以设置哪些值,然后我们再进行设置)
- 协议中提到,每个 Extended command都有测试命令(=?);
- 对于参数形的命令(Parameter type commands)还有读命令(?);
- 但是对于功能形的命令(Action type commands),没有读命令,因为它不会记录任何可能的子参数值;
二、AT Command Response 和 result code 结构
我们这里的Response 和 result 都是根据上面的图片进行分析(<CR><LF>等价于 \\r\\n)
2.1 command V1 格式
特别说明:
- 上图中的 AT Command Response 和 result code 对应于 command V1格式(verbose response format)
2.2 command V0 格式
另一种数字格式(numeric forma)的AT Command Response 和 result code 称为 command V0,如果开启command V0,则:
- AT Command Response前面将不会有 “<CR><LF>” 字符串;
- result code 变成 “数字<CR>”,例如上图中的结果码变成 “0<CR>” ;
2.3 几类 Result codes
final result code | intermediate result code | unsolicited result code |
---|---|---|
通知命令执行的最终结果,是否执行成功 | 反馈 TA Command 的执行进度(命令执行的中间状态) | 主动通知终端某个事件的发生,与具体的AT Command无关(例如,当终端注册状态发生变化,则会主动将这种状态的改变通知给上层应用) |
三、AT Command 使用举例
AT Command 有非常多的指令,我们这里结合协议举一个例子。而且设备商还可以创建自己的指令。例如MTK就有自己的AT Command 指令,每次有新的芯片时MTK等芯片商就会来公司给博主介绍新的AT Command 的使用方法。
AT Command 协议下载传送门:点击下载链接
我们以 “+C5GREG” 命令为例进行讲解:
①首先找到协议的 10.1.47,查看协议对 “+C5GREG” 命令的介绍,以及参数、命令响应的介绍
②协议在命令描述下面会介绍参数的可能取值,以及对应取值的含义(下图只作示意图,详细内容参考协议)
③根据协议构建 AT CMD / 解析 AT Response
以上是关于5G/4GAT Command 详细教程(基于3GPP Spec 27.007)的主要内容,如果未能解决你的问题,请参考以下文章
ArcGIS风暴根据海拔范围分级统计GIMMS 3g NDVI平均值案例教程——以甘肃省为例
ArcGIS风暴根据海拔范围分级统计GIMMS 3g NDVI平均值案例教程——以甘肃省为例