




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第14章章 電容感應(yīng)模塊電容感應(yīng)模塊 何賓 2012.05本章內(nèi)容本章內(nèi)容 本章主要是介紹PSoC5內(nèi)的電容總線模塊,電容感應(yīng)模塊是PSoC芯片最重要,也是最有特點(diǎn)的功能單元,電容感應(yīng)觸摸被廣泛的應(yīng)用在各種嵌入式應(yīng)用中。 本章內(nèi)容主要包括:n電容感應(yīng)模塊的結(jié)構(gòu);n電容感應(yīng)-算法;n電容觸摸感應(yīng)的實(shí)現(xiàn); 電容感應(yīng)觸摸電容感應(yīng)觸摸模塊的結(jié)構(gòu)模塊的結(jié)構(gòu) 電容感應(yīng)觸摸系統(tǒng)提供了豐富和高效的手段來(lái)測(cè)量電容量,比如觸摸感應(yīng)按鍵,滑動(dòng)塊,接近度檢測(cè)。下圖給出了電容感應(yīng)模塊的結(jié)構(gòu)圖。 電容感應(yīng)觸摸系統(tǒng)使用系統(tǒng)資源配置,包括一些用于電容感應(yīng)觸摸的硬件功能。該模塊的主要特點(diǎn)有:n同時(shí)支持掃描兩個(gè)電容傳感器;n可
2、配置的低通濾波器來(lái)消除開關(guān)噪聲,用于精確測(cè)量;n用于更快速測(cè)量的帶有高驅(qū)動(dòng)模式的參考緩沖區(qū)。 電容感應(yīng)觸摸電容感應(yīng)觸摸模塊的結(jié)構(gòu)模塊的結(jié)構(gòu)電容感應(yīng)觸摸電容感應(yīng)觸摸模塊的結(jié)構(gòu)模塊的結(jié)構(gòu) 1參考驅(qū)動(dòng) 這個(gè)驅(qū)動(dòng)器用來(lái)快速的初始化網(wǎng)絡(luò)到獨(dú)立于供電電源的一個(gè)電壓。這個(gè)能力加速了電容掃描,并且改善了電源抑制比。兩個(gè)參考驅(qū)動(dòng)獨(dú)立運(yùn)行;一個(gè)驅(qū)動(dòng)到AMUXBUSL,另一個(gè)驅(qū)動(dòng)到AMUXBUSR。通過(guò)設(shè)置CAPSX_CFG0寄存器的out_en位,將驅(qū)動(dòng)器連接到AMUXBUS。 參考驅(qū)動(dòng)支持普通和高驅(qū)動(dòng)模式,通過(guò)設(shè)置CAPSX_CFG0寄存器的boost位選擇驅(qū)動(dòng)模式。n在普通模式下,在600ns內(nèi)驅(qū)動(dòng)電容最大到
3、100pF;n在高驅(qū)動(dòng)模式下,在15us內(nèi)驅(qū)動(dòng)電容最大到30nF。電容感應(yīng)觸摸電容感應(yīng)觸摸模塊的結(jié)構(gòu)模塊的結(jié)構(gòu) 2低通濾波器 提供兩個(gè)可調(diào)的低通濾波器(Low Pass Filter,LPF)。每個(gè)LPF通過(guò)2:1復(fù)用開關(guān)選擇輸入。n在左側(cè),LPF輸入是AMUXBUSL和AGL0;n在右側(cè),LPF輸入是AMUXBUSR和AGR0。 使用LPF.CRO寄存器的swin1:0位選擇LPF的輸入。通過(guò)開關(guān)將LPF的輸出連接到abusl0和abusr0??烧{(diào)的LPF允許用戶選擇R值為200k或者1000k,C值為5pF或者為10pF。 LPFx_CR0寄存器內(nèi)的rsel和csel位用來(lái)選擇電阻和電容。
4、LPF的控制寄存器為L(zhǎng)PF0_CR0和LPF1_CR0。電容感應(yīng)觸摸電容感應(yīng)觸摸模塊的結(jié)構(gòu)模塊的結(jié)構(gòu) 3模擬復(fù)用總線 除了SIO和USB引腳外,所有的GPIO引腳均支持電容感應(yīng)操作。用于電容感應(yīng)基本模擬復(fù)用總線是AMUXBUS,該總線有兩個(gè)網(wǎng)絡(luò)(AMUXBUSL和AMUXBUSR)用于兩個(gè)同步的感應(yīng)操作。這些也能被短路生成單個(gè)網(wǎng)絡(luò),該網(wǎng)絡(luò)連接到所有的GPIO。 AMUXBUSL和AMUXBUSR網(wǎng)絡(luò)連接到各自一半的GPIO,支持電容感應(yīng)方法的所有特征。電容感應(yīng)使用AMUXBUS網(wǎng)絡(luò)、AMUXBUSR的模擬全局網(wǎng)絡(luò)AGR0和AMUXBUSL的模擬全局網(wǎng)絡(luò)AGL0,提供到參考源的反饋。這個(gè)反饋通常
5、是來(lái)自于外部電容連接的引腳,這個(gè)電容用于積分或者調(diào)制電容。電容感應(yīng)觸摸電容感應(yīng)觸摸模塊的結(jié)構(gòu)模塊的結(jié)構(gòu) 4GPIO配置 右圖給出了GPIO結(jié)構(gòu)。端口模擬全局復(fù)用寄存器(PRTx_AMUX)被用來(lái)連接端口引腳到模擬復(fù)用總線。設(shè)置CAPSx_CFG1寄存器的io_ctrl1:0來(lái)使能上拉或下拉。 下圖給出了在兩種配置的感應(yīng)電容的切換,用來(lái)將電容轉(zhuǎn)換成相對(duì)應(yīng)的電阻進(jìn)行測(cè)量。 電容感應(yīng)觸摸模塊的結(jié)構(gòu)電容感應(yīng)觸摸模塊的結(jié)構(gòu)(a) 通過(guò)感應(yīng)電阻對(duì)通過(guò)感應(yīng)電阻對(duì)MUXBUS充電充電(b) 通過(guò)感應(yīng)電阻對(duì)通過(guò)感應(yīng)電阻對(duì)MUXBUS放電放電電容感應(yīng)觸摸電容感應(yīng)觸摸模塊的結(jié)構(gòu)模塊的結(jié)構(gòu) 用下式計(jì)算等效電阻: 其中
6、:nCs=傳感器電容n1,2=非重疊的時(shí)鐘,可以用偽隨機(jī)序列發(fā)生器產(chǎn)生 (pseudo random sequence, PRS)。nfs=時(shí)鐘頻率nCmod=外部調(diào)制電容; 電容感應(yīng)的方法通過(guò)將GPIO引腳在高低電平之間切換實(shí)現(xiàn)。硬件的剩余部分配置成合適的極性來(lái)匹配上拉或下拉電阻。)(1ssSCfR 電容感應(yīng)模塊的結(jié)構(gòu)電容感應(yīng)模塊的結(jié)構(gòu) 電容感應(yīng)時(shí)鐘用于切換。可以使用兩種方法來(lái)產(chǎn)生CapSense時(shí)鐘: 1)UDB產(chǎn)生兩個(gè)全局時(shí)鐘(caps_dsi_lft和caps_dsi_rt),并且布線到各自一側(cè)的I/O引腳的GPIO邏輯。設(shè)置PRTx_CAPS_SELy寄存器(基于每端口/每引腳模式)
7、來(lái)選擇用于在測(cè)量期間切換傳感器的全局時(shí)鐘; 2)到I/O引腳的DSI輸出能用于來(lái)自UDB的電容感應(yīng)的時(shí)鐘源。編程PRTx_BIEy用于輸入(每端口/每引腳),并且清除PRTx_CAPS_SELy選擇DSI輸出作為電容感應(yīng)的時(shí)鐘。 電容感應(yīng)模塊的結(jié)構(gòu)電容感應(yīng)模塊的結(jié)構(gòu) 注意:靜態(tài)連接外部的集成電容Cmod(沒(méi)有切換),使用PRTx_AMUX寄存器將其連接到AMUXBUS,并且PRTx_CAPS_ SELy=0,PRTx_BIEy=0。 GPIO引腳能作為屏蔽電極。屏蔽電極用于幫助在出現(xiàn)水膜或水滴的情況下,提高操作的可靠性。測(cè)量這些影響因素在屏蔽電極的影響,并且從電容感應(yīng)按鍵中消除。下面討論的電容
8、感應(yīng)算法支持屏蔽電容。 電容感應(yīng)電容感應(yīng)-算法算法 下圖給出了電容感應(yīng)-(Capsense Delta Sigma, CSD)的硬件配置。 電容感應(yīng)算法電容感應(yīng)算法 -電容感應(yīng)電容感應(yīng)-算法算法下圖給出了CSD算法的波形圖。 電容感應(yīng)算法電容感應(yīng)算法 -電容感應(yīng)電容感應(yīng)-算法算法 電容感應(yīng)-通過(guò)將積分電容的電壓保持在目標(biāo)門限的附近,并且基于目前的比較器的輸出狀態(tài)對(duì)電容進(jìn)行充電和放電操作來(lái)實(shí)現(xiàn)的。 感應(yīng)電容在Vdd和積分電容之間進(jìn)行連續(xù)的切換,用來(lái)在每個(gè)切換周期內(nèi)驅(qū)動(dòng)積分電壓升高。電容感應(yīng)算法電容感應(yīng)算法 電容感應(yīng)電容感應(yīng)-算法算法 下面給出CSD算法的具體實(shí)現(xiàn)步驟: 1當(dāng)積分電壓達(dá)到參考電壓時(shí)
9、,比較器將使電流DAC對(duì)電容進(jìn)行放電。 2當(dāng)電容放電電壓低于參考電壓時(shí),禁止IDAC,以允許電容連續(xù)的充電。 3當(dāng)積分電容電壓在比較器門限附近波動(dòng)的時(shí)候,在一個(gè)間隔內(nèi)對(duì)比較器的低輸出進(jìn)行計(jì)數(shù),然后給出感應(yīng)電容的測(cè)量結(jié)果。 電容感應(yīng)算法電容感應(yīng)算法 -電容感應(yīng)電容感應(yīng)-算法算法 4觸摸時(shí)感應(yīng)電容增加,因此等效電阻減少。這樣就引起流經(jīng)感應(yīng)等效電阻的電流增加。 5在觸摸時(shí),為了將Cmod的電壓保持在VREF附近,IDAC的吸收電流用于長(zhǎng)期補(bǔ)償較大的感應(yīng)電容。這樣就相應(yīng)的改變計(jì)數(shù)值。 一個(gè)PRS時(shí)鐘用來(lái)替換固定的時(shí)鐘源來(lái)驅(qū)動(dòng)預(yù)充電開關(guān)。與固定時(shí)鐘源相比較,PRS時(shí)鐘降低了感應(yīng)電容上的輻射噪聲,因此改善
10、了EMI和干擾性能。電容感應(yīng)算法電容感應(yīng)算法 -電容感應(yīng)電容感應(yīng)-算法算法 PSoC也支持其它CSD算法: 1)基于比較器的輸出,開關(guān)電容電阻用來(lái)對(duì)積分電容進(jìn)行充電,外部的泄漏電阻器用來(lái)對(duì)積分電容進(jìn)行放電。 2)基于比較器的輸出,翻轉(zhuǎn)極性,IDAC就能被用于對(duì)積分電容進(jìn)行充電,開關(guān)電容電阻將積分電容對(duì)地進(jìn)行放電(圖7.32(b)。電容觸摸感應(yīng)實(shí)現(xiàn) 該設(shè)計(jì)實(shí)現(xiàn)電容感應(yīng)的應(yīng)用。開發(fā)板首先初始化液晶屏和元件。在主循環(huán)中,它掃描兩個(gè)按鈕是否有激活。并且在LCD上顯示觸摸感應(yīng)的狀態(tài)。電容觸摸感應(yīng)實(shí)現(xiàn)電容觸摸感應(yīng)實(shí)現(xiàn)-創(chuàng)建和配置工程創(chuàng)建和配置工程 1在計(jì)算機(jī)上的桌面上,選擇開始-所有程序-Cypress-
11、PSoC Creator 2.0-PsoC Creator 2.0。打開PSoC Creator軟件; 2在PSoC Creator 2.0軟件的主界面下,選擇File-New-Project.; 3在New Project窗口,選擇Empty PSoC5 Design模板,并將工程命命名為CapSense_CSD _Design。選擇工程保存路徑,點(diǎn)擊“OK”按鈕; 創(chuàng)建和配置工程創(chuàng)建和配置工程-添加并配置添加并配置CapSense 下面給出添加并配置CapSense的步驟,主要步驟包括: 1拖動(dòng)并且放置CapSense到原理圖內(nèi)(Component Catalog-CapSense- Ca
12、pSense_CSD)。 2雙擊器件原理圖內(nèi)的CapSense_CSD符號(hào),打開配置窗口。如下圖所示,在Widget(部件)配置窗口中按下面步驟添加觸摸按鍵和觸摸滑塊部件: 創(chuàng)建和配置工程創(chuàng)建和配置工程-添加并配置添加并配置CapSense創(chuàng)建和配置工程創(chuàng)建和配置工程-添加并配置添加并配置CapSensen選擇Buttons條目,在按鈕 上,連續(xù)點(diǎn)擊兩次, 添加兩個(gè)觸摸按鍵部件Button0和Button1;n 選擇Linear Sliders條目,在按鈕 上,點(diǎn)擊一次,添加觸摸滑塊部件LinearSlider0;n選擇Button0,出現(xiàn)下圖所示的界面,按下面參數(shù)設(shè)置觸摸按鍵的屬性。創(chuàng)建和配
13、置工程創(chuàng)建和配置工程-添加并配置添加并配置CapSensen 選擇Buutton1,按照Button0的屬性來(lái)設(shè)置Button1的屬性,即 兩個(gè)觸摸按鍵的屬性一樣。下圖設(shè)置觸摸滑塊的屬性。n選擇LinearSlider0,出現(xiàn)下圖所示的界面,按下面的參數(shù)設(shè)置 觸摸滑塊的屬性。n接受其它參數(shù)默認(rèn)設(shè)置;n點(diǎn)擊“OK”按鈕,關(guān)閉屬性設(shè)置界面。創(chuàng)建和配置工程創(chuàng)建和配置工程-添加并配置字符添加并配置字符LCD 下面給出添加并配置字符的步驟,主要步驟包括: 1拖動(dòng)Character LCD并將其放置在原理圖中(Component Catalog-Display- Character LCD)。 2雙擊LC
14、D_Char_1元件。 3設(shè)置參數(shù)如下:nName: LCDnLCD Custom Character Set: Horizontal Bargraph。nInclude ASCII to Number Conversion Routines:選中n其它按照默認(rèn)設(shè)置 4點(diǎn)擊“OK”,關(guān)閉屬性設(shè)置界面。創(chuàng)建和配置工程創(chuàng)建和配置工程-配置引腳配置引腳 下面給出配置管腳的步驟,主要步驟包括: 1從Workspace Explore,雙擊CapSense_CSD_Design.cydwr文件。 2點(diǎn)擊pin標(biāo)簽。 3如下圖所示,為Cmod_CH0、Button0_BTN0、Button1_BTN、Li
15、nearSlider0_e0_LS LinearSlider0_e4_LS、和LCD:LCDPort6:0 分配引腳。創(chuàng)建和配置工程創(chuàng)建和配置工程-配置引腳配置引腳創(chuàng)建和配置工程創(chuàng)建和配置工程-編寫程序編寫程序n#include nn/* Need for Bargraph */nextern uint8 const CYCODE LCD_customFonts;nuint16 curPos, oldPos;nnvoid main()nn /* 使能全局中斷*/n CyGlobalIntEnable;n LCD_Start();n LCD_LoadCustomFonts(LCD_customF
16、onts);n LCD_Position(0u, 0u);n LCD_PrintString(CSD01);創(chuàng)建和配置工程創(chuàng)建和配置工程-編寫程序編寫程序/* 初始化CapSense CSD ,并且啟動(dòng)傳感器掃描循環(huán)*/ /*啟動(dòng)CapSense和基線*/ CapSense_CSD_Start(); /* I初始化基線 */ CapSense_CSD_InitializeAllBaselines(); /* 啟動(dòng)掃描所有使能的傳感器*/ CapSense_CSD_ScanEnabledWidgets(); while(1u) /* 更新所有的基線*/ CapSense_CSD_UpdateEn
17、abledBaselines(); 創(chuàng)建和配置工程創(chuàng)建和配置工程-編寫程序編寫程序/* 啟動(dòng)掃描所有的傳感器*/ CapSense_CSD_ScanEnabledWidgets(); /*顯示CapSense狀態(tài)*/ while(CapSense_CSD_IsBusy() != 0) LCD_DisplayState(); /*函數(shù)名字: LCD_DisplayState*/創(chuàng)建和配置工程創(chuàng)建和配置工程-編寫程序編寫程序void LCD_DisplayState(void) /* 顯示BUTTON0的狀態(tài)*/ LCD_Position(1u, 0u); if (CapSense_CSD_Che
18、ckIsWidgetActive(CapSense_CSD_BUTTON0_BTN) LCD_PrintString(A); else LCD_PrintString(B); /* 顯示BUTTON1的狀態(tài)*/ LCD_Position(1u, 2u); if (CapSense_CSD_CheckIsWidgetActive(CapSense_CSD_BUTTON1_BTN) LCD_PrintString(A); 創(chuàng)建和配置工程創(chuàng)建和配置工程-編寫程序編寫程序 else LCD_PrintString(B); /* 找到滑塊的位置*/ curPos = CapSense_CSD_GetCentroidPos(CapSense_CSD_LINEARSLIDER0_LS); /* 復(fù)位位置 */ if(curPos = 0 xFFFFu) curPos = 0u; /*移動(dòng)條形圖 */創(chuàng)建和配置工程創(chuàng)建和配置工程-編寫程序編寫程序 if (curPos != oldPos) oldPos = curPos; /* 顯示滑塊條形圖*/ if (curPos !=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇淮安2024~2025學(xué)年高二下冊(cè)6月期末調(diào)研測(cè)試數(shù)學(xué)試題含解析
- 2024~2025學(xué)年江蘇連云港東海縣七年級(jí)下冊(cè)4月期中數(shù)學(xué)試題【帶答案】
- 節(jié)能環(huán)保理念在空調(diào)器中的應(yīng)用考核試卷
- 制作工藝優(yōu)化方法考核試卷
- 應(yīng)急通信系統(tǒng)與應(yīng)急指揮系統(tǒng)的結(jié)合考核試卷
- 應(yīng)急資金使用監(jiān)督與管理考核試卷
- 糖廠糖蜜酵母發(fā)酵技術(shù)考核試卷
- 信用卡智能客服系統(tǒng)開發(fā)考核試卷
- 醫(yī)療設(shè)備信托與患者權(quán)益保護(hù)考核試卷
- 2025年中國(guó)KU頻段衛(wèi)星通信天線數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 棄土場(chǎng)施工現(xiàn)場(chǎng)管理方案
- 內(nèi)審檢查表完整版本
- 常規(guī)體外受精中國(guó)專家共識(shí)(2024年)解讀
- 山東青島市李滄區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末考試英語(yǔ)試題
- 遭遇暴徒的應(yīng)急預(yù)案及流程
- 《城市排水管渠數(shù)字化檢測(cè)與評(píng)估技術(shù)規(guī)程》
- 醫(yī)?;鸨O(jiān)管培訓(xùn)課件
- 穿越華裾-中華服飾之美智慧樹知到期末考試答案2024年
- 咳喘疾病中氣道重塑的機(jī)制及治療靶點(diǎn)研究
- 藥店人際關(guān)系建設(shè)與溝通技巧培訓(xùn)
- 機(jī)電安裝質(zhì)量檢測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論