单片机型号:STM32L053R8T6
本系列开发日志,将详述SX1268驱动程序的整个设计过程,本篇介绍电源控制的相关驱动程序。
一、使用DC-DC或者LDO
Two forms of voltage regulation (DC-DC buck converter or linear LDO regulator) are available depending upon the design priorities of the application. The linear LDO regulator is always present in all modes but the transceiver will use DC-DC when selected. Alternatively a high efficiency DC to DC buck converter (DC-DC) can be enabled in FS, Rx and Tx modes.(根据设计需求,有2种电源可供选择:DCDC或LDO,LDO存在于任何模式,但是当DCDC被选择时,收发器将使用DCDC。DCDC可以在FS、Rx和Tx模式使用)
DCDC被2个时钟源驱动:
in STDBY_XOSC: RC13M is used to supply clock and the frequency is RC13M / 4 so the switching frequency of the DC-DC converter will be 3.25 MHz(在STDBY_XOSC模式,RC13M/4=3.25M用于DCDC)
in FS, RX, TX: the PLL is used to supply clock and the frequency is ~5MHz; every time the command SetRFFrequency(...) is called the divider ratio is recalculated so that the switching frequency is as close as possible to the 5 MHz target.(在FS、RX和TX模式,由PLL供给时钟,频率约为5MHz,每次调用SetRFFrequency函数,分频器都会重新计算,以确保尽可能接近5MHz)
各种模式,电源的使用情况如下图所示,切换由SetRegulatorMode函数完成,该函数必须在STDBY_RC模式下调用。
When the DC-DC is enabled, the LDO will remain On and its target voltage is set 50 mV below the DC-DC voltage to ensure voltage stability for high current peaks. If the DC-DC voltage drops to this level due to high current peak, the LDO will cover for the current need at the expense of the energy consumption of the radio which will be increased.(DCDC使能后,LDO依然处于打开状态,已满足峰值电流需求)
二、SetRegulatorMode函数
三、程序实现
typedef enum
{
USE_LDO = 0x00, // default
USE_DCDC = 0x01,
}RadioRegulatorMode_t;
void SX126xSetRegulatorMode(RadioRegulatorMode_t mode);
void CSX1268::SX126xSetRegulatorMode(RadioRegulatorMode_t mode)
{
SX126xWriteCommand(RADIO_SET_REGULATORMODE, (uint8_t*)&mode, 1);
}
关键字:STM32 SX1268 驱动程序 电源控制
引用地址:
STM32开发笔记89: SX1268驱动程序设计(电源控制)
推荐阅读最新更新时间:2024-10-28 17:35
STM32-仿真调试时的SystemInit陷阱
STM32-仿真调试时的SystemInit陷阱 我在开始STM32的仿真调试时,遇到一个问题,就是调试时程序一直停在SystemInit()中的等待晶振中,怎么也出不来。 SystemInit()前面部分的代码,都能走过,就是在执行到最后一个函数时出问题了。 最后一个函数是:SetSysClock(); 执行到下面这个循环之后,出不来了: /* Wait till HSE is ready and if Time out is reached exit */ do { HSEStatus = RCC- CR & RCC_CR_HSERDY; StartUpCounter++; } while((HS
[单片机]
液晶显示器LCD12864驱动程序
#include msp430g2553.h #include lcd12864.h #include typedef.h #define cyCS BIT0 //P2.0,片选信号 #define cySID BIT1 //P2.1,串行数据 #define cyCLK BIT2 //P2.2,同步时钟 #define cyPORT P2OUT #define cyDDR P2DIR void Write_8bits(u8 W_bits) { u8 i; cyDDR |= cyCLK + cySID; //设置输出方向 for(i = 0; i 8; i++) {
[单片机]
第一个跑马灯实验
如何新建一个工程 1.打开工程模板,删除其他不重要的库文件,把main()函数里的内容删除; 不用的外设固件库文件可以删掉,节省编译时间 rcc 时钟使能 usart 串口 复用映射 setbits 设置高电平 resetbits 低电平 2,在工程文件夹里新建一个HARDWARE文件夹,里边放你想写的程序标题(如LED) 3,在工程里添加这个文件夹 4,新建.c 和 .h 文件,然后添加到HARDWARE文件夹下面 5.因为定义了一个.h头文件,我们需要把他加到头文件路径里, 跑马灯硬件连接 因为要输出高低电平,所以采用推挽(上拉)输出(PS:推挽可以输出强高低电平,开漏只能输出强低电平) 程序
[单片机]
【STM32】7—通用定时器 & 时钟树学习
0 实验预期效果 让LED闪烁(每秒钟内:亮0.5s,再暗0.5s)。 1 相关原理图 2 定时器TIM2与时钟树 2.1 TIM2 简介与特性 关于通用定时器TIM2,查STM32F407中文手册392页可知: ① TIM2 到 TIM5 简介: 通用定时器包含一个16 位或 32 位自动重载计数器,该计数器由可编程预分频器驱动。 它们可用于多种用途,包括测量输入信号的脉冲宽度(输入捕获)或生成输出波形(输出比较和 PWM)。 使用定时器预分频器和 RCC 时钟控制器预分频器,可将脉冲宽度和波形周期从几微秒调制到几毫秒。 这些定时器彼此完全独立,不共享任何资源
[单片机]
STM32的bootloader IAP编程
首先谈谈stm32的ISP和IAP区别和联系。 ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。IAP(In-Application Programming) 指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。ISP和IAP技术是未来仪器仪表的发展方向。 1 ISP和IAP的工作原理 ISP的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲可以通过SPI或其它的串行接口接收上位机传来的数据并写入存储器中。所以即使我们将
[单片机]
stm32主从模式定时器产生精确脉冲个数
STM32的每个定时器都可以由另一个定时器触发启动定时器一般是通过软件设置而启动,STM32的每个定时器也可以通过外部信号触发而启动,还可以通过另外一个定时器的某一个条件被触发而启动.这里所谓某一个条件可以是定时到时、定时器超时、比较成功等许多条件.这种通过一个定时器触发另一个定时器的工作方式称为定时器的同步,发出触发信号的定时器工作于主模式,接受触发信号而启动的定时器工作于从模式。 STM32 的Timer之间可以用Timer Internal Trigger联系起来。 各个Timer之间的联系可以用下表表示 实例: #include "stm32f10x.h"//定时器4主模式//PWM输出void TIM4_config
[单片机]
STM32的USART分析
串口框图 工程建立后,需要在工程中添加stm32f10x_usart.h和stm32f10x_usart.c文件; 串口设置的一般步骤 ①串口时钟使能,GPIO时钟使能 ②串口复位 ③GPIO端口模式设置 ④串口参数初始化 ⑤开启中断并初始化NVIC(需要开启中断时开启) ⑥使能串口 ⑦编写中断处理函数 串口设置的相关函数以及解释 1.串口使能 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USARTx,ENABLE); 2.串口复位 解释一下复位:当外设出现异常的时候通过复位设置实现该外设的复位,然后重新设置这个外设达到让其重新工作的目的。一般在系统刚开始的时候,都会执行复位该外设的操作
[单片机]
STM32 波形
只有给外设开启了时钟, 才能操作和控制外设。 // 产生三角波 在上述代码基础上加入下面代码,其中部分代码替代 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructInit(&TIM_TimeBaseStructure); TIM_TimeBaseStructure.TIM_Period = 0xF; TIM_TimeBaseStructure.TIM_Prescaler = 0xF; TIM_TimeBaseSt
[单片机]