日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > liwen01

前言

Bluetooth core system architecture

查看藍(lán)牙核心規(guī)范文檔,都會(huì)看到一個(gè)復(fù)雜的核心系統(tǒng)架構(gòu)圖,藍(lán)牙核心系統(tǒng)架構(gòu)圖概括了藍(lán)牙的基本工作原理。

對(duì)于初學(xué)者,初看這圖,不可避免有點(diǎn)令人望而卻步,這未免太過于晦澀?

本文我們將嘗試對(duì)它進(jìn)行拆開分解,以便于能更好地理解藍(lán)牙的基本工作原理。

(一) Host、Controller 與 HCI

在《藍(lán)牙基礎(chǔ)(一):藍(lán)牙協(xié)議棧與硬件架構(gòu)方案》中我們有介紹單模與雙模藍(lán)牙。其實(shí)不管是單模還是雙模藍(lán)牙,它們的協(xié)議棧都是采用了分層架構(gòu)的設(shè)計(jì)。

藍(lán)牙分層架構(gòu)涉及的核心結(jié)構(gòu)是:

  • Host(主機(jī))
  • Controller(控制器)
  • HCI(Host Controller Interface,主機(jī)控制器接口)

(1) 藍(lán)牙 Host(主機(jī))

Host 運(yùn)行在主處理器上(如 MCU、Linux、Windows 等),主要負(fù)責(zé)上層協(xié)議和應(yīng)用邏輯。

(2) 藍(lán)牙 Controller(控制器)

Controller 通常集成在一個(gè)藍(lán)牙芯片中(有時(shí)稱為 Bluetooth SoC),負(fù)責(zé)底層無線通信功能。

(3) HCI(Host Controller Interface)

HCI 是 Host 和 Controller 之間的 標(biāo)準(zhǔn)接口協(xié)議,它定義了Host 、Controller 兩者之間如何交換命令、事件和數(shù)據(jù)。

常見的通信方式有:UART、USB、SPI、SDIO 等

(4) Host、Controller、HCI 之間的關(guān)系

Host、Controller、HCI 之間的關(guān)系、可以簡單理解為:

Host 是 大腦,Controller 是 身體,HCI 是它們之間的 通信通道。

在藍(lán)牙鼠標(biāo)中,插入電腦的那個(gè)藍(lán)牙USB適配器是Controller,PC機(jī)系統(tǒng)是Host,它們通過USB HCI協(xié)議進(jìn)行通信。

(二) Resource Manager

在藍(lán)牙協(xié)議棧的層次結(jié)構(gòu)中,HCI 是主機(jī) Host 和控制器 Controller 之間的通信通道。

這里有語音數(shù)據(jù)(實(shí)時(shí)性要求高),也有數(shù)據(jù)傳輸(文件、通知、控制命令等)。

數(shù)據(jù)類型主要有:SCO、ACL、C/E 等

  • HCI Command Packet(Host → Controller)
  • HCI Event Packet(Controller → Host)
  • HCI ACL Data Packet(數(shù)據(jù)傳輸)
  • HCI SCO Packet(用于語音)

有這么多數(shù)據(jù)要進(jìn)行收發(fā)控制,那又是誰來做數(shù)據(jù)收發(fā)的優(yōu)先級(jí)、流量、擁塞控制呢?

這就引入了主機(jī)的 Resource Manager(資源管理器)與控制器中的Baseband Resource Manager(基帶資源管理器)。

(1)  Resource Manager (資源管理器)

Resource Manager 是藍(lán)牙協(xié)議棧中用于整體資源協(xié)調(diào)與管理的模塊,負(fù)責(zé)在協(xié)議棧的不同層之間協(xié)調(diào)有限的系統(tǒng)資源。

  • 所在層級(jí):主機(jī)協(xié)議棧層(Host)或控制器接口層
  • 管理對(duì)象:高層資源,如連接、內(nèi)存、協(xié)議模塊調(diào)度
  • 作用范圍:跨模塊調(diào)度、資源分配、策略控制
  • 典型用途:多連接管理、Host Controller接口管理、QoS管理

(2)  Baseband Resource Manager (基帶資源管理器)

Baseband Resource Manager 是藍(lán)牙控制器中專門用于管理基帶層資源的模塊?;鶐撬{(lán)牙協(xié)議棧的底層部分,直接控制無線鏈路的建立與維護(hù)。

  • 所在層級(jí):控制器內(nèi)部(Controller)
  • 管理對(duì)象:低層資源,如跳頻、時(shí)間片、基帶硬件
  • 作用范圍:精細(xì)控制藍(lán)牙物理層時(shí)序與硬件調(diào)度
  • 典型用途:多個(gè)基帶活動(dòng)時(shí)的時(shí)隙調(diào)度、鏈路維持

(3) 應(yīng)用舉例

假設(shè)一個(gè)藍(lán)牙設(shè)備既要進(jìn)行語音傳輸(SCO連接,實(shí)時(shí)性要求高),又在做數(shù)據(jù)同步(ACL連接,如文件或通知)。

Resource Manager

  • 從全局角度分配資源:決定哪些連接可以共存、各自的優(yōu)先級(jí)
  • 管理協(xié)議棧內(nèi)的共享資源:如內(nèi)存緩沖區(qū)、連接控制塊等
  • 做策略級(jí)決策:比如為了語音清晰度,優(yōu)先保障SCO連接,限制ACL帶寬

Baseband Resource Manager

  • 負(fù)責(zé)底層時(shí)間調(diào)度與頻率控制:在微秒級(jí)別分配SCO和ACL的時(shí)隙
  • 解決時(shí)間沖突:協(xié)調(diào)不同連接在物理層的發(fā)送/接收時(shí)機(jī),避免碰撞
  • 控制基帶硬件資源使用:如跳頻、同步窗口、接收緩沖區(qū)等

(4) C-plane 與  U-plane

在藍(lán)牙核心規(guī)范中,藍(lán)牙各層次間的數(shù)據(jù)分為兩種:

  • C-plane(Control Plane)
  • U-plane(User Plane)

C-plane: 主要用于處理藍(lán)牙協(xié)議棧中的控制信息,包括設(shè)備管理、鏈路管理、信道控制、流量調(diào)度、功率控制、設(shè)備發(fā)現(xiàn)等。

U-plane: 主要用于數(shù)據(jù)傳輸,涉及音頻、文件傳輸、串口通信等用戶數(shù)據(jù)流。

(三) L2CAP 、Link Manager 與 Link Manager

如果要對(duì)數(shù)據(jù)流進(jìn)一步細(xì)分,就可以看到下圖的數(shù)據(jù)流。白色表示C-plane,紅色表示U-plane。

這就出現(xiàn)了 Link Manager、 Link Controller 與 L2CAP 模塊

(1) L2CAP

L2CAP(Logical Link Control and Adaptation Protocol,邏輯鏈路控制與適配協(xié)議) 主要起到適配和復(fù)用的作用。

它工作在 Host 層,用于不同高層協(xié)議(如 ATT、SDP、RFCOMM)與底層控制器之間的數(shù)據(jù)傳輸。

它的主要功能有:

(a) 協(xié)議多路復(fù)用

L2CAP 支持多個(gè)協(xié)議共用一個(gè)物理連接(Logical Link Multiplexing)

比如:ATT 和 SDP 可以在同一連接上傳輸數(shù)據(jù),L2CAP 負(fù)責(zé)區(qū)分這些數(shù)據(jù)流。

(b) 數(shù)據(jù)分片與重組(Segmentation & Reassembly, SAR)

藍(lán)牙底層控制器只能處理較小的數(shù)據(jù)包(如 27字節(jié) MTU)

L2CAP 允許上層發(fā)送大數(shù)據(jù)(如 512字節(jié)),并負(fù)責(zé):

  • 發(fā)送端將其分片(Segmentation)
  • 接收端將其重組(Reassembly)

(c) 協(xié)議適配

將高層協(xié)議的數(shù)據(jù)適配到底層連接類型,比如:

  • 基于 ACL(Asynchronous Connection-Less)鏈路
  • LE(低功耗藍(lán)牙)使用的是 LE-U(LE-U Logical Link)

(d) QoS 支持(BR/EDR 模式)

提供服務(wù)質(zhì)量(Quality of Service)參數(shù)(在經(jīng)典藍(lán)牙中用得多)

簡而言之:L2CAP 就是藍(lán)牙協(xié)議棧中的適配器和路由器,幫你分發(fā)數(shù)據(jù)、組包、拆包,還能控制多個(gè)協(xié)議通道共享一條藍(lán)牙連接。

(2) Link Manager(LM,鏈路管理器)

Link Manager 主要負(fù)責(zé) 藍(lán)牙鏈路的建立、維護(hù)和管理,它通過 Link Manager Protocol(LMP) 與遠(yuǎn)程設(shè)備的 Link Manager 進(jìn)行交互,控制鏈路的狀態(tài)和特性。

LM 主要功能及工作原理

LM 通過 LMP(Link Manager Protocol) 交換控制命令,完成各種藍(lán)牙連接管理任務(wù)。

(a)連接建立

  • 設(shè)備 A(主機(jī))向設(shè)備 B(從機(jī))發(fā)送 LMP_connection_request 請(qǐng)求。
  • 設(shè)備 B 確認(rèn)連接,返回 LMP_accepted,然后進(jìn)入Paging(尋呼)過程完成連接。
  • 如果設(shè)備之前配對(duì)過,還需要進(jìn)行身份認(rèn)證(Authentication)。

(b)身份認(rèn)證與加密

  • 設(shè)備 A 發(fā)送 LMP_authentication_request 進(jìn)行身份驗(yàn)證。
  • 使用 E1/E3 密鑰生成函數(shù) 計(jì)算認(rèn)證密鑰。
  • 設(shè)備 B 返回認(rèn)證結(jié)果(通過或失?。?。
  • 如果啟用了加密,則使用 E0 加密算法 對(duì)數(shù)據(jù)進(jìn)行加密。

(c)角色切換藍(lán)牙網(wǎng)絡(luò)支持主從角色切換

  • 主設(shè)備(Master)控制通信時(shí)序。
  • 從設(shè)備(Slave)按照主設(shè)備分配的時(shí)隙接收/發(fā)送數(shù)據(jù)。

設(shè)備可以通過 LMP_switch_request 請(qǐng)求角色交換。

(d)功耗控制LM 提供了 3 種低功耗模式:

  • Hold Mode:暫停數(shù)據(jù)傳輸,但保持連接。
  • Sniff Mode:設(shè)備在特定時(shí)間間隔內(nèi)監(jiān)聽數(shù)據(jù),減少功耗。
  • Park Mode:設(shè)備釋放活動(dòng)狀態(tài),但仍然保持同步。

(e)SCO/eSCO 鏈路管理

LM 負(fù)責(zé) SCO(同步連接) 的分配,如藍(lán)牙語音通話(HFP)。 使用 LMP_setup_synchronous_connection 配置 SCO 連接參數(shù)

(3) Link Manager(LM,鏈路管理器)

Link Controller(LC)直接與 基帶(Baseband) 和 物理層(RF) 交互,負(fù)責(zé)執(zhí)行 LM 發(fā)送的指令,并處理實(shí)際的數(shù)據(jù)包交換。

LC 主要功能及工作原理

(a)跳頻同步

藍(lán)牙采用 FHSS(跳頻擴(kuò)頻) 技術(shù),每 625μs 進(jìn)行一次跳頻,避免干擾。

LC 負(fù)責(zé)計(jì)算頻率跳變序列,并確保所有連接設(shè)備在相同的頻率上進(jìn)行通信。

(b)數(shù)據(jù)傳輸

LC 負(fù)責(zé)封裝數(shù)據(jù)包,并通過基帶層發(fā)送到 RF。 支持兩種數(shù)據(jù)鏈路:

  • ACL(異步連接鏈路):用于數(shù)據(jù)傳輸(如文件傳輸)。
  • SCO(同步連接鏈路):用于語音數(shù)據(jù)傳輸(如藍(lán)牙通話)。

(c)數(shù)據(jù)校驗(yàn)

LC 負(fù)責(zé)數(shù)據(jù)包的錯(cuò)誤檢測(cè)與糾正,使用:

  • CRC(循環(huán)冗余校驗(yàn)):檢測(cè)數(shù)據(jù)包是否損壞。
  • FEC(前向糾錯(cuò)碼):提高數(shù)據(jù)可靠性。
  • ARQ(自動(dòng)重傳請(qǐng)求):如果數(shù)據(jù)包丟失,則請(qǐng)求重傳。

(d)低功耗模式

LC 負(fù)責(zé)執(zhí)行 LMP 指令,讓設(shè)備進(jìn)入 Sniff、Hold 或 Park Mode,減少能耗.

(4) LM 與 LC 的區(qū)別

  • LM 負(fù)責(zé)高級(jí)鏈路管理,如身份驗(yàn)證、配對(duì)、角色切換。
  • LC 負(fù)責(zé)低級(jí)數(shù)據(jù)傳輸,如數(shù)據(jù)封裝、跳頻、錯(cuò)誤校驗(yàn)。
  • LM 通過 LMP 協(xié)議 進(jìn)行控制,而 LC 依賴 基帶協(xié)議 完成數(shù)據(jù)交換。

(四) Device Manager 與 GAP

(1) Device Manager (設(shè)備管理)

Device Manager 是控制器中的關(guān)鍵控制模塊,負(fù)責(zé)連接控制、配對(duì)協(xié)助、設(shè)備發(fā)現(xiàn)等核心操作,是 HCI 與底層鏈路管理之間的橋梁。

Device Manager 的主要功能(基于 Controller 架構(gòu))

(a) 管理設(shè)備連接(Connection Management)

  • 處理來自 Host 的連接請(qǐng)求(Connect、Disconnect)
  • 發(fā)起連接或接受連接請(qǐng)求
  • 管理多個(gè)連接的狀態(tài)(連接、斷開、重新連接)

(b) 執(zhí)行藍(lán)牙發(fā)現(xiàn)與名稱獲取流程

  • 執(zhí)行 Inquiry(發(fā)現(xiàn))流程,找到周圍的藍(lán)牙設(shè)備
  • 執(zhí)行 Remote Name Request 獲取設(shè)備名稱
  • 把結(jié)果通過 HCI 上報(bào)給 Host 層(例如 GAP 模塊)

(c) 配對(duì)和認(rèn)證觸發(fā)控制雖然安全管理(SMP)主要在 Host 層,但 Controller 層的 Device Manager 負(fù)責(zé):

  • 啟動(dòng)配對(duì)流程(Pin Code Request、IO Capability Request)
  • 管理 Link Key(密鑰)緩存、保存與恢復(fù)

與 Link Manager 協(xié)作完成加密啟動(dòng)、身份驗(yàn)證等過程

(d) Host 層的接口橋梁(HCI)

  • 接收 Host 層發(fā)來的 HCI 命令(如創(chuàng)建連接、斷開連接)
  • 將 Controller 中的事件上報(bào)給 Host(如連接完成事件、配對(duì)完成事件)

(2) GAP(Generic Access Profile 通用訪問規(guī)范)

GAP(Generic Access Profile) 是藍(lán)牙協(xié)議棧中的一種通用訪問規(guī)范,它不屬于某一個(gè)獨(dú)立的協(xié)議,而是定義了藍(lán)牙設(shè)備之間如何互相看到連上彼此的通用流程和規(guī)則。

GAP 的主要功能有:

(a) 設(shè)備角色定義

GAP 定義設(shè)備在通信過程中的4種角色

角色 用途說明
Broadcaster 主動(dòng)廣播數(shù)據(jù),不接受連接(如 iBeacon)
Observer 被動(dòng)監(jiān)聽廣播,不發(fā)起連接
Peripheral 可被連接設(shè)備,廣播自身信息
Central 發(fā)起連接的設(shè)備(如手機(jī)、網(wǎng)關(guān))

常見工作模式是:Peripheral 與 Central ,比如我們手機(jī)與藍(lán)牙耳機(jī)。

(b) 設(shè)備發(fā)現(xiàn)(Discovery)

  • 掃描周圍廣播(advertising)設(shè)備
  • 過濾、解析廣播數(shù)據(jù)(如設(shè)備名、UUID、服務(wù))
  • 提供掃描結(jié)果給上層應(yīng)用

GAP 負(fù)責(zé)調(diào)用控制器執(zhí)行 BLE 掃描命令,然后通過 HCI 返回掃描結(jié)果。

(c) 廣播與掃描(Advertising & Scanning)

GAP 控制以下兩個(gè)重要過程:廣播與掃描

Advertising(廣播)

  • Peripheral/Broadcaster 發(fā)送廣播包
  • GAP 負(fù)責(zé)配置廣播參數(shù),如:廣播間隔、內(nèi)容、類型

Scanning(掃描)

  • Central/Observer 接收廣播
  • GAP 負(fù)責(zé)配置掃描行為,如:掃描窗口、間隔、主動(dòng)掃描、被動(dòng)掃描、過濾策略

(d) 連接管理(Connection Establishment)

  • Central 向 Peripheral 發(fā)起連接請(qǐng)求(通過 GAP 接口發(fā)出連接命令)
  • GAP 維護(hù)連接狀態(tài)(連接中、已連接、斷開)

GAP 不執(zhí)行連接過程本身,而是通過 HCI 讓 Controller 中的 Device Manager、Link Manager 去處理。

(e) 配對(duì)模式與安全級(jí)別設(shè)置

  • 決定是否允許配對(duì)、是否需要加密
  • 設(shè)置 I/O 能力(無輸入、數(shù)字鍵盤、顯示器等)
  • 選擇配對(duì)模式(Just Works、Passkey、OOB 等)
  • GAP 會(huì)協(xié)同 Security Manager(SMP)工作來完成配對(duì)流程

(f) 本地設(shè)備屬性管理

GAP 還提供接口設(shè)置和讀取本地設(shè)備信息:

  • 本地設(shè)備名稱(Device Name)
  • 外觀(Appearance)
  • 連接參數(shù)(Interval、Latency、Timeout)
  • 角色切換、白名單管理等

GAP 是藍(lán)牙通信中的“前臺(tái)經(jīng)理”,負(fù)責(zé)發(fā)現(xiàn)設(shè)備、建立連接、定義角色、管理廣播和掃描行為,是最核心的 Host 層模塊之一。

(五) BR/EDR 、BLE 雙模架構(gòu)

在上面介紹的藍(lán)牙數(shù)據(jù)流和藍(lán)牙協(xié)議棧模塊中,有些屬于經(jīng)典藍(lán)牙模塊,有些屬于BLE 。

(1) 物理層(PHY)

模塊 BR/EDR Controller LE Controller
PHY 類型 BR/EDR Radio(79 個(gè) 1MHz 信道) LE Radio(40 個(gè) 2MHz 信道)
調(diào)制方式 GFSK(BR)、π/4-DQPSK(EDR) GFSK(可選編碼,支持遠(yuǎn)距/低速)

(2)Link Controller 與 Link Manager

功能區(qū)域 BR/EDR BLE
Link Controller 處理同步(SCO/eSCO)與異步(ACL)鏈路 處理 LE 連接和廣播/掃描鏈路
Link Manager 支持多種鏈路管理命令(角色切換、加密等) 專為低功耗優(yōu)化,簡化鏈路管理操作

(3) 數(shù)據(jù)通道的區(qū)別

通道類型 BR/EDR 支持 BLE 支持
ACL 支持 支持
SCO / eSCO 支持(用于音頻) 不支持(用 ISO 替代)
ISO(ISOC 通道) 不支持(傳統(tǒng)協(xié)議) 支持(BLE Audio/LE Audio)

(4) BLE 中的ISO/AL 模塊

BLE 控制器新增了 ISO/AL(Isochronous Adaptation Layer),是 BLE Audio 所必需的:

  • 提供面向音頻的低延遲、可預(yù)測(cè)傳輸
  • 支持廣播音頻(BIS)和連接音頻(CIS)
  • 是 5.2 BLE Audio 架構(gòu)中新引入的專用模塊

介紹到這里,再回頭看最開頭提的 Bluetooth core system architecture 就清晰很多了。

結(jié)尾

這里主要介紹了藍(lán)牙核心系統(tǒng)架構(gòu)的各層次結(jié)構(gòu)、數(shù)據(jù)流、工作原理。下一章將詳細(xì)介紹藍(lán)牙控制器部分的工作原理。


本站聲明: 本文章由作者或相關(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)系本站刪除。
關(guān)閉