请教 CC2541功耗问题:
1、此芯片有几种休眠模式,对应唤醒方式是什么?
2、作为外设机广播、做为主机等待时静态功耗各为多少?
3、M(手机)做主机接收广播,C作为外设广播自己MAC给M配对,然后C转为主机状态,此时M使用配对信息是否可以发起connect?
- 关于休眠模式,参考手册4.1
http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=swru191&fileType=pdf
Active mode: The fully functional mode. The voltage regulator to the digital core is on, and either the 16- MHz RC oscillator or the 32-MHz crystal oscillator or both are running. Either the 32-kHz RCOSC or the 32-kHz XOSC is running.
Idle mode: Identical to active mode, except that the CPU core stops operating (is idle).
PM1: The voltage regulator to the digital part is on. Neither the 32-MHz XOSC nor the 16-MHz RCOSC is running. Either the 32-kHz RCOSC or the 32-kHz XOSC is running. The system goes to active mode on reset, an external interrupt, or when the Sleep Timer expires.
PM2: The voltage regulator to the digital core is turned off. Neither the 32-MHz XOSC nor the 16-MHz RCOSC is running. Either the 32-kHz RCOSC or the 32-kHz XOSC is running. The system goes to active mode on reset, an external interrupt, or when the Sleep Timer expires. PM3: The voltage regulator to the digital core is turned off. None of the oscillators is running. The system goes to active mode on reset or an external interrupt.
所谓静态功耗是什么意思?
关于功耗测试可以看下面的实测数据
http://www.ti.com/lit/an/swra347a/swra347a.pdf
关于Q3: 有点矛盾。 如果C也转为了主机状态,M也是主机,M和C是无法连的。 M发起connect连谁?
谢谢,是做为主接收广播自己不发广播时的功耗。
1. 除了Active mode以外,低功耗有PM1,PM2和PM3,详细在User Guide4.1章节(SWRU191F)
2. 你是说Sleep状态功耗还是平均功耗?PM2状态是1uA,平均功耗和你设置的连接间隔有很大关系
3. CC2541不能同时支持Mater 和Slave,一般只有一个Role,Mater 和Slave同时支持的Multi-role功能需要用CC2640
目的是想从机减少广播期间功耗。想法是先做为从广播自己MAC给另一主M,然后再转人无广播的主状态。
最终问题是,两个主机,其中一方能否以对方的MAC申请连接另一方并完成通信?另外就是:正常工件时主、从状态功耗差多少?谢谢
减少广播功耗,可考虑增大广播间隔。你的意思是跳过广播,能够直接发起连接过程是吗?这是不可以的。
主是扫描(侦听),从是(广播)。首先规范是不允许的,即便允许,也不好做低功耗,主不会随意发起连接,而是要侦听到了从才开始动作,因为,从大部分时间
是睡眠的(才能低功耗),如果从在睡眠,它是无法收到你发起的连接请求包的。
谢谢您的答复。
我现在的应用结构是手机做为主机,CC2541加外围器件为从设备,使用蓝牙通信。主机不定时发起请求,与CC2541通信工作约1分钟,然后断开,从机被动工作,大部分时间不工作状态。如果使用定时唤醒睡眠有一个周期问题,睡眠时间太长可能响应不好,太短功耗太大。有没有方案可以解决上述问题。谢谢
现在问题是CC2541做为从设备一直处理active状态下,一个200mAH的纽扣电池只能使用约48小时。
我现在的应用结构是手机做为主机,CC2541加外围器件为从设备,使用蓝牙通信。主机不定时发起请求,与CC2541通信工作约1分钟,然后断开,从机被动工作,大部分时间不工作状态。如果使用定时唤醒睡眠有一个周期问题,睡眠时间太长可能响应不好,太短功耗太大。有没有方案可以解决上述问题。谢谢
现在问题是CC2541做为从设备一直处理active状态下,一个200mAH的纽扣电池只能使用约48小时。
谢谢
Hi Jianping
你理解错了,CC2541工作不是一直在Active模式下,在工作连接的情况下像下面图一样,保持脉冲式工作方式,所以BLE工作时平均功耗很低。
你连接间隔大概设置多少(取决于功耗和期望的速率),现在可以估算出CC2541的平均功耗。
一般CR2032电池容量在230mAh,和电池品牌也有一定关系
你的意思是正常工作时状态应该是使用内容sleep Timer功能,全其在 active 与 sleep(Pm1/Pm2) 之间一直自动切换的。从睡眠到唤醒由Event(Sleep Timer Event)驱动,睡眠的时间可以通过Register设置,对吧?现在疑问:
- 唤醒后是不是立即广播并等待连接,这个时间多长?在睡眠状态接不接受连接请求?
- 如果连接间隔设置为1秒,功耗约多少?这个时间与功耗有没有公式估算?
- 如果状态直处于active状态下,是不是连续广播,还是有按某一周期发射广播?我以前太耗电原因是没有睡眠的原因?
Hi Jianping
你的理解是对的,在不停Active和PM2之间切换。
1. 只有第一次建立连接才需要广播,建立连接成功之后是不需要的,到了设定时间自动唤醒进行Tx和Rx,中间这个连接的称为连接事件。睡眠的时候是不会连接的。
2. 1秒连接间隔下,CC2541平均功耗在23.8uA。如果是CC2640的话,平均功耗10uA
3. 低功耗你要把POWER_SAVING打开。广播一段时间停止还是一直广播,软件里是可以设置的
睡眠的时候不连接,那要保持长连接时,要怎么设定才能做到那低功耗呢?功耗是多少呢?cc2541,把POWER_SAVING打开会影响广播吗?我打开了POWER_SAVING之后就不会发广播了?这是什么原因呢?