<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何快速而經濟高效地將藍牙 5.3 添加至邊緣物聯網設計

海闊天空的專欄 ? 來源:Jens Wallmann ? 作者:Jens Wallmann ? 2024-01-01 17:39 ? 次閱讀

作者:Jens Wallmann

投稿人:DigiKey 歐洲編輯

激烈的競爭給物聯網 (IoT) 設備開發商帶來了壓力,他們必須迅速推出新的創新產品,同時還要降低成本,確保穩定、低功耗、安全的通信。傳統的智能物聯網終端節點包括用于邊緣處理的微控制器單元 (MCU) 和用于連接的無線集成電路。如果設計團隊缺乏開發有效解決方案必需的射頻 (RF) 技能,就會出現問題。

為了按時完成和認證無線物聯網設計,并將其投入量產,開發人員必須提高開發過程的效率。提高開發過程效率的一種方法是使用配備集成低功耗藍牙 (BLE) 無線接口的低功耗 MCU。

本文介紹了來自 [STMicroelectronics] 的超低功耗 [STM32WBA52]MCU 系列,并展示了開發人員如何使用 BLE 評估板、開發工具和應用示例,快速完成和運行 BLE 5.3 無線設計。此外,本文還簡要介紹了編程和 MCU 布線。

高安全級別的節能無線 MCU

STM32WBA52 MCU 系列已通過 BLE 5.3 認證,這是一種經濟高效的解決方案,可幫助新手開發人員快速為設備添加無線通信功能。這些微控制器基于時鐘頻率為 100 MHz 的 [Arm?] Cortex?-M33 內核和 TrustZone 技術,具有高安全·,可保護數據和知識產權 (IP),防止黑客攻擊和設備克隆。

[STM32WBA52CEU6]無線 MCU 搭載 512 KB 閃存和 96 KB 靜態 RAM (SRAM),[STM32WBA52CGU6]型號則搭載 1 MB 閃存和 128 KB SRAM。圖 1 顯示了 48 UFQFN 封裝中集成電路的功能范圍。此外,多達 20 個電容式觸摸通道可支持密封設備的操作(無需機械按鍵)。

STMicroelectronics STM32WBA52 的功能框圖圖 1:STM32WBA52 的功能框圖顯示了集成 BLE 5.3 無線電、閃存和 SRAM 以及安全支持。(圖片來源:STMicroelectronics)

豐富的 STM32Cube 生態系統可以支持 BLE 應用的實現和編程。該生態系統包括 STM32CubeIDE 開發環境以及各種工具,例如 STM32CubeMX 外設配置器和代碼生成器、STM32CubeMonitorRF 性能測試器,以及用于人工智能 (AI) 的 STM32Cube.AI 桌面版本和云版本。匹配的評估板 [NUCLEO-WBA52CG]可簡化原型設計,并提供大量 BLE 實例應用程序和免費源代碼,以加速驗證。

設備和數據安全

STM32WBA52 產品系列達到了物聯網安全標準平臺安全架構 (PSA) 認證等級 3 和物聯網平臺安全評估標準保證等級 3 (SESIP3)?;诎踩綦x、內存保護、篡改保護的 PSA 安全認證計劃,以及采用 Arm TrustZone 架構的 MCU Cortex-M33,都可以增強網絡保護。適用于 Arm Cortex-M 的可信固件 (TF-M) 符合行業標準 PSA 認證安全框架,具有 PSA 不可變信任根 (RoT),包括安全啟動和安全固件更新 [(X-CUBE-SBSFU])、加密、安全存儲和運行時驗證。

集成無線電最大限度地降低物料成本

集成的超低功耗無線電模塊可提供 +10 dBm(分貝數基準為 1 mW)的射頻輸出功率。該模塊可實現短距離 (BLE 5.3) 和長距離 (Long Range) 可靠通信,數據傳輸速率高達 2 Mbps。在進行無線電通信時,深度待機低功耗模式可以降低總耗電量。STM32WBA MCU 可同時支持最多 20 個連接。

該無線電模塊的電氣性能特征:

  • 支持 BLE 5.3 的 2.4 GHz 射頻收發器
  • 接收靈敏度:-96 dBm (1 Mbps BLE)
  • 可編程輸出功率,最高 +10 dBm,步長為 1 dB
  • 集成平衡不平衡轉換器

由于高效的能源管理,電池體積更小

STM32WBA52 MCU 采用多項節能技術,包括 STMicroelectronics 的低功耗直接內存訪問 (LPDMA),以及具有快速喚醒時間的靈活省電狀態。這些特性組合在一起,可將 MCU 功耗降低多達 90%,從而顯著縮小電池體積或延長電池續航時間。

FlexPowerControl 的電氣性能特性:

  • 1.71 至 3.6 V 電源
  • 140 nA 待機模式(16 個喚醒引腳)
  • 200 nA 待機模式,實時時鐘 (RTC) 運行
  • 2.4 μA 待機模式,64 KB SRAM
  • 16.3 μA 停止模式,64 KB SRAM
  • 45 μA/MHz 運行模式,電壓 3.3 V
  • 無線電:Rx 7.4 mA/Tx,0 dBm,10.6 mA

此外,藍牙 5.3 在低占空比和高占空比之間的切換速度更快,因而比先前版本的能效更高。

藍牙堆棧架構和數據包

STM32WBA52 中的單核 Arm Cortex-M33 MCU 專門用于應用固件開發,包括 BLE 堆棧(控制器和主機)上的配置文件和服務。MCU 處理從最低物理層 (PHY) 上的集成射頻模塊到通用屬性配置文件 (GATT) 和通用訪問配置文件 (GAP) 的數據流(圖 2)。GAP 定義和管理廣播和連接,GATT 則定義和管理進出數據交換。

MCU 處理從無線電 PHY 到 GATT 和 GAP 的數據流圖片圖 2:MCU 處理從無線電 PHY 到 GATT 和 GAP 的數據流。(圖片來源:STMicroelectronics)

BLE 發送的數據包被定義為一個位序列的固定幀結構。用戶數據區的長度在 27 到 251 個字節之間動態變化。

BLE 應用實例

在線百科全書 [STMicro-Wiki]中有關 STM32WBA MCU 的部分包含多個不同藍牙角色的應用實例,包括:

  • 廣播:BLE_Beacon
  • 傳感器:BLE_HealthThermometer、BLE_HeartRate
  • 網橋:BLE_SerialCom
  • 路由器:BLE_p2pRouter
  • 數據:BLE_DataThroughput、BLE_p2pServer 和 Multi Slave BLE_p2pClient
  • 射頻監控器:BLE_TransparentMode
  • 固件空中升級:BLE_Fuota

設備設計人員和程序員可根據自己的 BLE 項目,將相應 GitHub 項目目錄中已編譯的二進制文件燒錄到 NUCLEO 開發板上,然后啟動與智能手機或臺式電腦的藍牙連接。必需的編程器軟件 [STM32CubeProg]讓用戶能夠通過調試接口和引導程序接口,對設備內存進行讀取、寫入和驗證。

運行 BLE 實例“健康溫度計傳感器”

健康溫度計規范 (HTP) 是藍牙技術聯盟 (SIG) 制定的基于 GAP 的低功耗規范。其將健康溫度計收集器和健康溫度計傳感器結合在一起,在不同應用中進行連接和交換數據(圖 3)。

[NUCLEO 開發板與智能手機之間的 BLE 通信示意圖(點擊放大)]圖 3:作為傳感器/服務器的 NUCLEO 開發板與作為收集器/客戶端的智能手機之間的 BLE 通信。(圖片來源:STMicroelectronics)

健康溫度計傳感器:

  • 測量溫度,并通過健康溫度計服務公布數據
  • 包含遠程設備要識別的設備信息服務
  • 作為 GATT 服務器

健康溫度計收集器:

  • 訪問健康溫度計傳感器提供的信息,并將其顯示給最終用戶,或者存儲在非易失性存儲器中,以便日后分析
  • 作為 GATT 客戶端

將健康溫度計[二進制文件]燒錄到 NUCLEO 的 MCU 上之后,開發人員需要按照以下步驟運行 BLE 應用實例:

使用智能手機應用程序

  1. 在智能手機上安裝 [ST BLE 工具箱]。該應用程序用于與 ST BLE 設備交互以及對其進行調試。
  2. 為已燒錄健康溫度計應用程序的 STM32WBA NUCLEO 開發板通電。
  3. 打開智能手機藍牙 (BT),在應用程序中掃描可用的藍牙設備。選擇健康溫度計并連接。

使用網絡瀏覽器界面

  1. 確保瀏覽器的兼容性:
    • 在臺式電腦上:Chrome、Edge 或 Opera
    • 在智能手機設備上:安卓版 Chrome 瀏覽器
  2. 為已燒錄健康溫度計應用程序的 STM32WBA NUCLEO 開發板通電。
  3. 在電腦上激活藍牙。
  4. 在瀏覽器中打開網頁 [https://applible.github.io/Web_Bluetooth_App_WBA/]。
  5. 點擊網頁頂部的連接按鈕,然后在設備列表中選擇 HT_xx,點擊配對。該設備現已連接。
  6. 點擊健康溫度計以顯示界面。

表 1 顯示了健康溫度計傳感器的服務結構。128 位長度的全局唯一標識符 (UUID) 可區分各個特征和服務。

| | 服務 | 特征 | 屬性 | UUID | 大小 |
| ---------------- | ------------------ | ------------------ | -------- | ------ |
| 健康溫度計服務 | | | 0X1809 | |
| | 溫度測量 | 指示 | 0x2A1C | 13 |
| | 溫度類型 | 讀取 | 0x2A1D | 1 |
| | 中間溫度 | 通知 | 0x2A1E | 13 |
| | 測量間隔 | 讀取、寫入、指示 | 0x2A21 | 2 |
| 設備信息服務 | | | 0X180A | |
| | 制造商名稱字符串 | 讀取 | 0x2A29 | 32 |
| | 型號字符串 | 讀取 | 0x2A24 | 32 |
| | 系統 ID | 讀取 | 0x2A23 | 8 |

表 1:“健康溫度計傳感器”GAP 的 GATT 服務及其 UUID。(圖片來源:STMicroelectronics)

來自 [GitHub]的以下 JavaScript 序列顯示了網絡瀏覽器界面如何篩選不同的 GATT 數據吞吐量特征(清單 1)。

復制
[...]

// Filtering the different datathroughput characteristics
  props.allCharacteristics.map(element = > {
    switch (element.characteristic.uuid) {
      case"00002a1c-0000-1000-8000-00805f9b34fb":
        IndicateCharacteristic= element; // Temperature Measurement (TEMM)
        IndicateCharacteristic.characteristic.startNotifications();
        IndicateCharacteristic.characteristic.oncharacteristicvaluechanged=
        temperatureMeasurement;
        break;
      case"00002a1d-0000-1000-8000-00805f9b34fb":
        ReadCharacteristic= element; // Temperature Type
        readTemperatureType();
        break;
      case"00002a1e-0000-1000-8000-00805f9b34fb":
        NotifyCharacteristic= element; //Immediate Temperature
        NotifyCharacteristic.characteristic.startNotifications();
        NotifyCharacteristic.characteristic.oncharacteristicvaluechanged= notifHandler;
        break; 
      case"00002a21-0000-1000-8000-00805f9b34fb":
        ReadWriteIndicateCharacteristic= element; // Measurement Interval
        readMeasurementInterval();
        break;
      default:
        console.log("# No characteristics found..");
    }
  });

[...]

清單 1:此 JavaScript 序列可篩選表 1 中的不同 GATT 數據吞吐量特征。(清單來源:GitHub、STMicroelectronics)

跟蹤 BLE 堆棧進程

NUCLEO-WBA52CG 嵌入了 ST-LINK/V3 在線調試器和編程器,支持 STM32 虛擬 COM 端口驅動程序,可通過串行接口與 PC 通信。任何軟件終端都可以打開該串行通信端口,顯示由 APP_DBG_MSG 函數在代碼中生成的文本短消息。

項目內的跟蹤需要在 app_conf.h 文件中啟用

#define CFG_DEBUG_APP_TRACE (1)

另外,智能手機應用程序“SE BLE Toolbox”在<應用程序日志>選項卡上提供了跟蹤功能。

BLE 5.3 應用程序編程

為了對 STM32WBA52 MCU 進行編程,STM 推出了由硬件抽象層 (HAL)、低層應用程序編程接口 (API)、CMSIS、文件系統、RTOS、BLE/802.15.4、線程和 Zigbee 堆棧組成的 [STM32CubeWBA 軟件包],以及在 STMicroelectronics 電路板上運行的實例。

每個 [NUCLEO-WBA52CG BLE 應用程序實例]都包含適用于 IAR Embedded Workbench for Arm (EWARM)、Keil MDK-ARM 和 STM32CubeIDE 等所有三種開發環境 (IDE) 的項目結構設置。

在健康溫度計實例中,只有項目目錄樹(圖 4 左側框架)中的特定文件才會生成 GATT 服務。表 1 中的“健康溫度計服務”(hts) 和“設備信息服務”(dis) 這兩個例程并行運行(圖 4 右下方)。

[程序員可以在框架代碼文件中添加自己的 GATT 內容的示意圖(點擊放大)]圖 4:程序員可以在框架代碼文件(左)中添加自己的 GATT 內容;這些文件會生成 GATT 服務(右)。(圖片來源:STMicroelectronics)

程序員可將源代碼用于自己的項目,并在標記 USER CODE BEGIN/USER CODE END 的區域內進行擴展,添加他們的 GATT 內容(清單 2)。文件 hts.c 中的初始化序列會生成 GATT 特性溫度測量 (TEMM),其 UUID 為 0x2A1C。

復制
[...]
 void HTS_Init(void)
 {
 [...]

  /* TEMM, Temperature Measurement */
  
  uuid.Char_UUID_16 = 0x2a1c;
  ret =aci_gatt_add_char(HTS_Context.HtsSvcHdle,
                          UUID_TYPE_16,
                          (Char_UUID_t *) &uuid,
                          SizeTemm,
                          CHAR_PROP_INDICATE,
                          ATTR_PERMISSION_NONE,
                          GATT_DONT_NOTIFY_EVENTS,
                          0x10,
                          CHAR_VALUE_LEN_VARIABLE,
                          &(HTS_Context.TemmCharHdle));
  if (ret != BLE_STATUS_SUCCESS)
  {
    APP_DBG_MSG("  Fail   : aci_gatt_add_char command  : TEMM, error code: 0x%2Xn", ret);
  }
  else
  {
    APP_DBG_MSG("  Success: aci_gatt_add_char command  : TEMMn");
  }

  /* USER CODE BEGIN SVCCTL_InitService2Char1 */

  /* USER CODE END SVCCTL_InitService2Char1 */

 [...]
 }
[...]

清單 2:文件 hts.c 中的初始化序列會生成 GATT 特性 TEMM。(圖片來源:GitHub、STMicroelectronics)

外部元器件要求

STM32WBA52 無線 MCU 只需少量外部元器件即可實現基本的藍牙功能操作。這些元器件包括用于提供電壓的電容器、晶體振蕩器、帶阻抗匹配的印刷電路板天線,以及諧波濾波器(圖 5)。

[STMicroelectronics STM32WBA52 射頻終端的示意圖(點擊放大)]圖 5:為實現藍牙功能,STM32WBA52 的射頻終端連接到阻抗匹配網絡、諧波濾波器和天線。(圖片來源:STMicroelectronics)

總結

無線物聯網設備開發人員必須縮短設計周期并降低成本,才能在快速發展的市場中競爭。然而,射頻設計非常具有挑戰性。STM32WBA52 MCU 集成 BLE 5.3 接口,使開發人員能夠經濟高效地快速將產品推向市場。預編程的 BLE 堆棧和多個 BLE 應用實例為定制項目提供了編程模板,可輕松插入 GATT 內容。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    16100

    瀏覽量

    344555
  • 藍牙
    +關注

    關注

    112

    文章

    5479

    瀏覽量

    166269
  • 物聯網
    +關注

    關注

    2878

    文章

    41999

    瀏覽量

    360120
  • 無線電
    +關注

    關注

    58

    文章

    2083

    瀏覽量

    115250
  • BLE
    BLE
    +關注

    關注

    12

    文章

    617

    瀏覽量

    58913
收藏 人收藏

    評論

    相關推薦

    聯網將為PLC市場帶來新機遇

    復蘇疲軟的影響,PLC的市場規模呈急劇下滑的趨勢。聯網發展指導意見相關文件于今年正式出臺,受聯網及智能電網的帶動,PLC行業
    發表于 01-14 18:34

    藍牙4.2版本與聯網世界

    Smart更智能、更快速,成為了聯網理想的無線技術。 *聯網世界:藍牙把一切連接起來*萬
    發表于 01-29 15:18

    聯網邊緣的智能視頻分析技術

    ,使用節點分析技術和對數成像器可增強聯網中的視頻分析應用。智能邊緣通過處理基于預期視覺事件的數據,可迅速地測量數據轉換為適當的動作,不必向云服務器傳輸任何數據,或傳輸少量數據。對視
    發表于 10-17 10:34

    聯網接下來是什么?

    應用所依賴的數據結果,粗略測量根本無法支持。聯網系統節點和云之間分區云技術支持采用擴展的多個信號鏈,包括分析功能和大數據。聯網應用主要是需要在
    發表于 10-24 10:45

    成功的聯網系統需要考慮的幾大關鍵元素

    賴的數據結果,粗略測量根本無法支持。聯網系統節點和云之間分區云技術支持采用擴展的多個信號鏈,包括分析功能和大數據。聯網應用主要是需要在邊緣
    發表于 10-29 17:15

    工業聯網檢測和測量:邊緣節點

    ,2015年。5 Jason Stamper,“聯網分析能力驅動網絡邊緣的原因”。451 Research,2015年。6 Steve
    發表于 11-01 11:30

    聯網無處不在取決于Wi-Fi和藍牙

    相對較高的功耗,約為300 mA,藍牙為3 mA??紤]到聯網設備在短時間內主動通信,空閑功率也很重要。當
    發表于 12-03 11:45

    聯網優勢和聯網邊緣

    錢。這個快速行動的時間只是聯網邊緣計算可以提供的價值的一個例子。為了支持其他IoT應用程序,Edge具有一系列特性,使其具有價值。IoT邊緣
    發表于 12-19 17:44

    視覺聯網方案的進展如何?

    聯網(IoT)涉及大量的邊緣設備,需要由FOG節點將處理后的數據進行聚合,進而發送到云/數據中心,然后從云/數據中心再發送最終的指令經由FOG到
    發表于 08-07 08:42

    邊緣計算對嵌入式系統實現聯網應用有什么影響?

    邊緣計算對嵌入式系統實現聯網應用的影響,究竟有多大?
    發表于 04-01 11:49

    聯網市場規模擴大對無線模組有哪些影響

    全球聯網模組出貨量為3.1片,預計到2023年增長15億片,年均復合增長率為45%。在連接數保持高復合增速的情況下,無線模組將是
    發表于 02-02 17:08

    什么是工業聯網(IIOT)?它與邊緣計算有什么關系?

    工業聯網(IIoT)有哪些價值?邊緣計算是什么意思?邊緣計算有什么作用?
    發表于 06-30 06:26

    快速發展的聯網產業鏈

    快速發展的聯網產業鏈,隨著未來中國聯網產業規模的不斷壯大,以及應用領域的不斷拓展,我國正處于
    發表于 07-27 07:00

    邊緣智能市場要素:海量需求,聯網切分

    容易。 聯網對海量數據進行快速處理和分析,邊緣智能使計算服務更接近最終用戶或數據源,如聯網
    發表于 08-23 15:42

    基于飛騰派的邊緣聯網

    等功能,為智慧教室提供更加智能和高效的服務。邊緣聯網關不僅僅只是應用在智慧教室場景,而是各種需要邊緣計算盒子的
    發表于 09-21 16:50
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>