新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CapSense觸摸感應(yīng)技術(shù)在手機(jī)中的應(yīng)用

CapSense觸摸感應(yīng)技術(shù)在手機(jī)中的應(yīng)用

——
作者:賽普拉斯半導(dǎo)體國(guó)際有限公司 翁小平 時(shí)間:2006-10-23 來(lái)源:中電網(wǎng) 收藏

觸摸感應(yīng)技術(shù)是賽普拉斯半導(dǎo)體使用CY8C21x34系列PSoC芯片開(kāi)發(fā)的、用于觸摸式按鍵、觸摸式滾動(dòng)條(Slider)、觸摸式平板(Touchpad)的觸摸感應(yīng)技術(shù)。它利用PSoC的CY8C21x34系列芯片一些特有的資源,根據(jù)電容感應(yīng)的原理和松弛震蕩器的技術(shù)實(shí)現(xiàn)觸摸感應(yīng)。區(qū)別于其他觸摸感應(yīng)技術(shù),技術(shù)具有幾乎不需要外圍元件、每一個(gè)按鍵的靈敏度可單獨(dú)調(diào)整、一個(gè)芯片可同時(shí)實(shí)施多個(gè)觸摸式按鍵和觸摸式滾動(dòng)條等優(yōu)點(diǎn)??捎糜诟鞣N家電產(chǎn)品代替?zhèn)鹘y(tǒng)的輕觸按鍵和薄膜鍵盤(pán)。同樣它也非常適用于時(shí)尚手機(jī)。本文介紹技術(shù)的基本原理以及它在手機(jī)中的應(yīng)用。

CapSense技術(shù)的基本原理

CapSense技術(shù)是根據(jù)電容感應(yīng)的原理和松弛震蕩器來(lái)實(shí)現(xiàn)觸摸感應(yīng)。眾所周知,PCB板上相鄰的導(dǎo)線(xiàn)或銅箔之間存在寄生電容Cp。如圖1所示,當(dāng)有手指接近或觸摸銅箔時(shí),相當(dāng)于附加了兩個(gè)電容,這兩個(gè)電容等效于并聯(lián)在Cp上的一個(gè)電容Cf。如果在手指與銅箔之間有不導(dǎo)電的介質(zhì),它將影響Cf。介質(zhì)越厚、介質(zhì)的介電常數(shù) r越小,對(duì)它的影響就越大。為了檢測(cè)Cp和Cp的變化Cf,我們用圖2所示的電路對(duì)其實(shí)施操作。圖中左半面是一個(gè)松弛震蕩器,它的工作過(guò)程如下:使用恒流源以iCHARGE電流對(duì)Cp充電,當(dāng)Cp上的電壓上升并剛好超過(guò)比較器的反向輸入端的電壓VBG(1.3V)時(shí),比較器翻轉(zhuǎn)到高電平,控制復(fù)位開(kāi)關(guān)閉合,Cp迅速放電到零。比較器翻轉(zhuǎn)恢復(fù)到低電平,恒流源以iCHARGE電流再對(duì)Cp充電。這個(gè)過(guò)程周而復(fù)始,形成震蕩。而震蕩的周期近似于充電的時(shí)間:

tCHARGE=CpVBG/iCHARGE

圖中右半面是一個(gè)間隔計(jì)數(shù)器。它由一個(gè)8位的PWM和一個(gè)16位的定時(shí)器組成。它實(shí)施一段時(shí)間間隔(PWM的Duty)里16位的定時(shí)器對(duì)系統(tǒng)時(shí)鐘的計(jì)數(shù)。PWM的輸入來(lái)自比較器的輸出,16位的定時(shí)器被設(shè)置成捕捉定時(shí)器,它的輸入來(lái)自系統(tǒng)時(shí)鐘SYSCLK。當(dāng)PWM進(jìn)入Duty狀態(tài)時(shí)啟動(dòng)16位的定時(shí)器工作,當(dāng)PWM的Duty狀態(tài)結(jié)束時(shí)捕捉16位定時(shí)器的計(jì)數(shù)。這個(gè)計(jì)數(shù)的值為:
n=NperiodsXtCHARGEXSYSCLK

其中NPERIODS為當(dāng)PWM為Duty狀態(tài)時(shí)松弛震蕩器的震蕩次數(shù),它的值被設(shè)置成PWM的周期值減2。將tCHARGE=CpVBG/iCHARGE代入上式有:

n=NPERIODSXCPVBGXSYSCLK/iCHARGE

當(dāng)其他值都被固定以后n和Cp有唯一確定的關(guān)系。如果有手指觸摸時(shí),Cp將變化到Cp+Cf,而n將由n1變化到n2

⊿n=n2-n1

當(dāng)⊿n大于預(yù)先設(shè)定的閥值時(shí),就可以表明有手指觸摸。圖3是無(wú)手指觸摸和有手指觸摸對(duì)應(yīng)松弛震蕩器的波形和PWM及定時(shí)器計(jì)數(shù)值變化的示意圖。

CapSense技術(shù)的實(shí)施

CapSense所需要的資源包括松弛震蕩器和間隔定時(shí)器全部都被包含在PSoC芯片里,芯片外圍不需要任何元件。為了實(shí)施CapSense,PSoC的集成開(kāi)發(fā)環(huán)境(IDE)Designer4.2已經(jīng)為CY8C21x34芯片建立了CSR模塊,通過(guò)對(duì)CSR模塊的硬件配置和函數(shù)的調(diào)用來(lái)實(shí)施CapSense。


CSR模塊的配置

在IDE的器件編輯狀態(tài),選擇并放置CSR模塊后,激活CSR模塊導(dǎo)向器(圖4),在CSR模塊導(dǎo)向器中可以設(shè)置多少個(gè)觸摸按鍵以及每一個(gè)按鍵所對(duì)應(yīng)的管腳;也可以同時(shí)設(shè)置一個(gè)或兩個(gè)滾動(dòng)條(Slider)以及滾動(dòng)條由幾個(gè)感應(yīng)塊組成和它們所對(duì)應(yīng)的管腳。滾動(dòng)條的分辨率可以大于組成它按鍵的個(gè)數(shù),它也在這里被設(shè)定。

在模塊的參數(shù)設(shè)置窗口,可以設(shè)置CSR模塊的工作模式(周期或頻率)、手指信號(hào)的閥值、噪聲信號(hào)的閥值、基本線(xiàn)修正的速率和抗ESD信號(hào)的周期。當(dāng)所有設(shè)置完成以后,點(diǎn)擊Generate Device Application按鈕,即可自動(dòng)生成CSR模塊有關(guān)的程序供用戶(hù)程序調(diào)用。


幾個(gè)關(guān)鍵函數(shù)的調(diào)用

下面是CSR模塊的幾個(gè)關(guān)鍵函數(shù):
void CSR_Start();
void CSR_Stop();
CSR_SetDacCurrent(BYTE bValue, BYTE bRange);
CSR_SetScanSpeed(BYTE bDivider);
void CSR_StartScan(bStrtSw, bSwCnt, bMode);
BYTE CSR_GetScanStatus();
BYTE CSR_iReadSwitch(Byte bSwitch);
CSR_bUpdateBaseline(bSwGroup);
BYTE CSR_bGetCentroidPos(bSwGroup);

CSR_Start和CSR_Stop分別是啟動(dòng)和停止CSR模塊。CSR_SetDacCurrent用于設(shè)定給Cp充電的恒流源的大小,bValue、bRange參數(shù)用于分兩級(jí)設(shè)定恒流源的值。CSR_SetScanSpeed用于設(shè)置PWM的周期值,其參數(shù)bDivider的值減2為PWM的Duty值。上面兩個(gè)函數(shù)的參數(shù)的調(diào)整可以調(diào)節(jié)觸摸按鍵和觸摸滾動(dòng)條的靈敏度和掃描周期。 CSR_StartScan用于啟動(dòng)掃描,bStrtSw、bSwCnt和bMode參數(shù)分別用于設(shè)置第一個(gè)掃描鍵的鍵號(hào)、順序掃描鍵的個(gè)數(shù)和掃描的方式,掃描的方式有單次掃描和連續(xù)掃描兩種方式。 CSR_GetScanStatus函數(shù)返回掃描的狀態(tài),CSR_iReadSwitch函數(shù)得到掃描的結(jié)果即定時(shí)器的計(jì)數(shù)值。

CSR_bUpdateBaseline是一個(gè)重要而有多種功能的函數(shù),如圖5所示。對(duì)于每一個(gè)觸摸感應(yīng)鍵,都有一個(gè)Baseline用于跟蹤在沒(méi)有手指觸摸時(shí)的定時(shí)器計(jì)數(shù)值,它是通過(guò)將每一次掃描得到的定時(shí)器的計(jì)數(shù)值做IIR濾波并符合有關(guān)條件后才作修正。作為差值比較的基準(zhǔn)線(xiàn),每一次掃描得到的定時(shí)器的計(jì)數(shù)值都要和它比較得到差值,該差值再和手指信號(hào)的閥值比較以判定有無(wú)手指觸摸。參數(shù)bSwGroup可選0、1和2,表明本次調(diào)用是修正觸摸按鍵還是第一或第二滾動(dòng)條。返回值是0或1,表明無(wú)或有手指觸摸。除了實(shí)施以上功能外,該函數(shù)還要完成峰值檢測(cè)和ESD檢測(cè),用于提高測(cè)試的性能。

手指在滾動(dòng)條上的定位

滾動(dòng)條通常被做成鋸齒排列,每一個(gè)鋸齒條對(duì)應(yīng)一個(gè)感應(yīng)塊,當(dāng)手指觸摸滾動(dòng)條或在其上移動(dòng)時(shí),某一時(shí)刻會(huì)有幾個(gè)連續(xù)的感應(yīng)塊被感應(yīng)(如圖6),手指中間對(duì)應(yīng)的感應(yīng)塊感應(yīng)量最大,兩邊順序遞減。這就可以用重心法來(lái)確定手指在滾動(dòng)條上的位置,此式是n=frac{sum_{n=0}^{m}n



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉