Qualcomm公司發布了芯片QCA4004,該芯片附帶了當前幾乎主流所有通訊接口:UART、SPI、IIC、IIS、USB2.0以及WIFI,內置了802.11協議,被譽為物聯網神器。
既然是神器僅僅是因為把各種通訊接口合為一體么?其實不然,我們可以假設,假如我們的手機僅僅只能工作1小時,那我們能干啥?完游戲完得興起的時候,突然沒電了,你是不是覺得非常掃興?所以QCA4004最關鍵的是它提供了多種省電模式讓我們的設備可以隨時隨地的去享受科技帶來的便捷。
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還需要廣大設計者多多的推敲。
(審核編輯: 智匯張瑜)
分享