新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Linux的觸摸按鍵系統設計

        基于Linux的觸摸按鍵系統設計

        作者: 時間:2009-07-14 來源:網絡 收藏

          電容式技術目前已經趨于成熟,并且已經應用于量產的產品中,其中最著名的當屬蘋果公司生產的iPhone的full touch。電容式技術較之電阻式技術生產成本更加低廉,使用壽命更長,反應更加靈敏,并且發展初期的精度不足的問題現在已經完全解決,有著越來越多的觸摸產品開始使用電容式感應

        本文引用地址:http://www.104case.com/article/173674.htm

          觸摸芯片

          本所使用的芯片為ATMEL的AT42QT2160電容式觸摸芯片,主機平臺AT91SAM9260的2.6嵌入式。該芯片觸摸接口豐富,通用性較強。芯片可外擴16個獨立觸摸和一個具有8檔位的滑條,該芯片還具有3個通用I/O口,可由用戶自行配置其功能。

          設計思路

          觸摸芯片AT42QT2160通過I2C與主MCU通信,并配有一根中斷線用于通知操作有觸摸鍵值發生。每當有中斷發生時,鍵盤中斷服務程序通過I2C讀取AT42QT2160中存儲的當前鍵值,并與上一次的鍵值作比較,把鍵值改變了的的狀態發送給,通過鍵盤tty設備傳遞給系統。

          硬件設計

          AT42QT2160部分電路設計如圖1。根據實際應用的需要,本次設計只使用了12個觸摸按鍵,沒有用到滑條。由于AT42QT2160是電容式的觸摸芯片,對電容變化極其敏感,所以在布PCB(印制電路板)時一定要防止各感應線之間相互串擾,應該讓 X軸和Y軸之間的距離要盡可能得大。


          觸摸鍵盤驅動設計

          本驅動運行在ARM 2.6.25下,驅動程序共分三部分。

          1. I2C設備驅動:用于讀寫AT42QT2160。

          2. 中斷服務程序:用于響應AT42QT2160的中斷,并向系統發送鍵值。

          3. 字符設備驅動:用于與應用層交互(動態設置AT42QT2160)。

          驅動程序所要做的就是當收到AT42QT2160的中斷信號后,通過I2C總線讀到當前的鍵值,然后將改變的鍵值發送給系統,程序流程如圖2。

          在整個觸摸鍵方案的設計中,PCB的設計尤為重要,這是觸摸鍵靈敏與否的關鍵。對于觸摸鍵的控制,寄存器的調校也十分重要的。AT42QT2160提供了幾個寄存器用于靈敏度、掃描頻率、觸發閥值等等的設置,這些寄存器是為了克服PCB的布線差異而提供給客戶去微調的,設置好了這些寄存器后,您的觸摸鍵將會達到一個最佳的狀態。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 含山县| 托克托县| 苍梧县| 临朐县| 汽车| 革吉县| 敖汉旗| 太和县| 大足县| 邵阳市| 岫岩| 沙湾县| 和顺县| 舒城县| 赤峰市| 霍州市| 青河县| 南江县| 武汉市| 辽阳县| 洛南县| 犍为县| 大石桥市| 竹北市| 临颍县| 肃宁县| 开封县| 新竹市| 安阳县| 文山县| 阿克苏市| 邢台县| 平阳县| 定安县| 吴忠市| 青河县| 宁陕县| 鄂温| 彰化市| 莎车县| 镶黄旗|