At Commands:从白痴到大师的修炼历程(一)

来源:互联网 发布:宝宝取名软件 破解 编辑:程序博客网 时间:2024/06/05 05:12


At Commands的学习计划(一)

                                                                                                                                --入门基础


    这篇博客是起步于At Commands学习系列的第一部分,也是最基础的一部分。主要是以QA的形式的一些基本概念的介绍,让大家能够初步的认识什么是ATCommand,知道它是干嘛的,包括涉及到的一些相关知识。

    可能这部分资料大家在哪都能看到,我在这所做的是系统性的分类跟每个QA后面个人的总结,希望有所帮助,也希望大家能够针对初步学习过程中会遇到的问题踊跃提出来。


什么是AT Commands?

AT AttentionAT命令集是从TETerminalEquipment:终端设备)或DTEDataTerminal Equipment:数据终端设备)向TATerminalAdapter:终端适配器)或DCEDataCircuit Terminating Equipment:数据电路终端设备)发送的。通过TATE发送AT命令来控制MSMobileStation:移动台)的功能与GSM网络业务进行交互。

总结来说,ATCommand是一种调制解调器的命令语言,由计算机(超级终端)发出的被用来控制和执行模块功能,通过uart串口进行通讯的命令操作方式,通过串口将命令集发送到设备端,然后设备端(手机)自有一套处理框架流程对不同的AT命令进行解析,判断,然后进行相对应的处理,并返回其对应的处理结果。


AT Commands的功能是什么?

   ATCommand在手机通讯中,主要是提供给用户AT控制指令控制手机行为,比如说呼叫、短信、电话本、数据业务、补充业务、传真、GPRS等。同时包括对手机的一些参数的获取、设置及上层UI的改变等等……    在这里介绍的架构主要是针对高通平台的Android设备,高通平台提供了自有的一套流程框架(ATCoP)处理ATCommandATCoP(ATCommand Process)接收串口(SerialPort)处传来的AT Command,进行解析(Parse),根据解析的结果到AT Command Tables中寻找相应的表项,若匹配,则执行对应的处理函数,或者如果处于ap侧处理的列表命令,会发送到ap侧进行处理返回(AP测需要实现相应的AT Client)。后面针对于AtCoP会有更加具体的讲解,包括modem中对APSideATCommand的具体处理流程,会以一个单个模块来具体讲述。

·前缀
      ·主体
      ·终止字符

前缀由字符AT构成,他来源于单词立正attention的头字母。主体由命令,参数和可用到的数值组成。

    ATCommands的语法格式其实就是AT Commands的输入格式,总体上说AT命令有四种形式:

1)无参数指令(基本命令语法)。 一种简洁的指令,格式:AT[|&]<command>举例:显示本机号码“AT+CNUM”,恢复出厂设置命令“AT&F”

2)查询指令(读命令语法)。 查询该指令当前设置的值,格式:AT[|&]<command>?。举例:电话本存储区可选择的值“AT+CPBS?”

3)帮助指令(测试命令语法)。用来列出该命令各参数的所有的可能值(并非各个组合都可能支持),格式:AT[|&]<command>=?。举例:举例:AT+CMGL=?

4)带参数指令(扩展命令语法)。用于设置相应的参数值, 比较常用的一种格式,它为指令提供了强大的灵活性,格式:AT[|&]<command>=<par1>,<par2>,<par3>„针对不同的AT Commands测试的输入格式是不一样的。甚至大部分都是多种测试的输入格式,具体格式在相应的AT Commands的协议介绍中有详细说明。

不同的命令其大致的语法格式是差不多的,当然也有一些自定义的AT命令,但其基本格式还是需要按照标准来定义。

在这还需要提到的是,对于上面所说的四种格式,对某个命令而言并不是都存在四种格式,有些命令就一种格式,有些支持两种或者三种四种格式,具体的需要查询协议介绍,上面对输入命令格式和相应的输出标准有具体的讲解。


AT Commands的大致分类:

·一般命令

·呼叫控制命令

·网络业务命令

·安全性命令

·电话本命令

·短消息命令

·补充数据命令

·数据命令

·传真命令

·串口控制命令

·自定义的一些AT命令

·…………

    具体可参见AT命令手册~


为什么分有AP侧和BP侧的AT命令处理?

   这里需要理解一下,这里所谓的AP Side和BP Side的AT命令是以最终在哪处理区分的,如果是在modem下对命令进行处理的称为BP Side相关命令,如果针对一些命令,在modem之上(AP侧)进行处理的,可称之为AP相关命令。

    对于大部分的AT命令几乎都是BP侧的,但是有一些特别的命令,比如说自定义的,或者在AP侧才有接口或者处理更加方便的,对于这些命令我们会发到AP侧,在AP侧有专门的AT Client对其进行处理并返回处理结果。后面章节中对AP Side的AT命令会有更加详细的介绍。


什么是ATCoP?

    这是一套AT命令的处理框架,介绍了AT命令从串口到实际处理所依赖的框架和代码实现的流程,回头会有专门的一篇博客对其进行介绍,详情请参见:AT Command流程分析之AtCop解析


什么是ATFWD?

    ATFWD?或许很多人看到这个词会觉得很陌生,的确,因为这一块属不属于AT模块,都不好说。所有的AT命令都是通过串口到modem的,而ATFWD是高通就AP Side的AT命令的实现所做的一套框架,主要是从modem那边接收到AT命令(QMI通讯方式),再处理,最后返回到modem,可以理解成这就是之前说道的AT Client,也可以理解成实现AT命令在BP之间的交互方式,具体后面也有详细介绍。


相关的一些学习文件:

     ATCommand的学习,具体可参加一下所提到的一些资料文档。

  1. 协议文档:3GPPTS 27.0053GPPTS 27.007,具体描述的是一些常用的AT命令的格式以及具体用途。

  2. 代码流程文档:ComprehensiveAT Command Set in AMSS Software第三章,ATCommand Processor,具体描述AT命令的实现流程。

  3. 还有就是网上可以找到的一些AT命令手册,百度下中英文的都有。

      下面是我整合的一些初步学习资料,主要是有一些中文的资料,供参考:http://download.csdn.net/detail/laozhuxinlu/9592742


专业/名词术语:

1. TETerminal Equipment终端设备与DTE等价比如一个计算机它是和信息网络的一端相接的可提供必要功能的设备这些功能使得用户通过接入协议能接入网络 如发送信息和接收信息也可指由线路 电路 信道 数据链路的终端或起点组成的设备

2. TATerminal Adapter终端适配器与DCE等价提供终端适配功能的物理实体是一种接口设备

3.DCE Data Circuit terminating Equipment数据电路终接设备一种接口设备在线路之间进行代码或信号转换 同数据终端设备实现接口能够建立保持和释放数据终端设备与数据传输线之间的连接

4.DTE Data Terminal Equipment数据终端设备它具有向计算机输入和接收计算机输出的能力与数据通信线路连接的通信控制能力以及一定的数据处理能力

5. MEMobile Equipment移动设备比如GSM话机就属于ME移动台中的一种发射机或接收机或发射机与接收机二者的组合


接下来的学习:At Commands的测试指导教程


0 0
原创粉丝点击