华为串口多路复用参考手册
Please input confidentiality level
内部公开
1 简介
串口多路复用(以下简称多路复用)是在一条物理串行接口上实现多个数据链路连接(DLC),使得可以同时在一条串行接口上存在多个会话,比如语音、FAX、数据、SMS、GPRS、USSD等。帧结构类似HDLC。
多路复用有三种操作模式:基本模式、带错误恢复功能的高级模式、不带错误恢复功能的高级模式(具体可以参见GSM 07.10协议),华为GTM900模块支持不带错误恢复功能的高级模式,与基本模式相比有如下特点:
? ?
可以在应用XON/XOFF流控的链接上使用 失去同步后恢复时间比较快
采用什么模式对于用户来说,影响不会很大,根据协议,基本模式与高级模式的处理过程
非常类似,根据所提供的参考手册,用户很容易从一种模式转到另一种模式,比如从基本模式转到高级模式。
多路复用提供如下的业务接口: ? ? ? ? ?
启动业务 DLC建立业务 数据业务 DLC释放业务 关闭业务
上述给出的业务在后面将会给出详细的介绍和应用举例。
2 帧结构
? ?
标记:基本模式时为0XF9,高级模式时为0X7E。 地址: 1 2 3 4 5 6 7 8 EA C/R DLCI EA:用于地址扩展,现在始终为1。 C/R:命令/响应
Command/response位用法如下: Command/response Direction C/R value Command Initiator Responder 1 Responder Initiator 0 Response Initiator Responder 0 Responder Initiator 1 DLCI:DLC标识,取值范围为0~63。 ? 控制:定义帧类型 BIT1 BIT2 BIT3 BIT4 BIT5 BIT6 BIT7 BIT8 帧类型 1 1 1 1 P/F 1 0 0 SABM 1 1 0 0 P/F 1 1 0 UA 1 1 1 1 P/F 0 0 0 DM 1 1 0 0 P/F 0 1 0 DISC 1 1 1 1 P/F 1 1 1 UIH 1 1 0 0 P/F 0 0 0 UI P/F:P/F位是依据该帧是命令帧/响应帧来确定是P功能还是F功能。如果是命令帧,则P/F位作为P
华为机密,未经许可不得扩散
Page 6 , Total 12 第6页,共12页
华为串口多路复用参考手册
Please input confidentiality level
内部公开
功能;如果是响应帧,则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功能。 ? 长度
BIT1 BIT2 BIT3 BIT4 BIT5 BIT6 BIT7 BIT8 EA L1 L2 L3 L4 L5 L6 L7 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。
2.1 基本模式的帧结构
基本模式的帧结构如下:
标记 地址 控制 长度 信息 1字节 1字节 1字节 1或2字节 整数个字节 图 X: 基本模式的帧结构 校验 1字节 标记 1字节 2.2 高级模式的帧结构
高级模式的帧结构如下:
标记 地址 控制 信息 1字节 1字节 1字节 整数个字节 图 X: 高级模式的帧结构 校验 1字节 标记 1字节 注:没有长度域。
3 应用举例
下面举例说明前面提及的业务接口的使用方法。
华为机密,未经许可不得扩散
Page 7 , Total 12 第7页,共12页
华为串口多路复用参考手册
Please input confidentiality level
内部公开
3.1 启动业务
PCAT+CMUX=1,0,5GTM900OK
可以通过AT+CMUX命令来激活多路复用,该命令格式为:
AT+CMUX=
[,
参数说明:
? mode:指定多路复用的模式,GTM900模块必须设为1。 0 Basic option
1 Advanced option
subset:指定帧类型,GTM900模块设为0。
0 UIH frames used only
1 UI frames used only 2 I frames used only 缺省值:0
? port_speed:指定传输速率
1 9 600 bit/s
2 19 200 bit/s 3 38 400 bit/s 4 57 600 bit/s 5 115 200 bit/s 6 230 400 bits/s ? N1:最大帧尺寸
1- 32768
缺省值:基本模式为31 (高级模式为64) ? T1:确认时间,单位为10ms. 1-255
缺省值:10 (即100 ms) ? N2:最大重传次数 0-100
缺省值:3
? T2:控制通道的响应时间,单位为10ms 2-255
缺省值:30 (即300 ms) 注意:T2必须大于 T1.
? T3:唤醒响应时间,单位为s 1-255
缺省值:10
? k:串口尺寸,用于带错误恢复的高级模式。 1-7
缺省值:2
?
华为机密,未经许可不得扩散
Page 8 , Total 12 第8页,共12页
华为串口多路复用参考手册
Please input confidentiality level
内部公开
3.2 DLC建立业务 3.2.1 建立控制通道
启动多路复用后,接着需要建立控制通道(DLCI=0),用来控制多路复用的参数。 PC建立控制通道SABM帧 : 7E 03 3F FC 7EGTM900UA帧确认 : 7E 03 73 85 7E
3.2.2 建立其他通道
建立DLCI=1的通道: PC建立通道(DLCI=1)SABM帧 : 7E 07 3F 89 7EGTM900UA帧确认 : 7E 07 73 F0 7E
再建立DLCI=2的通道:
PC建立通道(DLCI=2)SABM帧 : 7E 0B 3F 16 7EGTM900UA帧确认 : 7E 0B 73 6F 7E
3.3 数据业务
逻辑通道建立后,即可用UIH进行数据传输。下面介绍数据的传输方法,以使用DLCI=1的通
华为机密,未经许可不得扩散
Page 9 , Total 12 第9页,共12页
华为串口多路复用参考手册
Please input confidentiality level
内部公开
道传输数据为例,其他通道类似。
比如传输AT命令,直接将字符串“atd1861;\\r\\n”打包到UIH帧的信息域,如下图: PC7E 07 EF 61 74 64 31 38 36 31 3B 0D 0A 05 7EGTM9007E 05 EF 61 74 64 31 38 36 31 3B 0D DF 7E7E 05 EF 0D 0A 4F 4B 0D 0A DF 7E 7E 05 EF4F 4B 0D 0A DF 7E
注意:FCS计算只包括地址域和控制域。
传输数据信息时,在PC-》GTM900方向,C/R位置为1;在GTM900-》PC方向,C/R位
置为0;两个方向P位都位0。 PC-》GTM900:信息域的字符串“atd1861;\\r\\n”对应为:61 74 64 31 38 36 31 3B 0D 0A
GTM900-》PC:
GTM900给PC回的信息为: atd1861; OK OK
3.4 DLC释放业务
释放DLCI=1的通道:
PC释放通道(DLCI=1)DISC帧 : 7E 07 53 C8 7EGTM900UA帧确认 : 7E 07 73 F0 7E
释放DLCI=2的通道:
华为机密,未经许可不得扩散
Page 10 , Total 12 第10页,共12页