前言
CW32 電容式觸摸按鍵設(shè)計(jì)指南向客戶提供一種利用 CW32 內(nèi)部資源結(jié)合軟件編程實(shí)現(xiàn)電容式觸摸按鍵有效 觸摸檢測(cè)的方法。本指南的內(nèi)容重點(diǎn)在于工作原理、軟件檢測(cè)過(guò)程以及調(diào)試指引。
利用芯源半導(dǎo)體的 CW32 系列小規(guī)模 MCU 的 IO、比較器、定時(shí)器、高速高精度內(nèi)置 RC 時(shí)鐘源以及高算力 等功能,通過(guò)檢測(cè)電路端子電容的微小變化和波動(dòng),實(shí)現(xiàn)電容式觸摸按鍵功能。其外圍電路簡(jiǎn)單,占用資源 比例不高,非常有利于用戶在節(jié)約 BOM 成本的前提下拓展功能。結(jié)合適當(dāng)?shù)?a href="http://m.xsypw.cn/v/" target="_blank">工業(yè)化設(shè)計(jì),觸摸按鍵比接觸 式按鍵更美觀、耐磨的同時(shí),還具有防水、抗干擾、壽命長(zhǎng)等多種優(yōu)勢(shì)。
通過(guò)本文,您會(huì)了解到如何利用內(nèi)置電壓比較器和內(nèi)置定時(shí)器及軟件配合,實(shí)現(xiàn)靈活方便的按鍵檢測(cè)。本文 在介紹標(biāo)準(zhǔn)演示板(如下圖)和演示軟件的性能參數(shù)的同時(shí),還會(huì)給出詳細(xì)的調(diào)試建議以及設(shè)計(jì)參數(shù)選擇傾 向分析,用以幫助客戶快速而自信地完成設(shè)計(jì)并實(shí)施調(diào)試。
1、 電容觸摸檢測(cè)基本原理
獨(dú)立于電路的金屬部件都能夠作為電容觸摸傳感器使用,其原理在于金屬部件附近存在手指時(shí),相當(dāng)于增加 了金屬部件對(duì)地的旁路電容。因此,利用 CW32 系列 MCU 的 IO 口對(duì)金屬部件充電,并檢測(cè)電容放電時(shí)間的 變化,理論上能夠辨別金屬部件附近是否存在手指按壓動(dòng)作。當(dāng)無(wú)手指存在時(shí),金屬部件的電容為 Cp,其放 電時(shí)間為 t1;當(dāng)存在手指時(shí),增加的旁路電容為 Cx,此時(shí)的放電時(shí)間為 t2,如下圖所示,可以看出兩者之間 的放電時(shí)間是不一樣的:
2、 基于 CW32F003 的觸摸按鍵方案簡(jiǎn)介
由于 CW32F003 集成了電壓比較器 VC 和定時(shí)器,因此觸摸按鍵方案可以通過(guò)軟件來(lái)實(shí)現(xiàn),其實(shí)現(xiàn)的原來(lái)框 圖如下所示:
其過(guò)程如下:
1.GTIM 配置為門(mén)控計(jì)數(shù)方式,計(jì)數(shù)源為芯片內(nèi)部的 PCLK 時(shí)鐘。
2. VC 比較器的同相端配置為按鍵的接口,反相段配置為參考,參考的來(lái)源為芯片的 VCC 通過(guò)內(nèi)部電阻網(wǎng) 絡(luò)分壓得到,VC 比較器輸出極性不反轉(zhuǎn)。
3. GPIO 口配置為數(shù)字輸出,輸出高電平對(duì)電容充電。由于電容容值比較小,充電電流較大(圖中紅色箭 頭所示),電容上的電壓很快達(dá)到 VCC。
4. GTIM的計(jì)數(shù)器 CNT清 0,GPIO口配置為輸入高阻態(tài),電容上的電荷基本通過(guò) R泄放(圖中藍(lán)色箭頭所示), 需要一定的時(shí)間,此時(shí)電容上的電壓要比 VC 比較器的反相端的電壓高,VC 輸出高電平,是 GTIM 的門(mén) 控信號(hào)有效,GTIM 進(jìn)行計(jì)數(shù)。
5. 當(dāng)電容上的電壓降低到比 VC 比較器的反相端的參考電壓低時(shí),VC 輸出低電平,GTIM 停止計(jì)數(shù),同時(shí) VC 比較將產(chǎn)生一個(gè)中斷信號(hào),此時(shí)讀取 GTIM 的 CNT 的計(jì)數(shù)值,和判決門(mén)限比較可以判斷是否發(fā)生觸 摸按鍵的事件。如下圖所示:
3、 電容觸摸檢測(cè)電路軟件過(guò)程
在范例程序中,軟件定時(shí)(用定時(shí)器中斷實(shí)現(xiàn))對(duì)每個(gè)被測(cè) IO 充電并檢測(cè)放電時(shí)間 N 次,N 次循環(huán)檢測(cè)后, 將統(tǒng)計(jì)結(jié)果提交濾波器狀態(tài)機(jī),得到按鍵當(dāng)前狀態(tài)。每次檢測(cè)的具體過(guò)程如下:
1. 將 IO 口置高 2 個(gè)機(jī)器周期,此時(shí)金屬部件及電容 C 對(duì) GND 的電壓被充高到 VCC。
2. 將 IO 口配置為電壓比較器輸入模式,此時(shí) IO 口狀態(tài)切換為高阻輸入狀態(tài),金屬部件及電容 C 通過(guò)對(duì) GND 的旁路電阻 R 放電,端子電壓變化曲線為標(biāo)準(zhǔn)的 RC 放電曲線。
3. 軟件記錄循環(huán)定時(shí)器(GTIM 最高主頻運(yùn)行)的當(dāng)前值,并等待電壓比較器的輸出翻轉(zhuǎn)(電壓比較器被 配置為與某電壓門(mén)限比較)。
4. 電壓比較器輸出翻轉(zhuǎn)后立即記錄循環(huán)定時(shí)器當(dāng)前值,并結(jié)合前次記錄的時(shí)間記錄輸出結(jié)果。觸摸檢測(cè)過(guò)程的相關(guān)代碼如下:
uint32_tTouchKey_GetValue(uint8_tkey,uint8_tref) { uint32_tCurTime; //VC1切換通道 CW_VC1->CR0_f.INP=key;???//設(shè)置按鍵通道 CW_VC1->DIV_f.DIV=ref;????//設(shè)置按鍵比較的參考比例 //獲取放電時(shí)間 CW_GPIOB->DIR =~((1UL<<8)>>key);??//按鍵端口輸出,對(duì)電容充電 __NOP(); __NOP(); CW_GTIM->CNT=0x0000;????????//計(jì)數(shù)器清零 CW_GPIOB->DIR|=((1UL<<8)>>key);???//按鍵端口輸入高阻 while((CW_VC1->SR_f.FLTV)==1);?????//等到放電到比較點(diǎn) CurTime=CW_GTIM->CNT;????????//獲取放電時(shí)間 returnCurTime; }
4、 觸摸參數(shù)及選型傾向
為了保證檢測(cè)流程順利執(zhí)行,需要選擇每一個(gè)觸摸按鍵的基礎(chǔ)電容 C 和放電電阻 R 以及比較器參考門(mén)限 V。DEMO 中,這三個(gè)參數(shù)一般為 C=4.7pF,R=51KΩ,V=9/64 VDD。
C 和 R 的值,以及比較器參考門(mén)限 V 均可根據(jù)實(shí)際電路測(cè)試結(jié)果進(jìn)行調(diào)整,調(diào)整考量如下:
1. C 的容量增加會(huì)令放電時(shí)間更長(zhǎng),在檢測(cè)程序中將會(huì)需要更多的機(jī)器周期等待比較器翻轉(zhuǎn)。
2. C 的容量增加會(huì)顯著增強(qiáng)電路穩(wěn)定性但對(duì)檢測(cè)靈敏度沒(méi)有大的影響。
3. R 的阻值增加會(huì)令放電時(shí)間更長(zhǎng),在檢測(cè)程序中將會(huì)需要更多的機(jī)器周期等待比較器翻轉(zhuǎn)。
4. R 的阻值增加會(huì)降低電路穩(wěn)定性(高阻易受環(huán)境干擾)但對(duì)檢測(cè)靈敏度有明顯幫助。
5. 比較器參考門(mén)限 V 過(guò)高會(huì)降低檢測(cè)靈敏度,但能節(jié)約檢測(cè)時(shí)間。門(mén)限 V 過(guò)低會(huì)削弱抗干擾能力并浪費(fèi)檢 測(cè)時(shí)間。
5、 調(diào)試指引及性能參考
5.1 示例軟件框架介紹
示例軟件占用 1 個(gè)基本定時(shí)器,利用定時(shí)中斷并在中斷服務(wù)程序中執(zhí)行按鍵檢測(cè)過(guò)程、定時(shí)周期 10 毫秒。每次進(jìn)入中斷服務(wù)程序后,順序掃描 M 個(gè)觸摸按鍵的 RC 響應(yīng)。
順序掃描 N 次后,將 RC 響應(yīng)結(jié)果數(shù)據(jù)提交濾波器狀態(tài)機(jī)。
濾波器狀態(tài)機(jī)輸出按鍵狀態(tài)結(jié)果。
5.2 調(diào)試工具 TD_GetBaseResponseRCT 的使用
示例軟件提供一組標(biāo)定工具來(lái)測(cè)量當(dāng)前環(huán)境的 RC 響應(yīng),執(zhí)行過(guò)程如下:
1.在沒(méi)有手指按下的情況下,執(zhí)行 TD_GetBaseResponseRCT,函數(shù)的參數(shù)用于選擇對(duì)應(yīng) IO,返回值作 為該按鍵的基礎(chǔ)時(shí)長(zhǎng) TB。
2. 在有手指按下的情況下,執(zhí)行 TD_GetBaseResponseRCT,函數(shù)的參數(shù)用于選擇對(duì)應(yīng) IO,返回值作為 該按鍵的信號(hào)時(shí)長(zhǎng) TS。
注 1:每一個(gè)按鍵(IO)的 TB和 TS都應(yīng)被單獨(dú)收集并作為濾波器狀態(tài)機(jī)的參數(shù)使用。
注 2:各種溫濕度條件下的 TB和 TS都應(yīng)該在實(shí)驗(yàn)室中被采集并用于影響濾波器狀態(tài)機(jī)的參數(shù)。
注 3:比較器門(mén)限 V 也是可以針對(duì)每一個(gè)觸摸按鍵單獨(dú)選擇的,如果某個(gè)按鍵的 TB和 TS無(wú)法實(shí)現(xiàn)明顯的差異, 調(diào)節(jié) C、R 和 V 將是唯一有效的途徑。?
另:由于本例利用了高阻態(tài) 及小信號(hào)檢測(cè)技術(shù),觸摸按鍵的布線要求盡量保持獨(dú)立性,其金屬部件、與 IO 的連線以及 RC 電路周?chē)M量避免與其它電路并列共存,否則將大幅提高參數(shù)選擇及調(diào)試難度直至無(wú)法完成。
5.3 性能參考
來(lái)源:武漢芯源半導(dǎo)體
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理
審核編輯 黃宇
-
電路
+關(guān)注
關(guān)注
173文章
5974瀏覽量
173036 -
濾波器
+關(guān)注
關(guān)注
161文章
7870瀏覽量
179048 -
電容式
+關(guān)注
關(guān)注
0文章
354瀏覽量
52855 -
觸摸按鍵
+關(guān)注
關(guān)注
7文章
121瀏覽量
67541
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
深度應(yīng)用在智能冰箱觸摸屏中的電容式觸摸芯片-GT301L
![深度應(yīng)用在智能冰箱<b class='flag-5'>觸摸</b>屏中的<b class='flag-5'>電容式</b><b class='flag-5'>觸摸</b>芯片-GT301L](https://file1.elecfans.com/web2/M00/FE/B7/wKgaomafAweADFH6AACMFUI6Xkc512.png)
電容式觸摸芯片 超強(qiáng)抗干擾 選型指南、應(yīng)用方案
![<b class='flag-5'>電容式</b><b class='flag-5'>觸摸</b>芯片 超強(qiáng)抗干擾 選型<b class='flag-5'>指南</b>、應(yīng)用方案](https://file1.elecfans.com//web3/M00/03/7D/wKgZO2dpG_KAYtcBAABQkmQFQ-A615.png)
MSP430電容式觸摸電源設(shè)計(jì)器GUI用戶指南
![MSP430<b class='flag-5'>電容式</b><b class='flag-5'>觸摸</b>電源設(shè)計(jì)器GUI用戶<b class='flag-5'>指南</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
電容式觸摸感應(yīng)和SYS/BIOS
![<b class='flag-5'>電容式</b><b class='flag-5'>觸摸</b>感應(yīng)和SYS/BIOS](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
電容式觸摸按鍵的按鍵擴(kuò)展方法
![<b class='flag-5'>電容式</b><b class='flag-5'>觸摸</b><b class='flag-5'>按鍵</b>的<b class='flag-5'>按鍵</b>擴(kuò)展方法](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CW32模塊使用 TTP224觸摸傳感器
![<b class='flag-5'>CW32</b>模塊使用 TTP224<b class='flag-5'>觸摸</b>傳感器](https://file1.elecfans.com//web2/M00/07/AC/wKgaombqgsWAWgjpAAA3HrTUR0Y81.webp)
電容式觸摸手勢(shì)軟件和調(diào)整應(yīng)用說(shuō)明
![<b class='flag-5'>電容式</b><b class='flag-5'>觸摸</b>手勢(shì)軟件和調(diào)整應(yīng)用說(shuō)明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于MSP430實(shí)現(xiàn)電視的電容式觸摸按鍵
![基于MSP430實(shí)現(xiàn)電視的<b class='flag-5'>電容式</b><b class='flag-5'>觸摸</b><b class='flag-5'>按鍵</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
請(qǐng)問(wèn)電容式觸摸按鍵的原理有哪些?
電容式觸摸感應(yīng)技術(shù)的原理和類(lèi)型
具備超強(qiáng)抗干擾和自動(dòng)校準(zhǔn)功能的單通道電容式觸摸IC-GT301L
![具備超強(qiáng)抗干擾和自動(dòng)校準(zhǔn)功能的單通道<b class='flag-5'>電容式</b><b class='flag-5'>觸摸</b>IC-GT301L](https://file1.elecfans.com/web2/M00/FE/B7/wKgaomafAweADFH6AACMFUI6Xkc512.png)
基于Arduino的數(shù)字電容式觸摸傳感器設(shè)計(jì)
![基于Arduino的數(shù)字<b class='flag-5'>電容式</b><b class='flag-5'>觸摸</b>傳感器設(shè)計(jì)](https://file1.elecfans.com/web2/M00/F8/64/wKgZomaHu_2AZB2BAAe2N3biMc4489.png)
【項(xiàng)目展示】基于CW32的遙控循跡小車(chē)
![【項(xiàng)目展示】基于<b class='flag-5'>CW32</b>的遙控循跡小車(chē)](https://file1.elecfans.com//web2/M00/EA/AA/wKgZomZZmU-AaDmZAADtIBlrbLs17.webp)
評(píng)論