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

cc2640进入shutdown模式,电流为197ua,为何不是0.1ua?

你好!TI!我使用cc2640芯片,纽扣电池供电,计划的方案是开机上电后进入shutdown模式,在Board_KEY_SELECT引脚中断唤醒后即开始广播,现在做了以下程序代码,可是得到的结果是开机进入shutdown模式时电流为197ua,在Board_KEY_SELECT引脚中断唤醒开始广播后电流是2ma,为何进入shutdown时电流没有降到0.1ua或者几个ua也可以啊?

#include "Board.h" 
#include <ti/drivers/PIN/PINCC26XX.h>
#include <driverlib/sys_ctrl.h>
#define Board_WAKE_PIN Board_KEY_SELECT

#include <ti/sysbios/family/arm/cc26xx/Power.h>
#include <ti/sysbios/family/arm/cc26xx/PowerCC2650.h>

PIN_Config shutdownIO[] = {
Board_WAKE_PIN | PIN_GPIO_OUTPUT_DIS | PIN_INPUT_EN | PIN_PULLUP,
PIN_TERMINATE };

static PIN_Config BoardGpioInitTable1[] = {

Board_SPI0_MISO | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW| PIN_PUSHPULL | PIN_DRVSTR_MAX , //IOID 0
Board_UART_RX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW| PIN_PUSHPULL | PIN_DRVSTR_MAX, //IOID 1
Board_KEY_DOWN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW| PIN_PUSHPULL | PIN_DRVSTR_MAX, //IOID 3
Board_KEY_UP| PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW| PIN_PUSHPULL | PIN_DRVSTR_MAX, //IOID 4
Board_LED3 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW| PIN_PUSHPULL| PIN_DRVSTR_MAX ,//IOID 5 将5/6/7/8/9设置为输出,可防止漏电
Board_LED4 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW| PIN_PUSHPULL| PIN_DRVSTR_MAX ,//IOID 6
Board_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW| PIN_PUSHPULL | PIN_DRVSTR_MAX, //IOID 7
Board_SPI0_CLK| PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW| PIN_PUSHPULL | PIN_DRVSTR_MAX, //IOID 8
Board_SPI0_MOSI | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW| PIN_PUSHPULL | PIN_DRVSTR_MAX,//IOID 9 PIN_TERMINATE /* Terminate list */
};

PIN_Handle pinHandle;

PIN_State pinState;

PIN_Handle pinHandle1;
PIN_State pinState1;

static void SimpleBLEPeripheral_init(void)
{
if( SysCtrlResetSourceGet() != RSTSRC_WAKEUP_FROM_SHUTDOWN ) {
pinHandle = PIN_open(&pinState, shutdownIO);
PIN_setConfig(pinHandle, PINCC26XX_BM_WAKEUP, Board_WAKE_PIN | PINCC26XX_WAKEUP_NEGEDGE);

pinHandle1 = PIN_open(&pinState1,BoardGpioInitTable1);
PIN_close(pinHandle1);
Power_shutdown(NULL);

}

else {

Susan Yang:

建议您使用pinshutdown例程测试一下功耗

另外建议您使用最新版本的软件,Power_shutdown(NULL, 0) 而不是 Power_shutdown(NULL);

hao Q:

回复 Susan Yang:

Susan Yang:   您好!我在TI官网上下载了最新的协议栈ble_sdk_2_02_01_18_setup.exe, 与之配套的IAR版本是什么,可以在哪里下载呢?谢谢解答

da qin zheng sheng:

回复 hao Q:

iar可以在官方的网站下载最新试用版本,另外可以使用德州仪器ccs7.3 

软件开发,完全免费的,没有代码大小限制。

hao Q:

回复 da qin zheng sheng:

软件问题已解决,谢谢!

请问在ti\simplelink\ble_sdk_2_02_01_18\example\cc2650em\simple_peripheral\iar\simple_peripheral示例中,添加新CHAR值及UUID的方法,可以分享一下吗

Susan Yang:

回复 hao Q:

此问题已经脱离1原来的主题,请您重新发帖

hao Q:

回复 Susan Yang:

使用IAR 8.10、BLE stack:ble_sdk_2_02_01_18,用pinShutdown例程,分别在购买的板子和自制的板子(上面帖子用的板子)上进行测试,

由于没有按键,我将pinshutdown例程做了简单修改,修改的函数如下:

static void taskFxn(UArg a0, UArg a1){ /* If we are waking up from shutdown, we do something extra. */ if (isWakingFromShutdown) { /* In this example we toggle LED1 */ uint32_t sleepUs = 500000; Task_sleep(sleepUs / Clock_tickPeriod); PIN_setOutputValue(hPins, Board_LED1, 0); Task_sleep(sleepUs / Clock_tickPeriod); PIN_setOutputValue(hPins, Board_LED1, 1); Task_sleep(sleepUs / Clock_tickPeriod); PIN_setOutputValue(hPins, Board_LED1, 0); Task_sleep(sleepUs / Clock_tickPeriod); } //2018.2.1  添加了发送信号的函数,以便上电就能进入shutdown模式 Semaphore_post(Semaphore_handle(&shutdownSem)); /* Turn on LED0 to indicate active */ PIN_setOutputValue(hPins, Board_LED0, 1);

/* Pend on semaphore before going to shutdown */ Semaphore_pend(Semaphore_handle(&shutdownSem), BIOS_WAIT_FOREVER);

/* Turn off LED0 */ PIN_setOutputValue(hPins, Board_LED0, 0);

/* Configure DIO for wake up from shutdown */ PINCC26XX_setWakeup(ButtonTableWakeUp);

/* Go to shutdown */ Power_shutdown(NULL, 0);

/* Should never get here, since shutdown will reset. */ while(1);}

将此例程在购买的2640板子(一个大公司的产品,5X5的芯片)上测试,电流为0-0.1ua;而在自己做的2640板子(4X4的芯片)上测试电流为900ua,自己做的板子仅用了一个IO引脚且通过10K电阻下拉到地,其余引脚均不用浮空,如果是自己的板子没做好,请问从硬件上应做哪些改进,如在现有板子上继续进行低功耗设计的话,软件该作何改进,方可实现低功耗。谢谢赐教!

hao Q:

回复 Susan Yang:

Hi,Susan Yang:

已使用pinShutdown例程进行了测试,在自己做的板子(4X4芯片)上测试,测电流为1.18ma。在购买的板子(5X5芯片)测试,测电流在0和3.5、4.5ua之间跳动,由此,可以判断自己做的板子漏电或是什么问题吗?

user5122152:

回复 Susan Yang:

你好,请问pinshutdown例程具体是指哪个demo呢?或者位置在哪呢?

YiKai Chen:

回复 user5122152:

如果是CC2640R2可以在dev.ti.com/…/ 找到

user5122152:

回复 YiKai Chen:

您好,这个例程只有CCS版本,没有IAR版吗?

赞(0)
未经允许不得转载:TI中文支持网 » cc2640进入shutdown模式,电流为197ua,为何不是0.1ua?
分享到: 更多 (0)