蓝牙BLE芯片PHY6222之Peripheral从机的功耗
- 环境
- 影响功耗的变量
- 测试数据
- 注意事项
- ps
环境
SDK版本:3.0.6
SDK路径:SDK\PHY62XX_SDK_3.0.6\example\ble_peripheral\simpleBlePeripheral
硬件:PHY6222开发板
测试工具:Simplicity Studio
影响功耗的变量
连接参数
// Minimum connection interval (units of 1.25ms, 80=100ms) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 24//32//80// Maximum connection interval (units of 1.25ms, 800=1000ms) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 800//48//800// Slave latency to use if automatic parameter update request is enabled
#define DEFAULT_DESIRED_SLAVE_LATENCY 0// Supervision timeout value (units of 10ms, 1000=10s) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_CONN_TIMEOUT 500//1000
广播参数
{uint16 advInt = 800;//2400;//1600;//1600;//800;//1600; // actual time = advInt * 625usGAP_SetParamValue( TGAP_LIM_DISC_ADV_INT_MIN, advInt );GAP_SetParamValue( TGAP_LIM_DISC_ADV_INT_MAX, advInt );GAP_SetParamValue( TGAP_GEN_DISC_ADV_INT_MIN, advInt );GAP_SetParamValue( TGAP_GEN_DISC_ADV_INT_MAX, advInt );}
SRAM的断电保持
hal_pwrmgr_RAM_retention(RET_SRAM0|RET_SRAM1|RET_SRAM2);
// hal_pwrmgr_RAM_retention(RET_SRAM0);
发送功率以及主频
static void hal_rfphy_init(void)
{//Watchdog_Init(NULL);//============config the txPowerg_rfPhyTxPower = RF_PHY_TX_POWER_0DBM ;
int main(void)
{g_system_clk = SYS_CLK_XTAL_16M;//SYS_CLK_DBL_32M;//SYS_CLK_XTAL_16M;//SYS_CLK_DLL_64M;
测试数据
以下如图数据大部分是根据以上基础的参数进行测试得出的数据,仅供参考
16M主频,去掉开发板的串口跳帽,打开睡眠
deep sleep 模式是关闭蓝牙的模式
注意事项
功耗跟上图出入较大的话
1.记得把CFG_SLEEP_MODE=PWR_MODE_SLEEP打开
2.去掉所有LOG的打印
3.检查外设在睡眠前是否全部释放,相应的MOD要unlock MOD
4.检查所有events事件是否还是周期性触发
5.检查IO是否有漏电的情况
ps
以上的测试数据仅对应目前SDK3.0.6的版本参考,最新的参考数据应以官方最新SDK版本为准