STM8L101+si4463 low-power wake-up settings

Just started to contact the RF communication, with the Chengdu billion special demo quickly completed the data transfer, but the power consumption has been falling, ST and Silicon Labs official datasheet, respectively, said STM8L101 in halt mode power consumption is 1uA (open AWU's In the case of), SI4463 is 50nA in standby mode, but even if the chips other than STM8 and SI4463 are removed, the actual test value of the entire board is also two orders of magnitude larger than 1uA.

I. About low power consumption

First, remove the SI4463, leaving only the STM8L. The main function directly enters the halt mode, and the operating current is 0.4uA, which is the nominal value.

Then, connect si4463, the main function directly into the halt mode, the operating current soared to 167uA. why?

Found the "AN3147: Power management in STM8L and STM8AL" in the ST official website, in "Chapter 5: Power management TIps" found the key point of the problem - before entering the HALT must be set to a fixed level state GPIO, otherwise There is a leakage current. Therefore, according to the circuit design schematic, SPI_CSN connected to SI4463 is set to output high, SDN is set to output low, and the rest is set to input pull-up. The current dropped to 25uA, still far greater than the nominal value.

STM8L101+si4463 low-power wake-up settings

Figure 1 The whole circuit diagram

The last problem is located in SI4463's GIO setting. The 100% Si4463 module uses a TX and RX separated analog circuit design (Figure 2). GIO2 and GIO3 control the strobe switches. They output 0 and according to the status of TX and RX. For example, when the chip is in TX state, GIO2 output 1 and GIO3 output 0, and the antenna forms a path with TX. The modulation signal is sent out from the TX port through the inductive circuit. Before putting the si4463 into low power consumption, GIO2 and GIO3 must be pulled low.

STM8L101+si4463 low-power wake-up settings

Figure 2 si4463 reference circuit design

[cpp] view plain copySI446X_GPIO_CONFIG(3, 3, 2, 2, 3, 0, 0x60);

SI446X_CHANGE_STATE(1);

The final power dropped below 1uA, consistent with the nominal value.

Second, about AWU settings

The AWU (Auto Wakeup Unit) clock source is a stand-alone LSI (Low Speed ​​Internal Clock). The official datasheet shows that the LSI's consistency is relatively poor, ranging from 25KHz to 75KHz (it is really bad). Therefore, before configuring the AWU, it is necessary to know each How much is the LSI of a chip to achieve the expected value of wake-up time. First of all, use TIM2 to measure the frequency of LSI, the official driver library has a function to achieve, the function prototype is as follows

Uint32_t TIM2_ComputeLsiClockFreq(uint32_t TIM2_TimerClockFreq);

The official website driver library also has the AWU configuration function void AWU_LSICalibrationConfig(uint32_tLSIFreqHz). The result given by this function is bad and the wakeup time is not correct. So I wrote a function based on the datasheet

[cpp] view plaincopy#define AWU_MAX_INTERNVAL_COEFFICIENT ((uint32_t)3932160)

#define AWU_APR_MAX_VALUE ((uint8_t)64)

#define AWU_TBR_MAX_VALUE ((uint8_t)0x0f)

#define AWU_APR_MIN_VALUE ((uint8_t)2)

#define AWU_TBR_MIN_VALUE ((uint8_t)0x01)

#define AWU_HIGH_RESOLUTION_THRESHOLD ((uint32_t)6889)

[cpp] view plain copy

[cpp] view plain copy/**

* @brief Update APR register with the measured LSI frequency.

Accuracy is much better than AWU_LSICalibrationConfig().

* @param LSIFreqHz -- the LSI frequency, in Hertz.

Internval -- AWU wake up interval, in milliseconds

* @note AWU must be disabled to avoid unwanted interrupts.

* @retval None

*/

ErrorStatus AWU_ConfigLSI(uint32_t LSIFreqHz, uint32_t internval)

{

Uint32_t tmp = 0, z = 0;

Uint8_t y = 0, x = 0;

Uint8_t flag = 0;

/* Check parameter */

Assert_param(IS_LSI_FREQUENCY(LSIFreqHz));

z = LSIFreqHz * internval;

If(internval) AWU_HIGH_RESOLUTION_THRESHOLD

{

Tmp = z / 10240000;

If( tmp = AWU_APR_MIN_VALUE && tmp = AWU_APR_MAX_VALUE)

{

AWU-"TBR |= 0x0e;

AWU-"APR = (tmp)-2;

Return SUCCESS;

}

Tmp = z / 61440000;

If( tmp = AWU_APR_MIN_VALUE && tmp = AWU_APR_MAX_VALUE)

{

AWU-"TBR |= 0x0f;

AWU-"APR = (tmp)-2;

Return SUCCESS;

}

}

/* 2^x*y = LSIFreqHz * internval */

For(y=64;y"1;y=y""1)

{

Tmp = z/((uint32_t)y*1000) ;

If(tmp)=1 && tmp(=4096) /*value is between 2^0 and 2^12*/

{

Flag = 1;

Break;

}

}

/*Calculate TBR, then derive APR*/ from TBR

If(flag!=0)

{

For(x=0;x<<13;x++)

{

If( (tmp)"x)==0 )

{

Break;

}

}

Tmp = (uint32_t)1 "" x;

y = z/((uint32_t)tmp*1000);

If(y<<2)

{

Return ERROR;

}

AWU-"TBR = x+1;

AWU-"APR = y-2;

Return SUCCESS;

}

Else

{

Return ERROR;

}

}

The parameter internval is the expected wakeup time in ms and the value range is 1 to 60000.

After setting up TBR and APR, as long as AWU_Cmd(ENABLE) is used to start the AWU, it will only start timing when STM8 is in halt mode. When the timer reaches the set interval, it will generate an interrupt and wake up STM8 from halt mode.

/***** Patch 1: AWU setting function exists BUG, ​​fix it, and now can safely use 20161205 *******/

RTX 3090 Graphic Card

About this item

1.NVIDIA Ampere Streaming Multiprocessors: The building blocks for the world`s fastest, most efficient GPU, the all-new Ampere SM brings 2X the FP32 throughput and improved power efficiency.
2.2nd Generation RT Cores: Experience 2X the throughput of 1st Gen RT Cores, plus concurrent RT and shading for a whole new level of ray tracing performance.
3.3rd Generation Tensor Cores: Get up to 2X the throughput with structural sparsity and advanced AI algorithms such as DLSS.
Now with support for up to 8K resolution, these cores deliver a massive boost in game performance and all-new AI capabilities.
4.Axial-Tech Fan Design has been newly tuned with a reversed central fan direction for less turbulence.
5.2.9-slot design expands cooling surface area compared to last gen for more thermal headroom than ever before.
6.Super Alloy Power II includes premium alloy chokes, solid polymer capacitors, and an array of high-current power stages.
7.GPU Tweak II provides intuitive performance tweaking, thermal controls, and system monitoring.

rtx 3090,geforce rtx 3090,gtx 3090,gtx 3090 price,rtx 3090 super

Easy Electronic Technology Co.,Ltd , https://www.yxpcelectronicgroups.com