我是靠谱客的博主 过时洋葱,最近开发中收集的这篇文章主要介绍【5G/4G】AT Command 详细教程(基于3GPP Spec 27.007)AT Command 使用指南 (针对3GPP Spec 27.007),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • AT Command 使用指南 (针对3GPP Spec 27.007)
    • 一、AT Command 结构
    • 二、AT Command Response 和 result code 结构
      • 2.1 command V1 格式
      • 2.2 command V0 格式
      • 2.3 几类 Result codes
    • 三、AT Command 使用举例

本人就职于国际知名终端厂商,负责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>等价于 rn)

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/4G】AT Command 详细教程(基于3GPP Spec 27.007)AT Command 使用指南 (针对3GPP Spec 27.007)的全部内容,希望文章能够帮你解决【5G/4G】AT Command 详细教程(基于3GPP Spec 27.007)AT Command 使用指南 (针对3GPP Spec 27.007)所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部