躺雨沒的學習筆記(2)——藍芽概述 (1.2)BLE概述
Agenda:
1.2藍芽低能耗(BLE)操作概述
跟基礎速率和增強速率(BR/EDR)一樣,藍芽低功耗(LE)射頻工作在國際無授權2.4G Hz ISM頻道。藍芽系統使用跳頻技術用來對抗干擾、抗衰減,並且提供跳頻擴頻(FHSS)載體。基礎速率射頻在工作時使用一種成形的二進位制頻率調製來降低技術的複雜度。與BR/EDR不一樣的地方在於,LE使用不同物理層(PHY),從而使用不同的調製技術、應用不同的編碼、以及不同的傳輸速率。LE的物理層分類:
LE物理層(PHY) |
描述 |
LE Uncoded PHY |
無編碼物理層,不支援錯誤糾正。符號率和位元速率為1 Mb/s 和2 Mb/s的無編碼物層分別稱為LE 1M PHY和LE 2M PHY |
LE Coded PHY |
有編碼物理層,支援錯誤糾正。如果符號率為1 Mb/s,2個符號代表1 bit,那麼位元速率為512 kb/s;8個符號代表1 bit,位元速率為125 kb/s |
LE使用兩種複用技術:
描述 |
|
分頻多重進接(FDMA) |
LE技術把ISM頻段分成40個子頻段,子頻段之間用2 MHz去隔開。其中3個子頻段用作主廣播通道(primary advertising channels),其他37個子頻段用作次要廣播通道( secondary advertising channels)和資料通道(data channels) |
分時多重進接(TDMA) |
在預定時間裡傳送資料包,在預定的時間間隔之後收到對方的應答 |
1.2.1 事件
LE物理通道用時間概念去劃分成的時間段單位,叫做事件(events)。資料在裝置間以包的形式傳輸,包含在一個事件裡。有四種事件型別:
- Advertising
- Extended Advertising
- Periodic Advertising
- Connection events
1.2.2 廣播事件
LE裝置角色(廣播角度):
角色 |
描述 |
advertisers |
在廣播通道上傳送廣播包 |
scanners |
在廣播通道上接收廣播包,但是不發起到廣播者的連線 |
在廣播物理通道(advertising PHY channels)上傳送資料包含在廣播事件中。
- 在每個廣播事件開始的時候,廣播者傳送廣播包。
- 掃描者接收到廣播包後,根據不同的廣播包型別,可能在同一個廣播通道上傳送一個請求,並隨後會在同一個廣播通道上接收到廣播者的應答。
- 在同一個廣播事件中,廣播者傳送下一個廣播包的時候,會切換廣播物理通道。
- 廣播者可以隨時終止廣播事件。
- 一個廣播事件,廣播者會在3個廣播物理通道上分別傳送廣播包。
- 下一個廣播事件,廣播者重新開始從第一個廣播物理通道上傳送廣播資料包。
LE裝置使用廣播事件,能滿足對兩個或多個裝置的單向傳輸或廣播通訊。也可以通過廣播事件的協助,用資料通道(data channels)建立兩個或多個裝置之間的雙向資料通訊,或者用次要廣播通道(secondary advertising channels)建立週期信廣播通訊。
1.2.3 連線事件
LE裝置角色(連線角度):
角色 |
描述 |
initiators |
偵聽可連線廣播資料包,需要與另外一個裝置建立連線的裝置 |
如果廣播者傳送廣播的時候使用可連線廣播事件,發起者就能在接收到可連線廣播資料包的廣播物理通道上,傳送連線請求。如果廣播者接收和接受連線請求,廣播事件就結束了,並且連線事件就開始。一旦連線建立,發起者就成為master,廣播者就成為slave。連線事件是用作在master和slave之間傳輸資料用的(注意,連線事件是傳輸資料,不是用作建立連線)。在連線事件中,在一個連線事件與另外一個連線事件之間,會發生跳頻。在同一個連線事件裡面,master和slave在同一個資料物理通道上交替傳送和接收資料包。master可以隨時啟動和結束連線事件,換句話說,master能控制資料通訊的時機。
1.2.4 跳頻
(173頁)在同一個微微網中的裝置都用同一個跳頻時序。跳頻時序是由發起者傳送連線請求的時候,連線請求中的某些資料段決定的。LE的跳頻時序,是對37個子頻段編號,並通過特定演算法生成一個準隨機的子頻段編號序列。跳頻時序是可以被調整的,也就是說,在生成跳頻時序的時候可以去掉若干被幹擾的子頻段,再計算跳頻時序。這種可調跳頻技術能增強與其他使用非跳頻無線技術的通訊共存(比如WIFI)。
1.2.5 物理通道和物理連線
在物理通道之上是鏈路、通道、以及控制協議。在藍芽協議棧的分層結構中,自下而上,分別是物理通道、物理連線、邏輯傳輸、邏輯連線和L2CAP通道。這些概念會在後面詳細討論,在這提出只是幫助理解這小節內容的剩下部分。
在一個物理通道中,裝置間會建立一個物理連結。活躍狀態的物理連結提供master和slave之間的雙向資料包通訊載體。因為一個物理通道被多個slave共享,所以建立物理連線的時候會有所限制:
- master和slave之間都有一條物理連線
- slave允許與多個master之間建立連線
- slave和slave之不能建立直接的物理連線
廣播物理連線和週期廣播物理連線(periodic physical links)提供到多個裝置(scanners or initiators)的單向資料傳輸
1.2.6 邏輯連線
物理連線用作承載一個或多個邏輯連結,支援非同步資料流。資源管理器(resource manager)使用排程功能,把邏輯連線上的資料流複合到物理連線上傳輸。
1.2.7 鏈路層協議
一種控制協議用作在連結和物理層上傳輸邏輯連線和使用者資料,叫做鏈路層協議(link layer protocol, 簡稱LL)。在微微網中層處在活躍狀態的裝置都存在一個預設的LE非同步連線的邏輯通訊載體(default LE asynchronous connection logical transport,簡稱LE ACL),用作承載LL協議資訊。當一個裝置加入微微網,預設LE ACL就會被建立。
鏈路管理器的功能是用LL協議去控制在微微網的裝置,並且向上層提供底層(射頻和鏈路層)的服務。
1.2.8 L2CAP
(174頁)跟BR/EDR技術一樣,在基帶層之上是L2CAP層,它為上層應用和服務提供基於通道概念的抽象。它在一個共享的邏輯連線上,提供資料的拆分和重灌配、通道的複用和分離服務。L2CAP在預設ACL通訊上建立了一個協議控制通道,專門傳輸L2CAP的控制命令。
1.2.9 SMP和ATT
LE在L2CAP之上還提供兩個附加的協議:
協議 |
描述 |
Security Manager protocol (SMP) |
使用已分配好的固定L2CAP通道,提供裝置間加密功能 |
Attribute protocol (ATT) |
使用已分配好的固定L2CAP通道,提供一種可以傳送小量資料的方法。ATT協議還可以用作查詢對方的服務和能力。ATT協議可以用在BR/EDR上 |
——————————————————————————————————————
Reference
1 BT specification Core 4.2, Bluetooth SIG.
————————————————————————————————————————
作者按:藍芽從業者,潛心學習BT stack,藍芽協議奇多無比,概述只是開始,網上資料還比較多,學到後面的各種spec就只剩英文原版可以參考了,遂把自己的筆記發出來,互相交流,互相交流。