概述
本文根据终端设备的需求,实现了国际标准(如 3GPP 和 ITU-T)中的部分 AT 命令。本文还描述了终端设备实现的私有 AT 命令接口,私有 AT 命令接口是为了更好或更方便地实现某种功能。
本文不描述标准已经定义或 MT 已实现,但华为终端产品需求涉及不到的接口。对于AT 命令接口的描述,仅限于接口数据包本身,以及 TE 和 MT 对接口的使用方法和使用流程,不包括与接口不直接相关的内容。本文也仅限于描述 TE 和 MT 之间 Rm 接口范围内的 AT 命令接口,而不描述 MT 与 IWF 之间 Um 接口范围内的 AT 命令接口。
AT 命令是 TE 和 MT 之间的通信命令协议。如果有新款 MT 产品需要和现有 TE 对接,而现有 TE 是按照本 AT 规范实现的,则新款 MT 必须遵守此规范才能保证两者成功对接。比如新款模块和现有 PC 统一后台对接,那么新款模块必须遵守此规范;反之亦然,比如新开发某 PC 后台或 PC 工具,也要遵守此规范,才能和现有的终端产品对接。若 TE 和 MT 不用 AT 命令通信,则不受本规范限制。
释义说明
在整篇文档中,模块简称为 ME、MS、TA 或者 DCE。可通过模块的串口发送 AT 命令控制模块。在串口线缆另一端的设备简称为 TE、DTE 或者应用设备(可能在嵌入式系统中运行)。
本文在命令的“属性说明”一节对每条 AT 命令的属性进行了标注。其中,“N”表示不,“Y”表示是,“NA”表示不涉及。
例如:
在 GSM/WCDMA 的 AT 规范 3GPP TS 27.007 中,在 TE 和 MT 之间有一个 TA 部件。这个 TA 在物理上可能与 TE 合并,也可能与 MT 合并。在本文描述的场景中,只支持 TA 与 MT 合并的情况。在 TIA/EIA IS 707-A 中,没有规定这个 TA 部件。为了统一描述的方便,本文将忽略 TA 部件的存在,将 PC 客户端等同于 TE ,将移动终端等同于 TA+MT 。
中断属性
部分需要一段时间才能完成执行的动作命令,在其执行的过程中可以被中断。中断命令是在由 DTE 传送给 DCE 的过程中完成。在命令执行的过程中,一个字符串也可以中断此命令。中断命令发出的 400 ms 内,不接受中断请求。与中断命令发送速率不同的中断字符,不接受中断请求。中断命令接受中断请求后,都会立即中断正在执行的命令,并返回结果码给 DTE。
AT 命令使用规则
1. 每个接口要求功能内聚。
2. 每个命令行中只能包含一条 AT 命令;一行以回车作为结尾。对于由 MT 主动向 TE 报告的 URC 指示或者响应,也要求一行只能有一个 AT 命令。对 S3/S4 格式修改命令,原则上不允许用户使用。该原则适用于 MT 和 TE 程序的通信。
3. 对于不可中断的 AT 命令,TE 在每一条 AT 命令下发后,必须要等待 MT 对这条 AT 命令响应后,才能再次下发第二条 AT 命令;否则下发的第二条 AT 命令将不被执行。
4. 对于较长时间才能反馈结果的 AT 命令,为保证其他事务不被干扰,建议以异步方式上报最终执行结果。若 MT 需要较长时间以响应 TE,则可能存在响应结果被 URC 打断的情况,这种打断包含两种情况:
− 当命令下发后等待响应过程中有 URC 上报,则 URC 上报后,这个命令仍处于等待命令执行结果过程中,执行结果仍旧上报。