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

當前位置:首頁 > > liwen01

前言

Bluetooth core system architecture

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

對于初學者,初看這圖,不可避免有點令人望而卻步,這未免太過于晦澀?

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

(一) Host、Controller 與 HCI

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

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

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

(1) 藍牙 Host(主機)

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

(2) 藍牙 Controller(控制器)

Controller 通常集成在一個藍牙芯片中(有時稱為 Bluetooth SoC),負責底層無線通信功能。

(3) HCI(Host Controller Interface)

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

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

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

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

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

在藍牙鼠標中,插入電腦的那個藍牙USB適配器是Controller,PC機系統(tǒng)是Host,它們通過USB HCI協(xié)議進行通信。

(二) Resource Manager

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

這里有語音數(shù)據(jù)(實時性要求高),也有數(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ù)要進行收發(fā)控制,那又是誰來做數(shù)據(jù)收發(fā)的優(yōu)先級、流量、擁塞控制呢?

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

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

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

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

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

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

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

(3) 應用舉例

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

Resource Manager

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

Baseband Resource Manager

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

(4) C-plane 與  U-plane

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

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

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

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

(三) L2CAP 、Link Manager 與 Link Manager

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

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

(1) L2CAP

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

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

它的主要功能有:

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

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

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

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

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

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

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

(c) 協(xié)議適配

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

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

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

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

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

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

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

LM 主要功能及工作原理

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

(a)連接建立

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

(b)身份認證與加密

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

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

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

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

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

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

(e)SCO/eSCO 鏈路管理

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

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

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

LC 主要功能及工作原理

(a)跳頻同步

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

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

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

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

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

(c)數(shù)據(jù)校驗

LC 負責數(shù)據(jù)包的錯誤檢測與糾正,使用:

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

(d)低功耗模式

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

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

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

(四) Device Manager 與 GAP

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

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

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

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

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

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

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

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

  • 啟動配對流程(Pin Code Request、IO Capability Request)
  • 管理 Link Key(密鑰)緩存、保存與恢復

與 Link Manager 協(xié)作完成加密啟動、身份驗證等過程

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

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

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

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

GAP 的主要功能有:

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

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

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

常見工作模式是:Peripheral 與 Central ,比如我們手機與藍牙耳機。

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

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

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

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

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

Advertising(廣播)

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

Scanning(掃描)

  • Central/Observer 接收廣播
  • GAP 負責配置掃描行為,如:掃描窗口、間隔、主動掃描、被動掃描、過濾策略

(d) 連接管理(Connection Establishment)

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

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

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

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

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

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

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

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

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

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

(1) 物理層(PHY)

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

(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 所必需的:

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

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

結(jié)尾

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


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