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 codeintermediate result codeunsolicited 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平均值案例教程——以甘肃省为例

分布式skywalking链路追踪详细教程

基于vscode开发vue3项目的详细步骤教程 3 前端路由vue-router

基于vscode开发vue项目的详细步骤教程

Mac OS X 配置 Apache+Mysql+PHP 详细教程