Qualcomm公司发布了芯片QCA4004,该芯片附带了当前几乎主流所有通讯接口:UART、SPI、IIC、IIS、USB2.0以及WIFI,内置了802.11协议,被誉为物联网神器。
既然是神器仅仅是因为把各种通讯接口合为一体么?其实不然,我们可以假设,假如我们的手机仅仅只能工作1小时,那我们能干啥?完游戏完得兴起的时候,突然没电了,你是不是觉得非常扫兴?所以QCA4004最关键的是它提供了多种省电九游会ag模式让我们的设备可以随时随地的去享受科技带来的便捷。
QCA4004提供了POWER_DOWM、SUSPEND、HOST_OFF和SLEEP模式,现在我们就谈谈这几种模式究竟有什么不同。
在原厂提供的datasheet中我们可以看到各种省电模式下芯片的功耗情况,很明显功耗各有不同,那是什么原因造成功耗上的差异呢?
CHIP_PWD模式----芯片关断模式,在这种情况下,整个芯片掉电状态,仅仅只留出了电源管理部分在工作,这部分的作用就是负责管理整个芯片内部供电,同时监听CHIP_PWD_L管脚电平,随时准备启动或者停止芯片。
SUSPEND模式-----挂起模式,进入这个模式后,整个芯片除了电源管理部分在工作之外,还有GPIO和低频时钟在工作。在这个模式中,CPU以极低的频率运转,监听IO状态,等待唤醒信号出现之后再启动内部HOST接口模块,加载用户程序。
HOST_OFF模式----关闭HOST/manufacturing接口模式,在这个模式下面,HOST/manufacturing接口关闭,但是保留SPI。用户可以通过多种方式进行唤醒,如通过SPI操作芯片,或者IO口均能唤醒。
SLEEP模式----休眠模式,这种模式下面,wifi电源关闭,其余各个模块均处于待机状态,等待外部事件触发,通过IO口或者USB方式都能唤醒芯片。
那么这几种方式看上去都很类似,那究竟有什么用处?
CHIP_PWD模式-----就是掉电模式,在这个模式下面所以的初始化参数均不会保存,退出这个模式下后,用户需要从新配置芯片,就和重新上电一样。由于QCA4004并未提供外部复位,通过这种方式也能达到复位的效果。
SUSPEND模式-----挂起模式,可以理解为一种等待模式,在这种模式下CPU低频运转节省电量,同时监听端口;挂在HOST/manufacturing接口上的IO口不能作为芯片唤醒条件,准确的说进入这种模式后HOST/manufacturing接口的配置参数被保存了下来,然后将HOST/manufacturing接口模块进行了掉电处理,从而进行省电。值得注意的是由于flash memory是挂在SPI上的,这时用户程序同时也被卸载掉了。如果用户程序里需要低功耗等待外部响应事件,显然这个模式不适应。如果用NARAM保存接口配置参数和初始化参数不一致的情况就必须做好相应的保存,以免从这个模式出来之后出现HOST/manufacturing接口不能连接外设的问题。由此我们可以看出,虽然SUSPEND模式省电,但是用好这种模式需要注意的地方还是很多,用户需要做大量的工作才行。
HOST_OFF模式-----这种模式和传统MCU的休眠模式很相似,程序暂停运行,关闭部分外设。在这种模式下,SPI保留,wifi以及HOST/manufacturing接口所有的外设接口断电。程序等待唤醒事件触发。在HOST/manufacturing断电时,配置参数被保留,程序只是暂停,而没被卸载,唤醒后会沿着进入HOST_OFF模式前的状态继续运行。用户在使用这种模式时不需要做相对特殊的处理,因为芯片内部大量的模块仍然处于运转状态,所以功耗开销稍微大点了。
SLEEP模式-----wifi以及外部高速时钟关闭,通过IO口或者其他时间均可唤醒,这种模式下面,wifi是处于关闭状态,所以如果是芯片作为了网络从机,等待网络命令时,这种模式是不能被唤醒的。这种模式下除WIFI外,其余各模块均未断电,各模块始终处于待命状态,从唤醒到进入工作状态的时间短,可以快速响应外部唤醒事件。
最后,我们来看看wake manager
从上图可以看出,芯片从reset启动后先进入了Suspend模式,然后进入了host_OFF模式,Wakeup进入正常工作模式。与其说QCA4004有多种省电模式,不如说有多重省电模式,每一级省电模式都有自己不同的特点和特殊用法,要用好QCA4004还需要广大设计者多多的推敲。