【Bluetooth|藍牙開發】二、藍牙開發入門

img


個人主頁:董哥聊技術


我是董哥,嵌入式領域新星創作者


創作理念:專註分享高品質嵌入式文章,讓大家讀有所得!

img

1、BLE開發入門基礎

 
所有文章匯總
 

1、藍牙基礎概念

藍牙,是一種利用低功率無線電,支援設備短距離通訊的無線電技術,能在包括行動電話、PDA、無線耳機、筆記型電腦電腦、相關外設等眾多設備之間進行無線資訊交換,藍牙工作在全球通用的2.4GHz ISM(即工業、科學、醫學)頻段,使用IEEE802.11協議。

 

2、藍牙發展歷程

自1994年由愛立信推出至今,藍牙技術已經走過了20個歲月。從最初的Bluetooth V1.0,到Bluetooth V5.2,經歷了近9個版本的修訂後,發展為當前的狀況。

 

「藍牙」的形成背景是這樣的

1998 年 5 月,愛立信、諾基亞、東芝、 IBM和英特爾公司等五家著名廠商, 在聯合開展短程無線通訊技術的標準化活動時提出了藍牙技術,其宗旨是提供一種短距離、 低成本的無線傳輸應用技術

晶片霸主 Intel 公司負責半導體晶片和傳輸軟體的開發,愛立信負責無線射頻和行動電話軟體的開發, IBM 和東芝負責筆記型電腦電腦介面規格的開發。

1999 年下半年,著名的業界巨頭微軟、摩托羅拉、三星、朗訊與藍牙特別小組的五家公司共同發起成立了藍牙技術推廣組織,從而在全球範圍內掀起了一股「藍牙」熱潮。

全球業界即將開發一大批藍牙技術的應用產品, 使藍牙技術呈現出極其廣闊的市場前景,並預示著 21 世紀初將迎來波瀾壯闊的全球無線通訊浪潮。

  • 第一代藍牙:關於短距離通訊早期的探索,使用的是BR技術,此時藍牙的理論傳輸速率,只能達到721.2Kbps。
  • 第二代藍牙:新增的 EDR(Enhanced Data Rate)技術,使得藍牙設備的傳輸率可達 3Mbps。
  • 第三代藍牙:核心是 AMP(Generic Alternate MAC/PHY),這是一種全新的交替射頻技術,支援動態地選擇正確射頻,傳輸速率高達 24Mbps
  • 第四代藍牙:主推」 Low Energy」低功耗, BLE(Bluetooth Low Energy)低功耗功能
  • 第五代藍牙:開啟「物聯網」時代大門,在低功耗模式下具備更快更遠的傳輸能力

 

3、藍牙技術概述

藍牙協議包括兩種技術:BR:Basic RateLE:Low Energy。這兩種技術都包括搜索(discovery)管理、連接(connection)管理等機制,但它們是相互獨立的,不能互通的技術!

廠商如果只實現了一種,那麼只能與同樣實現該技術的設備互通。

如果廠商要確保能和所有的藍牙設備互通,那麼就只能同時實現兩種技術,而不去管是否真的需要。

 

3.1 Basic Rate(BR)

BR:Basic Rate是正宗的藍牙技術,可以包括**可選(optional)EDR(Enhanced Data Rate)技術,以及交替使用的(Alternate)**的MAC(Media Access Control)層和PHY層擴展(簡稱AMP(Alternate MAC and PHY layer extension))。

  • BR:最早期的藍牙技術,速度只能達到721.2Kbps,在那個年代,已為高大上了。
  • EDR:隨著技術的提升,使用EDR技術的藍牙,理論速率可以達到2.1Mbps
  • AMP:使用AMP技術的藍牙,理論速率可以達到54Mbps

AMPAlternate交替使用體現在:由於藍牙自身的物理層和AMP技術差異太明顯,BR/EDRAMP是不能同時使用的。

簡單的說,就是:BREDR是可以同時存在的,但BR/EDRAMP只能二選一

 

3.2 Low Energy(LE)

上面所講的BR技術的進化路線,就是傳輸速率的加快、加快、再加快。

但能量是守恆的,你想傳的更快,代價就是消耗更多的能量。而有很多的應用場景,並不關心傳輸速率,反而非常關心功耗。

這就是Bluetooth LE(稱作藍牙低功耗)產生的背景。

從它的英文名字上就可以看出它是一種低功耗藍牙技術,是藍牙技術聯盟設計和銷售的一種個人區域網技術,旨在用於醫療保健、運動健身、信標、安防、家庭娛樂等領域的新興應用。

低功耗藍牙與經典藍牙使用相同的2.4GHz無線電頻率,因此雙模設備可以共享同一個天線。低功耗藍牙使用的調製系統更簡單。

LE技術相比BR技術,差異非常大,或者說就是兩種不同的技術,湊巧都加一個「藍牙」的前綴而已。

目前BLE主要廣泛應用於IoT產品領域。

BT_RF_Baseband_Overview.gif

 

4、常見藍牙架構

市面上,大致有幾種藍牙架構:

 

4.1 SOC藍牙單晶片方案

一般是半導體廠商半開源協議棧,把開發的藍牙協議棧直接燒寫到藍牙晶片中,(比如CSR BC4/5,CSR8670,CSR8675,TI CC2540,NRF51xxx,NRF52xxx,樂鑫ESP32等等),架構如下:

img

此類晶片一般可以直接做為MCU用,這類產品一般用於消費類電子,集成度很高,調調部參數可以直接使用,常見的有藍牙耳機等產品。

 

4.2 SOC藍牙+MCU方案

在集成好的藍牙晶片基礎上,通過特定的介面(UART居多),發送自定義的command來達到想要的功能。比如發送0x01代表搜索周圍設備…

img

此部分的應用,將藍牙作為一個外設使用,用於遠程通訊

例如網上賣的一些藍牙串口。

 

4.3 藍牙host + controller分開方案

這種應用算是藍牙最複雜的應用,客戶需要使用藍牙的場景有很多,牽涉到的藍牙協議也有很多,需要將HostController分開,集成更多的藍牙協議,比如藍牙電話(HFP),藍牙音頻(A2DP),藍牙音樂控制(AVRCP),藍牙電話本(PBAP),藍牙簡訊(MAP)等。

其中Transport是一個協議,H2就是在USB的基礎上的協議,H4,H5,BCSP是UART基礎上的協議,當然還有SDIO

此部分應用,將訂製藍牙的各種服務,實現藍牙多功能需求,

img

 

4.4 使用場景

大概列舉了以下幾種,幫助理解

1)手機 -> 手機的藍牙複雜應用,註定要用第3種方案,也就是藍牙協議棧(host)在主晶片中,藍牙晶片為HCI架構的

2)藍牙音響,藍牙耳機 -> 此種應用一般用單晶片方案就能hold住,比如CSR8670/8675/傑理藍牙等,好處在於開發便捷

3)藍牙手錶 -> 手錶要看功能複雜性,如果僅僅有時間顯示,感測器交互,藍牙,那麼可以選擇單晶片方案(也就是方案1),如果有網路等比較複雜的功能就要使用MCU+藍牙晶片方案(也就是方案3)了

4)藍牙手環,藍牙心率帶等 -> 基本上是單晶片方案

 

5、參考文檔

[1]:藍牙官網://www.bluetooth.com/

[2]://blog.csdn.net/XiaoXiaoPengBo/article/details/107466841

[3]://zhuanlan.zhihu.com/p/43516534

img
img
文章知識點與官方知識檔案匹配,可進一步學習相關知識
CS入門技能樹Linux入門初識Linux21355 人正在系統學習中