當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于嵌入式技術(shù)支持的感應(yīng)按鍵設(shè)計

1  引言

  感應(yīng)按鍵技術(shù)是一項新興的技術(shù),如今已經(jīng)被廣泛用于各種產(chǎn)品。特別是近兩年來,采用感應(yīng)按鍵的家電產(chǎn)品呈現(xiàn)雨后春筍般的繁盛景象。目前,市面上的這類產(chǎn)品主要有智能電冰箱、數(shù)字液晶電視、熱水器、電熱爐等家電產(chǎn)品。采用感應(yīng)式按鍵的家電產(chǎn)品,可以設(shè)計出靚麗的控制面板,同時,與機械式按鍵相比具有更長的使用壽命。

  目前,感應(yīng)按鍵的應(yīng)用方式主要有兩大類:

 ?、?采用專用芯片,比如昆騰公司的感應(yīng)按鍵芯片QT240、QT1101,以及康拓斯公司的CT1008等。這類芯片內(nèi)部固化了處理感應(yīng)按鍵的軟件,能夠?qū)Π存I感應(yīng)電極(金屬彈簧或?qū)щ姾>d)的信號進行采集和分析,最終將分析的結(jié)果以高低電平形式輸出到應(yīng)用系統(tǒng)的處理器I/O口。比如,當(dāng)手靠近感應(yīng)電極的時候輸出高電平,遠離感應(yīng)電極的時候輸出低電平。這類芯片外圍需要少量的分立器件,實際使用時要根據(jù)應(yīng)用場合對這些外圍器件的參數(shù)進行微調(diào),以達到最佳效果。

 ?、?采用集成式芯片。推出這種方式的芯片廠家將處理感應(yīng)按鍵的軟件部分嵌入到單片機程序中,用戶如果需要用到感應(yīng)按鍵,只需要在單片機開發(fā)環(huán)境里將需要的I/O口配置為感應(yīng)按鍵的輸入口,同時系統(tǒng)通過調(diào)用芯片廠家提供的函數(shù)庫接口來讀取感應(yīng)按鍵的結(jié)果。基于Atmel公司ATmega系列單片機的感應(yīng)按鍵就是屬于這種應(yīng)用方式,它是將其QTouch技術(shù)的軟件代碼以庫函數(shù)接口形式提供給用戶使用。

  2  QTouch技術(shù)

  QTouch技術(shù)是Atmel公司觸摸技術(shù)部前身Quantum開發(fā)的一項技術(shù)。所開發(fā)的集成電路技術(shù)是基于電荷的傳輸電容式感測。QTouch IC檢測用傳感器芯片和簡單按鍵電極之間連接來檢測觸摸,如圖1所示。QTouch器件對未知電容的感測電極充電到已知電位。電極通常是印刷電路板上的一塊銅區(qū)域,該電極可以通過金屬彈簧或者導(dǎo)電海綿來延伸應(yīng)用空間。在1個或多個電荷傳輸周期后測量電荷,就可以確定感測板的電容。在觸摸表面按手指,導(dǎo)致在該點影響電荷流的外部電容,作為一個觸摸記錄;也可確定QTouch微控制器來檢測手指的接近度,而不是絕對觸摸。判斷邏輯中的信號處理使QTouch健全和可靠,同時可以消除靜電脈沖或瞬時無意識觸摸/接近引起的假觸發(fā)。

  圖1  QTouch技術(shù)示意圖

  QTouch傳感器可以驅(qū)動單按鍵或多按鍵。在用多按鍵時,可以為每個按鍵設(shè)置一個單獨的靈敏電平??梢杂貌煌笮『托螤畹陌存I來滿足功能和審美要求。QTouch技術(shù)可以采用兩種模式:正?;?ldquo;觸摸”模式,以及高靈敏度或“接近”模式。用高靈敏電荷傳輸接近感測來檢測末端用戶接近的手指,用用戶接口中斷電子設(shè)備或電氣裝置來啟動系統(tǒng)功能。為了實現(xiàn)良好的電磁兼容,QTouch傳感器采用擴頻調(diào)制和稀疏、隨機充電脈沖(脈沖之間具有長延遲)。單個脈沖可以比內(nèi)部串脈沖間隔短5%或更短。這種方法的優(yōu)點是交叉?zhèn)鞲衅鞲蓴_較小,功耗較低,且降低了RF輻射和極化率。QTouch器件對于慢變化(由于老化或環(huán)境條件改變)具有自動漂移補償。這些器件不需要線圈、振蕩器、RF元件、專門纜線、RC網(wǎng)絡(luò)或大量的分立元件。

  3  硬件設(shè)計

  基于ATmega48的感應(yīng)按鍵,在硬件設(shè)計上非常簡單,每路按鍵只需要一個電阻和一個電容即可實現(xiàn)。通常情況下,感應(yīng)電極一般以銅箔形式分布在印刷電路板上,可以根據(jù)具體的應(yīng)用需要將感應(yīng)電極設(shè)計成不同的尺寸和形狀。同時,采用金屬彈簧或者導(dǎo)電海綿等具有導(dǎo)電功能的介質(zhì),能夠?qū)存I延伸到合適的長度或高度,如圖2所示。

  圖2  采用金屬彈簧延伸的感應(yīng)電極

  圖3  硬件原理圖

  典型應(yīng)用情況下,采樣電容C1或C2采用22 nF,限流電阻R1或R2采用1 kΩ。但是實際應(yīng)用系統(tǒng)中需要根據(jù)感應(yīng)按鍵的靈敏度,對采樣電容的容值和限流電阻的阻值進行調(diào)整,以達到最佳效果。硬件原理圖如圖3所示。

  4  函數(shù)庫安裝與軟件配置

  要把ATmega48單片機的I/O口作為感應(yīng)按鍵輸入口來使用,首先需要安裝QTouch函數(shù)庫Atmel_QTouch_Libraries,目前比較新的函數(shù)庫版本是4.3。安裝完畢后,需要將與單片機對應(yīng)的庫文件加載到工程中。Atmel公司的集成開發(fā)環(huán)境AVR Studio提供了便捷的設(shè)置,新建一個工程后,可在Project→Configuration Options→Libraries界面中添加函數(shù)庫鏈接文件。

  其次,需要對I/O口進行配置。在工程配置(Project→Configuration Options→Custom Options)界面設(shè)置相應(yīng)的宏定義參數(shù)即可,如圖4所示。

  圖4  AVR Studio工程配置界面[!--empirenews.page--]

  D_QTOUCH_:需要使用QTouch函數(shù)庫。

  DSNSK=C和DSNS=C:表示將ATmega48 PC口設(shè)置為感應(yīng)按鍵口。

  DQT_NUM_CHANNELS=4:表示最大可用通道數(shù)量。

  DQT_DELAY_CYCLES=1:表示采樣電容充放電周期時間。

  另外,在應(yīng)用系統(tǒng)源程序中需要加入庫函數(shù)的頭文件。代碼如下:

  #include "touch_api.h"

  5  系統(tǒng)應(yīng)用

  應(yīng)用流程如圖5所示。在系統(tǒng)初始化之后,首先調(diào)用config_sensors()函數(shù)將需要的I/O口配置成感應(yīng)按鍵的采樣口,并對各個感應(yīng)按鍵的各個狀態(tài)進行初始化。然后是設(shè)置感應(yīng)參數(shù),這些參數(shù)包括按鍵校準(zhǔn)閾值、正向漂移值、負(fù)向漂移值、最大連續(xù)感應(yīng)時間等。最后,在應(yīng)用系統(tǒng)的主程序中,需要周期地調(diào)用庫函數(shù)qt_measuer_channels()對感應(yīng)信號進行測量,并檢測按鍵的狀態(tài)。

  圖5  QTouch應(yīng)用流程

  需要注意的是,感應(yīng)按鍵采集使用了系統(tǒng)的一個定時器中斷,因此,應(yīng)用系統(tǒng)中的中斷程序會對其造成一定的影響。這就要求在按鍵感應(yīng)的過程中,應(yīng)用系統(tǒng)的中斷服務(wù)程序的處理時間越短越好。在電容感應(yīng)工作的時候,中斷服務(wù)程序處理時間不應(yīng)該超過1 ms,否則將嚴(yán)重影響感應(yīng)按鍵的靈敏度,甚至?xí)?dǎo)致感應(yīng)按鍵失靈。

  應(yīng)用系統(tǒng)程序如下:

  int main( void ){

  init_system();/*系統(tǒng)初始化*/

  config_sensors();/*將I/O口配置成感應(yīng)按鍵*/

  qt_init_sensing();/*初始化感應(yīng)傳感器*/

  qt_set_parameters();/*感應(yīng)參數(shù)設(shè)置*/

  init_timer_isr();/*用于感應(yīng)按鍵的定時器設(shè)置*/

  qt_filter_callback = 0;/*濾波參數(shù)選擇*/

  __enable_interrupt();/*使能定時器中斷*//*應(yīng)用程序主循環(huán) */

  while (1) {

  if( time_to_measure_touch ) {

  time_to_measure_touch = 0u; /*繼續(xù)下一個采集周期*/

  qt_measure_sensors( current_time_ms_touch );/*感應(yīng)檢測 */

  }

  KeyBuff = (qt_measure_data.qt_touch_status.sensor_states[0]);/*獲取感應(yīng)按鍵狀態(tài)*/

  ……/*系統(tǒng)應(yīng)用程序*/

  }

  }

  6 結(jié)語

  基于Atmel QTouch技術(shù)的嵌入式感應(yīng)按鍵設(shè)計,簡化了設(shè)計難度,降低了系統(tǒng)的應(yīng)用成本,節(jié)省了印刷電路板的尺寸空間,系統(tǒng)應(yīng)用穩(wěn)定,可靈活應(yīng)用于各類電子產(chǎn)品中。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉