中心議題:
- 低功耗觸摸按鍵的應(yīng)用設(shè)計(jì)方法
- 降低功耗和喚醒方式的討論
解決方案:
- 基于CY8C22x45的低功耗設(shè)計(jì)
- 按鍵喚醒系統(tǒng)
觸摸式按鍵隨著iPod等消費(fèi)類電子的流行而迅速發(fā)展,這一方面因?yàn)橄嚓P(guān)技術(shù)的不斷進(jìn)步,可以提供更加穩(wěn)定的性能;另一方面也因?yàn)橥愲娮赢a(chǎn)品的基本功能趨同,生產(chǎn)商更加關(guān)注如何為用戶提供舒適、便捷、具有創(chuàng)意的人機(jī)交互界面。在這一點(diǎn)上,與傳統(tǒng)機(jī)械式按鍵相比,觸摸式按鍵有著其無(wú)法比擬的巨大優(yōu)勢(shì)。
現(xiàn)有市場(chǎng)上的觸摸式按鍵方案,其工作原理都是檢測(cè)手指觸摸引起的電路微小變化量,進(jìn)而將其轉(zhuǎn)化為邏輯上的按鍵開關(guān)操作。在諸多檢測(cè)方法中,又以電容式檢測(cè)居多,這種檢測(cè)方法在掃描時(shí)需對(duì)電容的充放電,因此不可避免會(huì)增加產(chǎn)品功耗。對(duì)于一些功耗敏感的應(yīng)用來(lái)說(shuō),如何實(shí)現(xiàn)低功耗的觸摸按鍵是關(guān)鍵技術(shù)環(huán)節(jié)。
Cypress作為電容式觸摸按鍵芯片領(lǐng)域的領(lǐng)導(dǎo)者,一直致力提供高效、可靠、貼近用戶需求的芯片與解決方案。本文即基于Cypress的CY8C22x45系列芯片,介紹了一種低功耗觸摸按鍵應(yīng)用設(shè)計(jì)方法。
1.低功耗設(shè)計(jì)方法
如圖1所示,對(duì)于電容式觸摸按鍵,手指的觸摸會(huì)改變感應(yīng)電容Cx,當(dāng)檢測(cè)電路對(duì)Cx充放電時(shí),Cx值的變化會(huì)引起電路信號(hào)變化,通過(guò)一定的檢測(cè)電路可以測(cè)量出該變化,從而判斷手指是否存在。不過(guò),系統(tǒng)整體功耗因?yàn)轭l繁的掃描Cx的大小而增加。
對(duì)于輸入電壓一定的系統(tǒng)來(lái)說(shuō),其功耗主要取決于平均工作電流,即
Powerave=Vdd*Iave………………………………公式1
其中,Vdd是系統(tǒng)工作電壓,Iave是系統(tǒng)平均工作電流。從公式1中可以看出,系統(tǒng)的功耗由系統(tǒng)的平均工作電流決定。降低平均工作電流的方法通常有兩種:第一種是在不改變系統(tǒng)有效工作時(shí)間的前提下降低系統(tǒng)的工作電流;第二種減少系統(tǒng)的有效工作時(shí)間,增加系統(tǒng)的休眠時(shí)間。往往只采用第一種辦法不能將平均工作電流降低到一個(gè)理想的水平,所以需要結(jié)合第二種的方法。在觸摸按鍵系統(tǒng)的實(shí)際工作中將,相當(dāng)一部分時(shí)間系統(tǒng)處于無(wú)任何按鍵按下的空閑狀態(tài)。在這段時(shí)間內(nèi)可以用軟件將系統(tǒng)配置為休眠模式。觸摸按鍵芯片一般都提供休眠模式,該模式具有很低工作電流。因此,如果能夠合理安排系統(tǒng)工作時(shí)間,令其空閑時(shí)進(jìn)入休眠模式,就可降低平均工作電流,從而減少系統(tǒng)功耗。
圖2是一個(gè)具有休眠功能的典型系統(tǒng)軟件流程圖。系統(tǒng)初始化后進(jìn)入休眠模式,經(jīng)過(guò)一段時(shí)間的延時(shí)后喚醒掃描按鍵模塊,進(jìn)行按鍵掃描。如果有按鍵按下,軟件判斷是否有效。如果無(wú)效按鍵按下,那么系統(tǒng)繼續(xù)進(jìn)入休眠模式。如果軟件判斷按鍵有效,那么喚醒系統(tǒng),觸發(fā)任務(wù)處理進(jìn)程。當(dāng)處理完所有任務(wù)后,系統(tǒng)又重新進(jìn)入休眠狀態(tài)。這是個(gè)典型的具有休眠功能的系統(tǒng)工作流程圖,它的優(yōu)點(diǎn)就是此軟件流程簡(jiǎn)單易懂、容易實(shí)現(xiàn),一般可以滿足大多數(shù)場(chǎng)合的應(yīng)用。但是,如果系統(tǒng)任務(wù)處理消耗了較多的CPU處理時(shí)間,那么為了達(dá)到目標(biāo)平均工作電流,就需要相應(yīng)增加休眠時(shí)間。同時(shí)降低了按鍵掃描的頻率,從而加長(zhǎng)了系統(tǒng)喚醒的響應(yīng)時(shí)間。因此,此方法適合比較簡(jiǎn)單的、系統(tǒng)任務(wù)不復(fù)雜的應(yīng)用。
[page]
圖3是一個(gè)具有休眠功能的復(fù)雜系統(tǒng)軟件流程圖。此方法是將以上方法中的任務(wù)處理進(jìn)行分解,分為觸發(fā)新任務(wù),處理任務(wù)。目的就是減小在每個(gè)循環(huán)周期內(nèi)部執(zhí)行任務(wù)的所花費(fèi)的CPU資源。與上一個(gè)方法的不同在于:系統(tǒng)喚醒掃描按鍵程序,當(dāng)判斷按鍵有效時(shí),觸發(fā)新任務(wù),并不是將所有的任務(wù)處理完畢。在當(dāng)前的循環(huán)周期內(nèi),觸發(fā)的新任務(wù)可能沒(méi)有處理完畢,需要下一個(gè)或者更多個(gè)系統(tǒng)循環(huán)的時(shí)間才可以完成。當(dāng)判斷按鍵無(wú)效時(shí),不是馬上進(jìn)入休眠模式,而是判斷是否有沒(méi)有處理完畢的任務(wù)。如果有則繼續(xù)處理;如果沒(méi)有則進(jìn)入休眠模式。此方法可以處理比較復(fù)雜的任務(wù),能滿足更多應(yīng)用領(lǐng)域的需求。
如果沒(méi)有有效按鍵觸發(fā),那么系統(tǒng)工作在最大的省電模式。不論哪種方法,系統(tǒng)平均工作電流可由公式2計(jì)算得出。
Iave=(Tscan*Iscan+Tsleep*Isleep)/(Tscan+Tsleep) ……………………………公式2
其中,Tscan是一次掃描按鍵所需時(shí)間,Iscan是按鍵掃描時(shí)的工作電流,Tsleep是休眠時(shí)間,Isleep是休眠時(shí)的工作電流。Isleep會(huì)遠(yuǎn)遠(yuǎn)小于Iscan。一般來(lái)說(shuō),為了保證一定的按鍵靈敏度,Iscan可調(diào)整的空間有限,因此較快的掃描速度,較小的休眠電流,較長(zhǎng)的睡眠時(shí)間是降低系統(tǒng)功耗的關(guān)鍵。
在實(shí)際設(shè)計(jì)中,考慮的因素更為復(fù)雜,除了上述之外,還需考慮按鍵的響應(yīng)時(shí)間和按鍵的靈敏度等。最大休眠時(shí)間決定了系統(tǒng)的響應(yīng)時(shí)間,對(duì)于相同的Iave,Iscan和Isleep,較長(zhǎng)的Tscan會(huì)引起Tsleep的增加,從而無(wú)法滿足系統(tǒng)的響應(yīng)時(shí)間;如果減少掃描時(shí)間,可能會(huì)無(wú)法有效減少系統(tǒng)噪聲影響,降低信噪比,影響按鍵的靈敏度。因此,低功耗觸摸系統(tǒng)設(shè)計(jì)需要靈敏,可靠,快速的觸摸按鍵掃描技術(shù)。
2.基于CY8C22x45的低功耗設(shè)計(jì)實(shí)例
Cypress的CY8C22x45系列PSoC®芯片可以有效的實(shí)現(xiàn)上述目標(biāo)。該系列芯片內(nèi)部包含一個(gè)獨(dú)立硬件實(shí)現(xiàn)的CapSense觸摸按鍵掃描模塊CSD2X[3],最多可以掃描37個(gè)觸摸按鍵。該模塊具有兩個(gè)硬件掃描通道,可以同時(shí)完成位于兩個(gè)通道上一對(duì)按鍵的掃描,提高了按鍵掃描速度。該模塊包含內(nèi)置的Cx充電電路,結(jié)合Cypress的按鍵基線算法[4],可以在快速掃描按鍵的同時(shí),有效降低噪聲影響。
此外,該系列PSoC®芯片包含8個(gè)數(shù)字模塊和6個(gè)模擬模塊,提供最多38個(gè)通用I/O,16KbyteFlash,1Kbyte的SRAM以及其它一些片上資源,包括10位SARADC,電壓參考源(VDAC),I2C通信模塊,硬件實(shí)時(shí)時(shí)鐘(RTC)[5]。硬件實(shí)現(xiàn)的觸摸按鍵掃描模塊和豐富的數(shù)字、模擬模塊資源,使得可以用一塊CY8C22x45芯片實(shí)現(xiàn)觸摸按鍵功能和系統(tǒng)主控操作。
CY8C22x45系列芯片休眠時(shí)的工作電流僅有3uA[5],芯片內(nèi)包含一個(gè)休眠計(jì)數(shù)器,系統(tǒng)進(jìn)入休眠后計(jì)數(shù)器開始遞減,當(dāng)計(jì)數(shù)值為零時(shí)產(chǎn)生中斷喚醒系統(tǒng)。喚醒系統(tǒng)后可以不做任何處理再次進(jìn)入休眠模式。這樣周而復(fù)始,達(dá)到所需要的整個(gè)休眠時(shí)間。在實(shí)際設(shè)計(jì)中,常常使用平均休眠電流替代公式2中的Isleep,即在每次休眠結(jié)束后,僅讓系統(tǒng)正常工作最短時(shí)間,該時(shí)間內(nèi)完成所有必須操作(僅是一次循環(huán)判斷),此時(shí)的電流即為該休眠時(shí)間下的平均休眠電流。表1列出了常用休眠時(shí)間的平均休眠電流。
[page]
圖4是一個(gè)觸摸按鍵應(yīng)用中一次典型的按鍵波形,每個(gè)按鍵按下后,系統(tǒng)都需輸出對(duì)應(yīng)的電壓值以供其他系統(tǒng)檢測(cè)。該應(yīng)用要求響應(yīng)時(shí)間小于等于40ms,當(dāng)按鍵被長(zhǎng)按時(shí),需要一直輸出按鍵電壓,即使按鍵釋放后,仍需250ms時(shí)間保持原有按鍵電壓,之后停止輸出按鍵電壓,進(jìn)入空閑狀態(tài)。系統(tǒng)共包含12個(gè)觸摸按鍵,當(dāng)多個(gè)按鍵被同時(shí)按下時(shí),系統(tǒng)不響應(yīng)。系統(tǒng)低功耗設(shè)計(jì)要求為,系統(tǒng)待機(jī)時(shí)沒(méi)有按鍵操作的平均電流應(yīng)至少小于1mA。
使用示波器可以測(cè)出系統(tǒng)掃描12個(gè)按鍵所需時(shí)間大約為1.388ms。同時(shí),可以測(cè)量到正常工作狀態(tài)下系統(tǒng)的工作電流大約為6mA。根據(jù)公式2以及表1,若一次休眠1.92ms,需要連續(xù)休眠5次(9.6ms),才可以得到低于1mA的平均待機(jī)電流,約為0.875mA;若一次休眠15.6ms,休眠一次即可滿足要求,平均待機(jī)電流約為0.52mA。實(shí)際工程中采用了第二種休眠方式,實(shí)際測(cè)量到的平均待機(jī)電流值為0.565mA,與計(jì)算值相近。
3.降低功耗和喚醒方式的進(jìn)一步討論
以上實(shí)例中系統(tǒng)的平均待機(jī)電流是0.565mA,雖然這個(gè)功耗滿足了系統(tǒng)的設(shè)計(jì)要求,但是在很多使用電池供電的場(chǎng)合是不行的。這是因?yàn)樵诖龣C(jī)時(shí),系統(tǒng)掃描全部12個(gè)按鍵,用去了1.388ms的時(shí)間。如果能減小掃描按鍵的時(shí)間,那么還能夠降低系統(tǒng)的待機(jī)功耗。
固定按鍵喚醒系統(tǒng)
采用固定按鍵的方式喚醒系統(tǒng)能有效的降低系統(tǒng)掃描按鍵的時(shí)間。系統(tǒng)無(wú)需掃描所有的按鍵,只需掃描固定的一個(gè)按鍵,這可以大大降低在待機(jī)狀態(tài)下掃描按鍵的時(shí)間。以上述的應(yīng)用為例,CY8C22x45系列PSoC支持雙通道并行掃描,12個(gè)按鍵均勻分布在兩個(gè)通道上,因此掃描一個(gè)按鍵約為0.231ms。如果休眠15.6ms,可以計(jì)算出此時(shí)平均待機(jī)電流只有0.113mA,相比之前的0.52mA的計(jì)算值,僅是其21%。如果休眠時(shí)間增加至40ms,從表1可以推算出此時(shí)平均休眠電流約為9uA,此時(shí)計(jì)算出平均待機(jī)電流僅為0.043mA。
任意按鍵喚醒系統(tǒng)
如果系統(tǒng)要求任意按鍵喚醒系統(tǒng),那么以上介紹的固定按鍵喚醒系統(tǒng)方法不能滿足。Cypress特有的內(nèi)部模擬總線的方式,可以將全部的按鍵組合成一個(gè)“大按鍵”。這樣系統(tǒng)待機(jī)時(shí),只需要對(duì)這個(gè)“大按鍵”掃描一次,就能判斷是否有手指觸摸到任何按鍵上。不論任何一個(gè)按鍵被手指觸摸,都可以喚醒系統(tǒng)。系統(tǒng)喚醒后,將“大按鍵”分解,進(jìn)行正常的按鍵掃描處理,區(qū)分哪個(gè)按鍵按下,進(jìn)行任務(wù)處理。使用這種方法,系統(tǒng)的待機(jī)平均電流與使用固定按鍵喚醒系統(tǒng)的方法相同。
手指接近喚醒系統(tǒng)
手指接近喚醒系統(tǒng)是Cypress的一項(xiàng)成熟的技術(shù)。此方法是建立在任意按鍵喚醒系統(tǒng)方法基礎(chǔ)之上的。在系統(tǒng)待機(jī)時(shí),也是使用一個(gè)“大按鍵”進(jìn)行掃描。與上個(gè)方法不同的地方在于:不是當(dāng)手指觸摸到鍵盤時(shí)喚醒系統(tǒng),而是當(dāng)手指靠近鍵盤時(shí)就喚醒系統(tǒng)。系統(tǒng)喚醒后立即將“大按鍵”分解為正常按鍵,進(jìn)行按鍵掃描。相對(duì)于任意按鍵喚醒系統(tǒng)方法,這種方法能加快系統(tǒng)對(duì)按鍵的相應(yīng)速度,還可以使產(chǎn)品增加豐富的功能特性。
4.結(jié)語(yǔ)
應(yīng)用Cypress的CY8C22x45系列芯片以及獨(dú)有的CapSense技術(shù),設(shè)計(jì)者可以用更快的時(shí)間掃描大量按鍵,用更長(zhǎng)的時(shí)間讓系統(tǒng)休眠,結(jié)合其較低的休眠電流,在保證系統(tǒng)可靠性能的同時(shí),可以實(shí)現(xiàn)較低的待機(jī)功耗,為觸摸按鍵應(yīng)用的低功耗設(shè)計(jì)提供了一種良好的解決方案。