引言
觸摸式按鍵隨著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)勢(shì),。
現(xiàn)有市場(chǎng)上的觸摸式按鍵方案,其工作原理都是檢測(cè)手指觸摸引起的電路微小變化量,,進(jìn)而將其轉(zhuǎn)化為邏輯上的按鍵開關(guān)操作,。在諸多檢測(cè)方法中,,又以電容式檢測(cè)居多,這種檢測(cè)方法在掃描時(shí)需對(duì)電容的充放電,,因此不可避免會(huì)增加產(chǎn)品功耗,。對(duì)于一些功耗敏感的應(yīng)用來說,如何實(shí)現(xiàn)低功耗的觸摸按鍵是關(guān)鍵技術(shù)環(huán)節(jié),。
Cypress作為電容式觸摸按鍵芯片領(lǐng)域的領(lǐng)導(dǎo)者,,一直致力提供高效、可靠,、貼近用戶需求的芯片與解決方案,。本文即基于Cypress的CY8C22x45系列芯片,介紹了一種低功耗觸摸按鍵應(yīng)用設(shè)計(jì)方法,。
2.低功耗設(shè)計(jì)方法
如圖1所示,,對(duì)于電容式觸摸按鍵,手指的觸摸會(huì)改變感應(yīng)電容Cx,,當(dāng)檢測(cè)電路對(duì)Cx充放電時(shí),,Cx值的變化會(huì)引起電路信號(hào)變化,通過一定的檢測(cè)電路可以測(cè)量出該變化,,從而判斷手指是否存在,。不過,系統(tǒng)整體功耗因?yàn)轭l繁的掃描Cx的大小而增加,。
對(duì)于輸入電壓一定的系統(tǒng)來說,,其功耗主要取決于平均工作電流,即
Powerave=Vdd*Iave[2]公式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)處于無任何按鍵按下的空閑狀態(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)過一段時(shí)間的延時(shí)后喚醒掃描按鍵模塊,,進(jìn)行按鍵掃描。如果有按鍵按下,,軟件判斷是否有效,。如果無效按鍵按下,那么系統(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)用,。
圖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ù)可能沒有處理完畢,,需要下一個(gè)或者更多個(gè)系統(tǒng)循環(huán)的時(shí)間才可以完成。當(dāng)判斷按鍵無效時(shí),,不是馬上進(jìn)入休眠模式,,而是判斷是否有沒有處理完畢的任務(wù)。如果有則繼續(xù)處理,;如果沒有則進(jìn)入休眠模式,。此方法可以處理比較復(fù)雜的任務(wù),能滿足更多應(yīng)用領(lǐng)域的需求,。
如果沒有有效按鍵觸發(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,。一般來說,為了保證一定的按鍵靈敏度,,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的增加,,從而無法滿足系統(tǒng)的響應(yīng)時(shí)間;如果減少掃描時(shí)間,,可能會(huì)無法有效減少系統(tǒng)噪聲影響,,降低信噪比,,影響按鍵的靈敏度,。因此,,低功耗觸摸系統(tǒng)設(shè)計(jì)需要靈敏,可靠,,快速的觸摸按鍵掃描技術(shù),。