本文內容大綱
1. PN5190 晶片介紹
2. PN5190公版介紹
3. PN5190公版開機
4. 使用Cockpit 操作Mifare卡片讀取流程
5. 結論
♦ PN5190 晶片介紹
作為具有高射頻輸出 (2W) 和高接收器靈敏度的完整 NFC 前端,NXP PN5190 是支付終端和所有需要在困難環境中生成強大射頻場的讀卡器的強大解決方案。 PN5190 完全符合 EMVCo 3.1 和 NFC 論壇認證,
簡化了設計,同時確保與各種智能卡和移動電話的互操作性。
高輸出功率和接收器靈敏度使得小型天線的設計能夠保持較大天線的通信範圍。 這對於大型天線空間有限的設計尤其有趣。高效的省電模式可延長電池供電系統(包括住宅門禁鎖)的電池壽命。
♦ PN5190公版介紹
PNEV5190B 的基本概念是使用者能夠快速執行並評估 PN5190 並將自己的天線連接到 PNEV5190B公板。 此外,專用板允許焊接定制天線匹配組件可用。 NFC Cockpit 可用於優化 RF PN5190 天線調諧的性能,
以執行 DPC 校準和相關的 TX 和 RX 優化,無需觸及任何源代碼。所有相關寄存器都可以使用 NFC Cockpit 進行修改和微調。後寄存器優化成功,找到的設置可以存儲在PN5190中EEPROM。NFC Cockpit 還允許
將完整的用戶 EEPROM 內容轉儲到XML 文件。 然後可以將該文件再次加載到 EEPROM 中。 這允許管理並交換不同的用戶或天線配置。 此外,優化的寄存器使用 NFC Cockpit 的設置也可以在用戶代碼開發期間使用。
一旦定義了目標協議和數據速率的寄存器設置,包含 HAL 的 NFC 讀卡器庫可用於啟動用戶開發應用。 範例代碼說明了該庫在典型用例中的用法。NFC讀卡器庫的源代碼範例可用於開發在 Kinetis MCU K82 上應用(參見 [4]),
或者可以作為起點將 NXP NFC 讀取器庫移植到任何其他微控制器平台。
硬體介紹 :
PN5190 提供電源電壓,可以選擇內部供應或外部供應。對於內部電源,5 V、3.3 V 或 1.8 V(對於 VDDIO)可以使用。 外部電源應為 5 V DC(無極性設定),因為板提供整流器和 LDO 為電路提供 6 V 電壓
(可選,輸入電源電壓≥7.5 V)、5 V、3.3 V和1.8 V。警告:默認配置下的 PN5190 需要 3.3 V 電壓和高達 1A 的電流。 這需要外部電源,即 USB 電源通常無法提供足夠的電流。PN5190 通過 SPI 連接到 Kinetis K82 121BGA μC。
搭配指定固件K82 允許將 PNEV5190B 與 NFC Cockpit 一起使用。與 PC 的連接是通過 USB 微型連接完成的。另一個連接選項允許將連接器/LPC-LINK2 板連接到PNEV5190B 帶調試電纜。 或者可以使用 OpenSDA 接口。
這允許開發客製軟件或執行 NXP NFC 讀卡器包含的範例代碼。
(圖片來源 : AN12550 PNEV5190B evaluation board quick start guide.pd)
本次演示我們使用USB 口來做供電 (J9 pin1-2 short)
(圖片來源 : AN12550 PNEV5190B evaluation board quick start guide.pd)
接上USB 線紅色電源LED燈亮,表示板已正常供電。 它是由U6的3V3輸出。當使用帶有預設 K82 輔助固件的 PNEV5190BP 時:
1. 當鬆開 RESET 按鈕時,LED 閃爍,表示輔助 K82 FW和PN5190 FW工作正常。
2. 藍色LED指示PN5190已初始化,但沒有VCOM接口被打開。
3. 當VCOM 接口打開時,綠色LED 亮起。
4. 橙色 LED 表示通過 SPI 進行通信。
5. 紅色 LED 閃爍表示 PN5190 初始化失敗。 這有可能因為指示 PN5190 固件丟失或損壞
(例如,如果之前的安全固件更新有被打斷)。
♦ PN5190 公版開機
確定 K82 使用正確的固件進行刷新 NNC_uC_VCOM_03.05.09(編譯於2020年9月24日13:37:14)或之後。注意:強烈建議使用最新的輔助固件(NNC_uC_VCOM_x),隨最新的NFC Cockpit安裝包一起提供。
首次使用 NFC Cockpit 啟動 PNEV5190BP 後,<Load secondary Extra 選項中的 Firmware> 可用於刷新最新版本。 NFC cockpit自動將用戶指定到正確的文件夾,其中包含最新的 K82 輔助文件可以找到固件。
通常默認文件夾中會提供多個選項:所有它們可以與 NFC Cockpit 一起正常工作。
注意:請注意兩種不同的固件:一種用於 K82(稱為“輔助固件”,用於將 PNEV5190BP 連接到 NFC Cockpit),另一個對於 PN5190 本身(稱為“安全固件”)。
PNEV5190B 評估板附帶圖形用戶界面應用程序(GUI),NXP NFC cockpit。 NFC Cockpit 可用於探索功能PN5190 並執行射頻和天線設計相關的測試。 它允許直接寄存器訪問以及 EEPROM 讀寫訪問,
並且它允許測試和校準 DPC。 因此,NFC Cockpit 可用於配置和測試PN5190。
K82 固件以及驅動
K82 固件默認安裝在 PNEV5190B 上並可供使用。連接上USB線則該板預設僅與 NFC Cockpit 一起使用。
注意:仍然建議更新到最新版本的輔助固件,使用最新版本的 NFC Cockpit。
然而,K82 仍可用於軟件開發,K82 FW 可以透過MCUXpresso 的軟件開發軟體來擦除默認固件。
載入範例庫(包括 NXP NFC 讀卡器庫)之後可以執行任何已定義的範例程式。
♦ 使用Cockpit 操作Mifare卡片讀取流程
(圖片來源 : AN12550 PNEV5190B evaluation board quick start guide.pd)
1. 開啟Cockpit
啟動 NFC Cockpit 後,PC 和PNEV5190B EVK之間的通信鏈路(通過 K82 接口)自動啟用。
Cockpit 基本欄位說明
1. Load protocol
2. Field On
3. Activate layer3
4. Activate Layer 4 ( ex : Mifare DEsfire EV3)
(圖片來源 : AN12550 PNEV5190B evaluation board quick start guide.pd)
以下列出操作卡片讀取的基本動作流程 (以 Mifare classic 為例):
基於不同的卡片規格會有不同的操作流程 :
• 若是 Mifare classic 的話,只會到layer 3 的等級,等到 “activate layer3”操作完可以直接針對卡片的命令做操作。
• 若是Mifare DESfire 的卡片則可以繼續操作layer 4 命令。
2. 卡片讀取操作 (Mifare Classic)
依前面操作順序操作完1-2 之後,接下來在Log monitor 會顯示以下內容,代表操作成功
(圖片來源 : NXP GUI Cockpit )
這時可以將卡片放上天線接續操作active layer3,下方窗格會顯示該卡的UID
(圖片來源 : NXP GUI Cockpit )
查找該卡片命令格式,須帶一byte 為 block address
(圖片來源 : NXP Mifare classic datasheet)
我們讀取 block 0 的資料,來驗證上步驟所得到的 UID
(圖片來源 : NXP GUI Cockpit )
由上結果所示,讀取到一樣的資料。因此有興趣的人可以用這個命令來操作卡片的讀取命令來讀取所需讀取的區間。
3. 卡片讀取操作 (Mifare DESfireEV2)
依照以下順序操作卡片讀取
1) Load protocol
2) RF Field ON
3) Activate Layer3
(圖片來源 : NXP GUI Cockpit )
此時可以得到Mifare DESfire 卡片的UID
接續操作 activate layer4,可得回應 ATS (answer to select)
(圖片來源 : NXP GUI Cockpit )
因 layer4 的卡片為CPU卡,裡面有application 的架構在,因此我們要選擇要使用的application ID 做操作即可。
(圖片來源 : NXP GUI Cockpit )
♦ 結論
PN5190 世恩智浦推出最新的NFC 前端發送器,支持高度創新和獨特的功能,不需要任何主機控制器交互。 這些功能包括動態功率控制 (DPC)、自調適波形控制 (AWC) 和全自動 EMD 錯誤處理。實時主機控制器交互的獨立性使該產品非常適合適用於運行多任務操作系統(例如 Linux 或 Android)的系統。NXP 同時也提供用戶多元的應用範例程式來針對不同的使用場景跟付費認證的需求提供相對的資源跟軟硬體的支持,對使用者來說不管是專案的開發以及量產時程的推進都有相當大的助益。
♦ 參考資料來源
1. DS33813 PN5190 datasheet
2. AN12550 PNEV5190B evaluation board quick start guide.pdf
評論