微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 关于 CC2540 设置多种功耗模式

关于 CC2540 设置多种功耗模式

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

怎样设置CC2540 的低功耗模式呢?

主动模式、 PM1、 PM2、 PM3, 是否协议栈里面提供相应的 API?

San,

这是系统自动通过OSAL 来调度实现的,并没有开放API去给手动控制。

只要你的系统中没有timer在运行,只有有空闲,系统就会自动进入PM3.

如果有timer,那么等待timer事件的过程中,系统没其他事情的话,会自动进入PM2模式。

PM1模式你会几乎很少看到,或者看不到。

YAN,

1、这样机制不断进入PM2、PM3来节能, 真的能让纽扣电池使用一年吗?

2、我做了测试(从机, 只有最小系统, 无任何其它功耗元器件), 连接后无论数据是否互发状态, 电流都是 8.5mA左右。 开启 POWER_SAVING以后电流降低到1.5mA左右, 能够连接主机, 串口能够接收数据经 RF发送出去给主机, 但是串口无法发送数据,这是怎么回事? 看代码好像串口的 DMA也有 POWER_SAVING限制的? 怎样才能在 POWER_SAVING下让串口使用正常? 或者唤醒 sleep状态? 进入 PMx 后就只能用 Timer 和 外部中断唤醒吗? 如果能够通过 串口 和 EF 也可以唤醒就好了

Yan

系统自动调度的意思是不是我们写程序的时候完全不用考虑啊

Hi lily

    预处理器POWER_SAVING是否定义决定系统是否进行低功耗处理:

    屏蔽POWER_SAVING后系统一直处于Active模式,而使能POWER_SAVING后则由OSAL自动调度。

这里的自动调度主要是指OSAL会检测系统是否需要睡眠定时器(低速时钟),若不需要则在CPU空闲时进入PM3模式;

若需要(如启动定时任务)则CPU空闲后进入到PM2模式。

    写程序时完全不用考虑是不可能的。。。

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

网站地图

Top