【救世主】 NXP 2D Touch 硬體架構與設計概念與建置

1.     2D Touch 硬體設計概序

MCU 規格與設計:

    MCU ( MKL16Z64VFT4 ) 使用48 MHz ARM Cortex-M0+ core,其設計線路參考如下,即 MCU 與 PCB touch pad 直接對接,不需再多接 Touch driver IC,如下圖藍色框起處。

 


 

NXP TSI 設計原理:

    NXP KL16 採用 Self Capacitance 設計技術,此設計於 PCB 上,由接地銅箔 ( ground pattern )圍繞。PCB上的每個 MCU Touch Sensing Input (TSI) pin,如圖1,所連接的電極 PAD,會與周圍的接地銅箔以及感測器頂部的電場線路形成寄生電容。當手指靠近時會導入額外的電容,導致電場扭曲。

    每條菱形電極連接在一起的水平線與垂直線,皆為各一組 TSI 通道的大電極。所有將水平線電極放在垂直列中以創建 1 維觸摸 slider;反之每條垂直菱形的大電極,從而產生了 1 維觸摸水平方向滑動,如圖2, PCB 設計。垂直 slider 和水平 slider 在整個觸摸面板中共存,一旦任何一點觸摸此面板,垂直slider和水平 slider 的交錯點為觸摸位置,將產生此位置值,這些值可以放在一起作為坐標 2 維觸摸面板中觸摸點的位置。

 

  

圖1

圖2

 

NXP 2D gesture recognition algorithm :

    2D 手勢識別算法從首先檢測觸摸位置的移動開始。為了檢測 movement,FIFO 計算位置的 queue 用於保留最近的兩個位置。將新位置推入 queue 後,最後的一個被踢出,因此有一個先前位置和當前位置。我們可以與當前位置有所不同到前一個檢查 movement。一維運動時很容易做出判斷,因為只有兩個方向。在這裡,對於 2D 情況,我們需開放思路並進行擴展。

    當我們在二維位置系統中進行位置差時,X 值減去 X 值,Y 值減去 Y 值。然後比較增量 X 和增量 Y,以找到絕對值更大的值。較大的方向代表位置的移動方向在 上/下/左/右 的可用範圍內。如果較大的閾值仍小於給定的閾值,該行為將被標記為停留在同一位置,且沒有移動。

 

應用領域參考 :

  1. Projected Capacitive Touch, PCT
  2. Headset
  3. 家電應用控制面板

WPI Touch Board 硬體腳位定義說明:

2D Touch ( KL16Z ) 各部位元件說明,下列部分元件說明對應如圖 3、4。

  1. MCU ( U1 ):主平台採用的是MKL16Z64VFT4 ( ARM Cortex-M0+ ) 為基礎、透過 90 nm TFS 技術,針對低功耗對節能架構進行了優化,超低功耗運行模式運行功耗 50μA/ MHz、48 MHz 的核心速度
  2. USB Full Speed Connector ( J5 ):USB 2.0
  3. Power LED ( LED1 ):SMD BLUE LED
  4. SW1:RST 按鈕
  5. Function LED ( D3 ~ D13 ):當觸碰時對應碰觸位置 LED 亮起,未碰觸

時 LED 熄滅

  1. Function Pin ( J2 ):配合 Demo Board ( LPC55S26 ) 依序有 5 V 電源、3 V

電源、GND、I2C_INT ( E17 )、I2C_SDA ( E18 )、I2C_SCL

 ( E19 )、LLUW ( C3 )

  1. SWD ( J1 ):燒錄功能引腳
  2. 2D Touch Block:Touch 功能區塊將區分為 25 個 PCB Pad,並使用 MCU

圖3  2D Touch ( KL16Z )功能位置圖_物件配置面

 

圖4  2D Touch ( KL16Z )功能位置圖_觸控面

 

 

 

2.     針對 WPI Touch Board燒錄方式與結果

  1. 所需裝置與設備

更新2D Touch ( KL16Z ) Firmware 前需先準備 NXP 的 LPC-link or J-link 燒錄器,如圖5。 ( 連結參考 )


圖5  LPC-link2

 

  1. 軟體準備請至下列網址 https://www.segger.com/ 後,將鼠標移往 Downloads 處,如圖6,而後點選 J-Link/J-Trace,如圖7。


圖6  SEGGER 官網

圖7  尋找J-Link/J-Trace

 

  1. 下載軟體尋找 J-Link Software and Documentation Pack,點選 Downloads,下載 V6.86a版,以此版 demo, 如圖8。


圖8  下載J-Link Software and Documentation Pack

  1. 執行 J-Flash Lite V6.86a 於 Windows 點選開始,尋找 SEGGER,執行 J-Flash Lite V6.86a,如圖9。

圖9  執行 J-Flash Lite V6.86a

 

  1. 執行 J-Flash Lite V6.86a 顯示 J-Flash Lite Info,點選OK,如圖10。

圖10  J-Flash Lite Info

 

  1. 點選 … ,出現 Target Device Settings,於 Device 項目中輸入 KL16 後點選 MKL16Z64xxx4,設定 MCU 系列,而後點選 OK,如圖11。


圖11  Target Device Settings

  1. 點選 …,依路徑選擇 2D Touch.hex 檔後點選開啟,如圖12,相關資料請洽 atu.tw@wpi-group.com


圖12  選擇2D Touch.hex檔

 

 

  1. 將 LPC-link2 的燒錄線配置到2D Touch ( KL16Z ),燒錄線配置請注意燒路線紅線方向需對應2D Touch ( KL16Z )板上的白點方向,而後將 USB線配置到 LPC-link2 上,如圖13。



圖13  LPC-link2 與2D Touch ( KL16Z )線路配置

 

  1. 皆設定完畢後可選擇 Program Device 更新 Firmware,或選擇 Erase Chip 清除舊 Firmware,如圖14。


圖14  J-Flash Lite V6.86a 介面

  1. 點選 Program Device 更新 Firmware,跳出 Flash download 視窗,更新完畢後顯示相關訊息,如圖15,而後將LPC-link2 與2D Touch ( KL16Z )之間的燒錄線卸除。



圖15  2D Touch ( KL16Z ) Firmware 更新

 

  1. 燒錄後結果
  • 可透過 USB PRINTF 相關  info 此為對接 MCU UART 的結果,也可使用 JTAG 來 Debug ,而 Touch 的 fine turning 所參考的數據方法,請關注救世主後面的博文。

  • 結合 Gaiming Mouse/Keyboard/Headset Board 來使用 2D Touch Pad 控制

※Gaiming Mouse/Keyboard/Headset Board link: https://www.wpgdadatong.com/solution/detail?PID=7039


 參考資料:
1. https://www.nxp.com/docs/en/application-note/AN13026.pdf
2. https://www.nxp.com.cn/docs/en/application-note/AN12933.pdf
3. https://www.nxp.com/docs/en/application-note/AN3863.pdf

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論