1、電容觸摸簡(jiǎn)介
ME32F030系列芯片的電容觸摸功能,可以對(duì)多達(dá)22管腳的電容進(jìn)行測(cè)量,利用一個(gè)RC震蕩電路頻率的改變來(lái)檢測(cè)手指觸摸引起的電容C的變化,從而實(shí)現(xiàn)電容觸摸按鍵。其中的RC在芯片內(nèi)部有4擋可以通過(guò)軟件選擇,從而實(shí)現(xiàn)從350K/600K/1.4M/3.6M的一個(gè)基本頻率。在ME32F030封裝下面,RC也可以使用外部電阻,用戶可以任意調(diào)節(jié)基本頻率。其基本原理如下圖:
圖1基本原理圖
?支持多達(dá)22電容觸摸按鍵
?可配置RC振蕩計(jì)數(shù)頻率和單位時(shí)間,最大限度去適應(yīng)不同的應(yīng)用要求。
?硬件自動(dòng)掃描,節(jié)省CPU資源。
觸摸按鍵相關(guān)管腳的映射關(guān)系如下表:
圖2管腳映射
2、應(yīng)用設(shè)計(jì)方式
在簡(jiǎn)介中介紹到觸摸電容是通過(guò)測(cè)量RC振蕩器頻率變化,才而判斷是否手指觸摸到按鍵。針對(duì)不同的應(yīng)用環(huán)境,為提高系統(tǒng)抗干擾能力,增強(qiáng)檢測(cè)靈敏度,觸摸按鍵模塊提供多種方法:
1.利用內(nèi)部電阻改變基本頻率
觸摸按鍵模塊通過(guò)4種電阻組合,從而產(chǎn)生4種不同頻率去滿足大多數(shù)應(yīng)用需求。用戶可以選擇最適合應(yīng)用的一個(gè)頻率,通過(guò)這個(gè)選擇,用戶可以只通過(guò)軟件就解決像EMI,靈敏度之類的問(wèn)題。
2.使用外部電阻改變模塊基本頻率
在一些特殊情況下,內(nèi)部電阻產(chǎn)生的頻率不足以滿足應(yīng)用要求,ME32F030R8T6還提供了另一個(gè)選擇外部電阻來(lái)產(chǎn)生用戶自己的一個(gè)頻率。當(dāng)外部電阻被采用時(shí),TOUCH_OUT和TOUCH_IN必須被設(shè)定并連接到電阻的兩端。該頻率可以使用下列公式來(lái)估算:
fOSC=1/(1.386×R×CSENSOR)
3.配置頻率計(jì)數(shù)周期時(shí)間
采用較長(zhǎng)的周期計(jì)數(shù)時(shí)間,用戶可以得到相對(duì)準(zhǔn)確的觸摸檢測(cè)。但是這也會(huì)減慢應(yīng)用對(duì)手指按鍵的反應(yīng)。選擇一個(gè)適當(dāng)?shù)臋z測(cè)時(shí)間,是取得一個(gè)好的用戶觸摸體驗(yàn)的關(guān)鍵。
舉例:在大多數(shù)情況下,300ms的按鍵反應(yīng)時(shí)間還算是一個(gè)不錯(cuò)的用戶體驗(yàn)。如應(yīng)用采用4個(gè)觸摸按鍵,那么最長(zhǎng)的頻率計(jì)數(shù)周期時(shí)間可以是300ms/4=85ms。按外設(shè)時(shí)鐘PCLK等于20MHz計(jì)算,寄存器SENSTM值應(yīng)配置20000*85=1700000。
4.使用門限寄存器判斷觸摸狀態(tài)
在一些無(wú)干擾,并且觸摸按鍵電容一致性好的應(yīng)用中,用戶可以使用門限寄存器去設(shè)置手指觸摸的界限,這樣可最大限度降低CPU時(shí)間和簡(jiǎn)化應(yīng)用程序。
3、觸摸應(yīng)用函數(shù)
在簡(jiǎn)化觸摸硬件開(kāi)發(fā)的基礎(chǔ)上,ME32F030也提供了庫(kù)函數(shù)來(lái)降低軟件開(kāi)發(fā)門檻,在Lib/common/Drives/source中提供了touch.c和touchme.c兩個(gè)庫(kù)函數(shù)C文件。
我們先做一個(gè)應(yīng)用例程,然后我們順著標(biāo)準(zhǔn)例程的應(yīng)用步驟,對(duì)庫(kù)函數(shù)的使用做解釋說(shuō)明。歷程的源代碼如下。
externtouchitouch;//觸摸信息結(jié)構(gòu)體itouch
intmain(void)
{
uint16_tupdatefreq=0xfff;
PA_12_INIT(PA_12_TOUCH5);//PA12引腳復(fù)用為TOUCH5引腳
itouch_init(TOUCH5);//初始化TOUCH5引腳
GPIO_ConfigPinsAsOutput(PB,IO_PIN9);//PB9設(shè)置為輸出方向
GPIO_SetPin(PB,IO_PIN9);////PB9設(shè)置為輸出高電平
while(1)
{
if(!updatefreq)//減計(jì)數(shù)至0后,更新觸摸電容基準(zhǔn)
{
updatefreq=0xfff;//計(jì)數(shù)重置
itouch_update();//更新觸摸電容基準(zhǔn)
}
//檢查是否有觸摸按鍵按下
if(itouch.status)
updatefreq=0xfff;//計(jì)數(shù)重置
else
updatefreq--;//計(jì)數(shù)自減
//判斷觸摸按鍵發(fā)生的引腳
if(itouch.status&TOUCH5)
GPIO_ResetPin(PB,IO_PIN9);//燈亮
else
GPIO_SetPin(PB,IO_PIN9);//燈滅
}
}
首先我們說(shuō)下touch結(jié)構(gòu)體,它定義在touchme.h頭文件中,它包含了所有的觸摸
信息和參數(shù),后面的庫(kù)函數(shù)基本都有用到它,而開(kāi)發(fā)者直接使用這個(gè)結(jié)構(gòu)體就可以了。(筆者對(duì)這個(gè)結(jié)構(gòu)體參數(shù)的詳細(xì)配置也不是很掌握,如果有感興趣的開(kāi)發(fā)者,還是建議向原廠的技術(shù)人員做詳細(xì)的了解)。
①、PA_12_INIT(PA_12_TOUCH5);使用前先將IO口復(fù)用為TOUCH功能。
②、itouch_init(TOUCH5);調(diào)用touchme.c中的庫(kù)函數(shù)來(lái)初始化TOUCH功能,這個(gè)庫(kù)函數(shù)只用我們把需要使能的觸摸引腳,作為參數(shù)傳遞給函數(shù)即可。庫(kù)函數(shù)來(lái)幫我們做詳細(xì)的初始化工作。
③、While(1)循環(huán)中做了一個(gè)倒計(jì)時(shí),當(dāng)計(jì)時(shí)自減為0時(shí),調(diào)用touchme.c文件中的庫(kù)函數(shù)itouch_update()來(lái)更新觸摸電容基準(zhǔn)。
④、當(dāng)有觸摸按鍵按下時(shí)在touchme.c中有voidTOUCH_IRQHandler(void)中斷服務(wù)程序,它來(lái)進(jìn)行硬件中斷實(shí)時(shí)監(jiān)測(cè)觸摸狀態(tài),當(dāng)檢測(cè)到有觸摸按鍵按下后,會(huì)將狀態(tài)變量itouch.status相對(duì)應(yīng)的位置1。
⑤、有硬件中斷的實(shí)時(shí)監(jiān)測(cè),這就簡(jiǎn)化了主函數(shù)while(1)內(nèi)的函數(shù)流程,我們只需要進(jìn)行if(itouch.status&TOUCH5)來(lái)判斷下對(duì)應(yīng)按鍵是否按下,根據(jù)狀態(tài)來(lái)執(zhí)行相應(yīng)的操作即可,這里是通過(guò)按鍵點(diǎn)亮小燈來(lái)做示范。
從上面流程可以看出,我們接觸最多的還是touchme.c文件中的函數(shù),它來(lái)幫助參數(shù)配置和模式的初始化流程。而真正進(jìn)行底層寄存器操作的還是touch.c文件中的函數(shù)。開(kāi)發(fā)者可以通過(guò)仿真來(lái)更加實(shí)際的了解詳細(xì)的底層操作。
4、下載驗(yàn)證
程序編譯無(wú)誤后,便可以下載仿真測(cè)試。程序下載完成后,點(diǎn)擊全速運(yùn)行即可。在這里為了方便演示,所以還是采用直觀的點(diǎn)燈方式。(有興趣的開(kāi)發(fā)者,可以做個(gè)按鍵觸摸門鈴之類的小應(yīng)用。)
當(dāng)我們沒(méi)有去觸摸按鍵的時(shí)候,開(kāi)發(fā)板上的小燈會(huì)處于熄滅狀態(tài),如圖所示:
圖3按鍵未觸摸狀態(tài)
接下來(lái)觸摸下開(kāi)發(fā)板左上角的觸摸板,會(huì)觀察到LED點(diǎn)亮,松手后又繼續(xù)熄滅。
圖4按鍵觸摸狀態(tài)
責(zé)任編輯人:CC
-
電容觸摸
+關(guān)注
關(guān)注
0文章
70瀏覽量
16632 -
應(yīng)用設(shè)計(jì)
+關(guān)注
關(guān)注
0文章
10瀏覽量
8562
發(fā)布評(píng)論請(qǐng)先 登錄
電容觸摸屏的工作原理
觸摸屏的工作原理
iPhone觸摸屏工作原理
觸摸屏的工作原理
觸摸屏的應(yīng)用與工作原理

觸摸式電子開(kāi)關(guān)工作原理

觸摸電容屏的工作原理
觸摸芯片的工作原理及應(yīng)用范圍
沐渥科普電阻觸摸屏和電容觸摸屏的工作原理及優(yōu)缺點(diǎn)

評(píng)論