市場上的消費電子產品已經開始逐步采用觸摸感應按鍵,以取代傳統的機械式按鍵。針對此趨勢,Silicon Labs公司推出了內置微控制器(MCU)功能的電容式觸摸感應按鍵(Capacitive Touch Sense)方案。電容式觸摸感應按鍵開關,內部是一個以電容器為基礎的開關。以傳導性物體(例如手指)觸摸電容器可改變電容,此改變會被內置于微控制器內的電路所偵測。 電容式觸摸感應按鍵的基本原理 ◆Silicon Labs 現提供一種可偵測因觸摸而改變的電容的方法 電容式觸摸感應按鍵的基本原理就是一個不斷地充電和放電的張弛振蕩器。如果不觸摸開關,張弛振蕩器有一個固定的充電放電周期,頻率是可以測量的。如果我們用手指或者觸摸筆接觸開關,就會增加電容器的介電常數,充電放電周期就變長,頻率就會相應減少。所以,我們測量周期的變化,就可以偵測觸摸動作。 具體測量的方式有二種: (一)可以測量頻率,計算固定時間內張弛振蕩器的周期數。如果在固定時間內測到的周期數較原先校準的為少,則此開關便被視作為被按壓。 (二)也可以測量周期,即在固定次數的張弛周期間計算系統時鐘周期的總數。如果開關被按壓,則張弛振蕩器的頻率會減少,則在相同次數周期會測量到更多的系統時鐘周期。 Silicon Labs推出的C8051F9xx微控制器(MCU)系列,可通過使用芯片上比較器和定時器實現觸摸感應按鍵功能,連接最多23個感應按鍵。而且無須外部器件,通過PCB走線/開關作為電容部分,由內部觸摸感應按鍵電路進行測量以得知電容值的變化。 ◆以Silicon Labs的MCU實現觸摸感應按鍵 利用Silicon Labs其它MCU系列,僅需搭配無源器件,即可實現電容式觸摸感應按鍵方案。與C8051F93x-F92x方案相比,唯一所需的外部器件是(3+N)電阻器,其中N是開關的數目,以及3個提供反饋的額外端口接點。C8051F93x-F92x之外,Silicon Labs其它MCU系列可直接連接12個開關,或者通過外部模擬多路復用器連接更多開關。 設計觸摸感應按鍵開關 因為我們要偵測電容值的變化,所以希望變化幅度越大越好。現在,有三個主要因素會影響開關電容及變化幅度。
◆開關的形狀尺寸會如何影響開關的空閑和被接觸的狀態 由于開關上方的材料種類,會影響閑置電容和電容的變化率。我們還測試了玻璃、有機玻璃Mylar聚酯薄膜、ABS塑料和FR4玻璃纖維,這幾種不同材料。我們發現,盡可能使用最薄的材料,使電容變化極大化。而且,建議使用具有高介電常數的材料,例如玻璃,以增加開關的絕對電容。 總結 Silicon Labs的電容式觸摸感應按鍵的優點很多。首先,只需要很少的微控制器開銷(overhead)。設計一個開關僅需443字節碼空間,每多增加一個開關僅需多增加額外的 1字節。硬件資源只需要一個比較器和定時器。還可以采用高效率算法,讓微控制器可以進入低功耗模式,并能定期喚醒以偵測開關動作。總體只占用低于0.05% 的CPU資源。 其次,沒有外部硬件開銷。可以將開關走線直接連至MCU端口管腳,無須其它外部的反饋電阻器或電容器。 而且芯片配置也很簡單。無論開關使用為何材料,完成都很容易。另外,按鍵的偵測,不易受到噪聲和供應電壓的影響。不受50/60 Hz噪聲的影響,也不需要精密電壓源(VDD)。 常見問答 (摘自2008年12月Silicon Labs在線座談中的問答環節) 問:如何調整觸摸靈敏度?是設計時固定的,還是到現場可以進行調整的? 答:靈敏度是通過實驗來做的,客戶可以對不同狀況下的值進行記錄,然后保存到flash中,這樣實際使用時,不同狀況下,系統會用不同值來工作,實現適合的靈敏度。靈敏度是設計時確定的,也可以設計成自學習型的。 問:一個開關需要一個定時器和一個比較器,多個開關是共用定時器和比較器嗎 答:對于多個開關,采用一個多路復用器,就可以共同使用一個定時器和比較器了。 問:如何消除和區分電容觸摸的誤觸摸? 答:確定觸摸式按鍵是否被按下可以通過檢測頻率或者周期來實現。而消除和區別誤觸摸,則要通過軟件上一些校準的算法來實現。具體的信息,可以登陸www.silabs.com下載詳細的參考應用。 問:貴公司的電容式觸摸芯片有休眠功能嗎?如何喚醒? 答:有休眠功能,我們F9xx系列單片機支持sleep、suspend睡眠狀態。可以通過IO、外部中斷、比較器等喚醒。 問:和電阻式觸摸按鍵相比,電容式觸摸按鍵有哪些優點,是否存在不足? 答:電阻式的要用A/D采樣,并且人的電阻很大,采樣比較困難,每個人的電阻差異也很大。 抗干方面,電容式的更好一些。 問:我的手要在按鍵放多久才能被檢測? 答:人的動作是以百毫秒來計算的,而IC內部檢測是否有按鍵按下的時間通過數千個機器周期就可以確定,時間等級差很多。因此基本上手一放上去就會被檢測到。 問:電容式觸摸按鍵有沒有防水防潮設計,如果使用環境在一些潮濕場所,例如啤酒生產,使用電容式觸摸按鍵是否合適? 答:你可以在"電容式觸摸按鍵"的外面加一層塑料或其他介質進行保護。另外,當"按鍵"受到污染,"空閑電容,idle capactiance"變大時,你可使用算法來刷新/標定你的檢測門限(重新標定時間常數,RC) 。 問:c8051F9xx可以同時監測多少路的按鍵動作?處理速度能達到多少? 答:C8051F9xx最高速度是24.5MHz,電容感應的響應時間是由電容充放電時間決定的,即與時間常數有關。一般一個周期為1000~2000個系統時間周期/SYSCLK, 故響應時間小于為2*2000*1/24.5MHz = 160uS。 人的動作為上百mS級的,MCU有足夠的時間去處理按鍵響應。由于受到I/O口的限制,C8051F9xx最多能做到23個按鍵。 問:為了提高按鍵的抗干擾能力,在繪制PCB圖時應注意哪些問題? 答:按鍵與單片機IO間走線需要越短越好。 問:為了提高按鍵的靈敏度和準確度,編程時應如何如何對其進行處理? 答:靈敏度和準確度是相反的一組值。你必須要自己選一個中間值來平衡。 問:如果我想更多的了解和學習電容式觸摸按鍵技術,請問有無相關書記和資料課提供?謝謝 答:有的,我們有電容按鍵的參考設計,包含軟硬件以及源代碼。請到www.silabs.com網站上下載應用文檔,AN338 Capacitive Touch Sense Solution.pdf,也可以聯系我們益登科技相關辦事處,獲取詳細設計資料及指導。 問:假如我需要開發電容式觸摸按鍵技術,請問我應該買什么開發工具和軟件? 答:可以購買我們提供的C8051F931-based ToolStick 與Capacitive Touch Sense,或者C8051F930DK等開發套件,套件中包含設計資料和參考代碼。 |