--- title: BLE 筆記 tags: BLE --- ## BLE 簡介 ___ ### BLE 架構 ![](https://i.imgur.com/bVjQfPm.png) |layer|用途| |---|---| |Physical Layer|SOC 上的無線電的收發| |Link Layer|定義封包結構、收發及資料加密| |L2CAP|多工處理上層的通訊協定的接口| |ATT|將數值轉為屬性中並實作供上層讀取邱改的方法| |GATT|基於ATT數值進行封裝供上層使用| |GAP|對LL的功能抽象化,便於開發| |SMP|安全通信建立| ___ ### 1. Physical Layer - Industrial Scientific Medical (ISM):2.4 GHz - Radio Frequency (RF) channels:2 MHz 訊號間隔 - BLE RF channel types:廣播通道 (advertising channels)、資料通道 (data channels) - 通道數:40 channels(advertising:3, data:37) - 實體層資料傳輸綠:1 Mbps - 接收端 Bit Error Rate (BER):$10^{-3}$ ___ ### 1. Link Layer 建立點對點連結 (point-to-point connection) 時,接收端傳送 Request Message (隨機生成 32-bit access code) 給傳送端。 - 極微網 piconet:成對 master 及 slave (星狀拓樸 star topology, 1個 master 對m個 slave) - 監聽方式:Time Division Multiple Access (TDMA) - master 提供訊息 slave:跳頻演算法(frequency hopping algorithm) - connection event:通道分割不重疊的時間單位 - Inter Frame Space (IFS):150 µs (傳送間隔 transmission space) - 確認結尾封包:data channel packet More Data (MD) - 連續封包發生 bit errors 或是 access address field errors 則封包毀損。 - connInterval:7.5 ms-4 s,</br>connSlaveLatency:0-499 timeout,</br>connSupervisionTimeout:100 ms-32 s - connection method:stop-and-wait,</br>Sequence Number (SN):identifies the packet number,</br>Next Expected Sequence Number(NESN): recevied next Sequence number. ___ ### L2CAP - 目標:多工處理上面三層的通訊協定 - max L2CAP payload size:23 bytes ___ ### ATT - **server** 及 **client** 雙方溝通的規則 - GATT:資料架構的資訊管理儲存 - server 對 client 未定型化溝通模式: 1. notifications, which are unconfirmed. 3. indications, require client to send a confirmation. ___ ### GATT GATT 架構使用 ATT 的傳送服務,交換裝置間的腳色問題。 ___ ### Security 確保 BLE 裝置間通信間的安全性 BLE LL 層建立加密 encryption 及認證 authentication 透過 Chaining Message Authentication Code Protocol,CCMP 以及 AES block cipher 做加密及認證 Pairing 有三個步驟 1. 特徵交換:通訊雙方建立輸出輸入的容量及資訊 2. 配對過程產生的Key: LE legacy pairing: - Temporary Key(TK):短暫出現的Key,用來生成STK (128bits) - Short Term Key(STK):加密配對時使用的key (128bits) - Long Term Key(LTK):加密配對後的key (128bits) 3. 密鑰交換,交換時機: •STK:LE legacy pairing • LTK:LE Secure Connections • shared Link Key:BR/EDR pairing ___ ### GAP and Application Profiles - BLE GAP 因應要求定義四種: - Broadcaster - Observer - Peripheral - Central - 廣播 advertise:Broadcaster to Observer - 極微網 piconet(master and slave):Central to Peripheral ___ ### Performance Evaluation 1. 耗能 (Energy Consumption) 2. 延遲 (Latency) 3. 最大極微網大小 (Maximum Piconet Size) 4. 吞吐量 (Throughput)