微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2540 唤醒后电流8MA的问题

CC2540 唤醒后电流8MA的问题

时间:10-02 整理:3721RD 点击:

HI,all

       BLE stack version:

      1.4.0

      project:

 

      simpleBLEPeripheral

      preprocessor defined symbols:

 

 INT_HEAP_LEN=3072      

 HALNODEBUG      

OSAL_CBTIMER_NUM_TASKS=1      

HAL_AES_DMA=TRUE      

 HAL_DMA=TRUE      

POWER_SAVING      

xPLUS_BROADCASTER      

 HAL_LCD=FALSE      

HAL_LED=FALSE      

CC2540_MINIDK

      问题描述:

      由于要使用UART功能,所以我在MCU唤醒CC2540时,调用 osal_pwrmgr_device( PWRMGR_ALWAYS_ON );

      UART通讯完毕调用 osal_pwrmgr_device( PWRMGR_BATTERY );

      现在的问题是当我调用 osal_pwrmgr_device( PWRMGR_ALWAYS_ON );之后,电流竟然高达8MA,不知为何?

      我已经排除了漏电的情况,我拿一片模块,外围什么都不接,电流也是大。

     

       我做过的实验:

       我拿keyfob的板子,把keyfob的预编译改成xPOWER_SAVING,跑起来电流也有8MA,请问这样是否正常?

 

非常感谢大家的帮忙!

 

 

 

 我补充一下我的UART接法

RX,TX与一个MCU对接,无流控。

我听说TI是建议打开流控,那如果无流控,功耗能小下来吗?

知道的朋友麻烦帮忙解答一下。万分感谢

hi king,

请打开流控,流控不会影响到功耗。

Dear Yan

收到你的回复太开心了!

由于对方MCU不支持流控,所以在UART通讯时,就用一个GPIO口来唤醒CC2540,通讯完再进入sleep.

现在量测到唤醒CC2540进行UART通讯时,电流有8mA,客户不接受,说太大了,说有人做到2mA。(不清楚是不是说的峰值)

请问,UART通讯时电流能做到2mA吗?

感谢!

这个问题也基本上理清。

UART通讯时,必须得进入activity mode,而activity mode 电流在datasheet上说明是6.7mA,所以我的电流也基本上接近这个值。

主机模式大概是这个功耗,从机模式估计能到4ma,不工作时可以让他PM3休眠节电。

king xiao  你好,

我现在也是遇到这个问题。 把HAL_UART 编译进去后。 耗电7mA 左右。(我把power saving 编译进去了好像也没有用,也是7mA)。  cc2540 是被动接收数据的。 没有给cc240 通过串口发数据的时候, 我想让cc2540 进入省电模式。  然后,当有串口发数据来的时候, 我就要退出省电模式,接收串口数据。

当没有串口数据来的时候    :进入省电模式的代码应该放在哪里? 就调用osal_pwrmgr_device这个函数就行了吗?

当有了串口数据来的时候     :     要怎么退出来?  代码应该怎么写? 要设置中断吗? 

这是我的串口接收函数。

void sbpSerialAppCallback(uint8 port, uint8 event)
{
            (void)event;
            int numBytes=0;
            delayMs(30);
            uint8 pktBuffer[SBP_UART_RX_BUF_SIZE]={0};

            if ((numBytes = Hal_UART_RxBufLen(HAL_UART_PORT_0)) > 0 )
           {

            (void)HalUARTRead (HAL_UART_PORT_0, pktBuffer, numBytes);

             sbpSerialAppWrite(buf,numBytes);

           }

}
}

你如果关闭省电,本来就是8mA左右,很正常啊。osal_pwrmgr_device( PWRMGR_ALWAYS_ON )这个函数的功能是让蓝牙一直功作不进入睡眠,所以也是8MA。

你关闭xPOWER_SAVING,电流是8MA是正常的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top