日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蓝牙AVRCP协议解析

發布時間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蓝牙AVRCP协议解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在這里討論藍牙的AVRCP協議,要理解AVRCP,需要先了解AVCTP;

?

我們分兩個部分來進行;

1、AVCTP協議;

2、AVRCP協議;

?

下面先來看AVRCp協議:

?

一、概述

1、定義

AVCTP(Audio/Video Control Transport Protocol Specification)音頻/視頻控制傳輸協議是一個框架協議,描述藍牙設備間Audio/Video的控制信號交換的傳輸機制,具體的控制信息(編碼和格式)由其指定的協議(如AVRCP)實現,AVCTP本身只指定控制command和response的總體的格式,AVCTP是建立在L2CAP上的;

?

2、角色

AVCTP分為兩個角色,CT(The Controller)是命令的發起方,命令接收方是TG(The target),如下圖:

AVCTP通信要求已經建立了ACL鏈接,AVCTP交互是在面向連接的通道中的雙向通信,

?

?

?

3、通信過程

首先會有CT發起通信,發送命令道TG端;

一個完整的AVCTP消息包含一個指定TG地址的命令,然后由TG端回復消息,AVCTP不會控制命令或響應的順序或定義CT/TG的行為,大體流程可參照下圖:

因為AVCTP是建立在不可靠的ACL上,所以存在命令收不到應答的情況,命令的重發不是必須的,這個由應用層開發者決定;

?

4、通信模式

在AVCTP中,bit和byte傳輸時采用大端模式,即高字節在左側;

?

二、AVCTP消息包格式

1、概述

AVCTP命令或應答在傳輸時是包含在一個或多個AVCTP packets中,這些包中包含AVCTP header和多個消息體部分,但是在AVCTP中并未定義length域,它是依靠L2CAP層去限制發送的包數,所以AVCTP也需要遵循L2CAP協議長度的相關定義;

?

2、消息格式

大部分的AVCTP命令以負載的方式通過單一L2CAP包傳輸,但也有少數大信息AVCTP包需要被拆分,通過多個L2CAP包傳遞出去,下面我們分別來看這兩種包格式

?

a、不拆分的包格式,見下圖:

?

?

格式中bit含義spec中都有說明,我們再詳細看下;

TL占用了4bit,它是通信中標識唯一的tag,由應用層給出其值;

PT是包類型,PT=0時表示開始包,PT=10表示中間包,PT=11表示結束包,在非拆分包中,PT=0;

IPID只有在響應為無效包時才會置位1,其他情況都為0;

?

?

?

上圖顯示了幾個信息:

(1) AVCTP header為3字節;

(2)不拆分的AVCTP包不能大于L2CAP的MTU大小;

?

?

b、拆分包格式,如下圖:

?

可以看到拆分包格式start packet多了一個字節,Number of AVCTP Packets,continue packet 和end packet去掉了IPID和PID字段,AVCTP通過L2CAP層保證包的每個包的完整性及傳遞順序,但無法保證所有包的完整性;由于信道的不穩定性,可能會產生AVCTP丟包,我們看下拆包AVCTP在L2CAP的拆包方式,如下圖:

?

?

3、AVCTP Message Information Part的說明

這部分可以包含不定長度的命令或應答幀;

其具體格式需要參照具體的profile,如AVRCP,AVDTP等;

?

三、總結

好了,分析到這里相信大家對AVCTP有了比較不錯的認識,其實AVCTP就是定義了一個通信框架,它定義好了packet heaeder,定義好了與L2CAP層的傳輸機制,剩下的數據域(AVCTP Message Information Part)就需要參考其他profile來填充;

AVCTP提供了一組Upper Interface,作為一組測試接口,也可作為其他應用協議的接口,這里就不去看了,感興趣的可以自己翻一下spec;

下一篇我們將一起來看下AVRCP協議,希望大家多多支持;

總結

以上是生活随笔為你收集整理的蓝牙AVRCP协议解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。