前言 CW32 電容式觸摸按鍵設(shè)計(jì)指南向客戶提供一種利用 CW32 內(nèi)部資源結(jié)合軟件編程實(shí)現(xiàn)電容式觸摸按鍵有效 觸摸檢測(cè)的方法。本指南的內(nèi)容重點(diǎn)在于工作原理、軟件檢測(cè)過程以及調(diào)試指引。利用芯源半導(dǎo)體的 CW32 系列小規(guī)模 MCU 的 IO、比較器、定時(shí)器、高速高精度內(nèi)置 RC 時(shí)鐘源以及高算力 等功能,通過檢測(cè)電路端子電容的微小變化和波動(dòng),實(shí)現(xiàn)電容式觸摸按鍵功能。其外圍電路簡單,占用資源 比例不高,非常有利于用戶在節(jié)約 BOM 成本的前提下拓展功能。結(jié)合適當(dāng)?shù)墓I(yè)化設(shè)計(jì),觸摸按鍵比接觸 式按鍵更美觀、耐磨的同時(shí),還具有防水、抗干擾、壽命長等多種優(yōu)勢(shì)。通過本文,您會(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)無手指存在時(shí),金屬部件的電容為 Cp,其放 電時(shí)間為 t1;當(dāng)存在手指時(shí),增加的旁路電容為 Cx,此時(shí)的放電時(shí)間為 t2,如下圖所示,可以看出兩者之間 的放電時(shí)間是不一樣的:

2、 基于 CW32F003 的觸摸按鍵方案簡介
由于 CW32F003 集成了電壓比較器 VC 和定時(shí)器,因此觸摸按鍵方案可以通過軟件來實(shí)現(xiàn),其實(shí)現(xiàn)的原來框 圖如下所示:

其過程如下:1. GTIM 配置為門控計(jì)數(shù)方式,計(jì)數(shù)源為芯片內(nèi)部的 PCLK 時(shí)鐘。2. VC 比較器的同相端配置為按鍵的接口,反相段配置為參考,參考的來源為芯片的 VCC 通過內(nèi)部電阻網(wǎng) 絡(luò)分壓得到,VC 比較器輸出極性不反轉(zhuǎn)。3. GPIO 口配置為數(shù)字輸出,輸出高電平對(duì)電容充電。由于電容容值比較小,充電電流較大(圖中紅色箭 頭所示),電容上的電壓很快達(dá)到 VCC。4. GTIM的計(jì)數(shù)器 CNT清 0,GPIO口配置為輸入高阻態(tài),電容上的電荷基本通過 R泄放(圖中藍(lán)色箭頭所示), 需要一定的時(shí)間,此時(shí)電容上的電壓要比 VC 比較器的反相端的電壓高,VC 輸出高電平,是 GTIM 的門 控信號(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ù)值,和判決門限比較可以判斷是否發(fā)生觸 摸按鍵的事件。如下圖所示:

3、 電容觸摸檢測(cè)電路軟件過程
在范例程序中,軟件定時(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è)的具體過程如下:1. 將 IO 口置高 2 個(gè)機(jī)器周期,此時(shí)金屬部件及電容 C 對(duì) GND 的電壓被充高到 VCC。2. 將 IO 口配置為電壓比較器輸入模式,此時(shí) IO 口狀態(tài)切換為高阻輸入狀態(tài),金屬部件及電容 C 通過對(duì) GND 的旁路電阻 R 放電,端子電壓變化曲線為標(biāo)準(zhǔn)的 RC 放電曲線。3. 軟件記錄循環(huán)定時(shí)器(GTIM 最高主頻運(yùn)行)的當(dāng)前值,并等待電壓比較器的輸出翻轉(zhuǎn)(電壓比較器被 配置為與某電壓門限比較)。4. 電壓比較器輸出翻轉(zhuǎn)后立即記錄循環(huán)定時(shí)器當(dāng)前值,并結(jié)合前次記錄的時(shí)間記錄輸出結(jié)果。觸摸檢測(cè)過程的相關(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 以及比較器參考門限 V。DEMO 中,這三個(gè)參數(shù)一般為 C=4.7pF,R=51KΩ,V=9/64 VDD。C 和 R 的值,以及比較器參考門限 V 均可根據(jù)實(shí)際電路測(cè)試結(jié)果進(jìn)行調(diào)整,調(diào)整考量如下:1. C 的容量增加會(huì)令放電時(shí)間更長,在檢測(cè)程序中將會(huì)需要更多的機(jī)器周期等待比較器翻轉(zhuǎn)。2. C 的容量增加會(huì)顯著增強(qiáng)電路穩(wěn)定性但對(duì)檢測(cè)靈敏度沒有大的影響。3. R 的阻值增加會(huì)令放電時(shí)間更長,在檢測(cè)程序中將會(huì)需要更多的機(jī)器周期等待比較器翻轉(zhuǎn)。4. R 的阻值增加會(huì)降低電路穩(wěn)定性(高阻易受環(huán)境干擾)但對(duì)檢測(cè)靈敏度有明顯幫助。5. 比較器參考門限 V 過高會(huì)降低檢測(cè)靈敏度,但能節(jié)約檢測(cè)時(shí)間。門限 V 過低會(huì)削弱抗干擾能力并浪費(fèi)檢 測(cè)時(shí)間。
5、 調(diào)試指引及性能參考
5.1 示例軟件框架介紹
示例軟件占用 1 個(gè)基本定時(shí)器,利用定時(shí)中斷并在中斷服務(wù)程序中執(zhí)行按鍵檢測(cè)過程、定時(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)定工具來測(cè)量當(dāng)前環(huán)境的 RC 響應(yīng),執(zhí)行過程如下:1. 在沒有手指按下的情況下,執(zhí)行 TD_GetBaseResponseRCT,函數(shù)的參數(shù)用于選擇對(duì)應(yīng) IO,返回值作 為該按鍵的基礎(chǔ)時(shí)長 TB。2. 在有手指按下的情況下,執(zhí)行 TD_GetBaseResponseRCT,函數(shù)的參數(shù)用于選擇對(duì)應(yīng) IO,返回值作為 該按鍵的信號(hào)時(shí)長 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:比較器門限 V 也是可以針對(duì)每一個(gè)觸摸按鍵單獨(dú)選擇的,如果某個(gè)按鍵的 TB和 TS無法實(shí)現(xiàn)明顯的差異, 調(diào)節(jié) C、R 和 V 將是唯一有效的途徑。?另:由于本例利用了高阻態(tài) 及小信號(hào)檢測(cè)技術(shù),觸摸按鍵的布線要求盡量保持獨(dú)立性,其金屬部件、與 IO 的連線以及 RC 電路周圍要盡量避免與其它電路并列共存,否則將大幅提高參數(shù)選擇及調(diào)試難度直至無法完成。
5.3 性能參考

-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
45011瀏覽量
651138 -
mcu
+關(guān)注
關(guān)注
146文章
18001瀏覽量
367912
發(fā)布評(píng)論請(qǐng)先 登錄
FZH31單鍵電容式觸摸按鍵IC中文手冊(cè)
PT8028電容式觸摸控制ASIC中文手冊(cè)
代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開發(fā)實(shí)戰(zhàn)正式出版

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

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

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

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

CW32模塊使用 TTP224觸摸傳感器

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

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

評(píng)論