低功耗應(yīng)用
1. 超低功耗遠(yuǎn)程應(yīng)用 — 這類系統(tǒng)的要求包括能夠在一天的大部分時(shí)間里保持睡眠狀態(tài)。該系統(tǒng)需要在用戶輸入時(shí)喚醒,執(zhí)行某些任務(wù)(比如發(fā)送一些命令)后,再進(jìn)入睡眠狀態(tài)。最大限度縮短所用時(shí)間可最大限度延長電池使用壽命。
2. 心率監(jiān)視器 — 這類系統(tǒng)的要求包括能夠定期自動(dòng)喚醒CPU。時(shí)間間隔取決于該設(shè)備的工作狀態(tài),比如是否連接至人體。如果綁縛在人體上,它將以較短時(shí)間間隔讀取心率。如果沒有,它將在較長時(shí)間間隔內(nèi)喚醒,檢查是否綁縛到人體上,是否需要改變其工作狀態(tài)。
3. 無線傳感系統(tǒng) — 這類系統(tǒng)的要求包括能夠持續(xù)監(jiān)控系統(tǒng)環(huán)境并發(fā)送數(shù)據(jù)到中央系統(tǒng)以進(jìn)一步處理和分析數(shù)據(jù)。該系統(tǒng)應(yīng)該能夠在傳感器與中央系統(tǒng)互動(dòng)和通信期間最大限度降低電源損耗。
4. 機(jī)械按鈕替換(MBR)— MBR可用于采用電容式觸摸按鈕替換機(jī)械按鈕。該系統(tǒng)必須每隔50~100ms對(duì)觸摸按鈕進(jìn)行一次采樣,然后進(jìn)入睡眠模式以節(jié)省電源。
低功耗與性能的權(quán)衡
大多數(shù)低功耗系統(tǒng)都可節(jié)省電源。正如本系列文章第1部分所討論的那樣,我們可通過讓系統(tǒng)在較低時(shí)鐘速率下運(yùn)行來降低動(dòng)態(tài)功耗。但這種變化會(huì)降低系統(tǒng)響應(yīng)輸入的能力。對(duì)于一些應(yīng)用而言,這一時(shí)間間隔有時(shí)會(huì)造成危險(xiǎn)。
為彌補(bǔ)這一時(shí)間間隔,應(yīng)先確定它可以接受多長的響應(yīng)延時(shí),然后再設(shè)置系統(tǒng)時(shí)鐘,以確保實(shí)際時(shí)延不高于所需值。這樣可以以功耗為代價(jià),改善系統(tǒng)響應(yīng)性。
低功耗嵌入式系統(tǒng)設(shè)計(jì)的實(shí)例
在本節(jié)中,我們將討論如何使用賽普拉斯提供的PSoC流程及其低功耗模式設(shè)計(jì)低功耗雙工通信系統(tǒng)。該系統(tǒng)的基本功能是遙控其它設(shè)備。本實(shí)例將演示低功耗鈕扣電池供電(使用PSoC 4構(gòu)建)的發(fā)送器以及低功耗低成本2.4GHz收發(fā)器。
無線發(fā)送器不僅可使用鈕扣電池工作,而且還可觸發(fā)接收器的電源狀態(tài)(鎖定/打開)。在按下開關(guān)頭兩秒鐘時(shí),它會(huì)顯示電流狀態(tài),然后在2秒鐘超時(shí)之后用反狀態(tài)發(fā)送回顯信息給接收器。如果接收器發(fā)回確認(rèn)信號(hào),隨后它就會(huì)更新閃存(用作EEPROM)中的狀態(tài)。
這里開發(fā)的系統(tǒng)功耗很低,系統(tǒng)工作時(shí)間只受電池儲(chǔ)存壽命限制,與系統(tǒng)功耗無關(guān)。下面我們將介紹該系統(tǒng)發(fā)送器部分的設(shè)計(jì)
發(fā)送器:
該模塊發(fā)送鎖定狀態(tài)至接收端,等待響應(yīng),以使用新狀態(tài)更新閃存。
在整個(gè)系統(tǒng)未使用時(shí),它會(huì)保持在“關(guān)斷”狀態(tài)。當(dāng)用戶按下發(fā)送器上的開關(guān)時(shí),整個(gè)系統(tǒng)的電源就會(huì)打開。系統(tǒng)初始化后,PSoC 4會(huì)讀取自己的閃存行,獲得當(dāng)前的鎖定狀態(tài),然后用該鎖定狀態(tài)更新該段LCD。接下來2秒鐘后,CPU會(huì)配置看門狗定時(shí)器,喚醒系統(tǒng),然后再進(jìn)入深度睡眠低功耗模式。
2秒鐘的深度睡眠時(shí)間可用來為最終用戶提供兩種特性:
1. 濾除用戶誤按按鈕操作。
如果用戶在系統(tǒng)喚醒前釋放開關(guān)(2秒鐘),系統(tǒng)會(huì)在不改變當(dāng)前狀態(tài)的情況下返回低功耗模式。這種延遲可用作一種特性,允許用戶在不觸發(fā)狀態(tài)的情況下檢查當(dāng)前狀態(tài)。為此,用戶可以短暫地按下開關(guān),在屏幕上出現(xiàn)之前狀態(tài)后將其釋放。
[page]
低功耗嵌入式系統(tǒng)的設(shè)計(jì)考量:設(shè)計(jì)實(shí)例及功耗性能權(quán)衡
賽普拉斯提供經(jīng)預(yù)先測(cè)試、生產(chǎn)就緒的易用型應(yīng)用編程接口(API)來簡(jiǎn)化對(duì)PSoC的編程。但在調(diào)用API時(shí),需要多個(gè)時(shí)鐘周期在協(xié)議棧中存儲(chǔ)當(dāng)前狀態(tài),隨后執(zhí)行API,最后再退出API。如果要降低功耗,每一個(gè)時(shí)鐘轉(zhuǎn)換都得考慮。要減少時(shí)鐘轉(zhuǎn)換數(shù)量,需要直接寫入寄存器,而不是調(diào)用API來完成。此外,賽普拉斯還可為您提供簡(jiǎn)單易使的宏命令,以完成寄存器寫入。
在該代碼中,沒有使用隨PSoC創(chuàng)建器提供的“SPI_SpiUartWriteTxData”,直接更新SCB FIFO發(fā)送數(shù)據(jù)。在加載具有所需值的FIFO后,調(diào)用“WFI”裝配函數(shù)使PSoC 4進(jìn)入睡眠模式。當(dāng)SPI發(fā)送完FIFO中存儲(chǔ)的全部數(shù)據(jù)后,它可生成一個(gè)中斷來喚醒PSoC 4,并重復(fù)這個(gè)過程。
與LCD顯示屏相似,PSoC創(chuàng)建器提供用于簡(jiǎn)化編程的API。要優(yōu)化系統(tǒng)實(shí)現(xiàn)低功耗,這些API可采用所需的寄存器寫入代替。使用這些寄存器寫入可減少系統(tǒng)周期數(shù),從而可降低功耗:
CY_SET_REG32(CYREG_LCD_DATA02, 0x10000000);
CY_SET_REG32(CYREG_LCD_DATA03, 0x10000011);
電池使用壽命:
相關(guān)閱讀:
設(shè)計(jì)低功耗嵌入式系統(tǒng)需要考量的因素(一):一般設(shè)計(jì)考量
黑客比你更懂嵌入式保護(hù)!怎么防范?
技術(shù)詳解:利用嵌入式降低電池功耗