前言 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ù)墓I(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_t TouchKey_GetValue(uint8_t key, uint8_t ref)
{
uint32_t CurTime;
//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í)間
return CurTime;
}
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 性能參考

-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44992瀏覽量
650531 -
mcu
+關(guān)注
關(guān)注
146文章
17984瀏覽量
366985
發(fā)布評(píng)論請(qǐng)先 登錄
中微愛(ài)芯12鍵電容式觸摸按鍵電路AiP5912介紹

FZH31單鍵電容式觸摸按鍵IC中文手冊(cè)
代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開(kāi)發(fā)實(shí)戰(zhàn)正式出版

代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開(kāi)發(fā)實(shí)戰(zhàn)正式出版
電容式觸摸芯片 超強(qiáng)抗干擾 選型指南、應(yīng)用方案

MSP430電容式觸摸電源設(shè)計(jì)器GUI用戶指南

電容式觸摸感應(yīng)和SYS/BIOS

電容式觸摸按鍵的按鍵擴(kuò)展方法

CW32模塊使用 TTP224觸摸傳感器

電容式觸摸手勢(shì)軟件和調(diào)整應(yīng)用說(shuō)明

基于MSP430實(shí)現(xiàn)電視的電容式觸摸按鍵

請(qǐng)問(wèn)電容式觸摸按鍵的原理有哪些?
電容式觸摸感應(yīng)技術(shù)的原理和類(lèi)型
具備超強(qiáng)抗干擾和自動(dòng)校準(zhǔn)功能的單通道電容式觸摸IC-GT301L

評(píng)論