在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

STM32WB55開發(fā)(5)----調(diào)整射頻功率

嵌入式單片機(jī)MCU開發(fā) ? 來源:嵌入式單片機(jī)MCU開發(fā) ? 作者:嵌入式單片機(jī)MCU開 ? 2023-12-01 15:50 ? 次閱讀

概述

隨著無線通信技術(shù)的不斷進(jìn)步,能夠精確地控制射頻RF信號(hào)的功率變得越來越重要。調(diào)整射頻功率不僅可以影響設(shè)備的通信距離和覆蓋范圍,還可以優(yōu)化電池的使用壽命和減少可能的射頻干擾。ACI_HAL_SET_TX_POWER_LEVEL指令提供了一種方法,使工程師開發(fā)者能夠在ST的藍(lán)牙設(shè)備上動(dòng)態(tài)地調(diào)整射頻發(fā)射功率。本文將詳細(xì)介紹如何使用這一指令,以及調(diào)整功率級(jí)別可能帶來的影響和應(yīng)用場景。
最近在弄ST的課程,需要樣片的可以加群申請:615061293 。

硬件準(zhǔn)備

首先需要準(zhǔn)備一個(gè)開發(fā)板,這里我準(zhǔn)備的是WB55RG 的開發(fā)板:

在這里插入圖片描述

視頻教學(xué)

[https://www.bilibili.com/video/BV1XF411D7bC/]

樣品申請

[https://www.wjx.top/vm/OhcKxJk.aspx#]

源碼下載

[https://download.csdn.net/download/qq_24312945/88351255](

選擇芯片型號(hào)

在這里插入圖片描述

配置時(shí)鐘

HSE與LSE分別為外部高速時(shí)鐘和低速時(shí)鐘,在本文中使用外置的時(shí)鐘源,故都選擇Crystal/Ceramic Resonator選項(xiàng),如下所示:

在這里插入圖片描述

配置時(shí)鐘樹

在這里插入圖片描述

RTC時(shí)鐘配置

在這里插入圖片描述
RFWKP時(shí)鐘配置

在這里插入圖片描述

查看開啟STM32_WPAN條件

可以看到,需要開啟RF、RTC、RCC、IPCC、HSEM。
在這里插入圖片描述

配置HSEM

硬件信號(hào)量(HSEM)模塊用于管理多個(gè)進(jìn)程之間共享的訪問權(quán)限和資源同步。
開啟HSEM如下。
在這里插入圖片描述

配置IPCC

通信控制器(IPCC)模塊的主要用于cpu之間的信號(hào)消息交換。
開啟如下所示。

在這里插入圖片描述

配置RTC

在這里插入圖片描述

啟動(dòng)RF

在這里插入圖片描述

開啟藍(lán)牙

在這里插入圖片描述

開啟串口調(diào)試

CFG_HW_USART1_ENABLED允許開發(fā)者選擇是否使用USART1作為跟蹤輸出的通道,并且這個(gè)配置只在特定的設(shè)置下可用。這樣的配置通常用于嵌入式系統(tǒng)的調(diào)試,使得開發(fā)者可以實(shí)時(shí)查看設(shè)備的狀態(tài)和輸出信息。
在這里插入圖片描述

CFG_HW_USART1_ENABLED這是一個(gè)配置標(biāo)志,當(dāng)設(shè)置為啟用時(shí),USART1會(huì)被用作輸出跟蹤的通道。當(dāng)禁用時(shí),USART1不會(huì)用于這個(gè)目的。
僅當(dāng)USART1由CubeMX用戶界面配置時(shí),此特定的硬件配置才可用:這意味著只有在使用ST的CubeMX工具配置USART1時(shí),才可以使用CFG_HW_USART1_ENABLED這一特定的配置選項(xiàng)。

查看原理圖可以的是PA9和PA10與CH340鏈接在一起,且為串口打印端口

在這里插入圖片描述
串口配置如下。
在這里插入圖片描述

開啟CFG_HW_USART1_ENABLED。
在這里插入圖片描述

關(guān)閉MX_USART1_UART_Init函數(shù)的生成。
在這里插入圖片描述

CFG_HW_USART1_DMA_TX_SUPPORTED允許開發(fā)者啟用USART1的DMA發(fā)送功能。啟用此功能可以提高USART1發(fā)送數(shù)據(jù)時(shí)的效率,但在配置上可能需要更多的步驟和注意事項(xiàng)。
當(dāng)其被設(shè)置為啟用時(shí),USART1將使用DMA來進(jìn)行數(shù)據(jù)發(fā)送(TX)。DMA允許數(shù)據(jù)從內(nèi)存直接發(fā)送到外設(shè)(在這種情況下是USART1),而不需要CPU的干預(yù),從而提高效率和數(shù)據(jù)傳輸速度。
在這里插入圖片描述

開啟DMA。
在這里插入圖片描述

開啟中斷。

在這里插入圖片描述

啟用串口1的tx的DMA。

在這里插入圖片描述

若無法開啟可以重新打開BLE配置。

在這里插入圖片描述

啟動(dòng)串口1調(diào)試跟蹤。

在這里插入圖片描述

啟用應(yīng)用程序中的跟蹤 。

在這里插入圖片描述

配置藍(lán)牙參數(shù)

配置為自定義模板。
在這里插入圖片描述

命名設(shè)備名

在這里插入圖片描述

配置BLE GATT

在這里插入圖片描述

配置SVC
在這里插入圖片描述

設(shè)置工程信息

在這里插入圖片描述

工程文件設(shè)置

在這里插入圖片描述

Keil工程配置

在這里插入圖片描述

代碼配置

在main.c中添加如下頭文件。

/* USER CODE BEGIN Includes */
#include "stm32_seq.h"
/* USER CODE END Includes */

UTIL_SEQ_Run(UTIL_SEQ_DEFAULT)函數(shù)應(yīng)該在應(yīng)用程序的while循環(huán)中,啟動(dòng)任務(wù)調(diào)度。

/* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
    MX_APPE_Process();

    /* USER CODE BEGIN 3 */
		UTIL_SEQ_Run(UTIL_SEQ_DEFAULT);
  }
  /* USER CODE END 3 */
}

在app_entry.c中添加初始化 APPD_Init()。

void MX_APPE_Init( void )
{
  System_Init( );       /**< System initialization */

  SystemPower_Config(); /**< Configure the system Power Mode */

  HW_TS_Init(hw_ts_InitMode_Full, &hrtc); /**< Initialize the TimerServer */

/* USER CODE BEGIN APPE_Init_1 */
    APPD_Init();
/* USER CODE END APPE_Init_1 */
  appe_Tl_Init();	/* Initialize all transport layers */

  /**
   * From now, the application is waiting for the ready event ( VS_HCI_C2_Ready )
   * received on the system channel before starting the Stack
   * This system event is received with APPE_SysUserEvtRx()
   */
/* USER CODE BEGIN APPE_Init_2 */

/* USER CODE END APPE_Init_2 */
   return;
}

射頻功率

dBm是一種衡量功率的單位,特別用于描述射頻 (RF) 和微波信號(hào)的功率。dBm表示相對(duì)于1毫瓦的功率水平。所以,0 dBm表示1毫瓦的功率;負(fù)值表示小于1毫瓦的功率,而正值表示大于1毫瓦的功率。

為什么我們使用dBm這樣一個(gè)對(duì)數(shù)單位來表示功率,而不是直接使用線性單位如瓦或毫瓦呢?原因是無線通信中的信號(hào)強(qiáng)度可以在非常寬的范圍內(nèi)變化,使用對(duì)數(shù)單位可以更清晰、更簡單地描述這些變化。

以下是一個(gè)簡化的解釋:
如果一個(gè)設(shè)備發(fā)出1毫瓦的功率,這被表示為0 dBm。
如果功率是1毫瓦的10倍,即10毫瓦,那么它是10 dBm。
如果功率是1毫瓦的1/10,即0.1毫瓦,那么它是-10 dBm。
因此,在您提供的列表中,負(fù)的dBm值表示功率小于1毫瓦,而正的dBm值表示功率大于1毫瓦。這樣的表示方法使得工程師能夠輕松地對(duì)比和處理各種功率水平,尤其是在涉及射頻設(shè)計(jì)和分析的情況下。

ACI_HAL_SET_TX_POWER_LEVEL

該指令用于設(shè)置設(shè)備的 TX 功率級(jí)別。通過控制確定 IC 引腳的輸出功率水平(dBm)的 PA_LEVEL。當(dāng)系統(tǒng)啟動(dòng)
或重啟時(shí),會(huì)使用默認(rèn)的發(fā)送功率水平,其最大值為 6 dBm。一旦發(fā)出該指令,會(huì)立即更改輸出功率,無論是否正
在進(jìn)行藍(lán)牙通信。例如,為了進(jìn)行調(diào)試,可將設(shè)備設(shè)置為一直廣播,并使用該指令監(jiān)聽信號(hào)強(qiáng)度變化。系統(tǒng)會(huì)保留
從指令接收的最新發(fā)送功率水平,即第二個(gè)指令覆蓋之前的發(fā)送功率水平。在收到另一條設(shè)置發(fā)送功率的指令或系
統(tǒng)重啟前,將維持新的發(fā)送功率水平。
在這里插入圖片描述

在STM32CUBEMX中可以先修改功率。

在這里插入圖片描述

我們查看app_ble.c文件中也有該初始化操作。
串口打印也有該指令的配置。

在這里插入圖片描述

在app_conf.h中有CFG_TX_POWER功率定義。

在這里插入圖片描述

在main.c文件中,添加頭文件。

/* USER CODE BEGIN Includes */
#include "stm32_seq.h"

#include "ble_hal_aci.h"
/* USER CODE END Includes */

定義變量。

/* USER CODE BEGIN 2 */
	tBleStatus ret = BLE_STATUS_INVALID_PARAMS;
	uint32_t a=0;
  /* USER CODE END 2 */

while循環(huán)中執(zhí)行如下操作,在等待5s后修改天線功率。

/* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
    MX_APPE_Process();

    /* USER CODE BEGIN 3 */
		UTIL_SEQ_Run(UTIL_SEQ_DEFAULT);
		if(a< 5000)
		{
				a++;
			if(a==5000)
			{
					/**
					 * Set TX Power.
					 */
					ret = aci_hal_set_tx_power_level(1, 0x1F);
					if (ret != BLE_STATUS_SUCCESS)
					{
						printf("Fail   : aci_hal_set_tx_power_level 重新設(shè)置, result: 0x%x n", ret);
					}
					else
					{
						printf("Success: aci_hal_set_tx_power_level 重新設(shè)置n");
					}			
			}
			HAL_Delay(1);		
		}	
  }
  /* USER CODE END 3 */

結(jié)果演示

在低功率下藍(lán)牙信號(hào)如下所示。

在這里插入圖片描述

修改位高功率下如下所示。

在這里插入圖片描述

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

    關(guān)注

    116

    文章

    6052

    瀏覽量

    173494
  • 射頻功率
    +關(guān)注

    關(guān)注

    0

    文章

    43

    瀏覽量

    13078
  • BLE
    BLE
    +關(guān)注

    關(guān)注

    12

    文章

    696

    瀏覽量

    60503
  • STM32WB55
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    1619
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32WB55開發(fā)(4)----配置串口打印Debug調(diào)試信息

    STM32WB55系列微控制器上進(jìn)行開發(fā)時(shí),實(shí)時(shí)監(jiān)控應(yīng)用程序的運(yùn)行情況和調(diào)試潛在問題是至關(guān)重要的。使用串口(USART/UART)進(jìn)行Debug信息打印是一種簡便、高效的方法。下面是如何在STM32WB55上配置串口來打印調(diào)試
    的頭像 發(fā)表于 12-01 15:48 ?1898次閱讀
    <b class='flag-5'>STM32WB55</b><b class='flag-5'>開發(fā)</b>(4)----配置串口打印Debug調(diào)試信息

    stm32wb55為什么無法進(jìn)入stop模式?

    請教大家,我是用stm32wb55 ,PA0口外接按鍵。需要實(shí)現(xiàn)如下功能,按鍵按下后進(jìn)入stop模式,再次按下后喚醒,目前的情況是,調(diào)用EnterStopMode后,無法進(jìn)入stop
    發(fā)表于 04-03 07:24

    STM32WB55用zigbee信號(hào)強(qiáng)度太弱的原因?

    STM32WB55 用zigbee信號(hào)強(qiáng)度太弱。用官方開發(fā)板也是一樣。 規(guī)格書里面說是 “可編程輸出功率高達(dá)+6 dBm 步長為1 dB” 但是沒有具體怎么操作。 如果信號(hào)還是太差,是不是需要重新外接PA
    發(fā)表于 04-11 08:00

    STM32WB55開發(fā)板單板設(shè)計(jì)

    STM32WB55開發(fā)板(一)單板設(shè)計(jì)-硬件介紹目錄STM32WB55開發(fā)板(一)單板設(shè)計(jì)-硬件介紹前言簡介參數(shù)介紹MCU方面開發(fā)板方面
    發(fā)表于 08-06 08:15

    STM32WB55是如何在RT-Thread系統(tǒng)上移植的

    STM32WB55在RT-Thread系統(tǒng)上移植官方藍(lán)牙BLE功能硬件環(huán)境:(1)開發(fā)板:ST官方的stm32wb55-st-nucleo開發(fā)板軟件環(huán)境:(1)
    發(fā)表于 08-24 07:20

    STM32WB55開發(fā)板的功能是什么?

    STM32WB55開發(fā)板的功能是什么?
    發(fā)表于 11-08 06:36

    STM32WB55的相關(guān)資料推薦

    STM32WB55 藍(lán)牙協(xié)議棧運(yùn)行流程解析簡介STM32WB55是ST公司近期推出的一顆雙核(M0+M4)無線MCU,主要應(yīng)用在BLE領(lǐng)域,同時(shí)也可以運(yùn)行thread和zigbee等無線協(xié)議棧。協(xié)議
    發(fā)表于 02-07 08:47

    如何控制stm32wb55的電源呢

    我想了解如何控制 stm32wb55 的電源。我正在運(yùn)行來自最新 stm32cube 的 PWR_STANDBY_RTC 示例。在待機(jī)狀態(tài)下,我正在讀取 900 uA。這似乎很高。我應(yīng)該期待什么?
    發(fā)表于 12-20 07:24

    是否可以將MAC層代碼集成到STM32WB55中?

    我正在使用 STM32WB55 微控制器,我在其中使用 BLE 并將我的主程序與我正在實(shí)現(xiàn)的代碼集成在一起。 另一方面,我需要使用 LoRaWAN,為此我使用了 HOPERF RFM95 模塊,其中
    發(fā)表于 12-27 08:36

    請問STM32WB55如何修改CPU2區(qū)?

    STM32WB55如何修改CPU2區(qū)?
    發(fā)表于 12-28 13:18

    STM32WB55單片機(jī)的PCB和電路圖合集免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STM32WB55單片機(jī)的PCB和電路圖合集免費(fèi)下載。
    發(fā)表于 12-16 08:00 ?101次下載
    <b class='flag-5'>STM32WB55</b>單片機(jī)的PCB和電路圖合集免費(fèi)下載

    STM32WB55開發(fā)板(一)單板設(shè)計(jì)-硬件介紹

    STM32WB55開發(fā)板(一)單板設(shè)計(jì)-硬件介紹目錄STM32WB55開發(fā)板(一)單板設(shè)計(jì)-硬件介紹前言簡介參數(shù)介紹MCU方面開發(fā)板方面
    發(fā)表于 12-01 18:06 ?20次下載
    <b class='flag-5'>STM32WB55</b><b class='flag-5'>開發(fā)</b>板(一)單板設(shè)計(jì)-硬件介紹

    STM32WB55 藍(lán)牙協(xié)議棧運(yùn)行流程解析

    STM32WB55 藍(lán)牙協(xié)議棧運(yùn)行流程解析簡介STM32WB55是ST公司近期推出的一顆雙核(M0+M4)無線MCU,主要應(yīng)用在BLE領(lǐng)域,同時(shí)也可以運(yùn)行thread和zigbee等無線協(xié)議棧。協(xié)議
    發(fā)表于 12-04 12:36 ?17次下載
    <b class='flag-5'>STM32WB55</b> 藍(lán)牙協(xié)議棧運(yùn)行流程解析

    STM32WB55在RT-Thread系統(tǒng)上移植官方藍(lán)牙BLE功能

    STM32WB55在RT-Thread系統(tǒng)上移植官方藍(lán)牙BLE功能硬件環(huán)境:(1)開發(fā)板:ST官方的stm32wb55-st-nucleo開發(fā)板軟件環(huán)境:(1)
    發(fā)表于 12-04 12:51 ?17次下載
    <b class='flag-5'>STM32WB55</b>在RT-Thread系統(tǒng)上移植官方藍(lán)牙BLE功能

    stm32wb55 基于rtt的ble sample制作過程

    stm32wb55 基于rtt的ble sample制作過程準(zhǔn)備活動(dòng)硬件stm32wb55 nucleo開發(fā)stm32wb55 dangle軟件rtthread
    發(fā)表于 12-20 19:39 ?13次下載
    <b class='flag-5'>stm32wb55</b> 基于rtt的ble sample制作過程
    主站蜘蛛池模板: 一区二区三区四区欧美 | 日本成人免费观看 | 中国性猛交xxxx乱大交 | 欧美视频一区二区三区四区 | 你懂的 在线观看 | 狠狠干2019 | 49vv婷婷网| 天使色 | 日本黄色网址视频 | 欧美性受xxxx极品 | 亚洲精品免费视频 | 男人天堂网在线 | 国产yw855.c免费观看网站 | 天天视频黄| 西西人体大胆午夜gog0 | 日本黄大乳片免费观看 | 日本加勒比在线播放 | 中国又粗又大又爽的毛片 | 中文字幕xxx | 亚洲男人的性天堂 | 夜夜爽天天干 | 欧美视频综合 | 欧美狠狠| 亚洲精品视频在线看 | 一区二区三区视频免费观看 | 亚洲成a人片在线观看88 | 大尺度视频网站久久久久久久久 | 国内自拍 亚洲系列 欧美系列 | 久久观看午夜精品 | 国产真实乱在线更新 | 天堂资源最新版在线www | 天天天天天天天操 | 三级精品视频在线播放 | 四虎影院的网址 | 在线看逼 | 免费一级片在线观看 | 午夜合集 | 福利午夜 | 四虎sihu新版影院亚洲精品 | 免费看国产一级片 | 国产一级久久免费特黄 |