摘要:Cypress TrueTouchTM電容觸摸屏方案可以在多個(gè)領(lǐng)域獲得廣泛應(yīng)用:?jiǎn)吸c(diǎn)觸摸,多點(diǎn)觸摸手勢(shì),和多點(diǎn)觸摸識(shí)別位置。TrueTouchTM芯片與主機(jī)通過(guò)TX / I2C / SPI /USB接口通信, PSoC Designer 5.0 提供了相應(yīng)的各種通訊用戶模塊,這將大大簡(jiǎn)化用戶的編程和調(diào)試工作。本篇文章討論和比較了各種通訊用戶模塊的特性,有助于用戶為特定應(yīng)用選擇合適的方式。
隨著手機(jī)、PDA等便攜式電子產(chǎn)品的普及,人們需要更小的產(chǎn)品尺寸和更大的LCD顯示屏。受到整機(jī)重量和機(jī)械設(shè)計(jì)的限制,人機(jī)輸入接口開(kāi)始由傳統(tǒng)的機(jī)械按鍵向電阻式觸摸屏過(guò)渡。2007年iPhone面世并取得了巨大成功,它采用的電容式觸摸屏提供了更高的透光性和新穎的多點(diǎn)觸摸功能,開(kāi)始成為便攜式產(chǎn)品的新熱點(diǎn),并顯現(xiàn)出成為主流輸入接口方式的趨勢(shì)。
一、 Cypress TrueTouch™電容觸摸屏方案介紹
Cypress PSoC 技術(shù)將可編程模擬 / 數(shù)字資源集成在單顆芯片上,為感應(yīng)電容式觸摸屏提供了TrueTouch™解決方案,它涵蓋了從單點(diǎn)觸摸、多點(diǎn)觸摸識(shí)別手勢(shì)到多點(diǎn)觸摸識(shí)別位置的全部領(lǐng)域。配合高效靈活的PSoC Designer 5.0 開(kāi)發(fā)環(huán)境,Cypress TrueTouch™方案正在業(yè)界獲得廣泛的應(yīng)用。
圖一是Cypress TrueTouch™方案中經(jīng)常使用的軸坐標(biāo)式感應(yīng)單元矩陣的圖形,類似于觸摸板,將獨(dú)立的ITO 感應(yīng)單元串聯(lián)在一起可以組成Y 軸或X 軸的一個(gè)感應(yīng)單元,行感應(yīng)單元組成Y 軸,列感應(yīng)單元組成X 軸,行和列在分開(kāi)的不同層上。多點(diǎn)觸摸識(shí)別位置方法是基于互電容的觸摸檢測(cè)方法(行單元上加驅(qū)動(dòng)激勵(lì)信號(hào),列單元上進(jìn)行感應(yīng),有別于激勵(lì)和感應(yīng)的是同一感應(yīng)單元的自電容方式),可以應(yīng)用于任何觸摸手勢(shì)的檢測(cè),包括識(shí)別雙手的10 個(gè)手指同時(shí)觸摸的位置(圖二)。它通過(guò)互電容檢測(cè)的方式可以完全消除“鬼點(diǎn)”,當(dāng)有多個(gè)觸摸點(diǎn)時(shí),僅當(dāng)某個(gè)觸摸點(diǎn)所在的行感應(yīng)單元被驅(qū)動(dòng),列感應(yīng)單元被檢測(cè)時(shí), 才會(huì)有電容變化檢測(cè)值,這樣就可以檢測(cè)出多個(gè)行 / 列交叉處觸摸點(diǎn)的絕對(duì)位置。
圖一、軸坐標(biāo)式感應(yīng)單元矩陣的圖形
圖二、Cypress TrueTouch 多點(diǎn)觸摸識(shí)別位置
方案同時(shí)顯示了5 個(gè)手指觸摸點(diǎn)的位置
圖三顯示了Cypress TrueTouch™方案的不同應(yīng)用領(lǐng)域,包括觸摸按鍵,圖像的兩手指手勢(shì)操作,以及同時(shí)識(shí)別多點(diǎn)觸摸位置和控制多個(gè)目標(biāo)。
圖三、Cypress TrueTouch™ 電容觸摸屏方案
二、 Cypress TrueTouch™電容觸摸屏的通訊接口
Cypress TrueTouch™電容觸摸屏主要通過(guò)TX / I2C / SPI / USB 與主機(jī)實(shí)現(xiàn)物理通信,TrueTouch™芯片可以直接報(bào)告一些基本手勢(shì)(如兩點(diǎn)觸摸的平移 / 縮放 / 旋轉(zhuǎn)),也可以提供專用的API 給用戶,用戶端獲得多點(diǎn)坐標(biāo)后通過(guò)API 運(yùn)算識(shí)別更多的或者自定義的手勢(shì)。API 使用標(biāo)準(zhǔn)C 語(yǔ)言編寫,可以運(yùn)行在51 / ARM 等多個(gè)平臺(tái),這大大簡(jiǎn)化了用戶端軟件開(kāi)發(fā)的工作量。
1. TX 通信接口
Cypress Designer 5.0 提供了TX8SW用戶模塊,可以實(shí)現(xiàn)7 / 8位RS-232格式的軟件串行接口,支持115200, 57600, 38400, 19200, 9600, 4800, 2400, and 1200 bps的傳輸速度。用戶可以在代碼中設(shè)定相應(yīng)的I/O口,波特率,極性和停止位數(shù)。TX8SW接口不占用PSoC的數(shù)字 / 模擬模塊資源,提供了從PSoC到主機(jī)的單向通信連接。
2. I2C 通信接口
Cypress Designer 5.0 提供了多個(gè)I2C通信的用戶模塊,包括I2CHW(允許多主機(jī)通信,可以設(shè)定為主機(jī)或從機(jī),支持7位/10位尋址模式),EzI2Cs(工作為從機(jī)模式,占用ROM/RAM資源最少),I2Cm(工作為主機(jī)模式)和I2Cs(工作為從機(jī)模式)。這幾種I2C模塊都與Philips的工業(yè)標(biāo)準(zhǔn)I2C總線接口兼容,而且不占用PSoC的數(shù)字 / 模擬模塊資源,提供了從PSoC到主機(jī)的100 kbps / 400 kbps速率雙向通信連接。
PSoC 與主機(jī)I2C 通信時(shí),通常是對(duì)所有的行 / 列感應(yīng)單元觸摸檢測(cè)完成后,通過(guò)一個(gè)GPIO 報(bào)告中斷給主機(jī),主機(jī)響應(yīng)中斷并讀出所需的數(shù)據(jù)。以下方法可以確保主機(jī)讀出數(shù)據(jù)的完整性:
While(1) {
TSX_ScanAllSensors(); // TSX 是Cypress 互電容檢測(cè)方式用戶模塊
TSX_UpdateAllBaselines(); // 更新感應(yīng)單元Baseline
TSX_GetCentroids(); // 獲得多點(diǎn)的位置
TSX_ReportINTwithOvertime(); // 向主機(jī)報(bào)告中斷,有超時(shí)控制
// 檢測(cè)EzI2Cs 用戶模塊的RAM 讀/寫計(jì)數(shù)器,等待直到主機(jī)讀出全部數(shù)據(jù)
while (EzI2Cs_bRAM_RWcntr != sizeof(I2Cregs)) {};
…; // 運(yùn)行其它用戶代碼
}
主機(jī)對(duì)I2C Structure 特定字節(jié)寫入預(yù)定義數(shù)據(jù)后,可以通知PSoC 進(jìn)入待機(jī)模式(定期工作模式 + 定期休眠模式)或 完全休眠模式。PSoC 在待機(jī)模式下主機(jī)可以進(jìn)入休眠,PSoC 通過(guò)Sleep Timer 定期喚醒自己進(jìn)入定期工作模式,檢測(cè)部分感應(yīng)單元(如僅掃描行單元)來(lái)獲知是否有用戶激活事件。如果有激活事件就通過(guò)中斷喚醒主機(jī)并進(jìn)入PSoC工作模式;沒(méi)有就再次休眠并定期喚醒自己以降低功耗,實(shí)際的電流功耗是工作模式和休眠模式以時(shí)間加權(quán)的平均值,例如:一秒內(nèi)喚醒PSoC 4 次進(jìn)入工作模式檢測(cè),每次檢測(cè)16ms@3.2mA,其它時(shí)間進(jìn)入休眠模式@3uA, 實(shí)際的電流功耗 = (16ms * 4 * 3.2mA + (1000ms – 16ms * 4) * 3uA ) / 1000ms
~= 0.208 mA。
PSoC Sleep mode 下將關(guān)閉Analog / Digital UM,使所有GPIO 不形成電流通路,使能I2C 通信引腳的外部中斷喚醒,然后進(jìn)入Sleep mode,主機(jī)隨后可以調(diào)用一次I2C 讀或?qū)懯录?lái)喚醒PSoC。
3. SPI 通信接口
Cypress Designer 5.0 提供了SPIM(設(shè)定為主機(jī)模式),和SPIS(設(shè)定為從機(jī)模式) UM。它們使用Tx Buffer / Rx Buffer,Control / Shift寄存器和Digital通信模塊,實(shí)現(xiàn)了8bit全雙工同步通訊。用戶可以選擇SCLK(由SPI主機(jī)產(chǎn)生來(lái)設(shè)定通信bps)頻率和極性,LSB First等屬性以支持SPI mode 0, 1, 2和3(見(jiàn)表一)。
表一、SPI 模式選擇
4. USB 通信接口
Cypress Designer 5.0 提供了USBUART(使用USB接口來(lái)模擬一個(gè)COM口),和USBFS UM。
USBUART使用時(shí)在PSoC端和PC端就像使用串行口一樣方便,用戶在設(shè)定VendorID /ProductID / VendorString / ProductString / SerialNumberType /SerialNumberString / DevicePower / MaxPower這些參數(shù)后,編譯項(xiàng)目就可以自動(dòng)生成INF文件。當(dāng)PSoC與PC連接后,PC安裝這個(gè)INF文件,雙方就可以進(jìn)行雙向通信。
USBFS支持Control / Interrupt / Bulk / Isochronous 傳輸,提供了USB IN / OUT控制節(jié)點(diǎn)的底層驅(qū)動(dòng)模式,解釋來(lái)自USB Host的請(qǐng)求并分配給相應(yīng)的函數(shù)。通過(guò)USBFS Setup Wizard可以很方便的配置器件描述符,用戶還可以將USB配置成HID(Human Interface Devices)器件或通用USB器件。
USBUART和USBFS接口都不占用PSoC的數(shù)字 / 模擬模塊資源,提供了從PSoC到主機(jī)的USBFull Speed雙向連接。
三、 Cypress TrueTouch™電容觸摸屏不同通訊接口的選擇
選用Cypress TrueTouch™觸摸屏解決方案時(shí),可以根據(jù)具體應(yīng)用的需要靈活選擇通訊接口(見(jiàn)表二):
電容式觸摸屏的優(yōu)點(diǎn)正在被廣泛認(rèn)可,其增強(qiáng)的耐用性、優(yōu)雅的人機(jī)界面帶給消費(fèi)者全新的操作體驗(yàn)。隨著電容式觸摸屏市場(chǎng)的逐漸擴(kuò)大,靈活的通訊接口選擇將有助于Cypress TrueTouch™電容觸摸屏方案更好的為用戶服務(wù)。