隨著現(xiàn)代電子產(chǎn)品的日益更新和智能化發(fā)展,人機(jī)交互接口(HMI)得到越來越多的關(guān)注和應(yīng)用,豐富了人們的體驗,而作為其中重要的一部分,觸控感應(yīng)技術(shù)也在快速發(fā)展。 觸控技術(shù)目前來講主要分為電阻式觸控和電容式觸控,作為近年來飛速發(fā)展的新技術(shù),電容式觸控感應(yīng)技術(shù)以其無機(jī)械損耗、壽命長、靈敏度高、節(jié)省空間和觸摸動作豐富等優(yōu)點(diǎn)得到越來越廣泛的應(yīng)用,與此同時,半導(dǎo)體廠商也不斷地推出相應(yīng)技術(shù)的IC以簡化硬件設(shè)計人員的開發(fā)。 飛思卡爾半導(dǎo)體推出的Kinetis系列MCU架構(gòu)之中嵌入了高性能的電容式觸摸感應(yīng)接口TSI模塊,增強(qiáng)了電容觸摸感應(yīng)的穩(wěn)定性和魯棒性,同時也極大地簡化了設(shè)計人員的開發(fā)過程。 電容式觸摸感應(yīng)原理 目前基于IC設(shè)計的電容式觸摸感應(yīng)技術(shù)主要有兩種: 一種是把電容值的變化轉(zhuǎn)換成電壓的變化,再通過內(nèi)部特殊的電容模數(shù)轉(zhuǎn)換器經(jīng)過A/D采樣算出電容量; 另一種是把電容值變化轉(zhuǎn)換成內(nèi)部計數(shù)器計數(shù)值的變化,在外部電極上產(chǎn)生三角波充放電電壓信號,通過對該三角波電壓信號的周期進(jìn)行測量計數(shù)來反映外部電極的電容量變化。 SiliconLabs推出的電容觸摸系列MCU采用的是前一種方法。 Kinetis K60內(nèi)部集成的TSI模塊采用的則是后面一種方法。 TSI模塊通過內(nèi)部的恒流源對外部電極進(jìn)行充放電,形成三角波電壓信號。三角波電壓信號的周期隨著外部電容的變化而變化,而手指作為虛擬地靠近電極時會造成電容容量的增加,使三角波電壓信號周期變長。與此同時,TSI模塊內(nèi)部還有一個固定容量的電容構(gòu)成的振蕩器,以其產(chǎn)生的參考時鐘節(jié)拍對外部電極產(chǎn)生的三角波電壓信號的周期進(jìn)行計數(shù),外部電極電容量的變化引起三角波電壓信號周期的變化進(jìn)而引起測量計數(shù)值的變化,再通過內(nèi)部讀取相應(yīng)的計數(shù)器值即可算出電容量變化。根據(jù)TSI內(nèi)部運(yùn)行機(jī)制,當(dāng)電容值超出設(shè)定的觸發(fā)閾值時,TSI觸發(fā)標(biāo)志位激活相應(yīng)的中斷請求,實現(xiàn)電容觸摸感應(yīng)事件的響應(yīng)。 系統(tǒng)硬件設(shè)計 由于采用了帶有專用電容觸控功能即TSI模塊的MCU,因此簡化了硬件電路的設(shè)計。一方面減少了開發(fā)成本,另一方面也降低了硬件電路的復(fù)雜性,增強(qiáng)了系統(tǒng)的穩(wěn)定性和魯棒性。 1.電容觸控接口設(shè)計 內(nèi)置TSI模塊接口極大地簡化了硬件設(shè)計,只需簡單地把外部電極通過一個限流電阻串聯(lián)到相應(yīng)的TSI模塊通道上即可。限流電阻主要是為了防止電極與MCU之間的充放電電流過大而損害MCU,限流電阻的大小根據(jù)實際情況而定。 2.觸摸鍵盤PCB布局設(shè)計 利用帶有絕緣漆的覆銅板作為電極板,并采用三角形狀覆銅拼接組合成方形觸摸鍵盤,同時該三角覆銅分別引出相應(yīng)的接口至TSI模塊的通道。 系統(tǒng)軟件設(shè)計 TSI模塊不僅簡化了電容式觸摸鍵盤硬件上的設(shè)計,而且在軟件設(shè)計方面,通過簡單的配置相關(guān)寄存器、編寫相應(yīng)的校準(zhǔn)程序和中斷服務(wù)程序即可驅(qū)動電容觸摸功能,極大地簡化了軟件設(shè)計流程。本系統(tǒng)軟件設(shè)計采用中斷方式,TSI模塊自動進(jìn)行周期性掃描,只有觸摸事件發(fā)生時才觸發(fā)中斷進(jìn)行響應(yīng),減少CPU負(fù)擔(dān)。 1.TSI模塊初始化 對TSI模塊的初始化主要是根據(jù)實際硬件設(shè)計對其相關(guān)寄存器進(jìn)行操作,在初始化階段涉及到的相關(guān)寄存器包括通用控制與狀態(tài)寄存器(TSI0_GENCS)、掃描控制寄存器(TSI0_SCANS)、通道使能寄存器(TSI0_PEN),另外還涉及到K60MCU內(nèi)部時鐘和引腳配置寄存器等。 2.TSI模塊自校準(zhǔn) TSI模塊初始化之后,要實現(xiàn)電容式感應(yīng)觸摸的檢測,還需要對TSI模塊進(jìn)行電容值的校準(zhǔn),采樣正常無手指觸摸情況下的電容量即內(nèi)部計數(shù)器的計數(shù)值,將其與自定義的死區(qū)值進(jìn)行相加和相減之后分別存入閾值寄存器的高部分和低部分,以此作為標(biāo)準(zhǔn)檢測電極電容變化區(qū)間,當(dāng)電容量的變化處于死區(qū)區(qū)間內(nèi)時,不會觸發(fā)越界中斷,當(dāng)電容量超出閾值寄存器的范圍時(包括低于閾值寄存器的低部分或者高于閾值寄存器的高部分)自動觸發(fā)越界中斷。 3.TSI模塊中斷服務(wù)處理 TSI模塊有多種中斷方式,包括錯誤中斷、超時中斷、掃描結(jié)束中斷和越界中斷,在K60 MCU內(nèi)部中斷機(jī)制里,它們共享99號中斷向量。 同時,飛思卡爾公司免費(fèi)提供了強(qiáng)大的觸摸感應(yīng)軟件庫(即TSS庫)和開發(fā)生態(tài)系統(tǒng)的支持,可以直接應(yīng)用在飛思卡爾Kinetis平臺上,可縮短了工程開發(fā)周期而且也增加了系統(tǒng)的穩(wěn)定性。 |