藍牙解析(part1):藍牙的基本概念

轉自 http://www.wowotech.net/bluetooth/bt_overview.html



1. 前言

本文是這個專題的第一篇文章,主要基於藍牙4.1規範(Core_V4.1.pdf),描述藍牙技術的基本概念。

說實話,如今的藍牙4.1,簡直是一個大雜燴:BR/EDR沿用舊的藍牙規範;LE抄襲802.15.4;AMP直接使用802.11。而這一切的目的,就是以兼容性和易用性爲基礎,在功耗和傳輸速率之間左右爲難。蝸蝸以爲,這並不是優雅的設計。

不過沒關係,存在即合理。因此蝸蝸就開出了這樣一個專題,希望能夠將藍牙技術上上下下的知識,整理出來,以便在加深自己對藍牙技術的理解的同時,能夠給從事藍牙相關工作的讀者一點啓發。

2. 藍牙技術的概述

2.1 兩種藍牙技術:Basic Rate(BR)和Low Energy(LE)

藍牙協議包括兩種技術:Basic Rate(簡稱BR)和Low Energy(簡稱LE)。這兩種技術,都包括搜索(discovery)管理、連接(connection)管理等機制,但它們是不能互通的!這也是蝸蝸抱怨藍牙協議不優雅的原因之一。

廠商要麼實現這兩種技術中的一種,這時就只能和同樣實現了這個技術的設備互通,而不能和實現另外一種技術的設備互通。如果廠商要確保能和所有的藍牙設備互通,那麼就只能同時實現兩種技術,而不去管是否真的需要,這樣就能碰到什麼人說什麼話了!

2.1.1 Basic Rate(BR)

Basic Rate是正宗的藍牙技術,可以包括可選(optional)的EDR(Enhanced Data Rate)技術,以及交替使用的(Alternate)的MAC(Media Access Control)層和PHY層擴展(簡稱AMP)。說着真拗口,不過通過背後的應用場景,就好理解了:

藍牙誕生之初,使用的是BR技術,此時藍牙的理論傳輸速率,只能達到721.2Kbps。在那個年代,56Kbps的Modem就是高大上了,這個速度可以說是驚爲天人了啊!但是科技變化太快了,BR技術轉眼就過時了。那怎麼辦呢?縫縫補補一下,增強速度唄,Enhanced Data Rate就出現了。

使用EDR技術的藍牙,理論速率可以達到2.1Mbps。這一次的升級換代,還算優雅,因爲沒有改變任何的硬件架構、軟件架構和使用方式上的改變。

也許你也猜到了,EDR又落伍了,看看人家WIFI(WLAN),幾十Mbps,上百Mbps,咱們才2.1Mbps,也太寒酸了吧!那怎麼辦呢?藍牙組織想了個壞主意:哎,WIFI!把你的物理層和MAC層借我用用唄!這就是AMP(Alternate MAC and PHY layer extension)。艾瑪,終於鬆口氣了,我們可以達到54Mbps了。

不過呢,由於藍牙自身的物理層和AMP技術差異太明顯了,這次擴展只能是交替使用(Alternate)的,也就是說,有我(BR/EDR)沒你(AMP)。嗯!不優雅!

埋個問題:只能交替使用,那它們怎麼切換呢?蝸蝸會在後續的內容中,根據主流藍牙芯片的解決方案,來探討一下該問題。

【注1:細心的讀者可能會注意到,這裏特別強調了optional和alternate這兩個字眼,這是藍牙Spec的原話。它意味着,BR和EDR是可以同時存在的,但BR/EDR和AMP只能二選一。】

2.1.2 Low Energy(LE)

上面所講的BR技術的進化路線,就是傳輸速率的加快、加快、再加快。但能量是守恆的,你想傳的更快,代價就是消耗更多的能量。而有很多的應用場景,並不關心傳輸速率,反而非常關心功耗。這就是Bluetooth LE(稱作藍牙低功耗)產生的背景。

LE技術相比BR技術,差異非常大,或者說就是兩種不同的技術,湊巧都加一個“藍牙”的前綴而已。後面我們會詳細的解釋這種差異,以及LE的行爲特徵。

2.2 藍牙系統的組成

藍牙系統的組成,涉及到Bluetooth Application、Bluetooth Core、Bluetooth Host、Bluetooth Controller等詞彙,不知道是因爲對英文理解的歧義,還是因爲藍牙規範本身定義的歧義,蝸蝸理解這些詞彙時感覺有點彆扭。因此特意在這個章節中,對相關概念及其背後的意義進行說明。

藍牙系統組成上圖描述了藍牙系統的組成, 我們需要注意如下特點:

1)圖中所描述的藍牙系統的組成部分,如Bluetooth Core和Bluetooth Application,如Host和Controller,都是指“邏輯實體”。所謂的“邏輯實體”,需要和日常生活中的“物理實體”區隔開。如在做電路設計時,一個藍牙芯片、一個主控CPU,就是指物理實體。而藍牙協議所描述的這些“邏輯實體”,不一定會和物理實體一一對應,如在實際應用中,Host和Bluetooth Application可能會位於同一個物理實體中(主控CPU),而Controller單獨位於另一個物理實體中(藍牙芯片)。

2)藍牙協議規定了兩個層次的協議,分別爲藍牙核心協議(Bluetooth Core)和藍牙應用層協議(Bluetooth Application)。藍牙核心協議關注對藍牙核心技術的描述和規範,它只提供基礎的機制,並不關心如何使用這些機制;藍牙應用層協議,是在藍牙核心協議的基礎上,根據具體的應用需求,百花齊放,定義出各種各樣的策略,如FTP、文件傳輸、局域網等等。

3)Bluetooth Core由兩部分組成,Host和Controller。這兩部分在不同的藍牙技術中(BR/EDR、AMP、LE),承擔角色略有不同,但大致的功能是相同的。Controller負責定義RF、Baseband等偏硬件的規範,並在這之上抽象出用於通信的邏輯鏈路(Logical Link);Host負責在邏輯鏈路的基礎上,進行更爲友好的封裝,這樣就可以屏蔽掉藍牙技術的細節,讓Bluetooth Application更爲方便的使用。

4)在一個系統中,Host只有一個,但Controller可以一個,也可以有多個。如:單獨的LE Controller;單獨的BR/EDR Controller;單獨的LE+BR/EDR Controller;在單獨的BR/EDR Controller或LE+BR/EDR Controller基礎上,增加一個或多個額外的AMP Controller。

【注2:有關Bluetooth Core的詳細描述,蝸蝸會在下一篇文章中描述,本文就不再深入介紹了。】

3. BR/EDR vs LE vs AMP

我們先從下面圖片對BR/EDR、AMP和BLE三種技術有些更進一步的認識(點擊這裏可以查看放大後的原圖):

BT_RF_Baseband_Overview.gif

 

該圖片是對Bluetooth Core的一個Overview,從RF的Physical Channel,到Baseband的Physical Link、Logical Link、LMP、L2CAP等概念,都有一些粗略的介紹。由該圖片可以看出,BR/EDR、AMP、BLE等技術有如下的特點:

1)BR/EDR技術,過於側重“點對點”通信,以至於雖然在協議的底層(如Logical Link)有提及多播(Unidirectional)和廣播(Broadcast)的概念,但在上層的應用場景中,幾乎不存在(也不可能存在)相應的應用。

2)但隨着物聯網的發展,業界對簡單的、不需要連接的多播或廣播通信的需求越來越迫切,因此BLE技術在RF和Baseband的協議中,就做出了修改,以適應這種需求,即:修改原有的79個channel的跳頻方式,將channel的個數減少爲40個,並保留了不少於3個的固定channel,用於廣播通信。爲僅僅在剩下的37個data channel上跳頻。

3)正因爲這種改變,原有的搜索/連接/配對等概念,在BLE上就不再存在了,取而代之的是Advertisor、Initiator等概念。但在之後的數據通信的層次上,儘量保持了一致。

4)對於AMP來說,是基於BR/EDR的controller,在完成通常的點對點連接之後,兩個藍牙設備商議,是否需要將後續的數據通信,轉移至AMP controller上。這就是Bluetooth 3.0引入的AMP技術。 

 我們暫時在這篇文章中對藍牙技術做一個感性認識,在後續的文章中,會基於各個層次的協議,一步一步展開、推進,爭取能把藍牙技術分析透徹。


發佈了40 篇原創文章 · 獲贊 105 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章