前言 CW32 電容式觸摸按鍵設(shè)計(jì)指南向客戶提供一種利用 CW32 內(nèi)部資源結(jié)合軟件編程實(shí)現(xiàn)電容式觸摸按鍵有效 觸摸檢測的方法。本指南的內(nèi)容重點(diǎn)在于工作原理、軟件檢測過程以及調(diào)試指引。利用芯源半導(dǎo)體的 CW32 系列小規(guī)模 MCU 的 IO、比較器、定時(shí)器、高速高精度內(nèi)置 RC 時(shí)鐘源以及高算力 等功能,通過檢測電路端子電容的微小變化和波動(dòng),實(shí)現(xiàn)電容式觸摸按鍵功能。其外圍電路簡單,占用資源 比例不高,非常有利于用戶在節(jié)約 BOM 成本的前提下拓展功能。結(jié)合適當(dāng)?shù)?a target="_blank">工業(yè)化設(shè)計(jì),觸摸按鍵比接觸 式按鍵更美觀、耐磨的同時(shí),還具有防水、抗干擾、壽命長等多種優(yōu)勢。通過本文,您會(huì)了解到如何利用內(nèi)置電壓比較器和內(nèi)置定時(shí)器及軟件配合,實(shí)現(xiàn)靈活方便的按鍵檢測。本文 在介紹標(biāo)準(zhǔn)演示板(如下圖)和演示軟件的性能參數(shù)的同時(shí),還會(huì)給出詳細(xì)的調(diào)試建議以及設(shè)計(jì)參數(shù)選擇傾 向分析,用以幫助客戶快速而自信地完成設(shè)計(jì)并實(shí)施調(diào)試。
1、 電容觸摸檢測基本原理
獨(dú)立于電路的金屬部件都能夠作為電容觸摸傳感器使用,其原理在于金屬部件附近存在手指時(shí),相當(dāng)于增加 了金屬部件對地的旁路電容。因此,利用 CW32 系列 MCU 的 IO 口對金屬部件充電,并檢測電容放電時(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ù)字輸出,輸出高電平對電容充電。由于電容容值比較小,充電電流較大(圖中紅色箭 頭所示),電容上的電壓很快達(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、 電容觸摸檢測電路軟件過程
在范例程序中,軟件定時(shí)(用定時(shí)器中斷實(shí)現(xiàn))對每個(gè)被測 IO 充電并檢測放電時(shí)間 N 次,N 次循環(huán)檢測后, 將統(tǒng)計(jì)結(jié)果提交濾波器狀態(tài)機(jī),得到按鍵當(dāng)前狀態(tài)。每次檢測的具體過程如下:1. 將 IO 口置高 2 個(gè)機(jī)器周期,此時(shí)金屬部件及電容 C 對 GND 的電壓被充高到 VCC。2. 將 IO 口配置為電壓比較器輸入模式,此時(shí) IO 口狀態(tài)切換為高阻輸入狀態(tài),金屬部件及電容 C 通過對 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é)果。觸摸檢測過程的相關(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);? ?// 按鍵端口輸出,對電容充電
__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ù)及選型傾向
為了保證檢測流程順利執(zhí)行,需要選擇每一個(gè)觸摸按鍵的基礎(chǔ)電容 C 和放電電阻 R 以及比較器參考門限 V。DEMO 中,這三個(gè)參數(shù)一般為 C=4.7pF,R=51KΩ,V=9/64 VDD。C 和 R 的值,以及比較器參考門限 V 均可根據(jù)實(shí)際電路測試結(jié)果進(jìn)行調(diào)整,調(diào)整考量如下:1. C 的容量增加會(huì)令放電時(shí)間更長,在檢測程序中將會(huì)需要更多的機(jī)器周期等待比較器翻轉(zhuǎn)。2. C 的容量增加會(huì)顯著增強(qiáng)電路穩(wěn)定性但對檢測靈敏度沒有大的影響。3. R 的阻值增加會(huì)令放電時(shí)間更長,在檢測程序中將會(huì)需要更多的機(jī)器周期等待比較器翻轉(zhuǎn)。4. R 的阻值增加會(huì)降低電路穩(wěn)定性(高阻易受環(huán)境干擾)但對檢測靈敏度有明顯幫助。5. 比較器參考門限 V 過高會(huì)降低檢測靈敏度,但能節(jié)約檢測時(shí)間。門限 V 過低會(huì)削弱抗干擾能力并浪費(fèi)檢 測時(shí)間。
5、 調(diào)試指引及性能參考
5.1 示例軟件框架介紹
示例軟件占用 1 個(gè)基本定時(shí)器,利用定時(shí)中斷并在中斷服務(wù)程序中執(zhí)行按鍵檢測過程、定時(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)定工具來測量當(dāng)前環(huán)境的 RC 響應(yīng),執(zhí)行過程如下:1. 在沒有手指按下的情況下,執(zhí)行 TD_GetBaseResponseRCT,函數(shù)的參數(shù)用于選擇對應(yīng) IO,返回值作 為該按鍵的基礎(chǔ)時(shí)長 TB。2. 在有手指按下的情況下,執(zhí)行 TD_GetBaseResponseRCT,函數(shù)的參數(shù)用于選擇對應(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 也是可以針對每一個(gè)觸摸按鍵單獨(dú)選擇的,如果某個(gè)按鍵的 TB和 TS無法實(shí)現(xiàn)明顯的差異, 調(diào)節(jié) C、R 和 V 將是唯一有效的途徑。?另:由于本例利用了高阻態(tài) 及小信號(hào)檢測技術(shù),觸摸按鍵的布線要求盡量保持獨(dú)立性,其金屬部件、與 IO 的連線以及 RC 電路周圍要盡量避免與其它電路并列共存,否則將大幅提高參數(shù)選擇及調(diào)試難度直至無法完成。
5.3 性能參考
-
單片機(jī)
+關(guān)注
關(guān)注
6032文章
44525瀏覽量
633264 -
mcu
+關(guān)注
關(guān)注
146文章
17019瀏覽量
350375
發(fā)布評論請先 登錄
相關(guān)推薦
評論