標籤:
1.簡介
BLE(Bluetooth Low Energy,低功耗藍芽)是對傳統藍芽BR/EDR技術的補充。儘管BLE和傳統藍芽都稱之為藍芽標準,且共用射頻,但是,BLE是一個完全不一樣的技術。BLE不具備和傳統藍芽BR/EDR的相容性。它是專為小資料率、離散傳輸的應用而設計的。通訊距離上也有改變,傳統藍芽的傳輸距離幾十米到幾百米不等,BLE則規定為100米。
2.低功耗藍芽(BLE)
低功耗藍芽分為單模(Bluetooth Smart)和雙模(Bluetooth Smart Ready)兩種裝置。BLE和藍芽BR/EDR的區分,讓我們有三種方式將藍芽技術整合到具體裝置中。下表中示意了兩個藍牙裝置之間的通訊方式。因為不再是所有現有的藍牙裝置可以和另一個藍牙裝置進行互聯,所以,準確描述產品中藍芽的版本非常地重要。
2.1 單模藍芽
單模藍牙裝置被稱為Bluetooth Smart裝置,並且有專用的logo:
諸如手錶、動作感應器等這樣小型的裝置會基於單模藍芽低功耗。為了實現極低的功耗,硬體和軟體上都做了最佳化。這樣的裝置只能支援BLE。單模藍芽晶片往往是一個帶有單模藍芽協議棧的產品,這個協議棧是晶片商免費提供的。
2.2 雙模藍芽
雙模藍牙裝置被稱為Bluetooth Smart Ready裝置,並且有專用的logo:
雙模裝置支援藍芽BR/EDR和BLE。在雙模裝置中,這兩個技術使用同一個射頻前端和天線。典型的雙模裝置有智能手機、平板電腦、PC和Gateway。這些裝置可以收到通過BLE或者藍芽BR/EDR裝置發送過來的資料,這些裝置往往都有足夠的供電能力。雙模裝置和BLE裝置通訊的功耗低於雙模裝置和藍芽BR/EDR裝置通訊的功耗。雙模解決方案需要一個外部處理器才足以實現藍芽協議棧。
3.應用
BLE適合用於電池驅動的小型裝置,有以下五個主要的市場。
3.1醫學和健康
那些用於監測重要的生理資料的醫療設備是BLE在醫學健康市場中應用的對象。典型的裝置有血糖計、血壓計和血氧計。BLE被康體佳健康聯盟(Continua Health Alliance)選定為終端產品通訊的相容傳輸技術。
3.2運動和健身
在運動和健身領域,BLE適合用於定位,同時也上傳一些重要的監測資料。典型的裝置有心率監測儀、體溫計、計步器、節拍器、測高儀、定位器和通過手錶顯示來自感應器的資訊。
3.3工業
在自動化應用領域中,BLE主要用於傳輸I/O訊號。BLE可以用於監測和控制馬達、制動器、參數和整個過程。
3.4娛樂
在娛樂領域,BLE已經被眾多的裝置採用,比如機頂盒、遊戲機等。預計BLE會是的在TV / DVD / STB / Media播放器、遙控、遊戲移駐夾及無線鍵鼠等裝置中的藍芽應用不斷擴大。
3.5智能家居
BLE可以提供燈光控制、溫度控制、濕度控制、安全鎖控制、門窗控制的低功耗、高安全性解決方案。在智能儀錶中的應用也是一個方向。
4.協議
BLE不在支援傳統藍芽BR/EDR的協議,如傳統藍芽中的SPP協議在BLE中就不複存在。作為替代,在BLE中所有的協議或者服務都是基於GATT(Generic Attribute Profile)的。儘管有些傳統藍芽中的協議,如HID被移植到了BLE中,但是在BLE的應用中,你必須區分清楚協議和服務。
服務描述了特點(及他們的UUID)。服務描述自身有什麼特點和形式,並且描述清楚如何應用這些特點以及需要什麼安全機制。
應用協議定義其使用的服務,說明是感應器端還是接收端,定義GATT的角色(Server/Client)和GAP的角色(Peripheral/Central)。
相較於藍芽BR/EDR的協議,基於GATT的應用協議非常簡單,因為所有的功能都是整合在GATT終端,這些基於其上的應用協議只是對GATT提供的功能的使用。
下表列出了現有的基於GATT的協議/服務(07/2013):
GATT-Based Specifications (Qualifiable) |
Adopted Version |
ANP |
Alert Notification Profile |
1.0 |
ANS |
Alert Notification Service |
1.0 |
BAS |
Battery Service |
1.0 |
BLP |
Blood Pressure Profile |
1.0 |
BLS |
Blood Pressure Service |
1.0 |
CPP |
Cycling Power Profile |
1.0 |
CPS |
Cycling Power Service |
1.0 |
CSCP |
Cycling Speed and Cadence Profile |
1.0 |
CSCS |
Cycling Speed and Cadence Service |
1.0 |
CTS |
Current Time Service |
1.0 |
DIS |
Device Information Service |
1.1 |
FMP |
Find Me Profile |
1.0 |
GLP |
Glucose Profile |
1.0 |
HIDS |
HID Service |
1.0 |
HOGP |
HID over GATT Profile |
1.0 |
HTP |
Health Thermometer Profile |
1.0 |
HTS |
Health Thermometer Service |
1.0 |
HRP |
Heart Rate Profile |
1.0 |
HRS |
Heart Rate Service |
1.0 |
IAS |
Immediate Alert Service |
1.0 |
LLS |
Link Loss Service |
1.0 |
LNP |
Location and Navigation Profile |
1.0 |
LNS |
Location and Navigation Service |
1.0 |
NDCS |
Next DST Change Service |
1.0 |
PASP |
Phone Alert Status Profile |
1.0 |
PASS |
Phone Alert Status Service |
1.0 |
PXP |
Proximity Profile |
1.0 |
RSCP |
Running Speed and Cadence Profile |
1.0 |
RSCS |
Running Speed and Cadence Service |
1.0 |
RTUS |
Reference Time Update Service |
1.0 |
ScPP |
Scan Parameters Profile |
1.0 |
ScPS |
Scan Parameters Service |
1.0 |
TIP |
Time Profile |
1.0 |
TPS |
Tx Power Service |
1.0 |
5.技術特點
BLE的低功耗並非通過最佳化空中的無線射頻傳輸實現,而是通過改變協議的設計來實現。一般來說,為了實現極低的功耗,BLE協議設計為:在不必要射頻的時候,徹底將空中射頻關斷。與傳統藍芽BR\EDR相比,BLE有這三大特性,從而實現低功耗:縮短無線開啟時間、快速建立串連、降低收發峰值功耗(具體由晶片決定)。
縮短無線開啟時間的第一個技巧是只用3個“廣告”通道,第二個技巧是通過最佳化協議棧來降低工作周期。一個在廣告的裝置可以自動和一個在搜尋的裝置快速建立串連,所以可以在3ms內完成串連的建立和資料的傳輸。
低功耗的設計會帶來一些犧牲,例如:音頻資料就無法通過BLE來進行傳輸。
BLE仍然是一種非常魯棒的技術。它依然支援跳頻(37個資料通道),並且採用了一種改進的GFSK調製方法來提高鏈路的穩定性。BLE也仍是非常安全的技術,因為在晶片級提供了128 bit AES加密。
單模裝置可以作為Master或者Slave,但是不能同時充當兩種角色。這意味著BLE只能建立簡單的星狀拓撲,不能實現散射網。
BLE的無線電規範中定義了低功耗藍芽的最高資料率為305kbps,但是,這隻是理論資料。在實際應用中,資料的輸送量取決於上層協議棧。而UART的速度、處理器的能力和主裝置都會影響資料吞吐能力。
高的資料吞吐能力的BLE只有通過私人方案或者基於ATT notification才能實現。事實上,如果是高資料率或高資料量的應用,藍芽BR/EDR通常顯得更加省電。
5.1 應用執行個體和優勢
BLE通常應用在感應器和智能手機或者平板的通訊中。到目前為止,只有很少的智能機和平板支援BLE,如:iPhone 4S以後的蘋果手機,Motorola Razr和 the new iPad 及其以後的iPad。安卓手機也逐漸支援BLE,安卓的BLE標準在2013年7月24日剛發布。智能機和平板會帶雙模藍芽的基帶和協議棧,協議棧中包括GATT及以下的所有部分,但是沒有GATT之上的具體協議。所以,這些具體的協議需要在應用程式中實現,實現時需要基於各個GATT API集。這樣有利於在智能機端簡單地實現具體協議,也可以在智能機端簡單地開發出一套基於GATT的私人協議。
在蘋果裝置上使用BLE傳輸,尤其有其明顯的優勢。相比於藍芽BR/EDR,再也不需要使用經過蘋果授權的加密晶片,就不需要在加入MFi項目中去。
5.2 對比BLE和傳統藍芽BR/EDR技術
|
Bluetooth BR/EDR |
Bluetooth low energy |
Frequency |
2400-2483.5 MHz |
2400-2483.5 MHz |
Deep Sleep |
~80 μA |
<5 μA |
Idle |
~8 mA |
~1 mA |
Peak Current |
22-40 mA |
10-30 mA |
Range |
500m (Class 1) / 50m (Class 2) |
100m |
Min. Output Power |
0 dBm (Class 1) / -6 dBm (Class 2) |
-20 dBm |
Max. Output Power |
+20 dBm (Class 1) / +4 dBm (Class 2) |
+10 dBm |
Receiver Sensitivity |
≥ -70 dBm |
≥ -70 dBm |
Encryption |
64 bit / 128 bit |
AES-128 bit |
Connection Time |
100 ms |
3 ms |
Frequency Hopping |
Yes |
Yes |
Advertising Channel |
32 |
3 |
Data Channel |
79 |
37 |
Voice capable |
Yes |
No |
5.3 雙模協議棧
是斯圖曼雙模協議棧BlueCode+SR的架構。在這個圖中,包含了SPP、HDP和GATT所需要的所有部分。
5.4 單模協議棧
是單模協議棧的一種典型協議棧設計。在這樣的協議棧中一般不會包含具體協議,所以需要在具體的應用程式中實現每一個具體應用對應的協議。這和傳統藍芽有非常大的區別,傳統藍芽會在協議棧中實現每個具體應用相關的協議,如SPP、HDP等。
對比雙模協議棧,BLE無需一個主處理器來實現它的協議棧,所以極低功耗的整合成為可能。大多數的單模晶片或者模組都是內建協議棧的。
由於BLE單模產品(晶片或者模組)中的協議棧只是實現了GATT層,所以通常需要將具體應用對應的協議整合到該單模產品之中。甚至晶片商都開始提供帶有具體協議和sample code的SDK。但是,仍然沒有真正能拿到手的解決方案。
6.整合方式
儘管有單模和雙模方案的區別,但是在您的裝置中整合藍芽技術仍有多種方式。
6.1 模組
最簡單和快速的方式是使用一個嵌入式模組。這樣的模組包含了天線、嵌入了協議棧並提供多種不同的介面:UART、USB、SPI和I²C,可以通過這些介面和您的處理器串連。模組會提供一種簡單的介面來控制藍芽的功能。很多的模組公司都會提供帶CE、FCC和IC認證的產品。這樣的模組可以只是藍芽BR/EDR的,雙模式的或者單模式的。
如果是藍芽BR/EDR和雙模的方案,還可以採用HCI模組。HCI模組只是不帶藍芽協議棧,其他的和上述的模組是一樣的。所以,這樣的模組會更便宜。HCI模組只是提供了硬體介面,在這樣的方案中,藍芽協議棧需要第三方提供。這樣的第三方協議棧需要能在主裝置的處理器中運行,如斯圖曼提供的BlueCode+SR。使用HCI模組需要將軟體移植到最終的硬體中。
理論上來說,提供單模的HCI模組也是可以的。然而,所有的晶片公司都已經將GATT整合到他們的晶片中,所以市面上不會有HCI單模模組出現(見5.4章節)。
6.2 晶片
通過晶片來整合BLE是從物料角度最低成本的方式,但是,這需要很多的前期工作和花費大量的時間。雖然在軟體上只需要將協議棧移植到目標平台之中即可,但是,硬體方面則需要對RF的layout和天線的設計非常有經驗。這些公司提供BLE晶片:Broadcom、CSR、EM Microelectronic、Nordic和TI。
Bluetooth Low Energy 介紹