• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

GSM串口多路复用协议

简介       

     串口多路复用(以下简称多路复用)是在一条物理串行接口上实现多个数据链路连接(DLC),使得可以同时在一条串行接口上存在多个会话,比如语音、FAX、数据、SMS、GPRS、USSD等。帧结构类似HDLC。       

      

       多路复用有三种操作模式:基本模式、带错误恢复功能的高级模式、不带错误恢复功能的高级模式(具体可以参见GSM 07.10协议),华为GTM900模块支持不带错误恢复功能的高级模式,与基本模式相比有如下特点:

         1、可以在应用XON/XOFF流控的链接上使用

         2、失去同步后恢复时间比较快

      采用什么模式对于用户来说,影响不会很大,根据协议,基本模式与高级模式的处理过程非常类似,根据所提供的参考手册,用户很容易从一种模式转到另一种模式,比如从基本模式转到高级模式。

多路复用提供如下的业务接口:

              1、启动业务

               2、DLC建立业务

               3、数据业务

               4、DLC释放业务

               5、 关闭业务

  上述给出的业务在后面将会给出详细的介绍和应用举例。

          帧结构

          标记:基本模式时为0XF9,高级模式时为0X7E。

          地址:   

EA:用于地址扩展,现在始终为1。

C/R:命令/响应

Command/response位用法如下:

DLCI:DLC标识,取值范围为0~63。

控制:定义帧类型

P/F:P/F位是依据该帧是命令帧/响应帧来确定是P功能还是F功能。如果是命令帧,则P/F位作为P功能;如果是响应帧,则P/F位作为F功能。如果一个命令希望应答,命令帧的P功能设置为1,响应帧(对该命令帧的应答)的F功能也应该设置为1。对于命令发送端来说,发送一个希望应答的命令后,必须等到对端应答或者超时,才能发送下一个希望应答的命令。超时可以进行重发或者相应的异常处理。

SABM(Set Asynchronous Balanced Mode):SABM命令帧用于建立一个DLC,接收端收到并且认可该命令后,用UA帧进行应答。如果对端没有准备好或者不愿意建立该DLC,则对端用DM帧进行应答,F位设置为1。如果T1时间内没有收到UA或者DM响应,发起者会重发DISC,直到重发次数达到设定值。

UA(Unnumbered Acknowledgement):UA响应帧用于接收端对收到并且认可的SABM帧或DISC帧的应答。

DM(Disconnected Mode):DM响应帧用于在链接还没有建立的状态下,接收端对接收到的DISC命令帧的响应。在链接还没有建立的状态下,接收端对于接收到的命令(除DISC外)不响应。F功能如果为1表示对接收的命令的响应。接收到非请求的DM响应帧时进行的处理,不考虑F位。

DISC(Disconnect):DISC命令帧用于通知对端拆除链接,对端用UA响应帧应答。如果在DLC0发送DISC命令帧,则等效于退出MUX功能。

长度

   EA用于扩展,本文取EA为1,表示长度域只有一个字节表示。

       信息:信息域由若干字节组成。信息帧有 I 帧、UI 帧和UIH帧,GTM900模块支持UIH帧。

       校验:

    校验域只包括1个字节,生成多项式为:x8 + x2 + x + 1。

    对于UIH帧,FCS的计算只包括地址和控制域。

    对于命令/响应帧,FCS的计算包括地址、控制和长度。(高级模式没有长度域)

    注:具体算法请参见GSM协议07.10。

 注:关于C/R及P/F位,补充几点:

F功能如果为1表示对接收的命令的响应,F功能为0表示主动报告状态。

传输数据信息(比如“ATD1861;”)时,在PC-》GTM900方向(见后面应用举例部分),C/R位置为1;在GTM900-》PC方向,C/R位置为0;两个方向P位都位0。

   基本模式的帧结构

  基本模式的帧结构如下:

   

图 X: 基本模式的帧结构

高级模式的帧结构

高级模式的帧结构如下:

 图 X: 高级模式的帧结构

      注:没有长度域。

当中CRC8计算:

一、数组方式

二、计算方式

来源:网络,如侵,删

全部回复(2)
正序查看
倒序查看
2018-11-09 06:10
0
回复
2018-11-18 08:06

不错,学习一下


0
回复