張瑋
(中國電子科技集團第十五研究所后勤信息化事業部,北京100083)
基于TTP229的電容式觸摸鍵盤設計與實現
張瑋
(中國電子科技集團第十五研究所后勤信息化事業部,北京100083)
為了實現電子產品的電容式觸摸輸入方式,提出了一款基于TTP229的電容式觸摸鍵盤系統的設計方案,并完成了鍵盤系統的軟硬件設計。該鍵盤被設計成一個獨立模塊,硬件部分實現按鍵檢測上傳信息等功能,軟件部分實現鍵盤按鍵事件處理等功能。在實際應用中表明,該鍵盤系統使用簡單方便,用戶使用自由度較高,可移植性較強,能夠滿足多數電子產品的使用需求,達到了設計要求。
電容式觸摸;鍵盤設計;TTP229;抗干擾設計
在2007年蘋果公司發售iPhone后,全球掀起了一陣電容式觸摸屏大潮。其后電容式觸摸技術也不再局限于屏幕這一單一設備,越來越多的電子設備開始采用電容式觸摸作為其輸入設備的輸入方式。電容式觸摸鍵盤便是繼電容式觸摸屏之后另一廣泛使用的電容式觸摸設備。
與傳統鍵盤的機械式按鍵相比,電容式觸摸按鍵其形狀不受限制,根據設備需求可設計成不同形狀以使電子設備更為美觀。同時,電容式觸摸按鍵實質是PCB板上的一個面積稍大的覆銅焊盤,因此電容式觸摸按鍵的厚度幾乎可以忽略不計,這一特點也高度契合現今電子設備越來越輕薄的趨勢。另外,相比于傳統的機械式按鍵,電容式觸摸按鍵不存在接點,沒有物理磨損和消耗,因此其壽命可以認為是半永久性的[1]。
正因電容式觸摸按鍵的這些優點,越來越多的廠商選用觸摸按鍵來替代傳統按鍵。但是目前市場上多數的觸摸鍵盤均是針對性設計,這類鍵盤與主板綁定,不可拆卸,因而在設計時需要更多的考慮抗干擾問題,增加設計的復雜度也提高設計成本。另外這類按鍵數量較少且功能較為單一,不能根據需要自主改變按鍵的功能,因而幾乎沒有普遍適用性。所以設計一款低成本、高性能且可自由定義按鍵功能的電容式觸摸鍵盤更能滿足電子產品的應用需求。
電容式觸摸鍵盤判斷按鍵通斷的基本原理是將觸摸按鍵等效為一個電容,并基于此電容構建一個不斷進行充電放電的振蕩器,通過對振蕩器的振蕩周期或者振蕩頻率的測量來判定電容的改變量,通過電容的改變量△C確定按鍵的通斷。等效電路如圖1所示。
圖1所示電路中,圓圈代表觸摸按鍵,該按鍵就是位于PCB上的一個焊盤,它與地構成了一個感應電容。虛線框內是一個簡化的振蕩器電路,R是下拉電阻,T是定時器用來檢測振蕩器充放電的周期。當人的手指未觸摸到按鍵時,這個感應電容為一個固定值,由這個感應電容所構成的振蕩器的充放電周期也是固定的。當人的手指靠近該焊盤時,因為人是導體,所以人的手指與該焊盤會形成一個耦合電容△C,這個耦合電容會疊加到焊盤與地所形成的感應電容上,從而改變了感應電容的容值,這樣一個新的電容所構成的振蕩器其充放電周期與原來的感應電容不同,觸摸芯片便通過檢測該周期的變化來判斷按鍵是否被觸摸。振蕩器充放電的周期計算公式如下:

式(1)中,t表示振蕩器的充放電時間,R表示下拉電阻,C表示按鍵等效電容,v2表示蕩器充電和放電的初始電壓,v1表示振蕩器充電和放電的截止電壓,而vt則代表了振蕩器在振蕩周期t時刻時電容上的電壓值。
當電源的開關斷開時,按鍵所構成的感應電容C電壓被下拉電阻R拉低,此時按鍵所構成的電容的電勢為0。當將開關閉合時,由電源為按鍵所構成的電容C充電,待其充電穩定后,開關斷開,此時電容C通過電阻R進行放電,直至電量完全放盡,電勢再次歸0。利用定時器T記錄這個充電和放電的時間,并反復進行該過程。如果手指未觸摸按鍵其充放電時間t不變,如果手指觸摸按鍵,那么上述公式中的C變化為C+△C,所得充放電時間變會變為t+△t,通過△t來判定按鍵是否被按下。

圖1 觸摸按鍵等效電路原理圖
2.1鍵盤系統組成
鍵盤系統由觸控芯片和觸摸按鍵矩陣兩部分組成。鍵盤系統通過接口與控制單元進行通信。一個完整的鍵盤控制系統組成如下:

圖2 系統組成
圖中觸控芯片選用臺灣通泰公司的TTP229TonTouchTM。該芯片內置穩壓電源,同時支持外置穩壓源;休眠模式下采用8Hz低功耗采樣,并能由休眠模式中快速喚醒;提供Option選擇8鍵或16鍵;支持單鍵有效或多鍵同時有效;靈敏度可由外部電容控制;支持和2_線接口,操作便捷;帶有自校準功能,當所有按鍵在一段時間之內沒有被觸摸到時,芯片內置系統會自動對鍵盤進行校準,校準時間約為0.4 s[2]。
觸摸按鍵采用4*4的矩陣式排布,被印制在獨立的PCB上。
2.2硬件電路設計
觸摸鍵盤由4部分組成,分別是16鍵的觸摸按鍵矩陣、接口電路、穩壓電路和觸摸控制電路。電路原理圖如下:
2.2.116鍵觸摸按鍵矩陣
TTP229支持8鍵或16鍵,同時支持單鍵或多鍵有效。本設計選用16鍵和單鍵有效模式,16個觸摸按鍵與觸控芯片可直接相連,不需添加額外的器件。16位鍵盤采用一個16位的2進制數進行編碼,每一個觸摸按鍵對應16位中的一位,即S1對應最低位,S16對應最高位,當對應按鍵沒有被觸摸時該位為0,當按鍵被按下時該位被置1,由TTP229內置的寄存器記錄這個二進制數并通過接口上傳給控制單元。

圖3 觸摸控制和穩壓電路
2.2.2接口電路
接口電路為鍵盤系統與控制單元間的通信提供支持。外接設備可以通過該接口為鍵盤供電并且共地。該接口設計有四個數據接口,分別是的數據接口IIC2_KEYBOARD_SDA、時鐘接口IIC2_KEYBOARD_SCK、鍵盤中斷信號PA16_ KEYBOARD_INT和鍵盤控制接口KEY_VCC_CTRL。當觸控芯片檢測有按鍵被觸摸后,觸控芯片產生的中斷信號會通過PA16_KEYBOARD_INT接口傳入控制單元,控制單元對中斷信號做出反應后數據便會通過接口傳送至控制單元。KEY_ VCC_CTRL主要是控制鍵盤穩壓電路的上下電,當不需要使用鍵盤時可以通過該接口使電源下電以降低系統功耗。
同時為了方便鍵盤的檢修和測試,在接口電路中設置了6個測試點TP1_TP6,6個測試點分別與鍵盤地、電以及上述4個接口相連。可根據實際需要外接示波器或萬用表進行測試。
2.2.3穩壓電路
穩壓電路負責為TTP229提供穩定的電源輸入。盡管TTP229提供了內置穩壓電路,但是其內置的穩壓電路在實際的使用中去紋波效果不理想,為了減少電源對TTP229的影響,在設計中仍采用外置的穩壓電源為其供電。穩壓電路選用TLV70033DCK做穩壓電源,該芯片外圍電路簡單,輸出紋波較低[3],極大程度上減少電源對觸控芯片的干擾,使能端通過KEY_VCC_CTRL與核心處理器相連,以實現上下電控制。
2.2.4觸摸控制電路
觸摸控制電路主要完成按鍵檢測、上傳數據等功能。在電路設計中TTP229的VDD端需加去耦電容,并且該電容必須靠近觸控芯片VDD引腳和電源芯片輸出引腳,使電源的輸入更為平滑穩定。TTP229支持通過調節外部電容來調節觸摸按鍵的靈敏度,按鍵的靈敏度可以通過調節圖3中與SENADJ0_J3連接的4個電容來完成,其中SENADJ0對應按鍵S1_S4,SENADJ1對應S5_S8,SENADJ2對應S9_ S12SENADJ3對應S13_S16,容值可在1pf_50pf間選擇,容值越大靈敏度越低。4個電容可同時調節,也可分開調節,建議分開調節,例如離觸控芯片較遠的一組按鍵所對應的電容值可稍微增大,因其遠離芯片受干擾幾率增大,適當降低其靈敏度可屏蔽一些微小的擾動。
鍵盤在實際使用中不會直接裸露,而是會附加一層面板,面板的厚度將會直接影響觸摸按鍵的靈敏度選擇。表1列出了不同容值時感應距離的變化,實驗方法是制好的鍵盤PCB板,觸摸按鍵為板上覆銅區。于PCB正上方,在按鍵表面放置不同厚度的面板,以確定不同容值范圍內時,觸摸按鍵感應距離的變化情況。
由表1可知面板的厚度越大按鍵的靈敏度要求越高,因此建議在覆蓋好面板后再進行靈敏度的調節。

圖4 接口電路和按鍵矩陣

表1 容值和感應距離
2.3鍵盤PCB設計
鍵盤采用雙層PCB設計,觸摸按鍵應被單獨置于鍵盤PCB的一面,相鄰按鍵之間的距離不小于3 mm;按鍵與觸控芯片引腳間的導線與按鍵分屬PCB的兩面,利用過孔相連,按鍵下方不能走線;鍵盤的觸控芯片與電源等元器件放置于導線所在層面,并且集中于鍵盤的一端遠離觸摸按鍵;預留的6個測試點緊靠接口電路,與觸摸按鍵以及導線的間距不小于5 mm;PCB制版時觸摸按鍵不裸露且表面有阻焊層,同時表面阻焊層不含任何導電成分。PCB設計圖如下:
由圖5可知電容式觸摸按鍵其實是PCB上的一小塊覆銅焊盤,根據電容式觸摸按鍵的原理,當有導體靠近該焊盤時都會對焊盤的等效電容產生影響,從而造成觸控芯片的誤判斷,因此有必要增強鍵盤抗干擾能力以使其達到最佳的工作狀態。
為使鍵盤的抗干擾能力增強,在進行PCB設計時要注意以下幾點:
1)電源的輸出穩定性一定要好。因為電源的紋波會對觸控芯片產生巨大影響,尤其是在使用線性開關電源時,如果其紋波較大不好控制,那么可以使用LDO進行轉換。在觸控芯片的電源輸入端必須加濾波電容j
2)按鍵的大小適中。盡管按鍵面積越大靈敏度越高,但是超過人手指面積時超過的部分不再會增加有效靈敏度,同時過大的面積對控制鍵盤尺寸無益。按鍵的大小最好與手指45°斜放時面積相當即可,建議15 mm*10 mm;
3)按鍵間的距離不宜過小,建議大于5 mm,間距過小可能會造成誤識別。若無法加大按鍵間距,需要在按鍵間加地線隔離;
4)PCB布局時濾波電容要靠近芯片,電容要用地線隔離。觸摸按鍵要盡量靠近觸摸控制芯片,保證同一組按鍵到觸控芯片引腳間差異最小。觸控芯片的電源輸入端與穩壓電源的輸出端要盡量靠近。所有的芯片都應遠離觸摸按鍵,并且與觸摸按鍵分屬PCB的兩面;
5)按鍵與觸控芯片間的導線與觸摸按鍵分屬PCB的兩面,利用過孔相連,導線越短越細越好,按鍵之間的導線間距應大于2倍線寬,在走線時遠離其他信號線,尤其是電源線,在走線0.5 mm的范圍內不要覆銅[4]。
采用上述方法設計的PCB除具有成本低、適用范圍廣等優點外,還注重抗干擾能力,使其在不同環境下都能保證鍵盤使用的穩定性,為鍵盤長時間運行提供了重要保障。

圖5 PCB頂層

圖6 PCB底層
因為鍵盤使用與控制單元進行通信,為方便鍵盤使用,優化編程,在實際的使用中可以將對鍵盤的處理過程置于中斷函數中,根據需要調取即可。在此我們以AT91SAM9G35作為核心控制單元的設備為例簡述其程序編寫的思想。
在使用AT91SAM9G35時,用戶可以根據設備的實際用途選擇是否加載操作系統,當使用操作系統時我們只需將與鍵盤功能對應的中斷函數進行注冊并由系統自動為其分配入口地址即可,當不需加載操作系統時,需要人為為鍵盤功能所對應的中斷函數分配入口地址[5]。這樣當TTP229發出中斷信號請求進入中斷處理函數時,AT91SAM9G35會自動跳轉至與之對應的中斷處理函數中,并完成相關的操作步驟,中斷處理函數的流程圖如下:

圖7 中斷處理函數流程圖
當AT91SAM9G35檢測到TTP229產生的中斷后,會跳轉到中斷處理函數中。由圖7可知,在中斷處理函數中主要包含3部分:
1)讀取鍵值:當TTP229的某一個鍵被觸摸時,TTP229會產生一個16位的二進制數以表示對應鍵位被按下,這個值稱為物理鍵值,它由TTP229內部寄存器記錄,并經由上傳給AT91SAM9G35;
2)鍵值轉換:因為TTP229上傳給AT91SAM9G35的完整數據是一個16的二進制數,所以需要將該數值轉換為AT91SAM9G35可識別處理的數據,在AT91SAM9G35中我們將其轉化ASCII碼;
3)確定鍵盤事件:在AT91SAM9G35中定義一個數組,稱之為鍵盤事件數組,數組中的每一個數值都代表了一種鍵盤事件,用戶可以根據需要來定義每一個觸摸按鍵的功能,比如上下左右、數字輸入等基本功能,還可以設計組合鍵[6],在完成了數值轉換后,將轉換后所得值與鍵盤事件數組中作對比,如果一致就會完成相應的鍵盤事件。
該鍵盤的編程思想簡單易懂、邏輯思路清晰明確。因為采用了中斷函數的處理方法,使其編程難度大大降低,用戶不需要為鍵盤處理函數編排在程序位置,只需提供中斷入口即可;同時采用了中斷函數的處理方法,使程序的可移植性也大大增強,可在不同的電子設備間根據需求自由轉換。另外按鍵功能并未綁定,在實際的使用中可以根據需求自行更改,使鍵盤的適用性更強。
本文設計的電容式觸摸鍵盤適用目前市場上大多數的電子產品,同類產品相比,除了實用性外還兼顧了低成本和可移植性,鍵盤被設計成獨立的模塊,通過8口排線與外界相連,實用性更佳。本文完整的敘述了電容式觸摸鍵盤的設計過程,對類似的設計有一定的參考意義。另外本文所設計鍵盤主要針對便攜式電子產品,因此在大型設備的觸摸鍵盤的應用中略顯不足,如若更換支持更多鍵位的觸控芯片其工程實用性將會更強。
[1]田野,廖明燕.基于充放電原理的電容式觸摸按鍵設計[J].電子設計工程,2010(10):142_144.
[2]TTP229 DataSheet[R].Version 1.1.TonTouch:2009.10.
[3]TLV70033DCK DataSheet[R].Version A.Texas Instruments:2009.09.
[4]David.A.Weston.電磁兼容原理與應用[M].楊自佑,王守三,譯.北京:機械工業出版社,2006.
[5]AT91SAM9G35 User Guide[R].Version 11053B.Atme1:2011.
[6]李兵兵,黃子強.電容式多點觸摸屏的器件設計及算法實現[J].液晶與顯示,2011(2):216_219.
Deslgn and lmPlementatlon of caPacltlVe touch keyboard based on TTP229
ZHANG Wei
(Department of Logistics Informationization,The Fifteenth Research Institute of China Electronic Technology Group Corporation,Beijing 100083,China)
In order to achieve the capacitive touch input for e1ectronic products,a design of capacitive touch keyboard system based on TTP229 is proposed.And software and hardware design of the keyboard system is comp1eted.The keyboard is designed as a stand_a1one modu1e.The hardware part is designed for detecting key and up1oading information.The software part is designed for hand1ing event of key pressing.Practica1 app1ications showed that the keyboard system is easy to use.There is a high degree of freedom for the users.It has strong portabi1ity and can meet the needs of most e1ectronic products.The design requirements are achieved.
capacitive touch;keyboard design;TTP229;antijam design
TN7
A
1674_6236(2016)10_0123_04
2015_06_14稿件編號:201506142
張瑋(1990—),男,吉林輝南人,碩士。研究方向:計算機系統結構。