AVCTP协议分析--转

AVCTP协议分析

1.概述

    AVCTP协议描述了蓝牙设备间Audio/Video的控制信号交换的格式和机制,它是一个总体的协议,具体的控制信息由其指定的协议(如AVRCP)实现,AVCTP本身只指定控制command和response的总体的格式。

AVCTP协议分析--转_第1张图片

 几个重要的点:
(1)AVCTP usespoint-to-point signaling over connection-oriented L2CAP channels.
(2)AVCTP shallbe able to support both controller and target functionalities at both sides ofthe connection.
(3)Between twodevices, multiple AVCTP connections may exist. Each AVCTP connection has itsown L2CAP channel with its unique PSM value. There shall be only one AVCTPconnection per PSM per ACL.
(4)Each AVCTPpacket shall be transported on a single L2CAP packet.
(5)不同L2CAP channel上的相同的transaction Label是属于不同的message的。也就是说,两条L2CAP上的packets是没有关系的,不可能属于同一个message。
 

2.AVCTP Message

    如果message的字节数没有超过一个L2CAP的payload的MTU,那么不需要AVCTP Message Fragmentation,这时候一个L2CAPpacket中包含一个AVCTP Packet;如果超过了一个L2CAP的payload的MTU,则需要AVCTPMessage Fragmentation,这时一个AVCTP Packet可能横跨多个L2CAP的packets。

(1)Non-FragmentedAVCTP Message

AVCTP协议分析--转_第2张图片

PID表示使用的控制协议,如AVRCP等,message information部分的格式参考PID指定的协议,如AVRCP。也就是说,具体的控制信息内容是根据PID指定的协议的规定来设置的,AVTCP本身不规定这部分的内容,它只规定整个的在AVTCP 连接上传输的massage格式。

Non-FragmentedAVCTP Message的封装过程如下:

AVCTP协议分析--转_第3张图片

(2)FragmentedAVCTP Message

    如果AVTCP的message所含的字节数更多,则需要AVCTP Message Fragmentation,它的packrt format和(1)中 有所不同。

AVCTP协议分析--转_第4张图片

可以看出,第一个开始的Packet稍微复杂些。参数packet_Type指定该Packet是Start的,Continue的还是End的。只在Start packet中指定Numble of packrts,这是包括Start packetd的。

一个AVCTPMessage Fragmentation的包装过程如下:

AVCTP协议分析--转_第5张图片

(3)AVCTP 的Upper interface
    定义了两种service interfaces:Event registration service call和Application direct calls for service。
    Event registration service call只的是application注册了一些event,当远端的event发生改变时,可以通知application。这需要定义一个entry point来call back application来处理这些event。
    Application direct calls forservice允许application向远端发送请求服务。

(1)Event Registration Service Call


参数Event:

AVCTP协议分析--转_第6张图片

参数Callback:

AVCTP协议分析--转_第7张图片

参数PID:


输出参数Result:


(2)ApplicationService calls

CONNECT REQUEST:

AVCTP协议分析--转_第8张图片

CONNECT RESPONSE:
AVCTP协议分析--转_第9张图片
DISCONNECT REQUEST:
AVCTP协议分析--转_第10张图片
SEND_MESSAGE:
AVCTP协议分析--转_第11张图片
原文:https://mp.weixin.qq.com/s/E1zqf4bz_z5dMvarjOjFng

你可能感兴趣的:(蓝牙)