你的位置:首頁 > 傳感技術(shù) > 正文

一種低功耗觸摸按鍵應(yīng)用的設(shè)計方法

發(fā)布時間:2011-06-30

中心議題:

  • 低功耗觸摸按鍵的應(yīng)用設(shè)計方法
  • 降低功耗和喚醒方式的討論

解決方案:

  • 基于CY8C22x45的低功耗設(shè)計
  • 按鍵喚醒系統(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ī)械式按鍵相比,觸摸式按鍵有著其無法比擬的巨大優(yōu)勢。

現(xiàn)有市場上的觸摸式按鍵方案,其工作原理都是檢測手指觸摸引起的電路微小變化量,進(jìn)而將其轉(zhuǎn)化為邏輯上的按鍵開關(guān)操作。在諸多檢測方法中,又以電容式檢測居多,這種檢測方法在掃描時需對電容的充放電,因此不可避免會增加產(chǎn)品功耗。對于一些功耗敏感的應(yīng)用來說,如何實(shí)現(xiàn)低功耗的觸摸按鍵是關(guān)鍵技術(shù)環(huán)節(jié)。

Cypress作為電容式觸摸按鍵芯片領(lǐng)域的領(lǐng)導(dǎo)者,一直致力提供高效、可靠、貼近用戶需求的芯片與解決方案。本文即基于Cypress的CY8C22x45系列芯片,介紹了一種低功耗觸摸按鍵應(yīng)用設(shè)計方法。

1.低功耗設(shè)計方法

如圖1所示,對于電容式觸摸按鍵,手指的觸摸會改變感應(yīng)電容Cx,當(dāng)檢測電路對Cx充放電時,Cx值的變化會引起電路信號變化,通過一定的檢測電路可以測量出該變化,從而判斷手指是否存在。不過,系統(tǒng)整體功耗因?yàn)轭l繁的掃描Cx的大小而增加。

對于輸入電壓一定的系統(tǒng)來說,其功耗主要取決于平均工作電流,即

Powerave=Vdd*Iave………………………………公式1

其中,Vdd是系統(tǒng)工作電壓,Iave是系統(tǒng)平均工作電流。從公式1中可以看出,系統(tǒng)的功耗由系統(tǒng)的平均工作電流決定。降低平均工作電流的方法通常有兩種:第一種是在不改變系統(tǒng)有效工作時間的前提下降低系統(tǒng)的工作電流;第二種減少系統(tǒng)的有效工作時間,增加系統(tǒng)的休眠時間。往往只采用第一種辦法不能將平均工作電流降低到一個理想的水平,所以需要結(jié)合第二種的方法。在觸摸按鍵系統(tǒng)的實(shí)際工作中將,相當(dāng)一部分時間系統(tǒng)處于無任何按鍵按下的空閑狀態(tài)。在這段時間內(nèi)可以用軟件將系統(tǒng)配置為休眠模式。觸摸按鍵芯片一般都提供休眠模式,該模式具有很低工作電流。因此,如果能夠合理安排系統(tǒng)工作時間,令其空閑時進(jìn)入休眠模式,就可降低平均工作電流,從而減少系統(tǒng)功耗。

圖2是一個具有休眠功能的典型系統(tǒng)軟件流程圖。系統(tǒng)初始化后進(jìn)入休眠模式,經(jīng)過一段時間的延時后喚醒掃描按鍵模塊,進(jìn)行按鍵掃描。如果有按鍵按下,軟件判斷是否有效。如果無效按鍵按下,那么系統(tǒng)繼續(xù)進(jìn)入休眠模式。如果軟件判斷按鍵有效,那么喚醒系統(tǒng),觸發(fā)任務(wù)處理進(jìn)程。當(dāng)處理完所有任務(wù)后,系統(tǒng)又重新進(jìn)入休眠狀態(tài)。這是個典型的具有休眠功能的系統(tǒng)工作流程圖,它的優(yōu)點(diǎn)就是此軟件流程簡單易懂、容易實(shí)現(xiàn),一般可以滿足大多數(shù)場合的應(yīng)用。但是,如果系統(tǒng)任務(wù)處理消耗了較多的CPU處理時間,那么為了達(dá)到目標(biāo)平均工作電流,就需要相應(yīng)增加休眠時間。同時降低了按鍵掃描的頻率,從而加長了系統(tǒng)喚醒的響應(yīng)時間。因此,此方法適合比較簡單的、系統(tǒng)任務(wù)不復(fù)雜的應(yīng)用。
[page]

圖3是一個具有休眠功能的復(fù)雜系統(tǒng)軟件流程圖。此方法是將以上方法中的任務(wù)處理進(jìn)行分解,分為觸發(fā)新任務(wù),處理任務(wù)。目的就是減小在每個循環(huán)周期內(nèi)部執(zhí)行任務(wù)的所花費(fèi)的CPU資源。與上一個方法的不同在于:系統(tǒng)喚醒掃描按鍵程序,當(dāng)判斷按鍵有效時,觸發(fā)新任務(wù),并不是將所有的任務(wù)處理完畢。在當(dāng)前的循環(huán)周期內(nèi),觸發(fā)的新任務(wù)可能沒有處理完畢,需要下一個或者更多個系統(tǒng)循環(huán)的時間才可以完成。當(dāng)判斷按鍵無效時,不是馬上進(jìn)入休眠模式,而是判斷是否有沒有處理完畢的任務(wù)。如果有則繼續(xù)處理;如果沒有則進(jìn)入休眠模式。此方法可以處理比較復(fù)雜的任務(wù),能滿足更多應(yīng)用領(lǐng)域的需求。

如果沒有有效按鍵觸發(fā),那么系統(tǒng)工作在最大的省電模式。不論哪種方法,系統(tǒng)平均工作電流可由公式2計算得出。

Iave=(Tscan*Iscan+Tsleep*Isleep)/(Tscan+Tsleep) ……………………………公式2

其中,Tscan是一次掃描按鍵所需時間,Iscan是按鍵掃描時的工作電流,Tsleep是休眠時間,Isleep是休眠時的工作電流。Isleep會遠(yuǎn)遠(yuǎn)小于Iscan。一般來說,為了保證一定的按鍵靈敏度,Iscan可調(diào)整的空間有限,因此較快的掃描速度,較小的休眠電流,較長的睡眠時間是降低系統(tǒng)功耗的關(guān)鍵。

在實(shí)際設(shè)計中,考慮的因素更為復(fù)雜,除了上述之外,還需考慮按鍵的響應(yīng)時間和按鍵的靈敏度等。最大休眠時間決定了系統(tǒng)的響應(yīng)時間,對于相同的Iave,Iscan和Isleep,較長的Tscan會引起Tsleep的增加,從而無法滿足系統(tǒng)的響應(yīng)時間;如果減少掃描時間,可能會無法有效減少系統(tǒng)噪聲影響,降低信噪比,影響按鍵的靈敏度。因此,低功耗觸摸系統(tǒng)設(shè)計需要靈敏,可靠,快速的觸摸按鍵掃描技術(shù)。

2.基于CY8C22x45的低功耗設(shè)計實(shí)例

Cypress的CY8C22x45系列PSoC®芯片可以有效的實(shí)現(xiàn)上述目標(biāo)。該系列芯片內(nèi)部包含一個獨(dú)立硬件實(shí)現(xiàn)的CapSense觸摸按鍵掃描模塊CSD2X[3],最多可以掃描37個觸摸按鍵。該模塊具有兩個硬件掃描通道,可以同時完成位于兩個通道上一對按鍵的掃描,提高了按鍵掃描速度。該模塊包含內(nèi)置的Cx充電電路,結(jié)合Cypress的按鍵基線算法[4],可以在快速掃描按鍵的同時,有效降低噪聲影響。

此外,該系列PSoC®芯片包含8個數(shù)字模塊和6個模擬模塊,提供最多38個通用I/O,16KbyteFlash,1Kbyte的SRAM以及其它一些片上資源,包括10位SARADC,電壓參考源(VDAC),I2C通信模塊,硬件實(shí)時時鐘(RTC)[5]。硬件實(shí)現(xiàn)的觸摸按鍵掃描模塊和豐富的數(shù)字、模擬模塊資源,使得可以用一塊CY8C22x45芯片實(shí)現(xiàn)觸摸按鍵功能和系統(tǒng)主控操作。

CY8C22x45系列芯片休眠時的工作電流僅有3uA[5],芯片內(nèi)包含一個休眠計數(shù)器,系統(tǒng)進(jìn)入休眠后計數(shù)器開始遞減,當(dāng)計數(shù)值為零時產(chǎn)生中斷喚醒系統(tǒng)。喚醒系統(tǒng)后可以不做任何處理再次進(jìn)入休眠模式。這樣周而復(fù)始,達(dá)到所需要的整個休眠時間。在實(shí)際設(shè)計中,常常使用平均休眠電流替代公式2中的Isleep,即在每次休眠結(jié)束后,僅讓系統(tǒng)正常工作最短時間,該時間內(nèi)完成所有必須操作(僅是一次循環(huán)判斷),此時的電流即為該休眠時間下的平均休眠電流。表1列出了常用休眠時間的平均休眠電流。

[page]
圖4是一個觸摸按鍵應(yīng)用中一次典型的按鍵波形,每個按鍵按下后,系統(tǒng)都需輸出對應(yīng)的電壓值以供其他系統(tǒng)檢測。該應(yīng)用要求響應(yīng)時間小于等于40ms,當(dāng)按鍵被長按時,需要一直輸出按鍵電壓,即使按鍵釋放后,仍需250ms時間保持原有按鍵電壓,之后停止輸出按鍵電壓,進(jìn)入空閑狀態(tài)。系統(tǒng)共包含12個觸摸按鍵,當(dāng)多個按鍵被同時按下時,系統(tǒng)不響應(yīng)。系統(tǒng)低功耗設(shè)計要求為,系統(tǒng)待機(jī)時沒有按鍵操作的平均電流應(yīng)至少小于1mA。

使用示波器可以測出系統(tǒng)掃描12個按鍵所需時間大約為1.388ms。同時,可以測量到正常工作狀態(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í)際測量到的平均待機(jī)電流值為0.565mA,與計算值相近。

3.降低功耗和喚醒方式的進(jìn)一步討論

以上實(shí)例中系統(tǒng)的平均待機(jī)電流是0.565mA,雖然這個功耗滿足了系統(tǒng)的設(shè)計要求,但是在很多使用電池供電的場合是不行的。這是因?yàn)樵诖龣C(jī)時,系統(tǒng)掃描全部12個按鍵,用去了1.388ms的時間。如果能減小掃描按鍵的時間,那么還能夠降低系統(tǒng)的待機(jī)功耗。

固定按鍵喚醒系統(tǒng)

采用固定按鍵的方式喚醒系統(tǒng)能有效的降低系統(tǒng)掃描按鍵的時間。系統(tǒng)無需掃描所有的按鍵,只需掃描固定的一個按鍵,這可以大大降低在待機(jī)狀態(tài)下掃描按鍵的時間。以上述的應(yīng)用為例,CY8C22x45系列PSoC支持雙通道并行掃描,12個按鍵均勻分布在兩個通道上,因此掃描一個按鍵約為0.231ms。如果休眠15.6ms,可以計算出此時平均待機(jī)電流只有0.113mA,相比之前的0.52mA的計算值,僅是其21%。如果休眠時間增加至40ms,從表1可以推算出此時平均休眠電流約為9uA,此時計算出平均待機(jī)電流僅為0.043mA。

任意按鍵喚醒系統(tǒng)

如果系統(tǒng)要求任意按鍵喚醒系統(tǒng),那么以上介紹的固定按鍵喚醒系統(tǒng)方法不能滿足。Cypress特有的內(nèi)部模擬總線的方式,可以將全部的按鍵組合成一個“大按鍵”。這樣系統(tǒng)待機(jī)時,只需要對這個“大按鍵”掃描一次,就能判斷是否有手指觸摸到任何按鍵上。不論任何一個按鍵被手指觸摸,都可以喚醒系統(tǒng)。系統(tǒng)喚醒后,將“大按鍵”分解,進(jìn)行正常的按鍵掃描處理,區(qū)分哪個按鍵按下,進(jìn)行任務(wù)處理。使用這種方法,系統(tǒng)的待機(jī)平均電流與使用固定按鍵喚醒系統(tǒng)的方法相同。

手指接近喚醒系統(tǒng)

手指接近喚醒系統(tǒng)是Cypress的一項(xiàng)成熟的技術(shù)。此方法是建立在任意按鍵喚醒系統(tǒng)方法基礎(chǔ)之上的。在系統(tǒng)待機(jī)時,也是使用一個“大按鍵”進(jìn)行掃描。與上個方法不同的地方在于:不是當(dāng)手指觸摸到鍵盤時喚醒系統(tǒng),而是當(dāng)手指靠近鍵盤時就喚醒系統(tǒng)。系統(tǒng)喚醒后立即將“大按鍵”分解為正常按鍵,進(jìn)行按鍵掃描。相對于任意按鍵喚醒系統(tǒng)方法,這種方法能加快系統(tǒng)對按鍵的相應(yīng)速度,還可以使產(chǎn)品增加豐富的功能特性。

4.結(jié)語

應(yīng)用Cypress的CY8C22x45系列芯片以及獨(dú)有的CapSense技術(shù),設(shè)計者可以用更快的時間掃描大量按鍵,用更長的時間讓系統(tǒng)休眠,結(jié)合其較低的休眠電流,在保證系統(tǒng)可靠性能的同時,可以實(shí)現(xiàn)較低的待機(jī)功耗,為觸摸按鍵應(yīng)用的低功耗設(shè)計提供了一種良好的解決方案。
 

要采購鍵盤么,點(diǎn)這里了解一下價格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉