0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

使用STM32WL系列Sub-GHz無線驅(qū)動程序的應(yīng)用示例

得捷電子DigiKey ? 來源:得捷電子DigiKey ? 2024-07-18 10:20 ? 次閱讀

問:使用 STM32WL 系列 Sub-GHz 無線驅(qū)動程序的應(yīng)用示例

STM32WL系列器件包括內(nèi)置的低于1GHz無線外設(shè) ( Sub-GHz 指的是低于 1GHz 的無線電頻段 ),能夠支持LoRa(僅限STM32WLE5/55器件)、(G)FSK、(G)MSK和BPSK調(diào)制方案。與此無線外設(shè)的通信是通過使用設(shè)備參考手冊 第5.8節(jié)中概述的命令的內(nèi)部SPI接口完成的。雖然該RF接口的抽象層是在低于1GHz Phy中間件中定義的(在STM32CubeWL MCU Package 中可得),但將該中間件添加到使用STM32CubeMX的項目中需要在其他幾個外設(shè)和庫之間進行高級配置。這會導(dǎo)致一個更大、更復(fù)雜的項目,消耗更多的設(shè)備內(nèi)存,并導(dǎo)致抽象層低效率。對于要求功耗低的簡單應(yīng)用,將RF接口驅(qū)動程序與低于1GHzPhy中間件隔離并直接利用它可能是有益的。

低于1GHz Phy中間件由高層 (radio.c) 和低層 (radio_driver.c) 組成。高級驅(qū)動程序提供了許多有用的函數(shù),這些函數(shù)抽象了低層無線功能,例如RadioInit() ,RadioSetTxConfig() 和RadioSend() 。然而,盡管這些函數(shù)很方便,但它們的代價是效率低下,比如冗余的函數(shù)調(diào)用和過度依賴諸如音序器和定時器服務(wù)器之類的實用程序。低層驅(qū)動程序簡單地實現(xiàn)參考手冊 中概述的 SUBGHZSPI 命令,并提供低于1GHz無線寄存器的定義。以犧牲一些質(zhì)量屬性(如可維護性和可移植性)為代價,使用該驅(qū)動程序進行編碼直接允許程序員對其應(yīng)用程序進行更大的控制。

詳細演示如何將這個低層與低于 1GHz Phy 中間件隔離開來,并直接添加到 STM32CubeIDE 項目的操作過程。

要求: 要準(zhǔn)確地跟隨演示教程,需要以下項目。

STM32CubeIDE (版本1.8.0)

STM32CubeWL MCU Package (版本1.1.0)

NUCLEO-WL55JC1

wKgZomaYfD-AdXolAAUktd-gP_Y886.png

NUCLEO-WL55JC1 - STM32WL Nucleo-64 開發(fā)板

應(yīng)用程序示例

作為以獨立方式使用低于1GHz Phy驅(qū)動程序的示例,我們創(chuàng)建了兩個示例程序(可在GitHub Repository 上獲得)。這些示例復(fù)制了STM32CubeWL MCU Package 中SubGHz_Phy_PingPong示例的高級功能。也就是說,它們都實現(xiàn)了圖1所示的狀態(tài)機。這兩個示例之間的唯一區(qū)別是一個使用LoRa調(diào)制解調(diào)器,而另一個使用FSK調(diào)制解調(diào)器。

wKgaomaYfD-AQ65VAAGSU-LLKC4436.png

1:低層無線驅(qū)動乒乓樣例項目有限狀態(tài)機

兩個NUCLEO-WL55JC1 板需要運行這些示例,其中一個將充當(dāng)主機,而另一個將充當(dāng)從機。最初,兩個板都處于主狀態(tài),以隨機間隔發(fā)送“PING”消息并等待響應(yīng)。最終,兩個板同步,因此只有一個設(shè)備發(fā)送“PING”消息,另一個設(shè)備發(fā)送“PONG”消息作為響應(yīng)。要執(zhí)行該應(yīng)用程序,請按照前一節(jié)提供的步驟創(chuàng)建一個項目,該項目包含低于1GHz 無線驅(qū)動程序。然后,只需將項目的main.c 文件的內(nèi)容替換為GitHub Repository 中的一個文件的內(nèi)容,具體取決于你希望在示例中使用哪種調(diào)制方案。最后,構(gòu)建項目并使用它對兩個Nucleo板進行編程。

注意,這些示例與SubGHz_Phy_PingPong示例兼容。也就是說,一塊板可以用上述應(yīng)用程序編程,另一塊板可以用SubGHz_Phy_PingPong應(yīng)用程序編程,它們將按預(yù)期一起工作。然而,為了利用GFSK調(diào)制,必須首先對SubGHz_Phy_PingPong示例進行稍微修改。打開subghz_phy_app.h 文件,修改第一個define指令如下:

#define USE_MODEM_LORA 0 //1

#define USE_MODEM_FSK 1 //0

#define REGION_US915 //REGION_EU868

然后,在radio.c 中找到RadioRandom() 函數(shù),注釋掉RadioSetModem(MODEM_LORA); 這一行不僅不需要獲得隨機數(shù),還會擦除之前初始化步驟中設(shè)置的無線配置。因此,在這種情況下,它被認為是一個bug,不應(yīng)該被包括在內(nèi)。SubGHz_Phy_PingPong示例現(xiàn)在準(zhǔn)備編譯并燒寫到NUCLEO-WL55JC1 板之一。另一個板應(yīng)該根據(jù)上述說明使用GitHub Repository 中的main_gfsk.c 文件的內(nèi)容進行編程。

在初始化和執(zhí)行圖1所示的有限狀態(tài)機之前,通過調(diào)用清單1中定義的radioInit() 函數(shù)來初始化無線。該函數(shù)使用與SubGHz_Phy_PingPong示例相同的無線配置,但有一個例外。在參考手冊 第6.1節(jié)的末尾,它說:

SMPS需要時鐘才能正常工作。如果由于任何原因這個時鐘停止,設(shè)備可能會被破壞。為了避免這種情況,使用時鐘檢測,當(dāng)出現(xiàn)時鐘故障時,關(guān)閉SMPS并啟用LDO。SMPS時鐘檢測通過低于1GHz無線 SUBGHZ_SMPSC0R.CLKDE使能。缺省情況下,SMPS時鐘檢測功能處于關(guān)閉狀態(tài),開啟SMPS前必須開啟時鐘檢測功能。

盡管有這個警告,低于1GHz Phy中間件的高層和低層都沒有啟用SMPS時鐘檢測。因為DCDC_ENABLE 是在radio_config.h 中定義的,所以SUBGRF_SetRegulatorMode() 函數(shù)將啟用SMPS降壓轉(zhuǎn)換器。因此,在此函數(shù)調(diào)用之前,手動啟用SMPS時鐘檢測。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17148

    瀏覽量

    351185
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5343

    瀏覽量

    120348
  • 無線
    +關(guān)注

    關(guān)注

    31

    文章

    5453

    瀏覽量

    173301
  • 驅(qū)動程序
    +關(guān)注

    關(guān)注

    19

    文章

    836

    瀏覽量

    48038

原文標(biāo)題:實操!玩轉(zhuǎn)STM32WL系列Sub-GHz無線驅(qū)動程序

文章出處:【微信號:得捷電子DigiKey,微信公眾號:得捷電子DigiKey】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Sub-GHz無線連接系統(tǒng)

    其它1GHz以下的未許可頻段。由于缺乏1GHz以下的無線標(biāo)準(zhǔn),設(shè)計人員傾向于使用專有物理層(PHY)與通信協(xié)議棧,來滿足他們的特定需求。圖1所示的是大多數(shù)未許可sub-GHz頻率被采用
    發(fā)表于 06-17 08:17

    【ST NUCLEO-WL55JC2開發(fā)板免費試用申請!】

    曲線加密引擎的公鑰加密。總體而言,STM32WL 產(chǎn)品是 系列sub-GHz 無線連接領(lǐng)域的領(lǐng)軍產(chǎn)品,兼具易用性和可靠性,同時可完美滿足各種工業(yè)和消費類應(yīng)用的需求。6.為什么
    發(fā)表于 06-15 18:38

    Sub-GHz無線產(chǎn)品有什么優(yōu)點?

    Sub-GHz無線產(chǎn)品有什么優(yōu)點?
    發(fā)表于 05-21 06:43

    高性能Sub-GHz無線芯片有哪些應(yīng)用?

    什么是高性能Sub-GHz無線芯片?高性能Sub-GHz無線芯片有哪些應(yīng)用?
    發(fā)表于 05-28 06:40

    基于STM32WL系列微控制器構(gòu)建特定LoRa應(yīng)用程序

    本應(yīng)用筆記將指導(dǎo)用戶完成基于STM32WL系列微控制器構(gòu)建特定LoRa@應(yīng)用程序所需的所有步驟。 LoRaR是一種無線通信網(wǎng)絡(luò),旨在以極低的比特率進行遠距離通信,并延長電池供電型傳感器
    發(fā)表于 08-14 11:38

    STM32WL sub-GHz SoC未來工業(yè)物聯(lián)網(wǎng)最佳的選擇

    內(nèi)容包含:STM32 不斷擴大的產(chǎn)品組合、什么是STM32WL?、集成金字塔、STM32WL系列八大特性、STM32WL 生態(tài)系統(tǒng)成長等。
    發(fā)表于 09-05 07:25

    高性能 Sub-GHz無線芯片及應(yīng)用方案

    高性能 Sub-GHz無線芯片及應(yīng)用方案 Silicon Labs公司Sub-GHz無線市場概況當(dāng)今世界,無線產(chǎn)品早已無處不在。在我們周圍
    發(fā)表于 04-12 10:02 ?1673次閱讀
    高性能 <b class='flag-5'>Sub-GHz</b><b class='flag-5'>無線</b>芯片及應(yīng)用方案

    線下實訓(xùn) | STM32WL LoRa? SoC應(yīng)用開發(fā)及設(shè)計

    提供了雙電源輸出和寬泛線性頻率范圍,以滿足任何無執(zhí)照 RF 頻譜的需求??傮w而言,STM32WL 產(chǎn)品是 STM32 系列sub-GHz 無線
    的頭像 發(fā)表于 11-10 11:45 ?1471次閱讀

    用于 STM32WL 系列 LoRa?調(diào)制的 RSSI 和 SNR

    用于 STM32WL 系列 LoRa?調(diào)制的 RSSI 和 SNR
    發(fā)表于 11-21 08:11 ?0次下載
    用于 <b class='flag-5'>STM32WL</b> <b class='flag-5'>系列</b> LoRa?調(diào)制的 RSSI 和 SNR

    意法半導(dǎo)體發(fā)布針對STM32WL無線MCU優(yōu)化的RF IPD

    意法半導(dǎo)體的STM32WL MCU是一系列無線雙核微控制器芯片,Arm Cortex-M4 處理核心負責(zé)處理應(yīng)用任務(wù),Cortex-M0+核心專門管理sub-GHz 遠程射頻通信功能,
    發(fā)表于 03-14 12:23 ?582次閱讀

    STM32WL sub-GHz SoC 未來工業(yè)物聯(lián)網(wǎng)最佳的選擇

    電子發(fā)燒友網(wǎng)站提供《STM32WL sub-GHz SoC 未來工業(yè)物聯(lián)網(wǎng)最佳的選擇.pdf》資料免費下載
    發(fā)表于 07-29 11:07 ?0次下載
    <b class='flag-5'>STM32WL</b> <b class='flag-5'>sub-GHz</b> SoC 未來工業(yè)物聯(lián)網(wǎng)最佳的選擇

    STM32WL系列STM32CubeWL入門

    電子發(fā)燒友網(wǎng)站提供《STM32WL系列STM32CubeWL入門.pdf》資料免費下載
    發(fā)表于 08-01 17:02 ?1次下載
    <b class='flag-5'>STM32WL</b><b class='flag-5'>系列</b>的<b class='flag-5'>STM32</b>CubeWL入門

    STM32WL5x具有sub-GHz無線電解決方案

    電子發(fā)燒友網(wǎng)站提供《STM32WL5x具有sub-GHz無線電解決方案.pdf》資料免費下載
    發(fā)表于 08-02 10:36 ?1次下載
    <b class='flag-5'>STM32WL</b>5x具有<b class='flag-5'>sub-GHz</b><b class='flag-5'>無線</b>電解決方案

    面向STM32WL系列STM32CubeWL入門

    STM32CubeWL 將開發(fā) STM32WL 微控制器應(yīng)用所需的所有通用內(nèi)置軟件組件聚集在單一軟件包中。根據(jù)STM32Cube 計劃,這套組件具有高度可移植性,不僅在 STM32WL
    發(fā)表于 08-31 11:15 ?3次下載

    STM32WL FUOTA應(yīng)用設(shè)計

    電子發(fā)燒友網(wǎng)站提供《STM32WL FUOTA應(yīng)用設(shè)計.pdf》資料免費下載
    發(fā)表于 09-19 15:01 ?2次下載
    <b class='flag-5'>STM32WL</b> FUOTA應(yīng)用設(shè)計