微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 睡眠模式及其他咨询

睡眠模式及其他咨询

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

睡眠有三种模式:

PM2:在连接后无应用数据通信就进入PM2?进入PM2后,再想通信的话,要等睡眠定时器满或中断唤醒之后么?唤醒之后再通信是不是就省了连接这一步了?

PM3:无连接无应用数据通信无其他CPU操作进入PM3?

PM1:什么时候进入?

BLE中,PM2,PM3是自动进入的?在哪设置?

顺便问一下:GAPRole_GetParameter(GAPROLE_BD_ADDR, ownAddress);这个获取的是芯片的ID?GAPROLE_BD_ADDR=0x304,但我看数据手册上CHIPID 的地址是0x624A呀?

yueliangz0123,

PM2 是在有定时器任务的时候进入的低功耗模式,包括有连接的情况下和无连接的情况下。这个时候用的是32.768KHz的外部晶振来维持运作。关于唤醒,可以是定时器到时,或者是RF的中断,或者是IO中断等等,任何事件。

PM3 则是关闭了32.768K 和 32M 晶振,不运行任何应用,只有IO口能唤醒系统,这里就没有定时器了。

PM1 则是系统需要快速频繁在唤醒和睡眠间切换的时候用的一种模式,这种模式在三种模式中功耗最高,但唤醒速度最快。

PM2 和PM3 是自动进入的,你可以搜索一下这个函数:osal_pwrmgr_powerconserve(),这里面你能看到根据不同状况去进入不同睡眠模式,晶振间的切换和timer的计时等等。

关于芯片ID:

第一, 芯片ID 和 蓝牙芯片的BD ADDR是完全不一样的概念。。。你看一下数据手册里面的芯片ID的定义就知道了,蓝牙地址是IEEE分配的唯一识别地址。

第二, GAPROLE_BD_ADDR=0x304, 只是个宏定义,编程应用用,跟flash地址之类的无关。。。

PM2模式下的任何事件都能唤醒,比如I/O端口变化(非中断),串口数据收发(非中断)都可以是吧?RF中断也能唤醒,那么在PM2模式下,主机可以随意发送数据唤醒从机是吧?BLE通信是在RF中断模式下收发的?给的例程都使能了这个中断?

PM3只有I/O中断唤醒~~~

我是对着CC2530的中文手册看CC2540的,感觉手册说的不清楚,也可能是我看漏了。。。

蓝牙的ID能改么?

yueliangz0123,

你是说蓝牙的6字节的BD ADDR?

254x 可以改,但是合法的方式是你必须向IEEE申请属于你的地址段。

通过flash programmer 可以修改。

PM2模式下的任何事件都能唤醒,比如I/O端口变化(非中断),串口数据收发(非中断)都可以是吧?RF中断也能唤醒,那么在PM2模式下,主机可以随意发送数据唤醒从机是吧?BLE通信是在RF中断模式下收发的?给的例程都使能了这个中断?

PM3只有I/O中断唤醒~~~

我是对着CC2530的中文手册看CC2540的,感觉手册说的不清楚,也可能是我看漏了。。。

yueliangz0123,

是的PM2 模式下有很多方式可以唤醒主晶振。

在连接的情况下,PM2 就是在connection event之间的状态。主机看似随意发送的数据,最后都是在最近的一个connection event中传递给从机的。

BLE通信是在connection event中进行的。期间对于设备来讲,接收数据确实是有RF中断存在。RF的数据中断是有最高优先级的中断,且必须使能,不然BLE无法工作。

PM3 确实只有IO 中断能唤醒。

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

网站地图

Top