nRF52832開發之藍牙知識簡介

一、藍牙技術起源

1.藍牙的創始人是瑞典愛立信公司
2.愛立信早在1994年進行研發
3.1998年2月,5個跨國公司(愛立信、諾基亞、IBM、東芝、Intel)組成一個特殊興趣小組(SIG),小組目標是建立全球範圍內小範圍無線通信技術,即現在的藍牙
4.藍牙技術命名源於10世紀的丹麥國王名字(英文姓名爲Harold Bluetooth),這位國王統一四分五裂的局面與將各種設備無線連接起來的傳輸技術有相似之處,故取名藍牙

二、藍牙版本

1.藍牙1.0
基本碼率(Basic Rate,BR)
2.藍牙2.0
增強碼率(Enhanced Data Rate,EDR)
3.藍牙3.0
引入全新的交替射頻技術(AMP:Alternate MAC/PHY),使得藍牙協議棧可以對任一任務動態地選擇正確射頻
4.藍牙4.0
藍牙4.0是第一個綜合性規範,加入了全新的低功耗藍牙技術,最突出的特點就是省電。藍牙4.0包含3個規範,即傳統藍牙技術、高速藍牙技術和新的低功耗藍牙技術。最常見的兩種藍牙核心規格:BR/EDR和BLE
5.藍牙4.2
藍牙4.2提升了BLE傳輸速度,支持長包傳輸,單個數據包最大可傳輸255個字節,同時提升了隱私保護程度
6.藍牙5.0
相對於藍牙4.2,藍牙5.0具有2倍的數據速率、4倍的覆蓋範圍和8倍的廣播能力

三、藍牙設備類型

低功耗藍牙分爲單模(Bluetooth Smart)和雙模(Bluetooth Smart Ready)兩種設備:
1.單模設備
只支持藍牙低功耗(BLE),單模設備對功耗要求很高
2.雙模設備
既支持傳統藍牙也支持藍牙低功耗,這兩種技術使用同一個射頻前端和天線,雙模設備一般有足夠的供電能力,對低功耗要求不高。

兼容性:
1.單模設備間通過LE通信
1.雙模設備間可通過LE通信,也可以通過傳統藍牙通信
2.雙模和單模設備通過LE通信
3.雙模和傳統藍牙通過傳統藍牙通信
4.單模和傳統藍牙不能通信

四、BLE的體系結構

1.概述
藍牙低功耗主要分爲三分部分:控制器、主機和應用程序
1)控制器
包括物理層(PHY)、鏈路層(LL)和主機控制接口(HCI)的下半部
2)主機
包括主機控制接口(HCI)的上半部、邏輯鏈路控制和適配協議(L2CAP)、屬性協議(ATT)和安全管理(SMP)、通用屬性配置文件(GATT)、通用訪問配置文件(GAP)
3)應用程序

2.各部分詳細介紹
1)物理層(Physical Layer)
1>調製方式:GFSK,高斯頻移鍵控
2>工作在2.4GHz ISM頻段。頻率範圍:2.4~2.4835GHz
3>ISM頻段:全稱爲Industrial Scietific Medical Band,主要是開放給工業、科學和醫用三個主要機構使用。ISM屬於無許可頻段,也是唯一一個在所有國家都無需授權的頻段。我們所熟知的WLAN、藍牙、ZigBee等無線網絡都工作在這個頻段
4>2.4GHz被分爲40個RF信道(f=2402+k*2MHz,k = 0,…,39),信道間隔2MHz。其中3個廣播信道,37個數據信道
5>無線速率:1Mbps、2Mbps

2)鏈路層(Link Layer)
1>鏈路層負責廣播、掃描、建立和維護連接,以及確保數據包按照正確的方式組織、正確地校驗值和加密序列等
2>鏈路層設備有五種狀態:
就緒態(Standby):上電後,鏈路層進入並保持就緒態,知道接收到主機命令切換到其他狀態,其他狀態可以切回到就緒態
廣播態(Advertising):發送廣播報文和掃描響應
掃描態(Scanning):掃描其他廣播設備
發起態(Initiating):發起連接
連接態(Connection):唯一一個用到數據信道的狀態,兩個設備間只有在連接態中才能互相傳數據
3>鏈路層信道映射
廣播信道:三個信道對應的中心頻率爲2402MHz、2426MHz和2480MHz,每次廣播,都會在3個信道上將廣播數據發送一次,這能有效避免干擾

3)主機控制器接口(HCI)
主機控制器接口在主機和控制器間提供一個標準化的接口,該層可以由應用程序接口API實現或者使用硬件接口UART、SPI和USB來控制。

4)邏輯鏈路控制和適配協議(L2CAP)
1>L2CAP層向上層提供數據封裝服務,從而使邏輯上允許端到端的數據通信
2>L2CAP提供可複用,分割和重組的面向連接或無連接的數據服務

5)安全管理層(SM)
SM層提供配對和祕鑰的分發

6)屬性協議(ATT)
屬性協議規定了怎麼去訪問對端設備的數據,數據存儲在屬性服務器的"屬性"裏,供屬性客戶端進行讀寫操作

7)通用屬性配置文件(GATT)
通用屬性配置文件建立在ATT協議的基礎上,GATT通過使用ATT協議層定義瞭如何發現與使用服務、特徵和描述符的標準方法
1>GATT定義了兩個角色:服務器和客戶端
2>服務器提供數據服務,就是數據中心
3>客戶端從服務器讀寫應用數據,是數據訪問者
4>主機、從機,針對鏈路層
5>外圍設備、中心設備,GAP定義的角色

8)通用訪問配置文件(GAP)
GAP層負責處理設備的接入方式和過程,包括設備發現、鏈路建立、鏈路終止已經實現綁定

9)應用層
應用層定義了三種類型:特徵(characteristic)、服務(service)和配置文件(profile)
1>特徵:採用已知格式、以通用唯一識別碼(UUID)作爲表示的一個小塊數據,由於特徵可以重複使用,因而設計時沒有設計行爲
2>服務:服務是一組人類可讀的特徵及其相關的行爲規範,只定義了服務器上的相關特徵和行爲,而不定義客戶端的行爲。
3>配置文件:是用例或應用的最終體現。配置文件是描述一個或多個設備的說明,每一個設備提供了一個或多個服務,配置文件描述瞭如何發現和連接設備。

五、BLE廣播、掃描和連接事件

1.廣播事件
1>通用廣播,最常用的廣播方式,可以被掃描,接收到連接請求時可以作爲從設備進入一個連接
2>定向廣播,針對於快速建立連接的需求,定向廣播會佔滿整個廣播信道,數據淨荷只包含廣播者和發起者地址,發起者收到發給自己的定向廣播後,會立即發送連接請求
3>不可連接廣播,廣播數據,而不進入連接狀態
4>可發現廣播,不可連接,但可以響應掃描
BLE廣播間隔:是指兩次廣播事件之間的最小時間間隔,一般取值在20ms10.24s之間,鏈路層會在每次廣播期間產生一個隨機廣播延時時間(010ms)

2.掃描事件
每次掃描,設備都會打開接收器去監聽廣播設備,這稱爲一個掃描事件,掃描事件有兩個時間參數設置:
1>掃描窗口,一次掃描進行的時間寬度
2>掃描間隔,兩個連續的掃描窗口的起始時間之間的時間差,包括掃描窗口時間和掃描休息時間

3.連接事件
1>主從設備之間互相發送數據包的過程稱爲連接事件
2>所有的數據交換都是通過連接事件進行的
3>每個事件發生在某個數據信道中(0~36)
4>設備連接後,無論有無數據交換,連接事件都在按照連接參數週而復始的進行着,知道一方停止響應
5>主機與從機可以在單次連接事件中進行多次數據傳輸

連接參數:
1>連接間隔,必須是1.25ms的倍數,範圍是從6(7.5ms)到3200(4s)。間隔參數包括兩個16位的值,第一個爲最小連接間隔,第二個爲最大連接間隔。
2>從機延遲,這個參數描述了從機跳過連接事件的次數
3>監督超時,這是兩個成功的連接事件之間間隔的最大值。如果超過這個時間還未連接成功,那麼設備將考慮失去連接,這個時間設置範圍是100(10ms)到3200(32.0s)

連接參數和功耗、傳輸速度的關係
1>短連接間隔,高功耗,高數據吞吐量,發送等待時間短
2>長連接間隔,低功耗,低數據吞吐量,發送等待時間長
3>低或者0潛伏值,從機在沒有數據發送的情況下高功耗,從機可以快速的收到主機的數據
4>高潛伏值,從機在沒有數據發送的情況下低功耗,從機無法及時收到主機的數據,但主機能及時收到從機的數據

六、Profile、Service、Characteristic和UUID

1.Profile是Service的集合,它是預定義的,並不是實際存在於設備中,所以在外圍設備的代碼中,我們看不到Profile的實現代碼。Profile分爲標準的和自定義的,標準的Profile有SIG定義和發佈,自定義的由開發者自行定義。
2.Service是一組特徵和它們公開的行爲的集合,一個服務可以包括一個或多個特徵。Service也分爲標準的和自定義的,標準的Service有SIG定義和發佈,自定義的由開發者自行定義。
3.Characteristic是具有特定意義的數值,如心率,溫度,電量等。BLE主從機實際傳輸的數據就是特徵值
4.UUID(Universally Unique Identifier)是1個128位的數字,用來標誌屬性的類型。服務和特徵也是一種屬性,需要用UUID標識。實際上128位的UUID太長,爲了提高傳輸效率,SIG定義了一個UUID基數,設備間只需要發送方發送16位的UUID,然後接收方收到後補上UUID基數即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章