<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 物聯(lián)網(wǎng)與傳感器 > 設計應用 > 如何快速而經(jīng)濟高效地將藍牙 5.3 添加至邊緣物聯(lián)網(wǎng)設計

如何快速而經(jīng)濟高效地將藍牙 5.3 添加至邊緣物聯(lián)網(wǎng)設計

作者: 時(shí)間:2024-01-03 來(lái)源:DigiKey 收藏

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

本文引用地址:http://dyxdggzs.com/article/202401/454414.htm

為了按時(shí)完成和認證無(wú)線(xiàn)設計,并將其投入量產(chǎn),開(kāi)發(fā)人員必須提高開(kāi)發(fā)過(guò)程的效率。提高開(kāi)發(fā)過(guò)程效率的一種方法是使用配備集成低功耗藍牙 (BLE) 無(wú)線(xiàn)接口的低功耗 MCU。

本文介紹了來(lái)自 STMicroelectronics 的超低功耗 STM32WBA52 MCU 系列,并展示了開(kāi)發(fā)人員如何使用 BLE 評估板、開(kāi)發(fā)工具和應用示例,快速完成和運行 BLE 5.3 無(wú)線(xiàn)設計。此外,本文還簡(jiǎn)要介紹了編程和 MCU 布線(xiàn)。

高安全級別的節能無(wú)線(xiàn) MCU

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

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

STMicroelectronics STM32WBA52 的功能框圖

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

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

設備和數據安全

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

集成無(wú)線(xiàn)電最大限度地降低物料成本

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

該無(wú)線(xiàn)電模塊的電氣性能特征:

  • 支持 BLE 5.3 的 2.4 GHz 射頻收發(fā)器

  • 接收靈敏度:-96 dBm (1 Mbps BLE)

  • 可編程輸出功率,最高 +10 dBm,步長(cháng)為 1 dB

  • 集成平衡不平衡轉換器

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

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

FlexPowerControl 的電氣性能特性:

  • 1.71 至 3.6 V 電源

  • 140 nA 待機模式(16 個(gè)喚醒引腳)

  • 200 nA 待機模式,實(shí)時(shí)時(shí)鐘 (RTC) 運行

  • 2.4 μA 待機模式,64 KB SRAM

  • 16.3 μA 停止模式,64 KB SRAM

  • 45 μA/MHz 運行模式,電壓 3.3 V

  • 無(wú)線(xiàn)電:Rx 7.4 mA/Tx,0 dBm,10.6 mA

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

藍牙堆棧架構和數據包

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

MCU 處理從無(wú)線(xiàn)電 PHY 到 GATT 和 GAP 的數據流圖片圖 2:MCU 處理從無(wú)線(xiàn)電 PHY 到 GATT 和 GAP 的數據流。(圖片來(lái)源:STMicroelectronics)

BLE 發(fā)送的數據包被定義為一個(gè)位序列的固定幀結構。用戶(hù)數據區的長(cháng)度在 27 到 251 個(gè)字節之間動(dòng)態(tài)變化。

BLE 應用實(shí)例

在線(xiàn)百科全書(shū) STMicro-Wiki 中有關(guān) STM32WBA MCU 的部分包含多個(gè)不同藍牙角色的應用實(shí)例,包括:

  • 廣播:BLE_Beacon

  • 傳感器:BLE_HealthThermometer、BLE_HeartRate

  • 網(wǎng)橋:BLE_SerialCom

  • 路由器:BLE_p2pRouter

  • 數據:BLE_DataThroughput、BLE_p2pServer 和 Multi Slave BLE_p2pClient

  • 射頻監控器:BLE_TransparentMode

  • 固件空中升級:BLE_Fuota

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

運行 BLE 實(shí)例“健康溫度計傳感器”

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

NUCLEO 開(kāi)發(fā)板與智能手機之間的 BLE 通信示意圖(點(diǎn)擊放大)圖 3:作為傳感器/服務(wù)器的 NUCLEO 開(kāi)發(fā)板與作為收集器/客戶(hù)端的智能手機之間的 BLE 通信。(圖片來(lái)源:STMicroelectronics)

健康溫度計傳感器:

  • 測量溫度,并通過(guò)健康溫度計服務(wù)公布數據

  • 包含遠程設備要識別的設備信息服務(wù)

  • 作為 GATT 服務(wù)器

健康溫度計收集器:

  • 訪(fǎng)問(wèn)健康溫度計傳感器提供的信息,并將其顯示給最終用戶(hù),或者存儲在非易失性存儲器中,以便日后分析

  • 作為 GATT 客戶(hù)端

將健康溫度計二進(jìn)制文件燒錄到 NUCLEO 的 MCU 上之后,開(kāi)發(fā)人員需要按照以下步驟運行 BLE 應用實(shí)例:

使用智能手機應用程序

  1. 在智能手機上安裝 ST BLE 工具箱。該應用程序用于與 ST BLE 設備交互以及對其進(jìn)行調試。

  2. 為已燒錄健康溫度計應用程序的 STM32WBA NUCLEO 開(kāi)發(fā)板通電。

  3. 打開(kāi)智能手機藍牙 (BT),在應用程序中掃描可用的藍牙設備。選擇健康溫度計并連接。

使用網(wǎng)絡(luò )瀏覽器界面

  1. 確保瀏覽器的兼容性:

    • 在臺式電腦上:Chrome、Edge 或 Opera

    • 在智能手機設備上:安卓版 Chrome 瀏覽器

  2. 為已燒錄健康溫度計應用程序的 STM32WBA NUCLEO 開(kāi)發(fā)板通電。

  3. 在電腦上激活藍牙。

  4. 在瀏覽器中打開(kāi)網(wǎng)頁(yè) https://applible.github.io/Web_Bluetooth_App_WBA/。

  5. 點(diǎn)擊網(wǎng)頁(yè)頂部的連接按鈕,然后在設備列表中選擇 HT_xx,點(diǎn)擊配對。該設備現已連接。

  6. 點(diǎn)擊健康溫度計以顯示界面。

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

服務(wù)特征屬性UUID大小健康溫度計服務(wù)0X1809溫度測量指示0x2A1C13溫度類(lèi)型讀取0x2A1D1中間溫度通知0x2A1E13測量間隔讀取、寫(xiě)入、指示0x2A212設備信息服務(wù)0X180A制造商名稱(chēng)字符串讀取0x2A2932型號字符串讀取0x2A2432系統 ID讀取0x2A238

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

來(lái)自 GitHub 的以下 JavaScript 序列顯示了網(wǎng)絡(luò )瀏覽器界面如何篩選不同的 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 數據吞吐量特征。(清單來(lái)源:GitHub、STMicroelectronics)

跟蹤 BLE 堆棧進(jìn)程

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

項目?jì)鹊母櫺枰?app_conf.h 文件中啟用

#define CFG_DEBUG_APP_TRACE   (1)

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

BLE 5.3 應用程序編程

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

每個(gè) NUCLEO-WBA52CG BLE 應用程序實(shí)例都包含適用于 IAR Embedded Workbench for Arm (EWARM)、Keil MDK-ARM 和 STM32CubeIDE 等所有三種開(kāi)發(fā)環(huán)境 (IDE) 的項目結構設置。

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

程序員可以在框架代碼文件中添加自己的 GATT 內容的示意圖(點(diǎn)擊放大)圖 4:程序員可以在框架代碼文件(左)中添加自己的 GATT 內容;這些文件會(huì )生成 GATT 服務(wù)(右)。(圖片來(lái)源:STMicroelectronics)

程序員可將源代碼用于自己的項目,并在標記 USER CODE BEGIN/USER CODE END 的區域內進(jìn)行擴展,添加他們的 GATT 內容(清單 2)。文件 hts.c 中的初始化序列會(huì )生成 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 中的初始化序列會(huì )生成 GATT 特性 TEMM。(圖片來(lái)源:GitHub、STMicroelectronics)

外部元器件要求

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

STMicroelectronics STM32WBA52 射頻終端的示意圖(點(diǎn)擊放大)圖 5:為實(shí)現藍牙功能,STM32WBA52 的射頻終端連接到阻抗匹配網(wǎng)絡(luò )、諧波濾波器和天線(xiàn)。(圖片來(lái)源:STMicroelectronics)

總結

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>