Qualcomm公司發(fā)布了芯片QCA4004,該芯片附帶了當(dāng)前幾乎主流所有通訊接口:UART、SPI、IIC、IIS、USB2.0以及WIFI,內(nèi)置了802.11協(xié)議,被譽為物聯(lián)網(wǎng)神器。
既然是神器僅僅是因為把各種通訊接口合為一體么?其實不然,我們可以假設(shè),假如我們的手機(jī)僅僅只能工作1小時,那我們能干啥?完游戲完得興起的時候,突然沒電了,你是不是覺得非常掃興?所以QCA4004最關(guān)鍵的是它提供了多種省電模式讓我們的設(shè)備可以隨時隨地的去享受科技帶來的便捷。
QCA4004提供了POWER_DOWM、SUSPEND、HOST_OFF和SLEEP模式,現(xiàn)在我們就談?wù)勥@幾種模式究竟有什么不同。
在原廠提供的datasheet中我們可以看到各種省電模式下芯片的功耗情況,很明顯功耗各有不同,那是什么原因造成功耗上的差異呢?
CHIP_PWD模式----芯片關(guān)斷模式,在這種情況下,整個芯片掉電狀態(tài),僅僅只留出了電源管理部分在工作,這部分的作用就是負(fù)責(zé)管理整個芯片內(nèi)部供電,同時監(jiān)聽CHIP_PWD_L管腳電平,隨時準(zhǔn)備啟動或者停止芯片。
SUSPEND模式-----掛起模式,進(jìn)入這個模式后,整個芯片除了電源管理部分在工作之外,還有GPIO和低頻時鐘在工作。在這個模式中,CPU以極低的頻率運轉(zhuǎn),監(jiān)聽IO狀態(tài),等待喚醒信號出現(xiàn)之后再啟動內(nèi)部HOST接口模塊,加載用戶程序。
HOST_OFF模式----關(guān)閉HOST/manufacturing接口模式,在這個模式下面,HOST/manufacturing接口關(guān)閉,但是保留SPI。用戶可以通過多種方式進(jìn)行喚醒,如通過SPI操作芯片,或者IO口均能喚醒。
SLEEP模式----休眠模式,這種模式下面,wifi電源關(guān)閉,其余各個模塊均處于待機(jī)狀態(tài),等待外部事件觸發(fā),通過IO口或者USB方式都能喚醒芯片。
那么這幾種方式看上去都很類似,那究竟有什么用處?
CHIP_PWD模式-----就是掉電模式,在這個模式下面所以的初始化參數(shù)均不會保存,退出這個模式下后,用戶需要從新配置芯片,就和重新上電一樣。由于QCA4004并未提供外部復(fù)位,通過這種方式也能達(dá)到復(fù)位的效果。
SUSPEND模式-----掛起模式,可以理解為一種等待模式,在這種模式下CPU低頻運轉(zhuǎn)節(jié)省電量,同時監(jiān)聽端口;掛在HOST/manufacturing接口上的IO口不能作為芯片喚醒條件,準(zhǔn)確的說進(jìn)入這種模式后HOST/manufacturing接口的配置參數(shù)被保存了下來,然后將HOST/manufacturing接口模塊進(jìn)行了掉電處理,從而進(jìn)行省電。值得注意的是由于flash memory是掛在SPI上的,這時用戶程序同時也被卸載掉了。如果用戶程序里需要低功耗等待外部響應(yīng)事件,顯然這個模式不適應(yīng)。如果用NARAM保存接口配置參數(shù)和初始化參數(shù)不一致的情況就必須做好相應(yīng)的保存,以免從這個模式出來之后出現(xiàn)HOST/manufacturing接口不能連接外設(shè)的問題。由此我們可以看出,雖然SUSPEND模式省電,但是用好這種模式需要注意的地方還是很多,用戶需要做大量的工作才行。
HOST_OFF模式-----這種模式和傳統(tǒng)MCU的休眠模式很相似,程序暫停運行,關(guān)閉部分外設(shè)。在這種模式下,SPI保留,wifi以及HOST/manufacturing接口所有的外設(shè)接口斷電。程序等待喚醒事件觸發(fā)。在HOST/manufacturing斷電時,配置參數(shù)被保留,程序只是暫停,而沒被卸載,喚醒后會沿著進(jìn)入HOST_OFF模式前的狀態(tài)繼續(xù)運行。用戶在使用這種模式時不需要做相對特殊的處理,因為芯片內(nèi)部大量的模塊仍然處于運轉(zhuǎn)狀態(tài),所以功耗開銷稍微大點了。
SLEEP模式-----wifi以及外部高速時鐘關(guān)閉,通過IO口或者其他時間均可喚醒,這種模式下面,wifi是處于關(guān)閉狀態(tài),所以如果是芯片作為了網(wǎng)絡(luò)從機(jī),等待網(wǎng)絡(luò)命令時,這種模式是不能被喚醒的。這種模式下除WIFI外,其余各模塊均未斷電,各模塊始終處于待命狀態(tài),從喚醒到進(jìn)入工作狀態(tài)的時間短,可以快速響應(yīng)外部喚醒事件。
最后,我們來看看wake manager
從上圖可以看出,芯片從reset啟動后先進(jìn)入了Suspend模式,然后進(jìn)入了host_OFF模式,Wakeup進(jìn)入正常工作模式。與其說QCA4004有多種省電模式,不如說有多重省電模式,每一級省電模式都有自己不同的特點和特殊用法,要用好QCA4004還需要廣大設(shè)計者多多的推敲。
(審核編輯: 智匯張瑜)
分享