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

2022-11-04 06:01:18
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]:藍芽官網:https://www.bluetooth.com/

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

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

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