<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      藍牙基礎(二):藍牙核心系統架構

      liwen01 2025.05.01

      前言

      Bluetooth core system architecture

      查看藍牙核心規范文檔,都會看到一個復雜的核心系統架構圖,藍牙核心系統架構圖概括了藍牙的基本工作原理。

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

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

      (一) Host、Controller 與 HCI

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

      藍牙分層架構涉及的核心結構是:

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

      (1) 藍牙 Host(主機)

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

      (2) 藍牙 Controller(控制器)

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

      (3) HCI(Host Controller Interface)

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

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

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

      Host、Controller、HCI 之間的關系、可以簡單理解為:

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

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

      (二) Resource Manager

      在藍牙協議棧的層次結構中,HCI 是主機 Host 和控制器 Controller 之間的通信通道。

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

      數據類型主要有:SCO、ACL、C/E 等

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

      有這么多數據要進行收發控制,那又是誰來做數據收發的優先級、流量、擁塞控制呢?

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

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

      Resource Manager 是藍牙協議棧中用于整體資源協調與管理的模塊,負責在協議棧的不同層之間協調有限的系統資源。

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

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

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

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

      (3) 應用舉例

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

      Resource Manager

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

      Baseband Resource Manager

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

      (4) C-plane 與  U-plane

      在藍牙核心規范中,藍牙各層次間的數據分為兩種:

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

      C-plane: 主要用于處理藍牙協議棧中的控制信息,包括設備管理、鏈路管理、信道控制、流量調度、功率控制、設備發現等。

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

      (三) L2CAP 、Link Manager 與 Link Manager

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

      這就出現了 Link Manager、 Link Controller 與 L2CAP 模塊

      (1) L2CAP

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

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

      它的主要功能有:

      (a) 協議多路復用

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

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

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

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

      L2CAP 允許上層發送大數據(如 512字節),并負責:

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

      (c) 協議適配

      將高層協議的數據適配到底層連接類型,比如:

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

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

      提供服務質量(Quality of Service)參數(在經典藍牙中用得多)

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

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

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

      LM 主要功能及工作原理

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

      (a)連接建立

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

      (b)身份認證與加密

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

      (c)角色切換藍牙網絡支持主從角色切換

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

      設備可以通過 LMP_switch_request 請求角色交換。

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

      • Hold Mode:暫停數據傳輸,但保持連接。
      • Sniff Mode:設備在特定時間間隔內監聽數據,減少功耗。
      • Park Mode:設備釋放活動狀態,但仍然保持同步。

      (e)SCO/eSCO 鏈路管理

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

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

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

      LC 主要功能及工作原理

      (a)跳頻同步

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

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

      (b)數據傳輸

      LC 負責封裝數據包,并通過基帶層發送到 RF。 支持兩種數據鏈路:

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

      (c)數據校驗

      LC 負責數據包的錯誤檢測與糾正,使用:

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

      (d)低功耗模式

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

      (4) LM 與 LC 的區別

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

      (四) Device Manager 與 GAP

      (1) Device Manager (設備管理)

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

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

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

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

      (b) 執行藍牙發現與名稱獲取流程

      • 執行 Inquiry(發現)流程,找到周圍的藍牙設備
      • 執行 Remote Name Request 獲取設備名稱
      • 把結果通過 HCI 上報給 Host 層(例如 GAP 模塊)

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

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

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

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

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

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

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

      GAP 的主要功能有:

      (a) 設備角色定義

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

      角色用途說明
      Broadcaster 主動廣播數據,不接受連接(如 iBeacon)
      Observer 被動監聽廣播,不發起連接
      Peripheral 可被連接設備,廣播自身信息
      Central 發起連接的設備(如手機、網關)

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

      (b) 設備發現(Discovery)

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

      GAP 負責調用控制器執行 BLE 掃描命令,然后通過 HCI 返回掃描結果。

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

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

      Advertising(廣播)

      • Peripheral/Broadcaster 發送廣播包
      • GAP 負責配置廣播參數,如:廣播間隔、內容、類型

      Scanning(掃描)

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

      (d) 連接管理(Connection Establishment)

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

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

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

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

      (f) 本地設備屬性管理

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

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

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

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

      在上面介紹的藍牙數據流和藍牙協議棧模塊中,有些屬于經典藍牙模塊,有些屬于BLE 。

      (1) 物理層(PHY)

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

      (2)Link Controller 與 Link Manager

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

      (3) 數據通道的區別

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

      (4) BLE 中的ISO/AL 模塊

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

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

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

      結尾

      這里主要介紹了藍牙核心系統架構的各層次結構、數據流、工作原理。下一章將詳細介紹藍牙控制器部分的工作原理。

       

      ------------------End------------------
      如需獲取更多內容
      請關注 liwen01 公眾號
       
      posted @ 2025-05-12 08:39  liwen01  閱讀(927)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲免费人成网站在线观看| 国产精品不卡一二三区| 四虎永久免费高清视频| 欧美乱码伦视频免费| 午夜福利精品国产二区| 成人乱码一区二区三区四区| 国产乱妇乱子视频在播放| 免费a级毛片18以上观看精品| 亚洲一区二区国产av| 国产美女69视频免费观看| 潮喷失禁大喷水av无码| 乱女伦露脸对白在线播放| 网友偷拍视频一区二区三区| 亚洲人成网网址在线看| 国产成人a在线观看视频免费| 精品国产成人a在线观看| 一本无码人妻在中文字幕免费| 国产一区二区三区乱码在线观看| 日韩人妻无码中文字幕视频| 国产精品白浆免费视频| 亚洲AV无码秘?蜜桃蘑菇| 亚洲国产精品一区二区久| av午夜福利一片免费看久久| 内射视频福利在线观看| 国产伊人网视频在线观看| 日本丰满白嫩大屁股ass| 亚洲东京色一区二区三区| AV无码免费不卡在线观看| 久久精品A一国产成人免费网站| 狼人大伊人久久一区二区| 亚洲伊人久久综合成人| 国内熟妇人妻色在线视频| 欧美乱码伦视频免费| 东京一本一道一二三区| 99re6这里有精品热视频| 国产一区二区内射最近更新 | 亚洲精品国产无套在线观| 久久婷婷国产精品香蕉| 国产精品国产高清国产av| 久久精品无码中文字幕| 成人一区二区三区激情视频|