一 、前言
NCF3321 是世平集團代理的 NXP 所研發的新一代車規級 NFC 前端 IC,相比上代 NFC 前端 IC 性能提升巨大、支持多類型多協議卡檢測、支持手機模擬 NFC 識別、支持手機與卡共同檢測、寬範圍工作溫度工作更加穩定。
NCF3321是一款高度集成的高性能、完全符合 NFC 論壇標準的 13.56 MHz 非接觸式通信前端 IC,它採用了出色的調製和解調概念,完全集成了不同類型的非接觸式通信方法和協議。NCF3321可確保與下一代 NFC 手機的最大互操作性。NCF3321 針對門把手應用進行了優化,並實現了具有超低功耗卡檢測的大功率發射器功能。
S32K144 是恩智浦(NXP)公司於 2017 推出面向通用汽車應用市場的高性能微處理器,該微處理器基於 32位 ARM Cortex-M4F 內核,最快內核頻率達 112MHz。NXP Echoes-S32K144評估板採用 14×14mm LQFP100 封裝,引腳間距 0.5mm,具有豐富的外設資源。該方案支持 JTAG 標準調試接口和 JTAG 4 線 SWD 調試模式,具有 micro USB 或外部 12V 電源兩種供電選擇,板載 CAN、LIN 與 UART 連接。
本文將從關鍵環境搭建、模擬檢測、識別算法、工程配置和調試演示等方面講解 S32K144 搭配 NCF3321 卡保護示例工程。
二、相關組件
2.1 必備組件
硬體組件:
- S32K144 EVB
- NCF3321 Demo
軟體組件:
- 編譯器:GCC ARM Embedded 6.3.1 20170509
- IDE:S32 Design Studio for ARM 2018.R1
- 配置工具:EB Tresos Studio v24.0.1 b180321-0610
- 用於 AUTOSAR、AnfcRL 的汽車 NFC 讀取器庫包:AnfcRL_TS_T40D2M10I1R0
- 用於 S32K144 AUTOSAR4.3 驅動包:S32K14X_MCAL4_3_RTM_1_0_1
- Gnuwin32 (version 3.81)
- GNU Arm Embedded Toolchain (Version 7-2018-q2-major)
備註:IDE、EB、NFC 讀取器庫包、MCAL 等軟體組件與代碼工程包需要在 NXP 官網申請權限進行下載。
2.2 組件安裝
下載軟體組件後編譯器、IDE、配置工具只需默認安裝即可滿足使用需求,在安裝 MCAL 中需要注意將配置工具的安裝路徑添加進 MCAL 的鏈接路徑中,安裝成功後會在配置工具安裝路徑的“EB\tresos_24AS43\links”文件夾下出現相應的 .link 文件,如不添加進鏈接路徑後續配置工具將無法配置所安裝的 MCAL 版本。
安裝 AnfcRL 組件:
- 複製 AnfcRL_TS_T40D2M10I1R0 到 S32K14X_MCAL4_3_RTM_1_0_1\eclipse\plugins 下
- 從 AnfcRL_TS_T40D2M10I1R0\stubs\S32K14X\include 複製 h 到 S32K14X_MCAL4_3_RTM_1_0_1\eclipse\plugins\Base_TS_T40D2M10I1R0\include 文件夾下
- 從 AnfcRL_TS_T40D2M10I1R0\stubs\S32K14X\include 複製 h 到 S32K14X_MCAL4_3_RTM_1_0_1\eclipse\plugins\Rte_TS_T40D2M10I1R0\include 文件夾下
- 從 AnfcRL_TS_T40D2M10I1R0\stubs\S32K14X\src 複製 c 到 S32K14X_MCAL4_3_RTM_1_0_1\eclipse\plugins\Rte_TS_T40D2M10I1R0\src 文件夾下
三、卡保護應用示例
3.1 模擬檢測流程
RFID 保護是一種特殊算法,可防止在將 NFC 卡放置在無線充電板上時激活無線充電功能。該算法結合了無線充電技術的“模擬感應”與“NFC 算法區分”。
模擬傳感流程圖
3.2 NFC 識別算法
卡保護 NFC 識別算法流程圖
應用示例程序抽象序列
示例應用 NFC 區分算法識別完成後兩個結果:
“Prohibit Charging”:NCF3321 在無線充電板上發現至少一張 NFC 卡片。
“Allow Charging”:NCF3321 沒有在無線充電上發現 NFC 卡片。
當無線充電板上有兩個或者更多物理設備時,在第一輪循環後禁止充電:
- 假設:不會有兩部手機在無線充電板上,則至少有一個設備是卡片。
如果無線充電板上僅存在一個設備,則進行進一步檢測:
- 檢測設備(技術、協議、接口、模式、PAD0、AID 等。)
- 如果設備是手機則允許充電/如果設備是卡片則禁止充電。
如果無法單獨通過協議做出決定,則執行模擬檢測:
- 如果設備是手機則允許充電/如果設備是卡片則禁止充電。
以上算法要求可靠的射頻性能與正確的天線匹配。
對於帶有 NCF3321 的 NXP NFC 讀取器庫的發現循環的返回狀態將為(MULTI_TECH_DETECTED 或者 MULTI_DEVICES_RESOLVED),以防止無線充電板上檢測到多個設備。在該情況下,應禁止無線充電,因為其中至少有一個設備是卡片。
在只有一個設備被發現的情況下(status=DEVICE_ACTIVATED):
- 類型 V:因為沒有針對 V 類型卡仿真所以禁止充電。
- 類型 F:PAD0 參數用於確定這杯的性質。
- 類型 A:
- 如果先從卡中識別出 UID,則選擇 AID 為正,然後禁止充電;
- 如果協議為 NFC-DEP 則允許充電,否則將進入第三次循環。
- 類型 B:
- 如果先從卡中識別出 UID,則選擇 AID 為正,然後禁止充電,否則進入第三次循環;
- 如果第三次循環發現設備激活,則意味該設備是一部手機。因為同一個卡設備不會響應兩種不同的技術,然後允許充電。
四、運行演示
4.1 工程配置
打開 EB 配置工具,選擇 File>Import>General>ExistingProjects into Workspace 將工程導入到 EB 配置工具查看 S32K144EVB 的 port 口配置,如需修改配置也再次修改。在導入時需勾選 Search for nested projects 選項,如下圖所示。
打開 Port 模塊即可觀察到工程的相關配置,如需修改相關配置也在此頁面。
4.2 代碼編譯
打開 S32 Design Studio for ARM Version 2018.R1,選擇 File>Import>General>ExistingProjects into Workspace 將工程導入到 IDE 內,同樣在導入時需勾選 Search for nested projects 選項。打開工程列表,雙擊 AutosarEnvironment.bat 打開代碼頁,將紅框內代碼路徑更改成安裝位置路徑後即可編譯工程生成 .elf 文件。
4.3 調試演示
生成 .elf 文件後即可進行 debug 測試,測試結果如下所示。
無設備檢測結果
手機檢測結果
卡檢測結果
多卡檢測結果
綜上所述 NCF3321 卡保護應用示例可精確檢測無設備、手機、單卡與多卡情況並給出禁止充電、允許充電命令,結合無線充電程序板搭配使用可有效防止 NFC 卡片放置於無線充板上觸發無線充電損壞 NFC 卡片。如想了解 NCF3321 卡保護應用示例更多資料與設計,請聯繫我們 atu.sh@wpi-group.com。
五、參考文獻
[1] DS787721-Data Sheet NCF3321(2.1).pdf,NXP
[2] UM-SCA11222-AUTOSAR_Demonstration_Guideline_for_aNFC_Reader_Library.pdf,NXP
[3] WCT-15WTXAUTOS13V2 Install User Guide(WCT15WTXAUTOSBUG).pdf,NXP
[4] UM-SCA11840-RTD_AUTOSAR_Demonstration_Guideline_for_aNFC_Reader_Library.pdf,NXP
歡迎在博文下方留言評論,我們會及時回復您的問題。如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com
作者:Hobo Xu / 許寧
評論