<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PSoC 4000S完整原型開發套件和參考設計

工程師兵營 ? 來源:互聯網 ? 作者:佚名 ? 2018-07-25 09:34 ? 次閱讀

對于從電器到可穿戴式設備的眾多消費類產品,觸摸控制是基本要求。鑒于觸摸傳感器的功能性設計和物理布局之間存在關聯,對于開發人員而言,觸摸傳感器設計既是一項工程,更是一門藝術。因此,在通過多個設計交互來實現按鈕、滑塊和其他控件的最佳性能時,開發團隊的開發速度會受到延緩。

為了支持項目開發,Cypress Semiconductor PSoC 4000S CapSense 原型開發套件提供一整套硬件和軟件,可用于評估電容觸摸感應以及加速其在各種產品中的應用。

本文將描述各種電容觸摸感應方法的工作機制,以及使用這些方法進行設計時設計人員需要了解的一些注意事項。然后將介紹 PSoC CapSense 套件及其工作機制,以及使用該套件進行設計的方法。此外,還提供了代碼示例。

為何選擇電容觸摸?

電容觸摸傳感器的性質使其適用于各類應用。由于不再需要傳統機械按鈕和開關中的活動零件,觸摸傳感器系統實現了高度可靠性,不太可能因磨損而發生故障。而且,觸摸傳感器系統可完全封裝在保護材料中,因此能夠在嚴苛環境中工作。除了可靠性之外,觸摸傳感器可輕松滿足不同的形狀要求,幫助工程師滿足客戶對家用電器、汽車以及其他主流產品的美觀精巧設計需求。

手指或手接近專門構建的觸摸表面時電容將發生變化,而電容觸摸傳感器充分利用了這一特征。觸摸傳感器使用自電容和互電容兩種不同的方法來檢測此類變化。

在自電容式觸摸傳感器中,當手指放在傳感器板上時,會形成一個接地的導電通路,從而導致電容突然增大,明顯大于傳感器板和接地平面之間各種寄生電容源(圖 1)。通常情況下,自電容是按鈕或滑塊等單點觸摸應用的首要選擇。

自電容檢測電容變化的圖片

圖 1: 自電容檢測 I/O 引腳和接地之間的電容變化。使用接地網狀填充層環繞傳感器,可提高傳感器的抗噪能力。(來源: Cypress Semiconductor)

相比之下,互電容感應測量發射和接收電極之間的電容(圖 2)。在該圖中,當控制器向發射引腳施加電壓時,在接收引腳上測量的電荷量與兩個電極之間的互電容成正比。相較于自電容,這項技術可提供更高的信噪比 (SNR),從而實現了更強的抗噪能力。較高的 SNR 還能夠實現通過更厚的覆蓋層進行工作的功能,例如工業應用所需的保護屏和顯示屏。

此外,按照陣列形式排列的傳感器可讓開發人員同時跟蹤不同點的互電容變化。因此,這種方法成為了多點觸摸應用的絕佳選擇,此類應用采用通常應用于較小型消費類產品的觸摸板,或者運用于電器和汽車中作顯示用途的觸摸屏。

互電容感應系統示意圖

圖 2: 在互電容感應系統中,控制器將電壓切換到發射 (TX) 電極。在接收 (RX) 電極上測量的電荷量與兩個電極之間的互電容成正比。手指等導電物體的觸摸將導致所測量的互電容發生變化。(來源: Cypress Semiconductor)

傳感器設計

如圖 1 和圖 2 所示,電容式傳感器板由多層板上的印制線構建而成。對于基本的自電容按鈕,最簡單的設計是將傳感器板印制線放在板子上方,印制線四周環繞著網狀接地平面。傳感器板連接到控制器(通常連接在板子下方)的輸入引腳,還可提供接地平面。最后,頂層覆蓋著不導電保護性化合物,形成了傳感器覆面。對于小鍵盤,工程師通過將各個傳感器板加入可尋址按鈕陣列來擴展此項基本設計。

設計人員可以通過多個傳感器板(一般以鋸齒狀排列)構建線性滑塊。如下所述,相關觸摸傳感器軟件可使用此排列所提供的信息,來更準確地計算手指位置。觸摸板和觸摸屏通過使用兩個線性滑塊來確定手指在板或屏幕表面的 X-Y 軸位置,進一步擴展了這種方法。

在實踐中,工程師致力于降低寄生電容,但這會降低傳感器的靈敏度,因而觸摸電容傳感器的物理設計會非常復雜。除了需要精心設計接地平面,網狀接地平面還要求嚴格遵守特定的物理設計規則。此外,在液體可能導致傳感器讀數失真的家用電器和其他產品中,工程師構建了更為復雜的結構,從而幫助避免感應表面的液體導致讀數錯誤的情況?;ル娙輦鞲衅麝嚵邪啥鄠€ PC 板層上的發射和接收印制線構建而成的傳感器陣列,進一步提高了設計的復雜性。

雖然設計人員在創建這些傳感器時應保持謹慎,但電容觸摸傳感器的開發大部分都遵從典型設計流程。 然而,在傳感器板全面投產之前,工程師通常需要調整硬件參數和軟件設置,從而將元器件、傳感器板和板中的具體特征考慮在內,并滿足傳感器性能的特定要求以及總功耗要求。專用片上系統 (SoC) 設備,例如 Cypress Semiconductor PSoC 4000S,集成了專門用于簡化電容觸摸傳感器實現的特定功能,其中包括微調要求。

Cypress CapSense

Cypress PSoC 4 設備系列基于 ARM? Cortex?-M0+ 處理器內核,將存儲器與可編程模擬和數字外設完美結合,此類外設專門用于滿足各種應用的需求。值得一提的是,PSoC 4000S 提供了 Cypress 的專有 CapSense 功能,其中包括一個用于處理電容觸摸傳感器的完整信號鏈。由此,工程師僅需少數額外的元器件即可進行觸摸傳感器設計(圖 3)。

Cypress Semiconductor PSoC 4000S 設備示意圖

圖 3: Cypress Semiconductor PSoC 4000S 設備將 ARM Cortex-M0+ 內核、存儲器以及外設與 Cypress 的 CapSense 電容傳感器信號鏈集成在一起。開發人員僅需少數額外的元器件即可實現基于自電容或互電容設計的感應解決方案。(來源: Cypress Semiconductor)

對于自電容傳感器設計,工程師將所有傳感器板連接到 GPIO 引腳,并額外增加了一個外部 CMOD 電容器(圖 3)?;ル娙輦鞲衅髟O計針對每個傳感器接收和發射線使用獨立的 GPIO,并采用一對外部電容器、CINTA 和 CINTB。另外,外部 CTANK 電容器可支持屏蔽式電極的應用,此類電極用于降低對傳感器覆面表面存在液體的靈敏度。

PSoC 4000S 支持自電容和互電容兩種方式。對于自電容感應,SoC 的 CapSense 三角積分 (CSD) 函數使用電流至數字轉換器來測量 GPIO 上的自電容變化。對于互電容感應,SoC 的 CapSense 交叉點 (CSX) 函數驅動 Tx 電極并感測 Rx 電極的電荷。所測量的 Rx 電極電荷與兩個電極之間的互電容成正比。

在兩種方法中,轉換器均生成原始計數,該計數反映 GPIO 上測量的自電容或 Rx 引腳上測量的互電容。通過將原始計數與可編程噪聲和信號閾值進行對比,固件可以確定手指是否接觸按鈕傳感器板或者與滑塊或觸摸板上特定位置相關的傳感器(圖 4)。

Cypress PSoC 4000S CapSense 模塊框圖

圖 4: 當計數值高于可編程噪聲閾值并達到可編程觸摸閾值時,Cypress PSoC 4000S CapSense 模塊將生成指示觸摸的計數。CapSense 還支持高于和低于目標觸摸檢測閾值的磁滯電平。(圖片來源:Cypress Semiconductor)

CapSense 可以執行此項掃描,而又無需 CPU 干預。因此,設計人員可以對 Cortex-M0+ 內核進行編程,以便在傳感器掃描過程中執行其他任務。然而,實際上,與獨立處理器活動相關的電流變化可能會將噪聲引入 CapSense 模塊中的敏感模擬電路。如此一來,開發人員通常會在掃描期間限制處理器的活動,尤其是需要高靈敏度和相應低噪聲環境的應用。

事實上,由于制造差異,不同的傳感器可能會表現出不同的噪聲水平和靈敏度,因此需要仔細調整硬件和軟件參數來修正這些差異。然而,除了系統性差異之外,環境條件中還會發生其他突發性變化,這可能會引入對靈敏度、性能和精度造成動態影響的因素。

為了在不斷變化的條件下維持性能,PSoC 4000S 設備的 SmartSense 提供了自動微調功能,可以自動設置參數來保持最佳的靈敏度和性能。當 CapSense 模塊初始化時,SmartSense 會重新計算掃描分辨率等參數,以及內部時鐘和其他主要內部電路的設置。然而,在每次掃描開始時,SmartSense 都可以自動更新其他動態參數,包括噪聲閾值和觸摸閾值。因此,SmartSense 可以動態補償不同的噪聲環境,甚至還包括設計過程中無法預計的隨機噪聲尖峰。

但在某些情況下,設計人員可能仍需要使用手動微調的方法。例如,SmartSense 支持寄生電容高達 45 pF 的設計。因此,寄生電容非常高的設計可能需要手動微調。此外,SmartSense 僅支持自電容傳感器設計,因此互電容傳感器設計需要手動微調。實際上,在應用需要對特定參數設置(例如傳感器掃描時間)進行嚴格控制的情況下,Cypress 建議使用手動微調的方法,即使是自電容設計亦是如此。

快速開發

盡管 PSoC 4000S 等相對復雜的設備具有集成功能,但可能仍需要費力對所有片載模塊進行編程。為了簡化編程和配置,Cypress 推出了免費的 PSoC Creator 軟件環境。PSoC Creator 是一種集成式設計環境 (IDE),有助于讓設備硬件配置細節和相關軟件層變得簡單明了。

PSoC Creator 與 Cypress PSoC 4 設計套件配套使用,此類套件包含集成式引導程序或調試器。因此,采用 PSoC 設備進行開發,只需將開發板連接到系統 USB 端口并選擇適當參數即可。例如,開發人員僅需在 PSoC Creator 配置屏幕選擇 SmartSense,即可對 SmartSense 進行自動微調(圖 5)。

Cypress PSoC Creator IDE 圖片

圖 5: Cypress PSoC Creator IDE 簡化了編程和開發過程。設備配置和 SmartSense 自動微調等功能的設置得到了簡化,可在專門用于特定設備功能領域的屏幕上通過一系列選擇操作實現。(圖片來源:Cypress Semiconductor)

PSoC 4000S 硬件和 PSoC Creator IDE 的完美結合在實現電容感應設計的過程中表現出顯著優勢。然而,如前所述,寄生電容、噪聲源以及其他具體設計注意事項等問題始終是開發團隊研發電容觸摸傳感器解決方案的障礙。Cypress 憑借其 PSoC 4000S 原型開發套件滿足了快速開發的需求,該套件可提供完整的電容觸摸硬件實現和示例軟件。該套件將 Cypress KitProg2 調試板、按鈕傳感器板、線性滑塊板和主板,與用于低功耗藍牙 (BLE) 通信的 PSoC 4000S 和 Cypress EZ-BLE PRoC 設備結合在一起。

開發人員僅需將板插入 USB 端口即可快速開始傳感器應用測試(圖 6)。通過 PSoC Creator,開發人員可選擇和編譯示例項目;采用 IDE 的固件編程器來對主板上的 PSoC 4000S 設備進行編程;最后使用集成式調試器來探索運行時操作。該套件支持按鈕板和滑塊板二者的自電容和互電容感應,因此開發人員可以使用 PSoC Creator 來配置套件,從而在任意配置中運行傳感器。

圖 6: Cypress PSoC 4000S 原型開發套件提供了獨特的快速分離式設計,其中包括連接 USB 的調試板、觸摸傳感器板、線性滑塊板,以及主板,這些都可以獨立用于定制電容傳感器設計的開發。(圖片: Cypress Semiconductor)

PSoC Creator 和 PSoC 4000S 原型開發套件軟件套件都可免費下載。PSoC Creator 用于配置和編程套件中的板載 PSoC 4000S 設備,而軟件包包括一套全面的軟件庫以及用于介紹電容觸摸應用主要設計模式的示例軟件。

例如,按鈕和滑塊示例包中的 main.c 程序演示了設備初始化,以及連續的傳感器采樣。在此代碼中,switch 語句按順序進行傳感器掃描(在可選自動調諧器傳遞信息之后);等待掃描完成;最終處理所有已啟用的傳感器(列表 1)。Cypress 庫涵蓋的包可實現序列中每個階段所需的低級軟件調用。

DEVICE_STATE currentState = SENSOR_SCAN;

...

/* Start CapSense block */

CapSense_Start();

...

for(;;)

{

/* Switch between SENSOR_SCAN->WAIT_FOR_SCAN_COMPLETE->PROCESS_DATA states */

switch(currentState)

{

case SENSOR_SCAN:

/* Initiate new scan only if the CapSense block is idle */

if(CapSense_NOT_BUSY == CapSense_IsBusy())

{

#if ENABLE_TUNER

/* Update CapSense parameters set via CapSense tuner before the

beginning of CapSense scan

*/

CapSense_RunTuner();

#endif

/* Scan widget configured by CSDSetupWidget API */

CapSense_ScanAllWidgets();

/* Set next state to WAIT_FOR_SCAN_COMPLETE */

currentState = WAIT_FOR_SCAN_COMPLETE;

}

break;

case WAIT_FOR_SCAN_COMPLETE:

/* Put the device to CPU Sleep until CapSense scanning is complete*/

if(CapSense_NOT_BUSY != CapSense_IsBusy())

{

CySysPmSleep();

}

/* If CapSense scanning is complete, process the CapSense data */

else

{

currentState = PROCESS_DATA;

}

break;

case PROCESS_DATA:

/* Process data on all the enabled widgets */

CapSense_ProcessAllWidgets();

/* Controls LEDs Status based on the result of Widget processing.*/

LED_Control();

...

}

}

}

列表 1: Cypress 的示例軟件演示了 PSoC 4000S 電容感應功能的使用方法。本示例應用程序中,首先初始化 PSoC 4000S CapSense 模塊,然后按順序無限循環傳感器掃描 (CapSense_ScanAllWidgets),等待掃描結束,最后處理結果 (CapSense_ProcessAllWidgets)。(代碼來源: Cypress Semiconductor)

開發人員準備測試自己的傳感器設計時,可以關閉調試器板和兩塊傳感器板的電源,從而僅通過主板繼續進行開發。此套件提供用于連接套件傳感器和 PSoC 4000S GPIO 引腳的針座,可輕松擴展到定制設計的傳感器板。

對于希望基于套件設計構建產品的設計人員,可以通過相關的參考設計獲取完整的硬件原理圖和相應軟件。例如,硬件參考設計詳細說明了一系列線性滑塊傳感器板的使用方法(圖 7)。配套的軟件套件提供了示例軟件,演示了一種可提高手指位置估計精度的技術。

Cypress PSoC 4000S 原型開發套件參考設計示意圖

圖 7: 在 Cypress PSoC 4000S 原型開發套件參考設計中,線性滑塊包含大量以鋸齒狀排列的傳感器板,可以提高手指位置的辨識分辨率。這種設計包含發射電極,能夠以互電容和自電容兩種模式運行。(圖片來源:Cypress Semiconductor)

線性滑塊的鋸齒狀排列可以確保,手指觸摸到滑塊的某一點時,也將在一定程度上觸摸到相鄰片區。軟件套件在低級程序 (capsense_CalcCentroid) 中使用了此信息,該程序使用顯示最大計數的傳感器 (Si) 及其任意一側傳感器(Si-1、Si+1)來計算計數值的質心(列表 2)。通過這樣的方法內插手指位置,軟件可以產生分辨率較高的手指定位解決方案,此方案的分辨率優于僅尋找顯示最大計數值的傳感器的方法。隨后,示例軟件應用程序就可以打開 LED、顯示最大計數值的傳感器和計數值較小的其他傳感器(S0、S1、…、Si-1、Si)。

...

/* Si+1 - Si-1 */

numerator = (uint32) capsense_centroid[capsense_POS_NEXT] -

(uint32) capsense_centroid[capsense_POS_PREV];

/* Si+1 + Si + Si-1 */

denominator = (int32) capsense_centroid[capsense_POS_PREV] +

(int32) capsense_centroid[capsense_POS] +

(int32) capsense_centroid[capsense_POS_NEXT];

/* (numerator/denominator) + maximum */

denominator = (((int32)(uint32)((uint32)numerator << 8u)/denominator) + (int32)(uint32)((uint32) maximum << 8u));

...

/* Round result and put it to uint8 */

position = ((uint8) HI16((uint32)denominator + capsense_CENTROID_ROUND_VALUE));

return (position);

列表 2: capsense_CalcCentroid 程序針對線性陣列中的上一個、當前和下一個傳感器從每個傳感器的計數值數組中抽取傳感器計數 (capsense_centroid),以返回此處顯示的質心計算結果。(代碼來源: Cypress Semiconductor)

結論

觸敏界面基于電容感應技術,為用戶控制各種設備(從可穿戴式設備到洗碗機)提供了直觀的方法。電容感應除了具有最小功率要求之外,還可提供可靠性和更長的使用壽命,這是機械按鈕和開關難以實現的。然而,在設計穩固型感應系統時,開發人員會通過迭代設計來解決電容感應系統中相互依賴的電路設計和物理布局特性,但這會導致開發速度延緩?;?Cypress Semiconductor PSoC 4000S 的完整原型開發套件和參考設計,提供了隨即可用的解決方案,有助于開發人員為各種應用快速部署穩固的電容觸摸感應設計。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • PSoC
    +關注

    關注

    12

    文章

    168

    瀏覽量

    91271
  • Cypress
    +關注

    關注

    10

    文章

    136

    瀏覽量

    81607
  • 電容觸摸
    +關注

    關注

    0

    文章

    68

    瀏覽量

    16368
收藏 人收藏

    評論

    相關推薦

    玩轉PSoC 6 RTT積木式開發套件,實現毫米波雷達等實用功能

    本期英飛凌手工課,將由來自英飛凌的工程師Jenson給大家帶來PSoC62withCAPSENSEevaluationkit(下稱PSoC6RTT開發板)和其積木式開發套件的全面介紹。
    的頭像 發表于 03-20 08:35 ?327次閱讀
    玩轉<b class='flag-5'>PSoC</b> 6 RTT積木式<b class='flag-5'>開發套件</b>,實現毫米波雷達等實用功能

    如何在PSoC? 4000S上使用外部時鐘而不是內部時鐘?

    您能否告訴我們如何在 PSoC? 4000S 上使用外部時鐘而不是內部時鐘? 用戶可以按照 2 個步驟使用外部時鐘嗎? 使用外部時鐘還需要其他步驟嗎,例如添加除低于 2 步之外的代碼? 如果
    發表于 03-01 07:27

    使用PSOC 4000S系列CY8C4025LQS-S411做汽車上的觸控應用時,應該選用什么樣輸出波形的晶振呢?

    在使用PSOC 4000S系列 CY8C4025LQS-S411做汽車上的觸控應用時,我需要使用外部晶振,外部有源晶振有兩種類型的波形輸出,正弦波和方波,我想請教一下應該選用什么樣輸出波形的晶振呢?我的系統是5V供電的,是否有推
    發表于 02-21 07:36

    SynSense時識科技發布Xylo?IMU開發套件

    SynSense時識科技今日正式發布全新XyloIMU類腦開發套件。這款新的HDK使用戶能夠開發基于IMU的運動處理應用,例如人體運動分析、人機互動及工業檢測等應用開發。
    的頭像 發表于 09-28 15:25 ?2376次閱讀

    支持NFC等多種連接方式的高性能工業檢測開發套件—STWIN.box

    STWIN.box (STEVAL-STWINBX1) 是一款開發套件,同時也是一款參考設計,可用于簡化物聯網背景下先進工業檢測應用的原型設計和測試,如狀態監測和預測性維護等。
    的頭像 發表于 09-06 09:26 ?697次閱讀
    支持NFC等多種連接方式的高性能工業檢測<b class='flag-5'>開發套件</b>—STWIN.box

    開發套件 S7G2(DK-S7G2) 快速入門指南

    開發套件 S7G2 (DK-S7G2) 快速入門指南
    發表于 07-06 19:49 ?0次下載
    <b class='flag-5'>開發套件</b> S7G2(DK-S7G2) 快速入門指南

    DA1469x Pro 開發套件主板原理圖

    DA1469x Pro 開發套件主板原理圖
    發表于 07-06 19:12 ?3次下載
    DA1469x Pro <b class='flag-5'>開發套件</b>主板原理圖

    DA14699 Pro 開發套件子板原理圖

    DA14699 Pro 開發套件子板原理圖
    發表于 07-06 19:07 ?0次下載
    DA14699 Pro <b class='flag-5'>開發套件</b>子板原理圖

    DA1468x Pro 開發套件主板原理圖

    DA1468x Pro 開發套件主板原理圖
    發表于 07-06 18:51 ?0次下載
    DA1468x Pro <b class='flag-5'>開發套件</b>主板原理圖

    DA1468x 開發套件入門

    DA1468x 開發套件入門
    發表于 07-05 20:35 ?0次下載
    DA1468x <b class='flag-5'>開發套件</b>入門

    DA14531 USB 開發套件原理圖

    DA14531 USB 開發套件原理圖
    發表于 07-04 19:52 ?1次下載
    DA14531 USB <b class='flag-5'>開發套件</b>原理圖

    高級開發套件快速入門指南

    高級開發套件快速入門指南
    發表于 07-03 20:20 ?0次下載
    高級<b class='flag-5'>開發套件</b>快速入門指南

    DA1470x Pro 開發套件顯示板原理圖

    DA1470x Pro 開發套件顯示板原理圖
    發表于 06-30 20:52 ?0次下載
    DA1470x Pro <b class='flag-5'>開發套件</b>顯示板原理圖

    DA14706 Pro 開發套件子板原理圖

    DA14706 Pro 開發套件子板原理圖
    發表于 06-30 20:50 ?0次下載
    DA14706 Pro <b class='flag-5'>開發套件</b>子板原理圖

    羅德與施瓦茨與藤倉和艾福倫合作驗證5G PAAM的新開發套件

    羅德與施瓦茨(以下簡稱"R&S公司")與藤倉和艾福倫合作驗證了他們5G PAAM的新開發套件。R&S ATS800B臺式CATR OTA測試系統非常適合在開放環境中進行原型測試。
    的頭像 發表于 06-20 14:06 ?393次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>