如何使用 Bluetooth Smart 4.0 打造低功率無線系統

作者:歐洲編輯群

資料提供者:DigiKey 歐洲編輯群


低功率、可攜式無線裝置的市場快速擴張,而低功耗藍牙 4.0 規格正是開發此類系統的關鍵要素。 本文將探討 Laird Wireless、connectBlue 和 Bluegiga 等製造商的 4.0 規格模組,如何透過開發環境(如 CSR 提供的環境)運用在穿戴式和低功率醫療設備的開發。

穿戴式運算逐漸受到關注,因此低功耗藍牙 4.0 的低功耗連線能力開拓了可攜式健身系統至智慧型籃球等眾多裝置的市場。

日常用品,如手錶、腕帶、手套,甚至是牙刷都更新採用藍牙無線技術,因此能擷取數據並回傳到智慧型手機或平板裝置的應用程式。 運動和健身追蹤器在 2013 年的穿戴式裝置市場出貨率中佔了 96%,而 ABI Research 也預測 2014 年搭載 Bluetooth Smart 的此類裝置出貨量將達到 3,200 萬。

對於穿戴式或運動裝置而言,使用小型或充電式電池供電非常重要,並且必須能使用單一電池運作嵌入式鏈路數年,這就是市場逐漸採用 Bluetooth Smart 的原因;此需求必須在設計中納入一些硬體和軟體層面的考量。

Bluetooth Smart 的重要性在於能搭配智慧型手機或平板裝置的應用程式使用。 儘管低功耗藍牙使用跟以往傳統藍牙相同的 2.4 GHz ISM 頻帶頻率,卻採用更簡易的高斯頻移通訊協定,能降低功耗。 並且也使用更小的 2 MHz 通道以及直接序列展頻 (DSSS) 調變。

此組合的結果就是低功耗和傳統藍牙之間並無法直接相容。 但對開發人員來說,這不會構成問題,所有通過藍牙相容認證的晶片與模組皆可採其中一種模式運作,舊款裝置運行傳統藍牙,DSSS 款式則運行 Bluetooth Smart。 原本「Bluetooth Smart Ready」代表雙模式裝置,通常是筆電或智慧型手機,其硬體同時相容於傳統和低功耗藍牙周邊,而「Bluetooth Smart」標籤則代表僅有低功耗藍牙的裝置。

Bluetooth Smart 採用 40 個 2 MHz 通道達到低功率優勢,提供 1 Mbit/s 鏈路位元率以及 270 kbit/s 應用傳輸率。 應用的位元傳輸率比傳統藍牙還低,會將延遲從 100 ms 降低至 6 ms,藉此將傳輸率偏移。 最大傳輸功率亦降低至 10 mW,範圍縮小到 50 公尺內,足以因應短距的穿戴式和家庭應用。 如此一來,就不用擔心總鏈路預算,能更輕鬆地實作 BLE4.0 系統。

絕大多數的複雜性可透過 Laird Wireless 等模組製造商的技術降低。 Laird Wireless 的 BL600 模組結合 Nordic Semiconductor 的收發器,並具備天線和介面,採用 19 mm x 12.5 mm 小型覆蓋區。 此模組整合所有必要的硬體和韌體,可支援 BLE 應用的開發,包括 UART、SPI、I²C、ADC 和 GPIO 介面,以便連接周邊裝置和感測器。 透過這些介面可相當直覺地連接單線、雙線或多線鏈路。

Laird Wireless 的 BL600 Bluetooth Smart 模組圖片

圖 1:Laird Wireless 的 BL600 Bluetooth Smart 模組能在既有設計中輕鬆添加連線能力。

可透過一系列設定檔從這些連線中擷取數據,包括血壓、心律、體溫計、接近以及尋找本機 (Find Me) 等設定檔。 這些設定檔稱為泛型屬性設定檔 (GATT),能在作業系統中提供用戶端與伺服器之間的應用程式開發介面 (API) 以及服務和敘述元。

服務係指一系列共同操作以執行特定功能的相關特性。 體溫計服務包括溫度量測值以及測量時間間隔的特性。 敘述元能提供有關特性的更多資訊,例如指出其單位(如攝氏)以及感測器可量測的最大和最小值。

服務、特性和敘述元的屬性會一併透過通用識別碼 (UUID) 進行識別。 藍牙技術聯盟 (Bluetooth SIG) 針對標準屬性保留一系列 UUID(格式為 xxxxxxxx-0000-1000-8000-00805F9B34FB),在協定中以 16 或 32 位元短格式值表示,而非 128 位元,以便讓程式碼大小保持精簡並降低複雜性。

GATT 操作

GATT 協定為用戶端提供多種命令,可用來探索有關伺服器的資訊。 包括探索 UUID 的所有主要服務、用指定 UUID 尋找服務以及次要服務,以及尋找指定服務的所有特性。

此外也提供命令將有關特性的資料從伺服器傳送到用戶端(讀取),以及從用戶端傳送到伺服器(寫入)。 可指定特性的 UUID 或透過處理值(來自資訊探索命令)讀取數值。 寫入作業一定會透過處理值識別特性,但可選擇是否需要來自伺服器的回應。

GATT 亦提供通知和指示。 用戶端可向伺服器要求取得特定特性的通知,接著伺服器會在可用時將數值傳送到用戶端。 舉例而言,溫度感測器伺服器會在每次進行量測時通知用戶端。 這可避免用戶端對伺服器進行輪詢,減少定期進行無線電連結的需求。 指示與通知類似,但需要來自用戶端的回應,藉此確認已經收到訊息。

Laird 新增事件導向的程式語言,可讓模組獨立操作,並可透過任何介面加載感測器,無需外接處理器。 簡易的 smartBASIC 應用程式整合完整的端對端讀取、寫入流程,並可處理感測器資料,然後使用 BLE 將資料傳送到任何藍牙 v4.0 裝置:智慧型手機、平板裝置、閘道器或電腦。

除了通過 FCC 模組化、IC、CE 以及 MIC 認證外,此模組也完全符合藍牙最終產品標準。 如此一來,設計人員能將模組整合到既有的裝置中,無需進一步的藍牙認證,因此可大幅加速開發。

Bluegiga 和 connectBlue 等模組製造商在支援 v4.0 的模組中採用來自 Texas Instruments 的 BLE 矽元件。 Bluegiga 的 BLE112 模組可直接由一個標準的 3 V 鈕扣型電池或是兩個 AAA 電池供電,因此能納入到最小型的設計中,包括遙控鑰匙至 iPhone 配件。 在最低功率的睡眠模式中,僅消耗 500 nA,並可在數百毫秒內喚醒,因此能延長電池續航力。 connectBlue 的模組整合溫度感測器和加速計,能用單一鈕扣型電池運作長達 10 年。

ConnectBlue 的 OLP425 模組符合控制器子系統標準,並且支援客戶開發的低功耗藍牙設定檔、服務以及屬性。 此模組採用 TI 的 CC2540 系統單晶片為基礎,能執行應用程式和低功耗藍牙協定堆疊。 含有物件程式碼以及最新的 BLE 協定堆疊,可支援多重連線、簡易專案和應用程式,並且涵蓋豐富的設定檔組合和原始碼。

connectBlue 的 OLP425 範例程式碼套裝含有範例專案,可透過 IAR 針對晶片中 8051 核心所開發的 Embedded Workbench 存取 LED、溫度感測器和加速計。

收發器

CC2540 的設計主要分成三類:CPU 相關模組;功率、測試與時脈相關模組;無線電相關模組(圖 2)。

Texas Instruments 的 CC2540 Bluetooth Smart 4.0 收發器圖片

圖 2:TI 的 CC2540 Bluetooth Smart 4.0 收發器方塊圖。

CPU 和記憶體

從開發人員的角度來看,SoC 的中樞就是單週期的 8051 相容 CPU 核心。 具有三種不同記憶體存取匯流排(SFR、DATA 和 CODE/XDATA)、偵錯介面以及 18 道輸入的延伸中斷單元。

記憶體仲裁器位於系統中樞,並且透過 SFR 匯流排連接 CPU 和 DMA 控制器以及實體記憶體和所有周邊。 其具有四個記憶體存取點,每一個皆可對映至一個實體記憶體(共三個:SRAM、快閃記憶體和 XREG/SFR 暫存器),並且負責針對相同實體記憶體的同步記憶體存取進行仲裁和定序。

SFR 匯流排在概念上如同共模匯流排,如圖 2 所示,能將所有硬體周邊連接到記憶體仲裁器。 方塊圖中的 SFR 匯流排亦可存取無線電暫存器排中的無線電暫存器,即便暫存器對映至 XDATA 記憶體空間。 8 KB 的 SRAM 會對映到 DATA 記憶體空間,並且對映 XDATA 記憶體空間的一部份。 此超低功率 SRAM 會在數位零件的電源關閉後(即位於電源模式 2 和 3)繼續保留內容。 128/256 KB 的快閃記憶體區塊在裝置內提供線上可編程的非揮發性程式記憶體,並且對映 CODE 和 XDATA 記憶體空間。

周邊裝置

快閃記憶體區塊的寫入係透過快閃記憶體控制器執行,可進行整頁抹除以及 4 位元組編程,此外系統內也具有多功能的五通道 DMA 控制器。 這可透過 XDATA 記憶體空間存取記憶體,因此能存取所有實體記憶體。 各個通道(觸發、優先權、傳輸模式、定址模式、來源和目的地標記、傳輸計數)係透過 DMA 敘述元進行配置,敘述元能位於記憶體中的任意位置。 許多硬體周邊(AES 核心、快閃記憶體控制器、USART、計時器、ADC 介面等)皆可搭配 DMA 控制器使用,在單一 SFR 或 XREG 位址以及快閃記憶體/SRAM 之間進行數據傳輸,即可達到高效率操作。

每個 CC2540 皆含有獨特的 48 位元 IEEE 位址,可當作藍牙裝置的公開裝置位址。 設計人員可隨意使用此位址,或自行提供位址,如藍牙規格所述。

中斷控制器針對一共 18 個中斷來源提供服務,並分為 6 個中斷群組,各個群組皆有配置一個中斷優先權(共四種)。 即使裝置處於睡眠模式(電源模式 1 和 2),CC2540 會返回作用模式針對 I/O 和睡眠計時器的中斷請求提供服務。

偵錯介面採用自行研發的雙線序列介面,可用於電路內偵錯。 透過此偵錯介面,即可抹除或編程整個快閃記憶體、控制要啟用的振盪器、停止並開始執行使用者程式、執行 8051 核心上的指令、設定程式碼斷點,並且透過程式碼的指令進行單步。 透過這些技術,即可順利執行電路內偵錯以及外部快閃記憶體編程。

I/O 控制器負責控制所有一般用途的 I/O 引腳。 CPU 可設定周邊模組是否控制特定引腳或是受到軟體控制,若受到控制,亦可設定各個引腳成為輸入或輸出,以及是否在墊片中連接上拉或下拉電阻。 每個連接 I/O 引腳的周邊皆可選擇 I/O 引腳位置(二選一),確保在不同應用中的靈活性。

睡眠計時器是超低功率的計時器,可使用外部 32.768 kHz 晶體振盪器或是內部 32.753 kHz RC 振盪器。 睡眠計時器會在電源模式 3 之外的所有操作模式中持續運作。 此計時器的典型應用是當作即時計數器,或是跳出電源模式 1 或 2 的喚醒計時器。

CC2540 內建監控設備計時器,因此能在韌體停擺時自行重置。 在軟體啟用下,監控設備計時器必須定期清除,否則就會在逾時時將元件重置。

計時器 1 是 16 位元計時器,含有計時器/計數器/PWM 功能。 其中具有可編程預分頻器、16 位元時段值、五個獨立可編程計數器/擷取通道(各含有 16 位元比較值)。 每一個計數器/擷取通道皆可當作 PWM 輸出,或是擷取輸入訊號邊緣的時間。 亦可設定為 IR 產生模式,會計算計時器 3 的時段,且輸出會和計時器 3 的輸出累加,產生調變的消費性 IR 訊號以及最低的 CPU 互動。

計時器 2 是 40 位元計時器,可用於低功耗藍牙堆疊。 具有可設定計時器時段的 16 位元計數器以及 24 位元溢位計數器,可用來追蹤已經發生的時段數。 亦會使用 40 位元擷取暫存器記錄接收/傳送訊框起點時的確切時間,或是傳輸結束時的確切時間。 有兩個 16 位元計時器比較暫存器以及兩個 24 位元溢位比較暫存器,能將 RX 或 TX 開始的確切時間點給予無線電或是一般中斷。

計時器 3 和計時器 4 是 8 位元計時器,含有計時器/計數器/PWM 功能。 兩者皆有可編程預分頻器、8 位元時段值,以及一個可編程計數器通道和 8 位元比較值。 每一個計數器通道皆可當作 PWM 輸出。

USART 0 和 USART 1 可個別設定為 SPI 主要/從屬介面或是 UART 介面。 在 RX 和 TX 上提供雙重緩衝,並具有硬體式流量控制,因此非常適合進行高傳輸率的全雙工應用。 各個 USART 皆有其高精密鮑率產生器,因此能將傳統計時器用於其他用途。 配置成 SPI 從屬介面後,USART 會使用 SCK 直接對輸入訊號進行取樣,而不會使用其他超取樣機制,因此非常適合用於高數據傳輸率。

若是安全性較高的應用,AES 加密/解密核心能讓使用者利用 AES 演算法和 128 位元金鑰將資料加密和解密。 AES 核心亦支援 ECB、CBC、CFB、OFB、CTR 和 CBC-MAC,並且具備 CCM 硬體支援。

ADC 支援 7 至 12 位元解析度,且對應的頻寬範圍分別介於 30 kHz 至 4 kHz。 DC 和音訊轉換具有最多高達 8 個輸入通道(I/O 控制器引腳)。 輸入可選擇為單端或差動。 參考電壓能選擇內部、AVDD 或是單端或差動外部訊號。 ADC 亦具有溫度感測器輸入通道。 ADC 能自動化處理定期取樣或一系列通道間的轉換。

運算放大器的用途在於為 ADC 提供前端緩衝和增益。 引腳上有兩個輸入以及輸出,因此回授網路可進行完整的自訂。 對於需要良好準確度和高增益的應用,也提供截波穩定模式。

超低功率類比比較器能依據類比訊號,讓應用從 PM2 或 PM3 中喚醒。 兩個輸入拉出到引腳上;參考電壓必須由外部提供。 比較器輸出接至 I/O 控制器中斷偵測器,能透過 MCU 當作一般的 I/O 引腳中斷。

另一家藍牙收發器和 SoC 晶片製造商 CSR 亦提供完整的工具組,能針對其 uEnergy 晶片進行軟體開發、板件設計以及生產測試。 此晶片位於參考模組中,其中具有 USB 編程介面,以及能針對應用專屬感測器和致動器分配 I/O 的介面。 完整授權的 CSR xIDE 軟體開發環境含有常用 Bluetooth Smart 設定檔的範例應用程式以及主機應用程式,可用於 iOS 和 Android 智慧型手機,讓專案更加簡化。 Target 板通常是由主機 USB 連線供電,但亦可由板載鈕釦型電池獨立運作,藉此進行電源量測。

CSR 的 Bluetooth Smart 開發系統圖片

圖 3:CSR 的 Bluetooth Smart 開發系統。

儘管在使用電池為裝置供電時,仍要考量幾個重點項目,但在設計內整合模組還是相當直覺化。

BlueGiga 的 BLE112 可直接使用鈕扣型電池進行操作。 由於鈕扣型電池內部具有相對較高的電阻,建議與電池並聯一顆 100 μF 電容。 鈕扣型電池的內部電阻起初位於 10 Ω 範圍內,但在電量使用後,電阻會快速提高。

電容值越高,電池的有效電量就越高,應用的續航力也會更久。 電容的最小值取決於最終應用以及採用的最大發送功率。 100 μF 電容的漏電流介於 0.5 μA 至 3 μA 之間,一般來說,陶瓷電容的漏電流會低於鉭質電容或鋁質電解電容。

Bluegiga 的 BLE112 Bluetooth Smart 模組

圖 4:Bluegiga 的 BLE112 Bluetooth Smart 模組。 在電池間使用電容可延長電池續航力。

此外也可選擇使用 DC/DC 轉換器,在傳送/接收作業期間以及資料處理期間降低電流消耗量。 幾款具有旁路模式的超低功率 DC/DC 轉換器,在使用 3 V 鈕扣型電池下,可在傳輸期間降低約 20% 的標稱電流消耗量。 建議使用鐵氧體磁珠過濾電源供應器線路中的任何過多雜訊,確保無線電效能。

結論

全新一代的可攜式、穿戴式和連網家庭設備已經準備好發揮 Bluetooth Smart 技術的優勢。 藉由低功耗藍牙 v4.0,既有的設計即可輕鬆升級,連接智慧型手機和平板裝置,開拓更多種全新應用。 預先認證的模組與開發套件可支援高度整合的矽元件,協助開發人員快速且輕鬆地新增功能。

DigiKey logo

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

歐洲編輯群

關於出版者

DigiKey 歐洲編輯群