當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 嵌入式藝術(shù)
[導(dǎo)讀]我們前面主要去學(xué)習(xí)了藍(lán)牙開(kāi)發(fā)所具備的基礎(chǔ)知識(shí)、常用的仿真手法,那么如何去分析我們抓到的藍(lán)牙通信包呢?不去學(xué)習(xí)藍(lán)牙通信協(xié)議,只能把抓到的Log信息,交給能看懂的人,你也最終只能當(dāng)一個(gè)測(cè)試工程師了。



前言

我們前面主要去學(xué)習(xí)了藍(lán)牙開(kāi)發(fā)所具備的基礎(chǔ)知識(shí)、常用的仿真手法,那么如何去分析我們抓到的藍(lán)牙通信包呢?

不去學(xué)習(xí)藍(lán)牙通信協(xié)議,只能把抓到的Log信息,交給能看懂的人,你也最終只能當(dāng)一個(gè)測(cè)試工程師了。

藍(lán)牙協(xié)議及其復(fù)雜,并非一文能夠道盡,本文主要在于對(duì)藍(lán)牙整體的協(xié)議架構(gòu)進(jìn)行梳理,文末官方協(xié)議附下載鏈接



1藍(lán)牙芯片架構(gòu)

藍(lán)牙的核心系統(tǒng),由一個(gè)Host和一個(gè)或多個(gè)Controller組成。

  • BT Host:一個(gè)邏輯實(shí)體,在HCI(Host Controller Interface)的上層。

  • BT Controller:一個(gè)邏輯實(shí)體,在HCI(Host Controller Interface)的下層。


Bluetooth的主控制器,可能是以下幾種:

  • BR/EDR Controller:內(nèi)部包含Radio,Baseband,Link Manager,可選的HCI。

  • LE Controller:內(nèi)部包含LE PHY,Link Layer,可選的HCI

  • BR/EDR & LE Controller:BR/EDR與LE的組合的控制器

  • MAC/PHY (AMP) Controller:二級(jí)控制器,可替代的,內(nèi)部包含802.11 PAL (Protocol Adaptation Layer),802.11 MAC,PHY,可選的HCI。


根據(jù)Host與Controller的組成關(guān)系,常見(jiàn)的藍(lán)牙芯片也分為以下幾種:

  • 單模藍(lán)牙芯片:?jiǎn)我粋鹘y(tǒng)藍(lán)牙的芯片,單一低功耗藍(lán)牙的芯片。即(1個(gè)Host結(jié)合1個(gè)Controller)

  • 雙模藍(lán)牙芯片:同時(shí)支持傳統(tǒng)藍(lán)牙和低功耗藍(lán)牙的芯片。即(1個(gè)Host結(jié)合多個(gè)Controller)


因此,藍(lán)牙芯片就會(huì)有以下幾種架構(gòu):



2藍(lán)牙協(xié)議架構(gòu)——視角1

上圖為官方協(xié)議中所提及的圖片,由全局到局部來(lái)看


2.1全局分析

由下到上分析

Controller

  • BR/EDR Controller:由Link Manager、Link Controller、BR/EDR Radio組成

  • LE Controller:由Link Manager、Link Controller、LE Radio組成

  • AMP Controller:由AMP PAL,AMP MAC,AMP PHY組成

Host

  • BR/EDR Host:由L2CAP、SDP、GAP組成

  • LE Host:由L2CAP、SMP、GAP、Attribute protocol、GATT組成


2.2局部分析

由上到下分析

Host層

  • Channel Manager:通道管理,主要用于創(chuàng)建、管理、關(guān)閉L2CAP通道,用于服務(wù)協(xié)議和應(yīng)用數(shù)據(jù)的傳輸。

  • L2CAP Resource Manage:L2CAP資源管理,主要負(fù)責(zé)管理分片的PDU的正確提交。

  • Security Manager Protocol:SMP安全管理協(xié)議,主要負(fù)責(zé)生成加密密鑰和身份密鑰。

  • Attribute Protocol:ATT,屬性協(xié)議,主要負(fù)責(zé)服務(wù)端與客戶端點(diǎn)到點(diǎn)的數(shù)據(jù)傳輸。

  • AMP Manager Protocol:直接使用L2CAP與遠(yuǎn)程設(shè)備通信。

  • Generic Attribute Profile:GATT,提供更多的功能,概要文件描述了屬性服務(wù)器中使用的服務(wù)層次結(jié)構(gòu)、特征和屬性,用于LE設(shè)備

  • Generic Access Profile:GAP,標(biāo)識(shí)了基礎(chǔ)的藍(lán)牙設(shè)備的通用功能

Controller層

  • Device Manager:控制藍(lán)牙設(shè)備的通用行為,負(fù)責(zé)與藍(lán)牙通信過(guò)程中,所有的與數(shù)據(jù)無(wú)關(guān)的操作,如查詢?cè)O(shè)備,連接設(shè)備

  • Link Manager:鏈路管理,主要負(fù)責(zé)創(chuàng)建,修改,釋放邏輯鏈路。

  • Baseband Resource Manager:基帶資源管理,主要負(fù)責(zé)所有的訪問(wèn)無(wú)線電媒體

  • Link Controller:鏈路控制,主要負(fù)責(zé)從編碼和解碼藍(lán)牙數(shù)據(jù)包

  • PHY:物理層,主要負(fù)責(zé)發(fā)送,接收物理通道的信息包

以上為官方手冊(cè)提供的視圖,Host通過(guò)HCI(Host Controll Interface)接口,來(lái)控制Controller執(zhí)行相應(yīng)的動(dòng)作。



3藍(lán)牙協(xié)議架構(gòu)——視角2

下面是參考網(wǎng)上的一位博主的文章,寫的較為詳細(xì),遂分享出來(lái)。


以上架構(gòu)圖,將藍(lán)牙協(xié)議分為了HW層,Transport層,Host層。


3.1HW層——藍(lán)牙芯片層

HW層,指的是藍(lán)牙芯片層,也就是我們上面說(shuō)的Controller,包括以下幾個(gè)部分:

  • RF(RADIO):射頻層,本地藍(lán)牙數(shù)據(jù)通過(guò)射頻發(fā)送給遠(yuǎn)端設(shè)備,并且通過(guò)射頻接收來(lái)自遠(yuǎn)端藍(lán)牙設(shè)備的數(shù)據(jù)。

  • BB(BASEBAND):基帶層,進(jìn)行射頻信號(hào)與數(shù)字或語(yǔ)音信號(hào)的相互轉(zhuǎn)化,實(shí)現(xiàn)基帶協(xié)議和其它的底層連接規(guī)程。

  • LMP(LINK MANAGER PROTOCOL):鏈路管理層,負(fù)責(zé)管理藍(lán)牙設(shè)備之間的通信,實(shí)現(xiàn)鏈路的建立、驗(yàn)證、鏈路配置等操作

  • HCI(HOST CONTROLLER INTERFACE):主機(jī)控制器接口層,HCI層在芯片以及協(xié)議棧都有,芯片層面的HCI負(fù)責(zé)把協(xié)議棧的數(shù)據(jù)做處理,轉(zhuǎn)換為芯片內(nèi)部動(dòng)作,并且接收到遠(yuǎn)端的數(shù)據(jù),通過(guò)HCI上報(bào)給協(xié)議棧。

  • BLE PHY:BLE的物理層

  • BLE LL:BLE的鏈路層


3.2Transport——數(shù)據(jù)傳輸層

Transport層,主機(jī)控制層接口,通過(guò)硬件接口UART/USB/SDIO把HOST協(xié)議層的數(shù)據(jù)發(fā)送給Controller層,并且接收Controller層的數(shù)據(jù)。

該部分有幾個(gè)協(xié)議

  • H2:基于USB的傳輸

  • H4:基于UART的傳輸,最簡(jiǎn)單的傳輸方式,只在HCI raw data前面加上一個(gè)type

  • H5:  基于UART的傳輸

  • BCSP: 基于UART的傳輸

  • SDIO :基于SDIO的傳輸

H4需要藍(lán)牙芯片的UART_TX/UART_RX/UART_CTS/UART_RTS/VCC/GND接到MCU;而H5只需要藍(lán)牙芯片的UART_TX/UART_RX/VCC/GND接到MCU就可以通信。


3.3HOST——協(xié)議層

HOST層,此部分就是藍(lán)牙協(xié)議棧,該部分包括多個(gè)協(xié)議:

  • L2CAP(Logical Link Control and Adaptation Protocol):邏輯鏈路控制與適配協(xié)議,將ACL數(shù)據(jù)分組,對(duì)高層應(yīng)用的數(shù)據(jù)進(jìn)行分組,并提供協(xié)議復(fù)用和服務(wù)質(zhì)量交換等功能。通過(guò)協(xié)議多路復(fù)用、分段重組操作和組概念,向高層提供面向連接的和無(wú)連接的數(shù)據(jù)服務(wù)

  • SDP(SERVICE DISCOVERY PROTOCOL):服務(wù)發(fā)現(xiàn)協(xié)議,為應(yīng)用程序提供發(fā)現(xiàn)可用服務(wù),并確定服務(wù)特征的方法。

  • RFCOMM(Serial Port Emulation):串口仿真協(xié)議,上層協(xié)議藍(lán)牙電話,藍(lán)牙透?jìng)鱏PP等協(xié)議都是直接走的RFCOMM

  • OBEX:對(duì)象交換協(xié)議,藍(lán)牙電話本,藍(lán)牙短信,文件傳輸?shù)葏f(xié)議都是走的OBEX

  • HFP(Hands-Free):藍(lán)牙免提協(xié)議

  • HSP:藍(lán)牙耳機(jī)協(xié)議,最開(kāi)始的藍(lán)牙耳機(jī)協(xié)議,目前已經(jīng)沒(méi)有產(chǎn)品在用這個(gè)了吧,至少我沒(méi)有看到了。算是一個(gè)簡(jiǎn)化版的HFP。

  • SPP(SERIAL PORT PROFILE):藍(lán)牙串口協(xié)議

  • IAP:蘋果的特有協(xié)議,分為IAP1/IAP2,一般做Carplay或者iPod功能的人肯定接觸過(guò)這塊,有需要這塊的私下聯(lián)系我

  • PBAP(Phone Book Access):藍(lán)牙電話本訪問(wèn)協(xié)議

  • MAP(MESSAGE ACCESS PROFILE):藍(lán)牙短信訪問(wèn)協(xié)議

  • HID(HUMAN INTERFACE DEVICE):人機(jī)接口協(xié)議,HID還是有很多廣泛的用途的,比如藍(lán)牙鼠標(biāo),藍(lán)牙鍵盤,藍(lán)牙自拍桿,藍(lán)牙手柄等。

  • A2DP(Advanced Audio Distribution): 藍(lán)牙音樂(lè)協(xié)議

  • SM: 藍(lán)牙BLE安全管理協(xié)議

  • GAP(GENERIC ACCESS PROFILE):它定義了藍(lán)牙設(shè)備的基本要求。

    它聯(lián)系了所有的不同的層之間的交互,也描述了設(shè)備發(fā)現(xiàn)、建立連接、安全、認(rèn)證、關(guān)聯(lián)模型和發(fā)現(xiàn)服務(wù)的行為和方法。

    • 對(duì)于BR/EDR,它定義了一個(gè)藍(lán)牙設(shè)備,包括無(wú)線電、基帶、鏈路管理器、L2CAP和服務(wù)發(fā)現(xiàn)協(xié)議功能。

    • 對(duì)于LE,它定義一個(gè)物理層,鏈路層,L2CAP,安全管理器,屬性協(xié)議和通用屬性配置文件。

  • ATT(Attribute Protocol):藍(lán)牙屬性協(xié)議,用于發(fā)現(xiàn)、讀、寫對(duì)端設(shè)備的協(xié)議(針對(duì)BLE設(shè)備),ATT允許設(shè)備作為服務(wù)端提供擁有關(guān)聯(lián)值的屬性集 ,讓作為客戶端的設(shè)備來(lái)發(fā)現(xiàn)、讀、寫這些屬性;同時(shí)服務(wù)端能主動(dòng)通知客戶端。

  • GATT(Generic Attribute Profile):藍(lán)牙通用屬性協(xié)議,描述了一種使用ATT的服務(wù)框架 ,該框架定義了數(shù)據(jù)交換的格式。



4總結(jié)

藍(lán)牙芯片的架構(gòu):根據(jù)Host與Controller的結(jié)合關(guān)系,可以分為單模芯片和雙模芯片。

藍(lán)牙協(xié)議的架構(gòu):藍(lán)牙協(xié)議分為三層,即:Host層,Transport層,Controller層。每一層又由多種不同的協(xié)議組成。



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉