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,以找到絕對值更大的值。較大的方向代表位置的移動方向在 上/下/左/右 的可用範圍內。如果較大的閾值仍小於給定的閾值,該行為將被標記為停留在同一位置,且沒有移動。
應用領域參考 :
- Projected Capacitive Touch, PCT
- Headset
- 家電應用控制面板
WPI Touch Board 硬體腳位定義說明:
2D Touch ( KL16Z ) 各部位元件說明,下列部分元件說明對應如圖 3、4。
- MCU ( U1 ):主平台採用的是MKL16Z64VFT4 ( ARM Cortex-M0+ ) 為基礎、透過 90 nm TFS 技術,針對低功耗對節能架構進行了優化,超低功耗運行模式運行功耗 50μA/ MHz、48 MHz 的核心速度
- USB Full Speed Connector ( J5 ):USB 2.0
- Power LED ( LED1 ):SMD BLUE LED
- SW1:RST 按鈕
- Function LED ( D3 ~ D13 ):當觸碰時對應碰觸位置 LED 亮起,未碰觸
時 LED 熄滅
- Function Pin ( J2 ):配合 Demo Board ( LPC55S26 ) 依序有 5 V 電源、3 V
電源、GND、I2C_INT ( E17 )、I2C_SDA ( E18 )、I2C_SCL
( E19 )、LLUW ( C3 )
- SWD ( J1 ):燒錄功能引腳
- 2D Touch Block:Touch 功能區塊將區分為 25 個 PCB Pad,並使用 MCU
圖3 2D Touch ( KL16Z )功能位置圖_物件配置面
圖4 2D Touch ( KL16Z )功能位置圖_觸控面
2. 針對 WPI Touch Board燒錄方式與結果
- 所需裝置與設備
更新2D Touch ( KL16Z ) Firmware 前需先準備 NXP 的 LPC-link or J-link 燒錄器,如圖5。 ( 連結參考 )
圖5 LPC-link2
- 軟體準備請至下列網址 https://www.segger.com/ 後,將鼠標移往 Downloads 處,如圖6,而後點選 J-Link/J-Trace,如圖7。
圖6 SEGGER 官網
圖7 尋找J-Link/J-Trace
- 下載軟體尋找 J-Link Software and Documentation Pack,點選 Downloads,下載 V6.86a版,以此版 demo, 如圖8。
圖8 下載J-Link Software and Documentation Pack
- 執行 J-Flash Lite V6.86a 於 Windows 點選開始,尋找 SEGGER,執行 J-Flash Lite V6.86a,如圖9。
圖9 執行 J-Flash Lite V6.86a
- 執行 J-Flash Lite V6.86a 顯示 J-Flash Lite Info,點選OK,如圖10。
圖10 J-Flash Lite Info
- 點選 … ,出現 Target Device Settings,於 Device 項目中輸入 KL16 後點選 MKL16Z64xxx4,設定 MCU 系列,而後點選 OK,如圖11。
圖11 Target Device Settings
- 點選 …,依路徑選擇 2D Touch.hex 檔後點選開啟,如圖12,相關資料請洽 atu.tw@wpi-group.com。
|
圖12 選擇2D Touch.hex檔
- 將 LPC-link2 的燒錄線配置到2D Touch ( KL16Z ),燒錄線配置請注意燒路線紅線方向需對應2D Touch ( KL16Z )板上的白點方向,而後將 USB線配置到 LPC-link2 上,如圖13。
圖13 LPC-link2 與2D Touch ( KL16Z )線路配置
- 皆設定完畢後可選擇 Program Device 更新 Firmware,或選擇 Erase Chip 清除舊 Firmware,如圖14。
圖14 J-Flash Lite V6.86a 介面
- 點選 Program Device 更新 Firmware,跳出 Flash download 視窗,更新完畢後顯示相關訊息,如圖15,而後將LPC-link2 與2D Touch ( KL16Z )之間的燒錄線卸除。
圖15 2D Touch ( KL16Z ) Firmware 更新
- 燒錄後結果
- 可透過 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
評論