2023年1月24日 星期二

Android Studio - 藍牙低功耗(BLE)種類介紹 (九十六)

Android Studio - 藍牙低功耗(BLE)種類介紹 (九十六):

藍牙低功耗(Bluetooth Low Energy / BLE)是一種技術,從藍牙 4.0 開始支援。BLE 較傳統藍牙具有傳送速率更快,覆蓋範圍更廣,安全性更高,延遲更短,耗電低等優點。藍牙低功耗 4.0 有兩種模式,分別為單模(Bluetooth Smart)和雙模(Bluetooth Smart Ready)兩種設備。

藍牙低功耗(BLE)種類
單模設備(Bluetooth Smart):
  • 只能執行低功耗協議棧,也就是只支援BLE,為了實現極低的功耗,硬體和軟體上都做了優化。這樣的設備只能支援BLE。單模藍牙晶片往往是一個帶有單模藍牙協定棧的產品,這個協定棧是晶片商免費提供的。
  • 具有藍牙智慧型(Bluetooth Smart)標識的設備僅支持低功耗藍牙,BLE 多個協議版本(v4.0/4.1/4.2/5.0/5.1/5.2),可以與藍牙智慧型就緒或藍牙智慧型設備通信。

藍牙低功耗(BLE)單模設備(Bluetooth Smart)
雙模設備(Bluetooth Smart Ready):
  • 雙模設備支援藍牙 BR/EDR 和 BLE(支援藍牙所有版本,相容低功耗藍牙及經典藍牙)。在雙模設備中,這兩個技術使用同一個射頻前端和天線。典型的雙模設備有智慧手機、平板電腦、PC 和 Gateway。這些設備可以收到通過BLE或者藍牙 BR/EDR 設備發送過來的資料,這些設備往往都有足夠的供電能力。雙模設備和BLE設備通信的功耗低於雙模設備和藍牙 BR/EDR 設備通信的功耗。雙模解決方案需要一個外部處理器才足以實現藍牙協議棧。
  • 具有藍牙智慧型就緒(Bluetooth Smart Ready)標識的外設兼容經典藍牙與低功耗藍牙的雙模。

藍牙低功耗(BLE)雙模設備(Bluetooth Smart Ready)
藍牙低功耗(BLE)的連接
BLE 協定棧(Protocol Stack)主要由如下幾部分組成:
  • GATT(Generic Attribute Profile ):GATT 用來規範 attribute 中的資料內容,並運用 group(分組)的概念對 attribute 進行分類管理。沒有 GATT,BLE 協議棧也能跑,但互聯互通就會出問題,也正是因為有了 GATT 和各種各樣的應用 profile,BLE 擺脫了 ZigBee 等無線協議的相容性困境,成了出貨量最大的 2.4G 無線通訊產品。
  • GAP層(Generic access profile):GAP 是對 LL層 payload(有效資料包)如何進行解析的兩種方式中的一種,而且是最簡單的那一種。GAP簡單的對LL payload 進行一些規範和定義,因此 GAP 能實現的功能極其有限。GAP目前主要用來進行廣播,掃描和發起連接等。
  • SMP(Secure manager protocol):SMP 用來管理BLE連接的加密和安全的,如何保證連接的安全性,同時不影響用戶的體驗,這些都是 SMP 要考慮的工作。
  • ATT(Attribute Protocol):所有資料傳輸經過這層實現,定義了Client 和 Server 屬性,Client 就傳 Request,Server 傳 response。每個屬性都有一個唯一的 UUID,屬性將以characteristics and services的形式傳輸。
  • L2CAP層(Logic link control and adaptation protocol)。L2CAP 對 LL 進行了一次簡單封裝,LL 只關心傳輸的資料本身,L2CAP 就要區分是加密通道還是普通通道,同時還要對連接間隔進行管理。
  • HCI(Host controller interface):HCI 是可選的(具體請參考文章: 三種藍牙架構實現方案(藍牙協議棧方案)),HCI 主要用於 2顆晶片實現 BLE 協定棧的場合,用來規範兩者之間的通信協定和通信命令等。
  • PHY層(Physical layer 實體層):PHY 層用來指定 BLE 所用的無線頻段,調製解調方式和方法等。PHY 層做得好不好,直接決定整個BLE晶片的功耗,靈敏度以及 selectivity 等射頻指標。
  • LL層(Link Layer 鏈路層)。LL層是整個BLE協議棧的核心,也是 BLE 協議棧的難點和重點。LL層要做的事情非常多,比如具體選擇哪個射頻通道進行通信,怎麼識別空中資料包,具體在哪個時間點把資料包發送出去,怎麼保證資料的完整性,ACK 如何接收,如何進行重傳,以及如何對鏈路進行管理和控制等等。LL層只負責把資料發出去或者收回來,對資料進行怎樣的解析則交給上面的 GAP 或者 GATT。

藍牙協定分為四個層次:
  • 實體層:負責提供資料傳輸的物理通道(通常稱為通道)
  • 邏輯層:在實體層的基礎上,提供兩個或多個設備之間,和物理無關的邏輯傳輸通道
  • L2CAP:L2CAP 是邏輯鏈路控制和適配協議的縮寫,負責管理邏輯層提供的邏輯鏈路
  • 應用層:基於 L2CAP 提供的 channel,實現各種各樣的應用功能

BLE 協定棧(Protocol Stack)

2023年 1月 24日(Tue)天氣報告
氣溫:38.0°F / 3.0°C @ 07:00
風速:每小時 10公里
降雨機會:46%
相對濕度:百分之 88%
天氣:多雲

沒有留言:

張貼留言