TI中文支持网
TI专业的中文技术问题搜集分享网站

[CC2640R2F] 關於BLE Advertising disable 時的耗電流問題.

您好,

SDK version: simplelink_cc2640r2_sdk_4_10_00_10

使用範例:ti\simplelink_cc2640r2_sdk_4_10_00_10\examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral_oad_offchip

用simple_peripheral_oad_offchip這範例來做 Advertising  enable 5秒 再Advertising  disable 10秒的廣播循環控制.

用電流儀器抓出來的電流圖發現, Advertising  disable 時, 會有不間斷的pulse出現, 如下:

為了釐清不是我加的程式造成, 所以接著做另一實驗, 將simple_peripheral_oad_offchip 的原始code,  在static void SimplePeripheral_init(void) API裡 把initialAdvertEnable設為false不讓它上電就廣播:

initialAdvertEnable = false;

GAPRole_SetParameter(GAPROLE_ADVERT_ENABLED, sizeof(uint8_t),  &initialAdvertEnable);

之後再測量電流, 發現沒廣播時本來就會有這些不間斷的pulse產生, 如下:

除非我不去執行此行程式, 把它tag:

// VOID GAPRole_StartDevice(&SimplePeripheral_gapRoleCBs);

等於不去執行BLE device, 才不會有這些pulse產生.

請問一下, 該如何在Advertising  disable 時, 不要有這些不間斷的pulse產生呢? 這些pulse是從何而來,讓如何關閉它來達到省電的效率, 謝謝.

 

 

Erin Chen:

補充: 當關閉Advertising時, pulse的間隔時間不是固定的, 間隔的時間會從短變長, 剛關閉時的pulse間隔時間較短, 過幾秒pulse時間又較長, 這現象蠻奇怪的.

Kevin Qiu1:

回复 Erin Chen:

这些recharge是给VDDR充电的,www.ti.com.cn/…/swra640e.pdf

Erin Chen:

回复 Kevin Qiu1:

Hi Kevin,
謝謝您的回覆, 我們這專案不需要充電功能, 這可以關閉嗎?
目前ccfg的power setting如下:
#ifndef SET_CCFG_MODE_CONF_VDDR_TRIM_SLEEP_DELTA
#define SET_CCFG_MODE_CONF_VDDR_TRIM_SLEEP_DELTA0xF// Signed delta value +1 to apply to the VDDR_TRIM_SLEEP target (0xF=-1=default=no compensation)
#endif

#ifndef SET_CCFG_MODE_CONF_DCDC_RECHARGE
#define SET_CCFG_MODE_CONF_DCDC_RECHARGE0x0// Use the DC/DC during recharge in powerdown
// #define SET_CCFG_MODE_CONF_DCDC_RECHARGE0x1// Do not use the DC/DC during recharge in powerdown
#endif

#ifndef SET_CCFG_MODE_CONF_DCDC_ACTIVE
#define SET_CCFG_MODE_CONF_DCDC_ACTIVE0x0// Use the DC/DC during active mode
// #define SET_CCFG_MODE_CONF_DCDC_ACTIVE0x1// Do not use the DC/DC during active mode
#endif

#ifndef SET_CCFG_MODE_CONF_VDDS_BOD_LEVEL
// #define SET_CCFG_MODE_CONF_VDDS_BOD_LEVEL0x0// VDDS BOD level is 2.0V
#define SET_CCFG_MODE_CONF_VDDS_BOD_LEVEL0x1// VDDS BOD level is 1.8V (or 1.65V for external regulator mode)
#endif

#ifndef SET_CCFG_MODE_CONF_VDDR_CAP
#define SET_CCFG_MODE_CONF_VDDR_CAP0x3A// Unsigned 8-bit integer representing the min. decoupling capacitance on VDDR in units of 100nF
#endif

#ifndef SET_CCFG_MODE_CONF_VDDR_TRIM_SLEEP_TC
//#define SET_CCFG_MODE_CONF_VDDR_TRIM_SLEEP_TC0x1// Temperature compensation on VDDR sleep trim disabled (default)#define SET_CCFG_MODE_CONF_VDDR_TRIM_SLEEP_TC0x0// Temperature compensation on VDDR sleep trim enabled
#endif

是否需要改變上方哪一個define才可以關閉VDDR充電, 避免這些pulse產生 ? 謝謝

Kevin Qiu1:

回复 Erin Chen:

这个没有办法关闭,不会影响BLE通信

Erin Chen:

回复 Kevin Qiu1:

您好,
謝謝您的回覆.

但我們想做到更省電, 所以在想是否可以把這pulse消除? 謝謝.

Kevin Qiu1:

回复 Erin Chen:

VDDR 再充电是standby期间强制执行的功能,用于维持 RAM 并确保为时钟供电,这些recharge之间的功耗大约为 70nA,很小基本可以忽略

Erin Chen:

回复 Kevin Qiu1:

Hi Kevin,但我量standby這區間的pulse, 平均耗電流落在35~37μA 區間, 並無你說的功耗約為70nA那麼小, 是否有哪些地方需調整? recharge的電流才會變小? 謝謝.

Kevin Qiu1:

回复 Erin Chen:

看下这里的测量方式www.ti.com.cn/…/swra478d.pdf

Erin Chen:

回复 Kevin Qiu1:

Hi Kevin, 我是在我們自己的PCBA上驗的耗電流, 不是由 EVB上測量. 請問是否要呼叫類似sleep mode的API 在ADV on及ADV off之間控制? 謝謝

Kevin Qiu1:

回复 Erin Chen:

自己制作的板子功耗可能有所差别,测试方法是类似的 例程中已经打开了POWER_SAVING,没有广播时会自动进入低功耗模式

可以先用例程测试对比下功耗

赞(0)
未经允许不得转载:TI中文支持网 » [CC2640R2F] 關於BLE Advertising disable 時的耗電流問題.
分享到: 更多 (0)