【蓝牙专题】AVDTP协议解析

前两篇文章看了AVCTP和AVRCP,今天继续分析AVDTP;

一、概述

1、框架

AVDTP( A/V Distribution Transport Protocol)定义了A/V stream协商、建链和传输过程,也规定了两个设备传输数据的格式;

前面我们看了AVCTP提供通信框架,AVRCP提供具体的远程控制协议,AVDTP也是在AVCTP框架下的一个具体协议,提供了流媒体在通信时的具体过程和数据帧格式;

AVDTP功能如下:

a、发现设备支持的功能;

b、提供建立连接和release链接机制;

c、提供具有实时性的数据包和机制,包括最小传输延时机制、包含时钟的数据包机制、Qos包和传输状态机制、带宽优化机制;

d、提供修复机制;

如下图所示,同样的,AVDTP通过L2CAP包来实现媒体流和建链信号的传递的等;PSM (Protocol/Service Multiplexer)value用来标识L2CAP包传递的是AVDTP帧;AVDTP传输使用面向连接的L2CAP;

因为AVDTP涉及流媒体相关操作,所以还需要其他profile的支持,如下图所示:

下图暴露出6个接口,每个接口作用可以看下后面的表格,都有详细说明:

Interface1:SDP用来查询蓝牙属性(流媒体属性);

Interface2:应用程序接口用来交换Reporting packages of stream(QoS reporting);

Interface3和Interface5:AVDTP signaling messages(L2CAP层 PSM value = AVDTP);

Interface4和Interface6:AVDTP media packets(L2CAP层 PSM value = AVDTP);

2、名词解释

a、SRC与SNK,数据流的流入与流出端;

b、INT(Initiator)与ACP(Acceptor),发起初始化一段为INT,另一端为ACP;

c、SEP(stream end point),相当于AVDTP的一个流媒体接入点;

d、SC(stream context),stream过程变量;

e、SH(stream handle),句柄;

f、SEID(Stream End Point Identifier ),不同于SH,在signaling包中使用;

g、TSID(Transport Session Identifier),代表一次传输;

h、TCID(Transport Channel Identifier);

二、signaling messages

1、我们先来看signaling messges的流程,虚线表示是可选择的:

下图对应命令集和状态集:

2、signaling messages组包:

当遇到的数据包过大时,因为L2CAP的MTU限制,所以要进行拆包处理,如下图:

3、Singal命令和响应数据包头定义

TL就是唯一标识,由INT端定义;其他说明见图

4、例子

下图message type对应command=0,剩下的我们根据spec都可以对应出来;

三、media streaming

        media streaming也通过L2CAP信道传输,media streaming包格式比较多,我们重点看三个包类型,分别是Media packets,Reporting Packets,Recovery Packets,下面我们分别看下这三种包的格式,见下图:

1、media Packet格式

如图所示,前12字节是必须的,SSRC域只能被用于多播应用(multicast application),它在通信中定义了source-node ID,具体format说明参见下面表格;

2、reporting service

reporting message有多种包,其中Sender Report Reporting packet (SR)和Receiver report packet (RR)格式相同,如下:

3、recovery package

这里暂不做说明;

四、总结

        media streaming包还有其他,比如Multiplexing Service、Robust Header Compression Service等,这些等以后遇到相关内容再做说明,不然对初学者很容易混淆;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值