android QMI机制---QMUX

2.QMUX
QMI Multiplexing Protocol(QMUX):QMI的复用协议

消息从控制点经过类似socket的线程传到QMI接口后,QMI负责对数据进行封装,加上QMUX消息的头,发送到QMUX层,

再通过QMUX层传到共享内存到BP侧。

2.1 QMUX消息的格式

整个QMUX控制信道的结构如上图,

  I/FType:QMI将控制点数据封装后,发送到QMUX前,加的消息头,长度为一个byte,值通常为0x01,表示这个

消息为QMUX消息,如果是其他值,则为其他消息。

 Length: QMUX消息的长度,不包括I/F Type。

  ControlFlags:控制位,表示消息传输的方向。长度为1个byte,只有第7个bit是标志位,其他位为0,bit7=1说明

QMUX消息由服务端发送,bit7=0由控制点发送。

Clien ID: 控制点的标识,在控制点和服务端都需要赋值,当在服务端发出的消息Client ID的值为0xFF,表示该

消息为广播消息,由服务端主动发出,被所有控制点搜到。

QMUX SDU和TLV结构:

在整个控制信道的消息中,出去消息标识头I/F Type,和QMUX消息头,数据传输在QMUXSDU中完成,QMUX 

SDU里面的数据需要支持Type Length Value(TLV)的格式。


TLV格式的数据存放在QMI Service Message里面的Value中。

Control Flags:表示消息是请求、响应还是指示。Datasheet见文档。

TLV结构图:

2.2 QMUX消息类型:
1,请求:请求消息用于设置参数、查询参数值或配置指示的产生。请求消息由控制点产生,一个有效的请求

通常会产生来自服务的应答。

2, 响应:响应由服务产生,为回应接收到的请求。每个响应至少包含指示请求成功或失败的结果参数

以及错误状态。

3,指示:指示由服务端主动发出,为了让控制点知道底层状态的变更,类似于信号强度,掉网

Out of Service都是服务端主动发出给控制点的指示。
————————————————
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值