恩智浦標誌UM11942
PN5190指令層
NFC前端控制器

使用者手冊

PN5190 NFC 前端控制器

文件訊息

資訊 內容
關鍵字 PN5190、NFC、NFC前端、控制器、指令層
抽象的 本文檔描述了主機控制器的指令層命令和回應,用於評估 NXP PN5190 NFC 前端控制器的操作。 PN5190 是新一代 NFC 前端控制器。本文檔的範圍是描述與 PN5190 NFC 前端控制器配合使用的介面指令。有關 PN5190 NFC 前端控制器操作的更多信息,請參閱數據表及其補充信息。

修訂歷史

牧師 日期 描述
3.7 20230525 • 文件類型和標題從產品資料表附錄更改為使用者手冊
• 編輯清理
• 更新了 SPI 訊號的編輯術語
• 在第 8 節的表 4.5.2.3 中新增了指令 GET_CRC_USER_AREA
• 更新了第 5190 節中 PN1B5190 和 PN2B3.4.1 的各種差異細節
• 更新第 3.4.7 節的回應
3.6 20230111 第 3.4.7 節中增強的檢查完整性回應描述
3.5 20221104 第 4.5.4.6.3 節「事件」:新增
3.4 20220701 • 在第 8 節的表 4.5.9.3 中新增了指令 CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
• 更新了第 4.5.9.2.2 節
3.3 20220329 在第 4.5.12.2.1 節「命令」和第 4.5.12.2.2 節「回應」中改進了硬體描述
3.2 20210910 韌體版本號從 2.1 更新至 2.01,從 2.3 更新至 2.03
3.1 20210527 新增了 RETRIEVE_RF_FELICA_EMD_DATA 指令描述
3 20210118 第一個正式發布版本

介紹

1.1 簡介
本文檔介紹 PN5190 主機介面和 API。文件中使用的實體主機介面是 SPI。本文檔中未考慮 SPI 物理特性。
幀分離和流量控制是本文檔的一部分。
1.1.1範圍
該文件描述了與客戶相關的邏輯層、指令代碼、API。

主機通訊透過view

PN5190 有兩種主要操作模式與主控制器通訊。

  1. 當設備被觸發進入時,使用基於HDLL的通訊:
    A。加密安全下載模式來更新其韌體
  2. TLV 基於命令回應的通訊(作為 example)。

2.1 HDLL模式
HDLL 模式用於封包交換格式,可與下列 I2C 操作模式搭配使用:

  1. 安全韌體下載模式 (SFWU),請參閱第 3 節

2.1.1 HDLL說明
HDLL 是 NXP 開發的連結層,用於確保可靠的韌體下載。
HDLL 訊息由 2 位元組標頭組成,後面跟著一個幀,其中包含命令的操作碼和有效負載。每個訊息以 16 位元 CRC 結尾,如下圖所示:NXP PN5190 NFC 前端控制器 -HDLL 標頭包含:

  • 一大塊。指示此訊息是否是訊息的唯一區塊或最後一個區塊(區塊 = 0)。或者,如果至少有一個其他區塊跟隨(chunk = 1)。
  • 以 10 位元編碼的有效負載的長度。因此,HDLL 幀有效負載最多可達 1023 位元組。

位元組順序定義為big-endian,意思是Ms Byte 在前。
CRC16 符合 X.25 (CRC-CCITT、ISO/IEC13239) 標準,多項式為 x^16 + x^12 + x^5 +1,預載值為 0xFFFF。
它是在整個 HDLL 幀(即 Header + Frame)上計算的。
SampC程式碼實作:
靜態 uint16_t phHal_Host_CalcCrc16(uint8_t* p, uint32_t dwLength)
{
uint32_t i ;
uint16_t crc_new ;
uint16_t CRC = 0xffffU;
for (I = 0; i < dwLength; i++)
{
crc_new = (uint8_t)(crc >> 8) | crc_new = (uint8_t)(crc >> XNUMX) | (crc << XNUMX);
crc_new ^= p[i];
crc_new ^= (uint8_t)(crc_new & 0xff) >> 4;
crc_new ^= crc_new << 12;
crc_new ^= (crc_new & 0xff) << 5;
CRC = crc_new;
}
返回CRC;
}
2.1.2 SPI 上的傳輸映射
對於每個 NTS 斷言,第一個位元組始終是 HEADER(流指示位元組),對於寫入/讀取操作,它可以是 0x7F/0xFF。
2.1.2.1 來自主機的寫入序列(方向 DH => PN5190)NXP PN5190 NFC 前端控制器 - SPI 寫入序列。2.1.2.2 從主機讀取序列(方向 PN5190 => DH)NXP PN5190 NFC 前端控制器 - 讀取序列2.1.3 HDLL協議
HDLL 是一種命令回應協定。上述所有操作均透過特定命令觸發,並根據回應進行驗證。
命令和回應遵循 HDLL 訊息語法,命令由裝置主機發送,回應由 PN5190 發送。操作碼指示命令和回應類型。
基於 HDLL 的通信,僅在 PN5190 觸發進入「安全韌體下載」模式時使用。
2.2 TLV模式
TLV 代表 Tag 長度值。
2.2.1 幀定義
SPI 幀從 NTS 的下降沿開始,以 NTS 的上升沿結束。 SPI 根據物理定義是全雙工,但 PN5190 在半雙工模式下使用 SPI。 SPI 模式僅限於 CPOL 0 和 CPHA 0,最大時脈速度如 [2] 中指定。每個 SPI 幀由 1 個位元組的幀頭和 n 個位元組的幀體組成。
2.2.2 流量指示NXP PN5190 NFC 前端控制器 - 流量指示無論主機要從 PN5190 寫入還是讀取數據,主機始終將流量指示位元組作為第一個位元組發送。
如果有讀取請求且沒有可用數據,則回應包含 0xFF。
流指示位元組之後的資料是一條或多條訊息。
對於每個 NTS 斷言,第一個位元組始終是 HEADER(流指示位元組),對於寫入/讀取操作,它可以是 0x7F/0xFF。
2.2.3 訊息類型
主機控制器應使用 SPI 訊框內傳輸的訊息與 PN5190 進行通訊。
共有三種不同的訊息類型:

  • 命令
  • 回覆
  • 事件

NXP PN5190 NFC 前端控制器 - 主機控制器上面的通訊圖顯示了不同訊息類型允許的方向,如下所示:

  • 命令和響應。
  • 指令僅從主機控制器傳送到 PN5190。
  • 回應和事件僅從 PN5190 發送到主機控制器。
  • 命令回應使用 IRQ 引腳同步。
  • 只有當 IRQ 為低時,主機才能傳送命令。
  • 只有當 IRQ 為高電位時,主機才能讀取回應/事件。

2.2.3.1 允許的順序和規則NXP PN5190 NFC 前端控制器 - 允許的序列允許的命令、回應和事件序列

  • 命令總是由回應或事件或兩者來確認。
  • 在未收到前一命令的回應之前,主機控制器不允許發送另一個命令。
  • 事件可以隨時非同步發送(不在命令/回應對內交錯)。
  • EVENT 訊息永遠不會與一幀內的 RESPONSE 訊息組合在一起。

筆記: 訊息(RESPONSE 或 EVENT)的可用性透過 IRQ 從低到高的變化來表示。 IRQ 保持高電平,直到讀取所有回應或事件訊框。只有當IRQ訊號為低電位後,主機才能發送下一個指令。
2.2.4 訊息格式
除 SWITCH_MODE_NORMAL 命令外,每個訊息均以 TLV 結構編碼,每個訊息均具有 n 位元組有效負載。NXP PN5190 NFC 前端控制器 - 訊息格式每個 TLV 由以下部分組成:NXP PN5190 NFC 前端控制器 - TLV 由類型 (T) => 1 位元組
位元[7]訊息類型
0: 命令或回應訊息
1: 事件訊息
位元[6:0]:指令碼
長度 (L) => 2 個位元組(應採用大端格式)
值 (V) => 基於長度欄位(大端格式)的 TLV(命令參數/回應資料)的 N 位元組值/數據
2.2.4.1 分割幀
命令訊息必須在一個 SPI 幀中發送。
RESPONSE 和EVENT 訊息可以在多個SPI 訊框中讀取,例如讀出長度位元組。NXP PN5190 NFC 前端控制器 - 多個 SPI 幀RESPONSE 或EVENT 訊息可以在單一SPI 幀中讀取,但在中間被NO-CLOCK 延遲,例如,讀出長度位元組。NXP PN5190 NFC 前端控制器 - 單 SPI 框架

IC 操作啟動模式 – 安全韌體下載模式

3.1 簡介
PN5190韌體代碼的一部分永久儲存在ROM中,而其餘代碼和資料則儲存在嵌入式快閃記憶體中。用戶資料儲存在快閃記憶體中,並受到防撕裂機制的保護,確保資料的完整性和可用性。為了提供 NXP 的客戶符合最新標準(EMVCo、NFC Forum 等)的功能,FLASH 中的程式碼和使用者資料都可以更新。
加密韌體的真實性和完整性受到非對稱/對稱金鑰簽章和反向鏈雜湊機制的保護。第一個 DL_SEC_WRITE 指令包含第二個指令的雜湊值,並受第一幀有效負載上的 RSA 簽章保護。 PN5190 韌體使用 RSA 公鑰來驗證第一個指令。每個命令中的鍊式雜湊用於驗證後續命令,以確保韌體程式碼和資料不會被第三方存取。
DL_SEC_WRITE 指令的有效負載使用 AES-128 金鑰進行加密。每個命令經過驗證後,有效負載內容將被 PN5190 韌體解密並寫入快閃記憶體。
對於恩智浦固件,恩智浦負責提供新的安全韌體更新以及新的用戶資料。
更新程式配備了保護恩智浦程式碼和資料的真實性、完整性和機密性的機制。
基於 HDLL 的幀資料包模式用於安全韌體升級模式的所有命令和回應。
第 2.1 節提供了以上view 使用的 HDLL 幀資料包架構。
PN5190 IC 支援傳統加密安全韌體下載和硬體加密輔助加密安全韌體下載協議,具體取決於所使用的變體。
這兩種類型是:

  • 傳統安全韌體下載協定僅適用於 PN5190 B0/B1 IC 版本。
  • 硬體加密輔助安全韌體下載協議,僅適用於 PN5190B2 IC 版本,使用片上硬體加密區塊

以下部分解釋了安全韌體下載模式的命令和回應。
3.2 如何觸發「安全韌體下載」模式
下圖和後續步驟顯示如何觸發安全韌體下載模式。NXP PN5190 NFC 前端控制器 - 韌體下載模式前提條件:PN5190 處於運作狀態。
主要場景:

  1. DWL_REQ 接腳用於進入「安全韌體下載」模式的進入條件。
    A。裝置主機將 DWL_REQ 引腳拉高(僅在透過 DWL_REQ 引腳進行安全韌體更新時有效)或
    b.設備主機執行硬重置以啟動 PN5190
  2. 不使用 DWL_REQ 引腳進入「安全韌體下載」模式(無引腳下載)的進入條件。
    A。設備主機執行硬重置以啟動 PN5190
    b.設備主機發送 SWITCH_MODE_NORMAL(第 4.5.4.5 節)以進入正常應用模式。
    C。現在,當 IC 處於正常應用模式時,裝置主機會傳送 SWITCH_MODE_DOWNLOAD(第 4.5.4.9 節)以進入安全下載模式。
  3. 設備主機傳送 DL_GET_VERSION(第 3.4.4 節)、或 DL_GET_DIE_ID(第 3.4.6 節)或 DL_GET_SESSION_STATE(第 3.4.5 節)指令。
  4. 設備主機從設備讀取目前硬體和韌體版本、會話、Die-id。
    A。設備主機檢查會話狀態是否上次下載已完成
    b.裝置主機應用程式版本檢查規則來決定是否開始下載或退出下載。
  5. 設備主機從 file 要下載的韌體二進位代碼
  6. 設備主機提供第一個 DL_SEC_WRITE(第 3.4.8 節)命令,其中包含:
    A。新韌體的版本,
    b.用於加密金鑰混淆的任意值的 16 位元組隨機數
    C。下一幀的摘要值,
    d.框架本身的數位簽名
  7. 設備主機使用 DL_SEC_WRITE(第 5190 節)指令將安全下載協定序列載入到 PN3.4.8
  8. 當傳送最後一個 DL_SEC_WRITE(第 3.4.8 節)指令時,裝置主機執行 DL_CHECK_INTEGRITY(第 3.4.7 節)指令來檢查記憶體是否已成功寫入。
  9. 裝置主機讀取新的韌體版本,並檢查會話狀態是否關閉,上報給上層
  10. 設備主機將 DWL_REQ 引腳拉至低電平(如果使用 DWL_REQ 引腳進入下載模式)
  11. 裝置主機在裝置上執行硬重置(切換 VEN 引腳)以重新啟動 PN5190
    後置條件:韌體已更新;報告新韌體版本號。

3.3 韌體簽名和版本控制
在 PN5190 韌體下載模式下,有一個機制確保只有由 NXP 簽署和交付的韌體才會被接受為 NXP 韌體。
以下內容僅適用於加密的安全 NXP 韌體。
在下載會話期間,會傳送新的 16 位元韌體版本。它由一個主要號碼和一個次要號碼組成:

  • 主編號:8 位元(MSB)
  • 次要編號:8 位元 (LSB)

PN5190 檢查新的主版本號是否大於或等於目前版本號。如果不是,則安全韌體下載將被拒絕,並且會話將保持關閉。
3.4 用於傳統加密下載和硬體加密輔助的 HDLL 指令 加密下載
本節提供有關用於 NXP 韌體下載的兩種下載類型的命令和回應的資訊。
3.4.1 HDLL 指令操作碼
筆記: HDLL 指令幀是 4 位元組對齊的。未使用的有效負載位元組為零。
表 1. HDLL 指令 OP 代碼列表

PN5190 B0/ B1
(舊版下載)
PN5190 B2
(加密輔助下載)
命令別名 描述
0xF0 0xE5 DL_復位 執行軟重置
0xF1 0xE1 DL_GET_VERSION 回傳版本號
0xF2 0xDB DL_GET_SESSION_STATE 傳回目前會話狀態
0xF4 0xDF DL_GET_DIE_ID 返回模具 ID
0xE0 0xE7 DL_CHECK_INTEGRITY 檢查並傳回不同區域的 CRC 以及每個區域的通過/失敗狀態標誌
0xC0 0x8C DL_SEC_WRITE 從絕對位址 y 開始將 x 位元組寫入內存

3.4.2 HDLL響應操作碼
筆記: HDLL 回應幀是 4 位元組對齊的。未使用的有效負載位元組為零。只有 DL_OK 回應可以包含有效負載值。
表 2. HDLL 回應 OP 代碼列表

操作碼 回應別名 描述
0x00 DL_OK 命令已通過
0x01 DL_INVALID_ADDR 地址不允許
0x0B DL_UNKNOW_CMD 未知的命令
0x0C DL_ABORTED_CMD 區塊序列太大
0x1E DL_ADDR_RANGE_OFL_ERROR 地址超出範圍
0x1F DL_BUFFER_OFL_ERROR 緩衝區太小
0x20 DL_MEM_BSY 記憶體繁忙
0x21 DL_SIGNATURE_ERROR 簽名不匹配
0x24 DL_FIRMWARE_VERSION_ERROR 目前版本等於或更高
0x28 DL_協定_錯誤 協議錯誤
0x2A DL_SFWU_DEGRADED 快閃記憶體資料損壞
0x2D PH_STATUS_DL_FIRST_CHUNK 收到第一個區塊
0x2E PH_STATUS_DL_NEXT_CHUNK 等待下一個區塊
0xC5 PH_STATUS_INTERNAL_ERROR_5 長度不匹配

3.4.3 DL_RESET命令
幀交換:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF0 0x00 0x00 0x00 0x18 0x5B] PN5190 B2: [HDLL] -> [0x00 0x04 0xE5 0x00 0x00 0x00 0xBF 0xB9] [HDLL] <- [0x00 0x04 STAT 0x00 CRC16] 重設應答可防止 PN5190 發送 DL_STATUS_OK。因此,只能接收到錯誤狀態。
STAT 為返回狀態。
3.4.4 DL_GET_VERSION命令
幀交換:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF1 0x00 0x00 0x00 0x6E 0xEF] PN5190 B2: [HDLL] -> [0x00 0x04 0xE1 0x00 0x00 0x00 0x75 0x48] [HDLL] <- [0x00 0x08 STAT HW_V RO_V MODEL_ID FM1V FM2V RFU1 RFU STAT HW_V RO_V MODEL_ID FM2V FM16V RFUXNUMX RFU STAT HW_V RO_V MODEL_ID FMXNUMXV FMXNUMXV RFUXNUMX RFU XNUMXV
表 3. 對 GetVersion 指令的回應

場地 位元組 描述
統計數據 1 地位
硬體_V 2 硬體版本
RO_V 3 ROM程式碼
型號_ID 4 型號標識
調頻視頻 5-6 韌體版本(用於下載)
RFU1-RFU2 7-8

不同回應欄位的期望值及其對應如下:
表 4. GetVersion 指令回應的預期值

積體電路類型 硬體版本(十六進位) ROM 版本(十六進位) 型號 ID(十六進位) 韌體版本(十六進位)
PN5190 B0 0x51 0x02 0x00 xx.yy
PN5190 B1 0x52 0x02 0x00 xx.yy
PN5190 B2 0x53 0x03 0x00 xx.yy

3.4.5 DL_GET_SESSION_STATE指令
幀交換:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF2 0x00 0x00 0x00 0xF5 0x33] PN5190 B2: [HDLL] -> [0x00 0x04 0xDB 0x00 0x00 0x00 0x31 0x0A] [HDLL] <- [0x00 0x04 STAT SSTA RFU CRC16] GetSession 回應的有效負載為:
表 5. 對 GetSession 指令的回應

場地 位元組 描述
統計數據 1 地位
海溫異常 2 會話狀態
• 0x00:關閉
• 0x01:開啟
• 0x02:鎖定(不再允許下載)
射頻單元 3-4

3.4.6 DL_GET_DIE_ID命令
幀交換:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF4 0x00 0x00 0x00 0xD2 0xAA] PN5190 B2: [HDLL] -> [0x00 0x04 0xDF 0x00 0x00 0x00 0xFB 0xFB] [HDLL] <- [0x00 0x14 STAT 0x00 0x00 0x00 ID0 ID1 ID2 ID3 ID4 ID5 ID6 ID7 ID8
ID10 ID11 ID12 ID13 ID14 ID15 CRC16] GetDieId 回應的有效負載訊框為:
表 6. 對 GetDieId 指令的回應

場地 位元組 描述
統計數據 1 地位
射頻單元 2-4
迪伊德 5-20 模具 ID(16 位元組)

3.4.7 DL_CHECK_INTEGRITY命令
幀交換:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xE0 0x00 0x00 0x00 CRC16] PN5190 B2: [HDLL] -> [0x00 0x04 0xE7 0x00 0x00 0x00 0x52 0xD1] [HDLL] <- [0x00 0x20 STAT LEN_DATA LEN_CODE 0x00 [CRC_INFO] [32] 資料幀的有效反應:
表 7. 對 CheckIntegrity 指令的回應

場地 位元組 值/描述
統計數據 1 地位
資料長度 2 資料段總數
長度代碼 3 代碼段總數
射頻單元 4 預訂的
[CRC_訊息] 58 32 位元(小端)。如果設定了某個位,則對應部分的 CRC 為 OK,否則為 Not OK。
位元 區域完整性狀況
[31:28] 保留 [3]
[27:23] 保留 [1]
[22] 保留 [3]
[21:20] 保留 [1]
[19] RF 配置區域 (PN5190 B0/B1) [2] 保留 (PN5190 B2) [3]
[18] 協定配置區 (PN5190 B0/B1) [2] RF 配置區 (PN5190 B2) [2]
[17] 保留 (PN5190 B0/B1) [3] 使用者配置區域 (PN5190 B2) [2]
[16:6] 保留 [3]
[5:4] 保留用於 PN5190 B0/B1 [3] 保留用於 PN5190 B2 [1]
[3:0] 保留 [1]
[CRC32] 9-136 32 節的 CRC32。每個 CRC 為 4 個位元組,以小端格式儲存。
CRC 的前 4 個位元組是位元 CRC_INFO[31],接下來的 4 個位元組是位元 CRC_INFO[30],依此類推。
  • [1] 該位元必須為 1,PN5190 才能正常運作(具有功能和/或加密韌體下載)。
  • [2] 此位元預設為 1,但使用者修改設定會使 CRC 無效。對 PN5190 功能沒有影響。
  • [3] 此位值即使為 0,也是不相關的。該位值可以忽略。

3.4.8 DL_SEC_WRITE命令
DL_SEC_WRITE 命令應在一系列安全寫入命令的上下文中考慮:加密的「安全韌體下載」(通常稱為 eSFWu)。
安全寫入命令首先開啟下載會話並通過 RSA 驗證。接下來是傳遞加密位址和位元組以寫入 PN5190 快閃記憶體。除最後一個幀之外的所有幀都包含下一個雜湊值,因此通知它們不是最後一個,並以加密方式將序列幀綁定在一起。
其他命令(DL_RESET 和 DL_CHECK_INTEGRITY 除外)可以插入序列的安全寫入命令之間,而不會破壞序列。
3.4.8.1 第一個 DL_SEC_WRITE 指令
當且僅當滿足以下條件時,安全寫入指令才是第一個指令:

  1. 幀長度為312位元組
  2. 自上次重設以來尚未收到任何安全寫入命令。
  3. PN5190 成功驗證了嵌入的簽名。

對第一幀指令的回應如下: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT 是回傳狀態。
筆記: 在 eSFWu 期間必須寫入至少一塊數據,即使寫入的資料可能只有一個位元組長。因此,第一個命令將始終包含下一個命令的雜湊值,因為至少有兩個命令。
3.4.8.2 中間DL_SEC_WRITE指令
當且僅當滿足以下條件時,安全寫入指令才是「中間指令」:

  1. DL_SEC_WRITE 指令的操作碼如第 3.4.1 節所述。
  2. 第一個安全寫入命令之前已被接收並成功驗證
  3. 自收到第一個安全寫入指令後未發生重置
  4. 幀長度等於資料大小 + 標頭大小 + 哈希大小:FLEN = SIZE + 6 + 32
  5. 整個幀的摘要等於前一幀接收到的雜湊值

對第一幀指令的回應如下: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT 是回傳狀態。
3.4.8.3 最後的 DL_SEC_WRITE 指令
當且僅當滿足以下條件時,安全寫入指令才是最後一個指令:

  1. DL_SEC_WRITE 指令的操作碼如第 3.4.1 節所述。
  2. 第一個安全寫入命令之前已被接收並成功驗證
  3. 自收到第一個安全寫入指令後未發生重置
  4. 幀長度等於資料大小+標頭大小:FLEN = SIZE + 6
  5. 整個幀的摘要等於前一幀接收到的雜湊值

對第一幀指令的回應如下: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT 是回傳狀態。

IC 操作啟動模式 – 正常操作模式

4.1 簡介
一般來說,PN5190 IC 必須處於正常操作模式才能獲得 NFC 功能。
當 PN5190 IC 啟動時,它始終等待從主機接收命令以執行操作,除非 PN5190 IC 內產生的事件導致 PN5190 IC 啟動。
4.2 指令列表view
表 8. PN5190 指令列表

指令代碼 命令名稱
0x00 寫寄存器
0x01 WRITE_REGISTER_OR_MASK
0x02 WRITE_REGISTER_AND_MASK
0x03 WRITE_REGISTER_MULTIPLE
0x04 讀暫存器
0x05 READ_REGISTER_MULTIPLE
0x06 寫_E2PROM
0x07 READ_E2PROM
0x08 傳輸射頻數據
0x09 RETRIEVE_RF_DATA
0x0A 交換射頻數據
0x0B MFC_AUTHENTICATE
0x0C EPC_GEN2_INVENTORY
0x0D LOAD_RF_CONFIGURATION
0x0E 更新射頻配置
0x0F GET_RF_CONFIGURATION
0x10 射頻開啟
0x11 射頻關閉
0x12 配置 TESTBUS_DIGITAL
0x13 配置_測試總線_模擬
0x14 CTS_啟用
0x15 CTS_配置
0x16 CTS_RETRIEVE_LOG
0x17-0x18 射頻單元
0x19 直至韌體 v2.01:RFU
從韌體 v2.03 開始:RETRIEVE_RF_FELICA_EMD_DATA
0x1A 接收射頻數據
0x1B-0x1F 射頻單元
0x20 開關_模式_正常
0x21 SWITCH_MODE_AUTOCOLL
0x22 SWITCH_MODE_STANDBY
0x23 開關模式LPCD
0x24 射頻單元
0x25 SWITCH_MODE_下載
0x26 取得_DIEID
0x27 取得版本
0x28 射頻單元
0x29 直至韌體 v2.05:RFU
從韌體 v2.06 開始:GET_CRC_USER_AREA
0x2A 直至韌體 v2.03:RFU
從韌體 v2.05 開始:CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
0x2B-0x3F 射頻單元
0x40 ANTENNA_SELF_TEST(不支援)
0x41 PRBS_測試
0x42-0x4F 射頻單元

4.3 響應狀態值
以下是回應狀態值,在命令執行後,這些值會作為 PN5190 回應的一部分傳回。
表 9. PN5190 響應狀態值

響應狀態 回應狀態值 描述
PN5190_STATUS_SUCCESS 0x00 表示操作成功完成
PN5190_STATUS_TIMEOUT 0x01 表示該指令的操作導致逾時
PN5190_STATUS_INTEGRITY_ERROR 0x02 表示該指令的操作導致射頻資料完整性錯誤
PN5190_STATUS_RF_COLLISION_ERROR 0x03 表示該指令的操作導致RF衝突錯誤
PN5190_STATUS_RFU1 0x04 預訂的
PN5190_STATUS_INVALID_COMMAND 0x05 表示給定的命令無效/未執行
PN5190_STATUS_RFU2 0x06 預訂的
PN5190_STATUS_AUTH_ERROR 0x07 表示MFC認證失敗(權限被拒絕)
PN5190_STATUS_MEMORY_ERROR 0x08 表示該指令的操作導致編程錯誤或記憶體錯誤
PN5190_STATUS_RFU4 0x09 預訂的
PN5190_STATUS_NO_RF_FIELD 0x0A 指示內部 RF 場不存在或存在錯誤(僅適用於啟動器/讀取器模式)
PN5190_STATUS_RFU5 0x0B 預訂的
PN5190_STATUS_SYNTAX_ERROR 0x0C 表示收到無效的命令幀長度
PN5190_STATUS_RESOURCE_ERROR 0x0D 表示發生內部資源錯誤
PN5190_STATUS_RFU6 0x0E 預訂的
PN5190_STATUS_RFU7 0x0F 預訂的
PN5190_STATUS_NO_EXTERNAL_RF_FIELD 0x10 指示執行指令期間不存在外部射頻場(僅適用於卡片/目標模式)
PN5190_STATUS_RX_TIMEOUT 0x11 發起RFExchange後未收到數據,RX逾時。
PN5190_STATUS_USER_CANCELLED 0x12 表示當前正在進行的命令被中止
PN5190_STATUS_PREVENT_STANDBY 0x13 表示防止 PN5190 進入待機模式
PN5190_STATUS_RFU9 0x14 預訂的
PN5190_STATUS_CLOCK_ERROR 0x15 指示 CLIF 的時鐘未啟動
PN5190_STATUS_RFU10 0x16 預訂的
PN5190_STATUS_PRBS_ERROR 0x17 表示 PRBS 指令回傳錯誤
PN5190_STATUS_INSTR_ERROR 0x18 表示命令操作失敗(可能包括指令參數錯誤、語法錯誤、操作本身錯誤、不滿足指令前置要求等)
PN5190_STATUS_ACCESS_DENIED 0x19 表示對內部記憶體的存取被拒絕
PN5190_STATUS_TX_FAILURE 0x1A 表明 TX over RF 失敗
PN5190_STATUS_NO_ANTENNA 0x1B 表示沒有連接/不存在天線
PN5190_STATUS_TXLDO_ERROR 0x1C 指示當 VUP 不可用且 RF 開啟時,TXLDO 中存在錯誤。
PN5190_STATUS_RFCFG_NOT_APPLIED 0x1D 表示射頻打開時未加載射頻配置
PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR 0x1E 至 FW 2.01:預計不會
從韌體 2.03 開始:
表示在 FeliCa EMD 暫存器中設定了 LOG ENABLE BIT 的交換過程中,觀察到 FeliCa EMD 錯誤
PN5190_STATUS_INTERNAL_ERROR 0x7F 表示NVM操作失敗
PN5190_STATUS_SUCCES_CHAINING 0xAF 表示還有資料等待讀取

4.4 活動結束view
有兩種方式將事件通知主機。
4.4.1 IRQ 腳位上的正常事件
這些事件的類別如下:

  1. 始終啟用 – 主機始終收到通知
  2. 由主機控制 – 如果在暫存器中設定了對應的事件啟用位元 (EVENT_ENABLE (01h)),則主機會收到通知。

來自週邊 IP(包括 CLIF)的低階中斷應在韌體內完全處理,且主機應僅被通知事件部分中列出的事件。
韌體將兩個事件暫存器實作為 RAM 暫存器,可以使用第 4.5.1.1 節/第 4.5.1.5 節命令寫入/讀取它們。
暫存器 EVENT_ENABLE (0x01) => 啟用特定/所有事件通知。
暫存器 EVENT_STATUS (0x02) => 事件訊息有效負載的一部份。
一旦主機讀出事件訊息,事件應由主機清除。
事件本質上是非同步的,如果在 EVENT_ENABLE 暫存器中啟用了事件,則會通知主機。
以下是作為事件訊息的一部分可供主機使用的事件清單。
表 10. PN5190 事件(EVENT_STATUS 的內容)

位-範圍 領域 [1] 總是 啟用(是/否)
31 12 射頻單元 NA
11 11 CTS_EVENT [2] N
10 10 空閒事件 Y
9 9 LPCD_CALIBRATION_DONE_EVENT Y
8 8 LPCD_事件 Y
7 7 自動收集事件 Y
6 6 TIMER0_EVENT N
5 5 TX_OVERCURRENT_EVENT N
4 4 RFON_DET_EVENT [2] N
3 3 RFOFF_DET_EVENT [2] N
2 2 STANDBY_PREV_EVENT Y
1 1 GENERAL_ERROR_EVENT Y
0 0 啟動事件 Y
  1. 請注意,除非出現錯誤,否則不會將兩個事件合併在一起。如果操作過程中出現錯誤,功能事件(例如BOOT_EVENT、AUTOCALL_EVENT等)和GENERAL_ERROR_EVENT將會被設定。
  2. 活動發佈到主機後將自動停用。如果主機希望收到這些事件的通知,則應再次啟用這些事件。

4.4.1.1 事件訊息格式
事件訊息格式會根據事件的發生和 PN5190 的不同狀態而有所不同。
樓主必讀 tag (T) 和訊息長度 (L),然後讀取對應的位元組數作為事件的值 (V)。
一般來說,事件訊息(請參閱圖 12)包含表 11 中定義的 EVENT_STATUS,且事件資料對應於 EVENT_STATUS 中設定的相應事件位元。
筆記:
對於某些事件,有效負載不存在。例如,如果觸發 TIMER0_EVENT,則僅提供 EVENT_STATUS 作為事件訊息的一部分。
表11也詳細列出了事件訊息中是否存在對應事件的事件資料。NXP PN5190 NFC 前端控制器 - 發生錯誤GENERAL_ERROR_EVENT 也可能與其他事件一起發生。
在這種情況下,事件訊息(請參閱圖 13)包含表 11 中定義的 EVENT_STATUS 和表 14 中定義的 GENERAL_ERROR_STATUS_DATA,然後事件資料對應於表 11 中定義的 EVENT_STATUS 中設定的對應事件位元。NXP PN5190 NFC 前端控制器 - 發生錯誤時格式化筆記:
只有在BOOT_EVENT之後或在POR、STANDBY、ULPCD之後,主機才能透過發出上面列出的命令來工作在正常操作模式下。
如果要中止現有正在執行的命令,只有在 IDLE_EVENT 之後,主機才能透過發出上面列出的命令來工作在正常操作模式下。
4.4.1.2 不同的EVENT狀態定義
4.4.1.2.1 EVENT_STATUS 的位元定義
表 11. EVENT_STATUS 位元的定義

位(至 - 來自) 事件 描述 對應事件的事件數據
(如果有的話)
31 12 射頻單元 預訂的
11 11 CTS_EVENT 當產生 CTS 事件時,該位元被設定。 表86
10 10 空閒事件 當由於發出 SWITCH_MODE_NORMAL 命令而取消正在進行的命令時,該位元被設定。 無事件數據
9 9 LPCD_CALIBRATION_DONE_
事件
當產生 LPCD 校準完成事件時,該位元被設定。 表16
8 8 LPCD_事件 當 LPCD 事件產生時,該位元被置位。 表15
7 7 自動收集事件 當 AUTOCOLL 操作完成時,該位元被設定。 表52
6 6 TIMER0_EVENT 當 TIMER0 事件發生時,該位元被置位。 無事件數據
5 5 TX_OVERCURRENT_ERROR_
事件
當 TX 驅動器上的電流高於 EEPROM 中定義的閾值時,該位元被設定。在這種情況下,在通知主機之前該欄位會自動關閉。請參閱第 4.4.2.2 節。 無事件數據
4 4 RFON_DET_EVENT 當偵測到外部 RF 場時,該位元被設定。 無事件數據
3 3 RFOFF_DET_EVENT 當已經存在的外部射頻場消失時,該位元被設定。 無事件數據
2 2 STANDBY_PREV_EVENT 當由於存在阻止條件而阻止待機時,該位元被設置 表13
1 1 GENERAL_ERROR_EVENT 當存在任何一般錯誤情況時,該位元被設置 表14
0 0 啟動事件 當 PN5190 透過 POR/待機啟動時,該位元被設定 表12

4.4.1.2.2 BOOT_STATUS_DATA 的位元定義
表 12. BOOT_STATUS_DATA 位元的定義

位至 位元來自 開機狀態 啟動原因由於
31 27 射頻單元 預訂的
26 26 ULP_STANDBY 由於退出 ULP_STANDBY 導致啟動原因。
25 23 射頻單元 預訂的
22 22 BOOT_RX_ULPDET RX ULPDET 導致在 ULP 待機模式下啟動
21 21 射頻單元 預訂的
20 20 啟動_SPI 由於 SPI_NTS 訊號被拉低導致啟動原因
19 17 射頻單元 預訂的
16 16 啟動_GPIO3 由於 GPIO3 從低電平轉換為高電平而導致的啟動原因。
15 15 啟動_GPIO2 由於 GPIO2 從低電平轉換為高電平而導致的啟動原因。
14 14 啟動_GPIO1 由於 GPIO1 從低電平轉換為高電平而導致的啟動原因。
13 13 啟動_GPIO0 由於 GPIO0 從低電平轉換為高電平而導致的啟動原因。
12 12 引導_LPDET 由於待機/暫停期間存在外部 RF 場而導致的啟動原因
11 11 射頻單元 預訂的
10 8 射頻單元 預訂的
7 7 啟動軟復位 由於 IC 軟重置導致的啟動原因
6 6 BOOT_VDDIO_LOSS 由於 VDDIO 遺失而導致的啟動原因。請參閱第 4.4.2.3 節
5 5 BOOT_VDDIO_START 如果進入待機狀態且 VDDIO 遺失,則啟動原因。
請參閱第 4.4.2.3 節
4 4 引導_WUC 由於喚醒計數器在任一待機操作期間已過而導致的啟動原因。
3 3 啟動溫度 由於 IC 溫度超過配置的閾值限製而導致的啟動原因。請參閱第4.4.2.1節
2 2 引導_WDG 由於看門狗復位導致的啟動原因
1 1 射頻單元 預訂的
0 0 啟動_上電復位 因上電復位導致的啟動原因

4.4.1.2.3 STANDBY_PREV_STATUS_DATA 的位元定義
表 13. STANDBY_PREV_STATUS_DATA 位元的定義

位至  位元來自  待機預防 由於以下原因無法進行待機
31 26 射頻單元 預訂的
25 25 射頻單元 預訂的
24 24 PREV_TEMP IC 工作溫度超出閾值
23 23 射頻單元 預訂的
22 22 PREV_HOSTCOMM 主機介面通訊
21 21 PREV_SPI SPI_NTS訊號被拉低
20 18 射頻單元 預訂的
17 17 PREV_GPIO3 GPIO3 訊號從低電平轉換為高電平
16 16 PREV_GPIO2 GPIO2 訊號從低電平轉換為高電平
15 15 PREV_GPIO1 GPIO1 訊號從低電平轉換為高電平
14 14 PREV_GPIO0 GPIO0 訊號從低電平轉換為高電平
13 13 PREV_WUC 喚醒計數器已過
12 12 PREV_LPDET 低功耗檢測。當進入待機過程中偵測到外部射頻訊號時發生。
11 11 PREV_RX_ULPDET RX超低功耗檢測。當進入 ULP_STANDBY 過程中偵測到 RF 訊號時發生。
10 10 射頻單元 預訂的
9 5 射頻單元 預訂的
4 4 射頻單元 預訂的
3 3 射頻單元 預訂的
2 2 射頻單元 預訂的
1 1 射頻單元 預訂的
0 0 射頻單元 預訂的

4.4.1.2.4 GENERAL_ERROR_STATUS_DATA 的位元定義
表 14. GENERAL_ERROR_STATUS_DATA 位元的定義

位至  位元來自  錯誤狀態 描述
31 6 射頻單元 預訂的
5 5 XTAL_START_ERROR 引導期間 XTAL 啟動失敗
4 4 SYS_TRIM_RECOVERY_ERROR 發生內部系統修剪記憶體錯誤,但恢復失敗。系統工作在降級模式。
3 3 SYS_TRIM_RECOVERY_SUCCESS 發生內部系統修剪記憶體錯誤,恢復成功。主機必須重新啟動 PN5190 才能使復原生效。
2 2 TXLDO_錯誤 TXLDO 錯誤
1 1 時鐘錯誤 時鐘錯誤
0 0 GPADC_錯誤 ADC 錯誤

4.4.1.2.5 LPCD_STATUS_DATA 的位元定義
表 15. LPCD_STATUS_DATA 位元組的定義

位至 位元來自 狀態位適用性取決於 LPCD 或 ULPCD 的基礎操作 對應位的描述在狀態位元組中設定。
液晶顯示器 超長液晶顯示器
31 7 射頻單元 預訂的
6 6 中止_HIF Y N 由於 HIF 活性而中止
5 5 時鐘偵測錯誤 N Y 由於發生 CLKDET 錯誤而中止
4 4 結晶超時 N Y 由於發生 XTAL 逾時而中止
3 3 VDDPA LDO 過流 N Y 由於 VDDPA LDO 發生過流而中止
2 2 外部射頻場 Y Y 由於外部 RF 場而中止
1 1 GPIO3 中止 N Y 由於 GPIO3 電平變化而中止
0 0 偵測到卡 Y Y 偵測到卡

4.4.1.2.6 LPCD_CALIBRATION_DONE 狀態資料的位元定義
表 16. ULPCD 的 LPCD_CALIBRATION_DONE 狀態資料位元組的定義

位至 位元來自 LPCD_CALIBRATION DONE 的狀態 事件 對應位的描述在狀態位元組中設定。
31 11 預訂的
10 0 ULPCD 校準的參考值 ULPCD 校準期間測得的 RSSI 值,用作 ULPCD 期間的參考

表 17. LPCD 的 LPCD_CALIBRATION_DONE 狀態資料位元組的定義

位至 位元來自 狀態位適用性取決於 LPCD 或 ULPCD 的基礎操作 對應位的描述在狀態位元組中設定。
2 2 外部射頻場 Y Y 由於外部 RF 場而中止
1 1 GPIO3 中止 N Y 由於 GPIO3 電平變化而中止
0 0 偵測到卡 Y Y 偵測到卡

4.4.2 不同啟動場景的處理
PN5190 IC 處理與 IC 參數相關的不同錯誤情況,如下所示。
4.4.2.1 PN5190 工作時過溫狀況的處理
每當 PN5190 IC 的內部溫度達到 EEPROM 欄位 TEMP_WARNING [2] 中配置的閾值時,IC 就會進入待機狀態。因此,如果 EEPROM 欄位 ENABLE_GPIO0_ON_OVERTEMP [2] 配置為向主機發出通知,則 GPIO0 將被拉高以通知 IC 溫度過高。
當IC 溫度低於EEPROM 欄位TEMP_WARNING [2] 中配置的閾值時,IC 將透過BOOT_EVENT 啟動(如表11 所示),並且BOOT_TEMP 啟動狀態位元將被設定(如表12 所示),並且GPIO0 將被拉低。
4.4.2.2 過流處理
如果 PN5190 IC 偵測到過流情況,IC 會關閉 RF 電源並傳送 TX_OVERCURRENT_ERROR_EVENT,如表 11 所示。
過流條件的持續時間可以透過修改 EEPROM 欄位 TXLDO_CONFIG [2] 來控制。
有關 IC 過流閾值的信息,請參閱文件 [2]。
筆記:
如果還有任何其他待處理的事件或回應,它們將被傳送到主機。
4.4.2.3 工作期間 VDDIO 遺失
如果 PN5190 IC 遇到沒有 VDDIO(VDDIO 遺失),則 IC 進入待機狀態。
只有當 VDDIO 可用時,IC 才會啟動,BOOT_EVENT 如表 11 所示,BOOT_VDDIO_START 啟動狀態位元設定如表 12 所示。
有關 PN5190 IC 靜態特性的信息,請參閱文件 [2]。
4.4.3 中止場景的處理
PN5190 IC 支援中止目前正在執行的命令,當向 PN5190 IC 發送此類中止命令(如第 4.5.4.5.2 節)時,PN5190 IC 的行為如表 18 所示。
筆記:
當 PN5190 IC 處於 ULPCD 和 ULP 待機模式時,無法透過發送第 4.5.4.5.2 節或啟動 SPI 事務(透過拉低 SPI_NTS 訊號)來中止。
表 18. 當不同指令以第 4.5.4.5.2 節終止時的預期事件回應

命令 發送切換模式正常指令時的行為
所有未輸入低功率的命令 EVENT_STAUS 設定為“IDLE_EVENT”
開關模式LPCD EVENT_STATUS 設定為“LPCD_EVENT”,“LPCD_STATUS_DATA”指示狀態位元為“Abort_HIF”
切換模式待機 EVENT_STAUS 設定為“BOOT_EVENT”,“BOOT_STATUS_DATA”指示位元“BOOT_SPI”
切換模式 Autocoll(無自治模式、帶待機的自治模式和不帶待機的自治模式) EVENT_STAUS 設定為“AUTOCOLL_EVENT”,STATUS_DATA 位元指示指令已被使用者取消。

4.5 普通模式操作指令詳情
4.5.1 寄存器操作
本節指令用於存取 PN5190 的邏輯暫存器。
4.5.1.1 寫入寄存器
此指令用於將 32 位元值(小端)寫入邏輯暫存器。
4.5.1.1.1個條件
暫存器的位址必須存在,且暫存器必須具有讀寫或只寫屬性。
4.5.1.1.2 命令
表 19. WRITE_REGISTER 指令值 將 32 位元值寫入暫存器。

有效負載字段 長度 值/描述
暫存器位址 1位元組 寄存器的位址。

表 19. WRITE_REGISTER 指令值...續
將 32 位元值寫入暫存器。

有效負載字段 長度 值/描述
價值 4 位元組 必須寫入的 32 位元暫存器值。 (小端)

4.5.1.1.3 響應
表 20. WRITE_REGISTER 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR

4.5.1.1.4項
該命令沒有任何事件。
4.5.1.2 寫入暫存器或掩碼
此指令用於使用邏輯或運算來修改暫存器的內容。讀取暫存器的內容並使用提供的遮罩執行邏輯“或”運算。修改後的內容寫回寄存器。
4.5.1.2.1個條件
暫存器的位址必須存在,且暫存器必須具有讀寫屬性。
4.5.1.2.2 命令
表 21. WRITE_REGISTER_OR_MASK 指令值 使用提供的遮罩對暫存器執行邏輯 OR 運算。

有效負載字段 長度 值/描述
暫存器位址 1位元組 寄存器的位址。
面具 4 位元組 位元遮罩用作邏輯或運算的操作數。 (小端)

4.5.1.2.3 響應
表 22. WRITE_REGISTER_OR_MASK 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR

4.5.1.2.4項
該命令沒有任何事件。
4.5.1.3 寫入暫存器和掩碼
此指令用於使用邏輯與運算來修改暫存器的內容。讀取暫存器的內容並使用提供的遮罩執行邏輯 AND 運算。修改後的內容寫回寄存器。
4.5.1.3.1個條件
暫存器的位址必須存在,且暫存器必須具有讀寫屬性。
4.5.1.3.2 命令
表 23. WRITE_REGISTER_AND_MASK 指令值 使用提供的遮罩對暫存器執行邏輯 AND 運算。

有效負載字段 長度 值/描述
暫存器位址 1位元組 寄存器的位址。
面具 4 位元組 位元遮罩用作邏輯與運算的操作數。 (小端)

4.5.1.3.3 響應
表 24. WRITE_REGISTER_AND_MASK 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR

4.5.1.3.4項
該命令沒有任何事件。
4.5.1.4 WRITE_REGISTER_MULTIPLE
此指令功能類似於第 4.5.1.1 節、第 4.5.1.2 節、第 4.5.1.3 節,並且可以將它們組合起來。事實上,它採用暫存器類型值集的陣列並執行適當的操作。此類型反映了寫入暫存器、暫存器上的邏輯或運算或暫存器上的邏輯與運算的運算。
4.5.1.4.1個條件
一組內的暫存器各自的邏輯位址必須存在。
暫存器存取屬性必須允許執行所需的操作(類型):

  • 寫入操作 (0x01):讀寫或只寫屬性
  • OR 遮罩操作 (0x02):讀寫屬性
  • AND 遮罩操作 (0x03):讀寫屬性

「Set」陣列的大小必須在 1 – 43 範圍內(含)。
欄位「類型」必須在 1 – 3 範圍內(含)

4.5.1.4.2 命令
表 25. WRITE_REGISTER_MULTIPLE 指令值 使用一組暫存器值對執行寫入暫存器操作。

有效負載字段 長度 值/描述
設定 [1…n] 6 位元組 暫存器位址 1位元組 暫存器的邏輯位址。
類型 1位元組 0x1 寫寄存器
0x2 寫入暫存器或掩碼
0x3 寫暫存器和掩碼
價值 4 位元組 必須寫入的 32 位元暫存器值,或用於邏輯運算的位元遮罩。 (小端)

注意:如果發生異常,操作不會回滾,即在異常發生之前已修改的暫存器仍保持修改狀態。主機必須採取適當的操作才能恢復到定義的狀態。
4.5.1.4.3 響應
表 26. WRITE_REGISTER_MULTIPLE 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR

4.5.1.4.4項
該命令沒有任何事件。
4.5.1.5 讀暫存器
此指令用於讀回邏輯暫存器的內容。內容以小端格式的 4 位元組值出現在回應中。
4.5.1.5.1個條件
邏輯暫存器的位址必須存在。暫存器的存取屬性必須是讀寫或唯讀。
4.5.1.5.2 命令
表 27. READ_REGISTER 命令值
讀回暫存器的內容。

有效負載字段 長度 值/描述
暫存器位址 1位元組 邏輯暫存器位址

4.5.1.5.3 響應
表 28. READ_REGISTER 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR(不存在更多資料)
寄存器值 4 位元組 已讀出的32位元暫存器值。 (小端)

4.5.1.5.4項
該命令沒有任何事件。
4.5.1.6 READ_REGISTER_MULTIPLE
此指令用於一次讀取多個邏輯暫存器。結果(每個暫存器的內容)在指令的回應中提供。暫存器位址本身不包含在回應中。響應內寄存器內容的順序對應於指令內寄存器位址的順序。
4.5.1.6.1個條件
指令內的所有暫存器位址都必須存在。每個暫存器的存取屬性必須是讀寫或唯讀。 「暫存器位址」陣列的大小必須在 1 – 18 範圍內(含)。
4.5.1.6.2 命令
表 29. READ_REGISTER_MULTIPLE 指令值 對一組暫存器執行讀取暫存器操作。

有效負載字段 長度 值/描述
暫存器位址[1…n] 1位元組 暫存器位址

4.5.1.6.3 響應
表 30. READ_REGISTER_MULTIPLE 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR(不存在更多資料)
暫存器值 [1…n] 4 位元組 價值 4 位元組 已讀出的 32 位元暫存器值(小端)。

4.5.1.6.4項
該命令沒有任何事件。
4.5.2 E2PROM 操作
E2PROM 中的可存取區域取決於 EEPROM 對映和可尋址大小。
筆記:
1. 以下說明中凡提到“E2PROM 位址”,均指可尋址 EEPROM 區域的大小。
4.5.2.1 WRITE_E2PROM
此指令用於向 E2PROM 寫入一個或多個值。 「值」欄位包含要寫入 E2PROM 的數據,從「E2PROM 位址」欄位給予的位址開始。資料按順序寫入。
筆記:
請注意,這是一個阻塞命令,這意味著 NFC FE 在寫入操作期間被阻塞。這可能需要幾毫秒。
4.5.2.1.1個條件
「E2PROM 位址」欄位必須在 [2] 的範圍內。 「值」欄位中的位元組數必須在 1 – 1024 (0x0400) 範圍內(含)。寫入操作不得超出 [2] 中提到的 EEPROM 位址。如果位址超出 EEPROM 位址空間,則應向主機發送錯誤回應,如 [2] 所示。
4.5.2.1.2 命令
表 31. WRITE_E2PROM 指令值 將給定值依序寫入 E2PROM。

有效負載字段 長度 值/描述
E2PROM位址 2位元組 EEPROM 中的位址,寫入操作應從該位址開始。 (小端)
價值觀 1 – 1024 字節 必須依序寫入 E2PROM 的值。

4.5.2.1.3 響應
表 32. WRITE_EEPROM 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR

4.5.2.1.4項
該命令沒有任何事件。
4.5.2.2 READ_E2PROM
此指令用於從E2PROM儲存區讀回資料。 “E2PROM位址”欄位指示讀取操作的起始位址。回應包含從 E2PROM 讀取的資料。
4.5.2.2.1個條件
“E2PROM 位址”欄位必須在有效範圍內。
「位元組數」欄位必須在 1 – 256 範圍內(含 XNUMX 和 XNUMX)。
讀取操作不得超出最後可存取的 EEPROM 位址。
如果位址超出 EEPROM 位址空間,則應向主機發送錯誤回應。
4.5.2.2.2 命令
表 33. READ_E2PROM 命令值 依序從 E2PROM 讀取值。

有效負載字段 長度 值/描述
E2PROM位址 2位元組 E2PROM 中的位址,讀取操作從該位址開始。 (小端)
位元組數 2位元組 要讀出的位元組數。 (小端)

4.5.2.2.3 響應
表 34. READ_E2PROM 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR(不存在更多資料)
價值觀 1 – 1024 字節 按順序讀出的值。

4.5.2.2.4項
該命令沒有任何事件。
4.5.2.3 GET_CRC_USER_AREA
此指令用於計算整個使用者配置區域(包括 PN5190 IC 的協定區域)的 CRC。
4.5.2.3.1 命令
表 35. GET_CRC_USER_AREA 指令值
讀出用戶配置區(包括協定區)的 CRC。

有效負載字段 長度 值/描述
負載中沒有數據

4.5.2.3.2 響應
表 36. GET_CRC_USER_AREA 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR(不存在更多資料)
價值觀 4 位元組 小端格式的 4 位元組 CRC 資料。

4.5.2.3.3項
該命令沒有任何事件。
4.5.3 CLIF 資料操作
本節中所述的指令描述了 RF 傳輸和接收的命令。
4.5.3.1 交換_RF_數據
RF交換功能執行TX資料的傳輸並等待任何RX資料的接收。
如果接收(錯誤或正確)或發生逾時,函數將會傳回。定時器隨著傳輸結束而啟動,並隨著接收開始而停止。如果在執行 Exchange 命令之前未配置逾時,則應使用 EEPROM 中預先配置的逾時值。
如果transceiver_state是

  • 在 IDLE 狀態下,進入 TRANSCEIVE 模式。
  • 在 WAIT_RECEIVE 中,如果設定了啟動器位,則收發器狀態將重設為 TRANSCEIVE MODE
  • 在 WAIT_TRANSMIT 中,如果未設定啟動器位,則收發器狀態將重設為 TRANSCEIVE MODE

欄位「最後一個位元組中的有效位數」指示要傳輸的確切資料長度。

4.5.3.1.1個條件
「TX Data」欄位的大小必須在 0 – 1024 範圍內(含)。
「最後一個位元組中的有效位數」欄位必須在 0 – 7 的範圍內。
在正在進行的 RF 傳輸期間不得呼叫該命令。命令應確保收發器傳輸資料的正確狀態。
筆記:
此命令僅對 Reader 模式和 P2P”Passive/Active 發起方模式有效。
4.5.3.1.2 命令
表 37. EXCHANGE_RF_DATA 指令值
將 TX 資料寫入內部 RF 傳輸緩衝區並使用收發命令開始傳輸,並等待接收或逾時以準備對主機的回應。

有效負載字段 長度 值/描述
最後一個位元組的有效位數 1位元組 0 最後一個位元組的所有位元均被傳輸
1 – 7 要傳輸的最後一個位元組內的位數。
RF交換配置 1位元組 RFExchange 功能的配置。詳情請見下文

表 37. EXCHANGE_RF_DATA 指令值...續
將 TX 資料寫入內部 RF 傳輸緩衝區並使用收發命令開始傳輸,並等待接收或逾時以準備對主機的回應。

有效負載字段 長度 值/描述
傳送數據 n 位元組 TX 資料必須使用收發命令透過 CLIF 發送出去。 n = 0 – 1024 位元組

表 38. RFexchangeConfig 位元掩碼

b7 b6 b5 b4 b3 b2 b1 b0 描述
位元 4 – 7 是 RFU
X 如果位元設定為 1b,則根據 RX_STATUS 在回應中包含 RX 資料。
X 如果該位元設定為 1b,則在回應中包含 EVENT_STATUS 暫存器。
X 如果該位元設定為 1b,則在回應中包含 RX_STATUS_ERROR 暫存器。
X 如果該位元設定為 1b,則在回應中包括 RX_STATUS 暫存器。

4.5.3.1.3 響應
表 39. EXCHANGE_RF_DATA 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_INSTR_SUCCESS
PN5190_STATUS_INSTR_ERROR(沒有更多資料) PN5190_STATUS_TIMEOUT PN5190_STATUS_RX_TIMEOUT PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR
接收狀態 4 位元組 如果請求 RX_STATUS(小端)
RX_STATUS_ERROR 4 位元組 如果請求 RX_STATUS_ERROR(小端)
事件狀態 4 位元組 如果請求 EVENT_STATUS(小端)
接收資料 1 – 1024 字節 如果請求 RX 資料。在 RF 交換的 RF 接收階段接收到的 RX 資料。

4.5.3.1.4項
該命令沒有任何事件。
4.5.3.2 傳輸_RF_數據
此指令用於將資料寫入內部 CLIF 傳輸緩衝區並使用內部收發命令開始傳輸。此緩衝區的大小限制為 1024 位元組。執行指令後,自動開始射頻接收。
該命令在發送完成後立即返回,不等待接收完成。
4.5.3.2.1個條件
「TX Data」欄位中的位元組數必須在 1 – 1024 範圍內(含)。
在正在進行的 RF 傳輸期間不得呼叫該命令。
4.5.3.2.2 命令
表 40. TRANSMIT_RF_DATA 指令值 將 TX 資料寫入內部 CLIF 傳輸緩衝區。

有效負載字段 長度 值/描述
最後一個位元組的有效位數 1位元組 0 最後一個位元組的所有位元均已傳輸 1 – 7 最後一個位元組中要傳輸的位數。
射頻單元 1位元組 預訂的
傳送數據 1 – 1024 字節 下次 RF 傳輸期間將使用的 TX 資料。

4.5.3.2.3 響應
表 41. TRANSMIT_RF_DATA 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD

4.5.3.2.4項
該命令沒有任何事件。
4.5.3.3 RETRIEVE_RF_DATA
此指令用於從內部CLIF RX 緩衝區讀取數據,該緩衝區包含上次執行第4.5.3.1 節時發佈到其中的RF 回應資料(如果有),並且可以選擇不在回應中包含接收到的數據或第4.5.3.2 節.XNUMX 命令。
4.5.3.3.1 命令
表 42. RETRIEVE_RF_DATA 指令值 從內部 RF 接收緩衝區讀取 RX 資料。

有效負載字段 長度 值/描述
空的 空的 空的

4.5.3.3.2 響應
表 43. RETRIEVE_RF_DATA 響應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
有效負載字段 長度 值/描述
PN5190_STATUS_INSTR_SUCCESS
PN5190_STATUS_INSTR_ERROR(不存在更多資料)
接收資料 1 – 1024 字節 上次成功 RF 接收期間收到的 RX 資料。

4.5.3.3.3項
該命令沒有任何事件。
4.5.3.4 接收射頻數據
該指令等待透過閱讀器的 RF 介面接收到的資料。
在閱讀器模式下,如果有接收(錯誤或正確)或發生 FWT 逾時,則指令會傳回。定時器隨著傳輸結束而啟動,並隨著接收開始而停止。如果在執行 Exchange 命令之前未配置逾時,則應使用 EEPROM 中預先配置的預設逾時值。
在目標模式下,該指令在接收(錯誤或正確)或外部 RF 錯誤的情況下傳回。
筆記:
該指令應與 TRANSMIT_RF_DATA 命令一起使用來執行 TX 和 RX 操作.​​..
4.5.3.4.1 命令
表 44. RECEIVE_RF_DATA 命令值

有效負載字段 長度 值/描述
接收RF配置 1位元組 ReceiveRFConfig 函數的配置。看 表45

表 45. ReceiveRFConfig 位元遮罩

b7 b6 b5 b4 b3 b2 b1 b0 描述
位元 4 – 7 是 RFU
X 如果位元設定為 1b,則根據 RX_STATUS 在回應中包含 RX 資料。
X 如果該位元設定為 1b,則在回應中包含 EVENT_STATUS 暫存器。
X 如果該位元設定為 1b,則在回應中包含 RX_STATUS_ERROR 暫存器。
X 如果該位元設定為 1b,則在回應中包括 RX_STATUS 暫存器。

4.5.3.4.2 響應
表 46. RECEIVE_RF_DATA 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_INSTR_SUCCESS
PN5190_STATUS_INSTR_ERROR(不存在更多資料)
PN5190_STATUS_TIMEOUT
有效負載字段 長度 值/描述
PN5190_STATUS_NO_RF_FIELD
PN5190_STATUS_NO_EXTERNAL_RF_FIELD
接收狀態 4 位元組 如果請求 RX_STATUS(小端)
RX_STATUS_ERROR 4 位元組 如果請求 RX_STATUS_ERROR(小端)
事件狀態 4 位元組 如果請求 EVENT_STATUS(小端)
接收資料 1 – 1024 字節 如果請求 RX 資料。透過 RF 接收的 RX 資料。

4.5.3.4.3項
該命令沒有任何事件。
4.5.3.5 RETRIEVE_RF_FELICA_EMD_DATA(FeliCa EMD 配置)
該指令用於從內部 CLIF RX 緩衝區讀取數據,其中包含上次執行 EXCHANGE_RF_DATA 命令時發佈到其中的 FeliCa EMD 回應資料(如果有),並傳回狀態「PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR」。
筆記: 該命令從 PN5190 FW v02.03 起可用。
4.5.3.5.1 命令
從內部 RF 接收緩衝區讀取 RX 資料。
表 47. RETRIEVE_RF_FELICA_EMD_DATA 指令值

有效負載字段 長度 值/描述
FeliCaRF檢索配置 1位元組 00 – FF RETRIEVE_RF_FELICA_EMD_DATA 函數的配置
配置(位元遮罩)描述 位 7..2:RFU
位元 1:如果該位元設定為 1b,則在回應中包含 RX_STATUS_ ERROR 暫存器。
位元 0:如果該位元設定為 1b,則在回應中包含 RX_STATUS 暫存器。

4.5.3.5.2 響應
表 48. RETRIEVE_RF_FELICA_EMD_DATA 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作的狀態。預期值如下: PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR(不存在更多資料)
接收狀態 4位元組 如果請求 RX_STATUS(小端)
RX_STATUS_錯誤 4位元組 如果請求 RX_STATUS_ERROR(小端)
有效負載字段 長度 值/描述
接收資料 1…1024 位元組 FeliCa EMD RX 資料是在上次使用交換命令失敗的 RF 接收期間收到的。

4.5.3.5.3項
該命令沒有任何事件。
4.5.4 切換運行模式
PN5190 支援 4 種不同的操作模式:
4.5.4.1 正常
這是預設模式,允許所有指令。
4.5.4.2待機
PN5190 處於待機/睡眠狀態以節省電力。必須設定喚醒條件來定義何時再次離開待機狀態。
4.5.4.3 LPCD
PN5190 處於低功耗卡偵測模式,盡量以盡可能低的功耗偵測正在進入操作音量的卡片。
4.5.4.4 自動套頁
PN5190 充當 RF 監聽器,自主執行目標模式啟動(以確保即時約束)
4.5.4.5 SWITCH_MODE_NORMAL
切換模式正常命令有三個用例。
4.5.4.5.1 用例 1:上電時進入正常操作模式 (POR)
用於透過進入正常操作模式重設為空閒狀態以接收/處理下一個命令。
4.5.4.5.2 用例2:終止已經執行的命令以切換到正常操作模式(中止命令)
用於透過終止已經運行的命令重置為空閒狀態以接收/處理下一個命令。
諸如standby、LPCD、Exchange、PRBS 和Autocoll 之類的命令可以使用此命令終止。
這是唯一沒有回應的特殊指令。相反,它有一個事件通知。
有關不同底層命令執行期間發生的事件類型的更多信息,請參閱第 4.4.3 節。
4.5.4.5.2.1 用例2.1:
此命令應將所有 CLIF TX、RX 和欄位控制暫存器重設為啟動狀態。發出此命令將關閉任何現有的射頻場。
4.5.4.5.2.2 用例2.2:
從 PN5190 FW v02.03 開始提供:
此命令不得修改 CLIF TX、RX 和欄位控制暫存器,而只能將收發器移至 IDLE 狀態。
4.5.4.5.3 使用案例 3:軟重設/退出待機狀態時的正常工作模式,LPCD 在這種情況下,PN5190 透過向主機發送 IDLE_EVENT(圖 12 或圖 13)和「 IDLE_EVENT」位元在表11 中設定.
不需要發送 SWITCH_MODE_NORMAL 命令。
筆記:
IC切換到正常模式後,所有RF設定均修改為預設狀態。在執行 RF ON 或 RF Exchange 作業之前,必須將對應的 RF 配置和其他相關暫存器載入適當的值。
4.5.4.5.4 針對不同用例發送的命令幀
4.5.4.5.4.1 用例 1:上電時指令進入正常操作模式 (POR) 0x20 0x01 0x00
4.5.4.5.4.2 用例2:終止已執行命令以切換到正常操作模式的命令
用例 2.1:
0x20 0x00 0x00
用例 2.2:(從 FW v02.02 開始):
0x20 0x02 0x00
4.5.4.5.4.3 用例 3:軟重設/退出待機狀態、LPCD、ULPCD 時的正常操作模式指令
沒有任何。 PN5190直接進入正常工作模式。
4.5.4.5.5 響應
沒有任何
4.5.4.5.6項
BOOT_EVENT(在 EVENT_STATUS 暫存器中)被設置,指示進入正常模式並將其傳送到主機。有關事件數據,請參閱圖 12 和圖 13。

NXP PN5190 NFC 前端控制器 - 正常運行

IDLE_EVENT(在 EVENT_STATUS 暫存器中)被設置,指示進入正常模式並將其傳送到主機。有關事件數據,請參閱圖 12 和圖 13。NXP PN5190 NFC 前端控制器 - 已終止

BOOT_EVENT(在 EVENT_STATUS 暫存器中)被設置,指示進入正常模式並將其傳送到主機。有關事件數據,請參閱圖 12 和圖 13。

NXP PN5190 NFC 前端控制器 - 預熱時的操作模式

4.5.4.6 SWITCH_MODE_AUTOCOLL
切換模式 Autocoll 在目標模式下自動執行卡片啟動程式。
欄位「Autocoll Mode」必須在 0 – 2 範圍內(含)。
如果欄位「Autocoll Mode」設定為 2(Autocoll):欄位「RF Technologies」(表 50)必須包含一個位元掩碼,指示在 Autocoll 期間支援的 RF 技術。
處於該模式時不得發送任何指令。
使用中斷來指示終止。
4.5.4.6.1 命令
表 49. SWITCH_MODE_AUTOCOLL 指令值

範圍 長度 值/描述
射頻技術 1位元組 位元遮罩指示在 Autocoll 期間監聽的 RF 技術。
自動套卷模式 1位元組 0 無自主模式,即當外部 RF 場不存在時 Autocoll 終止。
在以下情況下終止
• 無射頻場或射頻場已消失
• PN5190 在目標模式下激活
1 帶待機的自主模式。當沒有 RF 場時,Autocoll 會自動進入待機模式。一旦偵測到 RF 外部 RF 場,PN5190 再次進入 Autocoll 模式。
在以下情況下終止
• PN5190 在目標模式下激活
來自 PN5190 FW v02.03 以後:如果位址“0xCDF”處的 EEPROM 欄位“bCard ModeUltraLowPowerEnabled”設定為“1”,則 PN5190 進入超低功耗待機狀態。
2 無待機的自主模式。當不存在 RF 場時,PN5190 將等待 RF 場出現後再啟動 Autocoll 演算法。在這種情況下不使用待機。
在以下情況下終止
• PN5190 在目標模式下激活

表 50. RF 技術位元遮罩

b7 b6 b5 b4 b3 b2 b1 b0 描述
0 0 0 0 射頻單元
X 如果設定為 1b,則啟用監聽 NFC-F Active。 (無法使用)。
X 如果設定為 1b,則啟用監聽 NFC-A Active。 (無法使用)。
X 如果設定為 1b,則啟用 NFC-F 偵聽。
X 如果設定為 1b,則啟用 NFC-A 偵聽。

4.5.4.6.2 響應
回應僅表示該命令已被處理。
表 51. SWITCH_MODE_AUTOCOLL 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_INSTR_SUCCESS
PN5190_STATUS_INSTR_ERROR(由於設定錯誤未進入開關模式)

4.5.4.6.3項
命令完成後會發送事件通知,並進入正常模式。主機應根據事件值讀出回應位元組。
筆記:
當狀態不是“PN5190_STATUS_INSTR_SUCCESS”時,則不存在進一步的“Protocol”和“Card_Activated”資料位元組。
使用第 4.5.1.5 節、第 4.5.1.6 節指令從暫存器擷取技術資訊。
下表顯示了作為圖 12 和圖 13 事件訊息的一部分發送的事件資料。
表 52. EVENT_SWITCH_MODE_AUTOCOLL – AUTOCOLL_EVENT 資料 開關操作模式 Autocoll 事件

有效負載字段 長度 值/描述
地位 1位元組 操作狀態
PN5190_STATUS_INSTR_SUCCESS PN5190 在目標模式下被啟動。
此事件中的進一步數據有效。
PN5190_STATUS_PREVENT_STANDBY 表示防止 PN5190 進入待機模式。此狀態僅在 Autocoll 模式選擇為「Autonomous mode withstandby」時有效。
PN5190_STATUS_NO_EXTERNAL_RF_FIELD 表示在非自主模式下執行 Autocoll 期間不存在外部 RF 場
PN5190_STATUS_USER_CANCELLED 表示目前正在進行的指令被切換模式正常指令中止
協定 1位元組 0x10 以被動類型 A 激活
0x11 作為被動 TypeF 212 激活
0x12 作為被動 TypeF 424 激活
0x20 作為 Active TypeA 激活
0x21 作為主動 TypeF 212 激活
0x22 作為主動 TypeF 424 激活
其他值 無效的
卡_激活 1位元組 0x00 沒有符合 ISO 14443-3 的卡片啟動流程
0x01 表示設備在被動模式下激活

筆記:
讀取事件資料後,應使用第 18092 節指令讀取從啟動的卡片/裝置接收的資料(例如依照 ISO1443/ISO4-4.5.3.3 的 ATR_REQ/RATS 的「n」位元組)。
4.5.4.6.4 通訊擴展ample

NXP PN5190 NFC 前端控制器 - 通訊擴展ample

4.5.4.7 SWITCH_MODE_STANDBY
切換模式待機自動將 IC 設定為待機模式。配置的喚醒源滿足喚醒條件後,IC 將被喚醒。
筆記:
預設情況下,ULP STANDBY 計數器到期和 STANDBY HIF 中止可用於退出待機模式。

4.5.4.7.1 命令
表 53. SWITCH_MODE_STANDBY 命令值

範圍 長度 值/描述
配置 1位元組 位元遮罩控制要使用的喚醒來源和要進入的待機模式。參考 表54
計數器值 2 位元組 喚醒計數器的使用值(以毫秒為單位)。待機時支援的最大值為 2690。 ULP 待機支援的最大值為 4095。要提供的值採用小端格式。
僅當啟用「Config Bitmask」以實現計數器到期喚醒時,此參數內容才有效。

表 54. 配置位元遮罩

b7 b6 b5 b4 b3 b2 b1 b0 描述
X 如果位元設定為 1b,則進入 ULP 待機 如果位元設定為 0b,則進入待機。
0 射頻單元
X 如果該位元設定為 3b,則當 GPIO-1 為高電位時喚醒。 (不適用於 ULP 待機)
X 如果該位元設定為 2b,則當 GPIO-1 為高電位時喚醒。 (不適用於 ULP 待機)
X 如果該位元設定為 1b,則當 GPIO-1 為高電位時喚醒。 (不適用於 ULP 待機)
X 如果該位元設定為 0b,則當 GPIO-1 為高電位時喚醒。 (不適用於 ULP 待機)
X 如果位元設定為 1b,則喚醒計數器到期。對於 ULP-Standby,此選項預設為啟用。
X 如果位元設定為 1b,則透過外部 RF 場喚醒。

筆記: 從 PN5190 FW v02.03 開始,如果位址“0xCDF”處的 EEPROM 欄位“CardModeUltraLowPowerEnabled”設定為“1”,則 ULP 待機設定無法與 SWITCH_MODE_STANDBY 指令一起使用。
4.5.4.7.2 響應
此回應僅表示該指令已被處理,且只有在主機完全讀取該回應後才會進入待機狀態。
表 55. SWITCH_MODE_STANDBY 回應值 切換操作模式待機

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_INSTR_SUCCESS
PN5190_STATUS_INSTR_ERROR(尚未進入開關模式 - 由於設定錯誤)

4.5.4.7.3項
命令完成後會發送事件通知,並進入正常模式。請參閱命令完成後將發送的事件格式,如圖 12 和圖 13 所示。
如果 PN5190 被阻止進入待機模式,則表 11 中提到的 EVENT_STATUS 中設定的事件「STANDBY_PREV_EVENT」位元將根據表 13 中提到的待機阻止原因傳送至主機。
4.5.4.7.4 通訊擴展ample

NXP PN5190 NFC 前端控制器 - 通訊擴展amp樂1

4.5.4.8 SWITCH_MODE_LPCD
由於天線周圍環境的變化,開關模式 LPCD 對天線執行失諧偵測。
LPCD 有 2 種不同的模式。基於硬體的 (ULPCD) 解決方案提供了具有競爭力的功耗,同時降低了靈敏度。基於 FW (LPCD) 的解決方案提供一流的靈敏度,但功耗更高。
在基於 FW 的單模式(LPCD)中,沒有校準事件傳送到主機。
當呼叫單次模式時,校準和連續測量均在退出待機後完成。
對於單一模式的校準事件,首先發出帶有校準事件命令的單一模式。校準後,接收到 LPCD 校準事件,之後必須傳送單模式指令,並將上一個步驟獲得的參考值作為輸入參數。
LPCD 的配置是在呼叫命令之前在 EEPROM/快閃記憶體資料設定中完成的。
筆記:
預設情況下,ULPCD 的 GPIO3 中止和 LPCD 的 HIF 中止可用於退出低功耗模式。
由於計數器過期而喚醒始終啟用。
對於 ULPCD,應在 EEPROM/快閃記憶體資料設定中停用 DC-DC 配置,並應透過 VBAT 提供 VUP 電源。應進行必要的跳線設定。有關 EEPROM/Flash 資料設置,請參閱文件 [2]。
如果該命令用於 LPCD/ULPCD 校準,主機仍然必須傳送完整的幀。

4.5.4.8.1 命令
表 56. SWITCH_MODE_LPCD 命令值

範圍 長度 值/描述
b控制 1位元組 0x00 輸入 ULPCD 校準。校準後命令停止,並向主機發送具有參考值的事件。
0x01 進入ULPCD
0x02 LPCD 校準。校準後命令停止,並向主機發送具有參考值的事件。
0x03 輸入LPCD
0x04 單模式
0x0C 帶校準事件的單模式
其他值 射頻單元
喚醒控制 1位元組 位元遮罩控制用於 LPCD/ULPCD 的喚醒來源。校準時不考慮該欄位的內容。參考 表57
參考值 4 位元組 ULPCD/LPCD 期間所使用的參考值。
對於 ULPCD,在校準和測量階段使用保存 HF 衰減器值的位元組 2。
對於 LPCD,校準和 Single 模式不考慮此欄位的內容。參考 表58 有關所有 4 個位元組的正確資訊。
計數器值 2 位元組 喚醒計數器的值(以毫秒為單位)。 LPCD 支持的最大值為 2690。 ULPCD 支援的最大值為 4095。要提供的值採用小端格式。
LPCD 校準不考慮該欄位的內容。
對於單模式和帶校準事件的單模式,校準前的待機持續時間可透過 EEPROM 配置進行配置:LPCD_SETTINGS->wCheck period。
對於帶有校準的單一模式,WUC 值非零。

表 57. 喚醒控制位元遮罩

b7 b6 b5 b4 b3 b2 b1 b0 描述
0 0 0 0 0 0 0 射頻單元
X 如果位元設定為 1b,則透過外部 RF 場喚醒。

表 58. 參考值位元組信息

參考值位元組 超長液晶顯示器 液晶顯示器
字節 0 參考位元組0 頻道 0 參考位元組 0
字節 1 參考位元組1 頻道 0 參考位元組 1
字節 2 高頻衰減器值 頻道 1 參考位元組 0
字節 3 NA 頻道 1 參考位元組 1

4.5.4.8.2 響應
表 59. SWITCH_MODE_LPCD 反應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_INSTR_SUCCESS
PN5190_STATUS_INSTR_ERROR(尚未進入開關模式 - 由於設定錯誤)

4.5.4.8.3項
命令完成後會發送事件通知,並使用以下資料進入正常模式,作為圖 12 和圖 13 中提到的事件的一部分。
表 60. EVT_SWITCH_MODE_LPCD

有效負載字段 長度 值/描述
LPCD 狀態 參見表 15 參見表 154.5.4.8.4 通訊擴展ample

NXP PN5190 NFC 前端控制器 - Example

4.5.4.9 SWITCH_MODE_下載
切換模式下載指令進入韌體下載模式。
退出下載模式的唯一方法是對 PN5190 進行重設。
4.5.4.9.1 命令
表 61. SWITCH_MODE_DOWNLOAD 指令值

範圍 長度 值/描述
沒有價值

4.5.4.9.2 響應
此回應僅表示該指令已被處理,主機讀取該回應後應進入下載模式。
表 62. SWITCH_MODE_DOWNLOAD 回應值
切換操作模式 Autocoll

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR(尚未進入開關模式)

4.5.4.9.3項
無事件生成。
4.5.4.9.4 通訊擴展ample
4.5.5 MIFARE 經典認證
4.5.5.1 MFC_AUTHENTICATE
此指令用於在啟動的卡片上執行 MIFARE Classic 身份驗證。它需要金鑰、卡 UID 和金鑰類型來在給定的區塊位址進行身份驗證。回應包含一個位元組,指示身份驗證狀態。
4.5.5.1.1個條件
欄位密鑰必須為 6 位元組長。欄位金鑰類型必須包含值 0x60 或 0x61。區塊位址可以包含 0x0 – 0xff(含)之間的任何位址。欄位 UID 必須為位元組長,並且應包含卡片的 4 位元組 UID。在執行指令之前,基於 ISO14443-3 MIFARE Classic 產品的卡片應置於「ACTIVE」或「ACTIVE*」狀態。
如果出現與身份驗證相關的運行時錯誤,則會相應地設定此欄位「身份驗證狀態」。
4.5.5.1.2 命令
表 63. MFC_AUTHENTICATE 指令
在啟動的基於 MIFARE Classic 產品的卡片上執行身份驗證。

有效負載字段 長度 值/描述
鑰匙 6 位元組 要使用的身份驗證金鑰。
鑰匙型 1位元組 0x60 鑰匙型A
0x61 B型鑰匙
區塊位址 1位元組 必須執行身份驗證的區塊的位址。
使用者識別碼 4 位元組 卡的 UID。

4.5.5.1.3 響應
表 64. MFC_AUTHENTICATE 回應
對 MFC_AUTHENTICATE 的回應。

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_TIMEOUT PN5190_STATUS_AUTH_ERROR

4.5.5.1.4項
該指令沒有事件。
4.5.6 ISO 18000-3M3(EPC GEN2)支持
4.5.6.1 EPC_GEN2_INVENTORY
本指令用於執行 ISO18000-3M3 盤點 tags。它根據 ISO18000-3M3 實現多個命令的自主執行,以確保該標準指定的時序。
如果存在於指令的有效負載中,則先執行 Select 指令,然後執行 BeginRound 指令。
如果第一個時隙中有有效回應(無逾時、無衝突),則指令發送 ACK 並保存接收到的 PC/XPC/UII。然後指令根據“時隙處理行為”欄位執行操作:

  • 如果該欄位設為 0,則發出 NextSlot 指令來處理下一個時隙。重複此動作直到內部緩衝區已滿
  • 如果該欄位設為 1,則演算法暫停
  • 如果該欄位設為 2,當且僅當存在有效的 tag 在這個時隙回應命令

欄位「選擇命令長度」必須包含欄位「選擇命令」的長度,該長度必須在 1 – 39 範圍內(含)。如果「選擇命令長度」為 0,則「最後一個位元組中的有效位元」和「選擇命令」欄位不得出現。
最後一個位元組中的位元字段應包含“選擇命令”字段的最後一個位元組中要傳輸的位數。該值必須在 1 到 7 的範圍內(含 0 和 XNUMX)。如果值為 XNUMX,則傳輸「選擇命令」欄位中最後一個位元組的所有位元。
「選擇命令」欄位應包含符合 ISO18000-3M3 的選擇命令,不含尾部 CRC-16c,且必須具有與「選擇命令長度」欄位中指示的相同長度。
「BeginRound Command」欄位應包含符合 ISO18000-3M3 的 BeginRound 指令,且不帶尾隨 CRC-5。 「BeginRound Command」最後一個位元組的最後 7 位元將被忽略,因為該指令的實際長度為 17 位元。
「時隙處理行為」必須包含 0 – 2 之間的數值(含 XNUMX 和 XNUMX)。
表 65. EPC_GEN2_INVENTORY 指令值 執行 ISO 18000-3M3 清單

有效負載字段 長度 值/描述
恢復庫存 1位元組 00 初始 GEN2_INVENTORY
01 恢復 GEN2_INVENTORY 指令 – 剩餘的

下面的欄位為空(任何有效負載都會被忽略)

選擇命令長度 1位元組 0 在 BeginRound 指令之前沒有設定 Select 指令。 “最後一個位元組中的有效位元”欄位和“選擇命令”欄位不應出現。
1 – 39 「選擇命令」欄位的長度 (n)。
最後一個位元組中的有效位 1位元組 0 「選擇命令」欄位最後一個位元組的所有位元均被傳送。
1 – 7 「選擇命令」欄位最後一個位元組中要傳輸的位數。
選擇命令 n 位元組 如果存在,則欄位包含在 BeginRound 命令之前發送的 Select 命令(根據 ISO18000-3,表 47)。不應包括 CRC-16c。
開始回合命令 3 位元組 此欄位包含 BeginRound 指令(根據 ISO18000-3,表 49)。不應包括 CRC-5。
時隙處理行為 1位元組 0 響應包含最大。適合響應緩衝區的時隙數。
1 響應僅包含一個時隙。
2 響應僅包含一個時隙。如果時隙包含有效的卡片回應,則還包括卡片句柄。

4.5.6.1.1 響應
如果恢復庫存,則回應的長度可能為「1」。
表 66. EPC_GEN2_INVENTORY 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS(讀取下一個位元組的時隙狀態 Tag 回覆)
PN5190_STATUS_INSTR_ERROR(不存在更多資料)
時隙 [1…n] 3 – 69 字節 時隙狀態 1位元組 0 Tag 可用響應。 'Tag 「回复長度」欄位、「最後一個位元組中的有效位元」欄位和「Tag 回复'字段存在。
1 Tag 可用響應。
2 不 tag 在時段回覆。 'Tag 「回复長度」欄位和「最後一個位元組中的有效位元」欄位應設為零。 'Tag 不應出現回覆欄位。
3 兩個或更多 tags 在時間段內回覆。 (碰撞)。 'Tag 「回复長度」欄位和「最後一個位元組中的有效位元」欄位應設為零。 'Tag 不應出現回覆欄位。
Tag 回覆長度 1位元組 0-66 的長度 'Tag 回覆欄位 (i)。如果 Tag 回復長度為0,則 Tag 回復字段不存在。
最後一個位元組的有效位 1位元組 0 ' 最後一個位元組的所有位Tag 回複字段有效。
1-7 ' 最後一個位元組的有效位數Tag 回覆'字段。如果 Tag 回復長度為零,該位元組的值將被忽略。
Tag 回覆 'n' 位元組 的回覆 tag 根據 ISO18000-3_2010,表 56。
Tag 處理 0 或 2 位元組 手把 tag,如果欄位「時隙狀態」設定為「1」。否則字段不存在。

4.5.6.1.2項
該命令沒有任何事件。
4.5.7 射頻配置管理
請參閱第 6 節,以了解 PN5190 支援的不同 RF 技術和資料速率的 TX 和 RX 配置。這些值不在下面提到的範圍內,應被視為 RFU。
4.5.7.1 LOAD_RF_CONFIGURATION
此指令用於將 RF 配置從 EEPROM 載入到內部 CLIF 暫存器。 RF 配置是指 RF 技術、模式(目標/發起者)和波特率的獨特組合。可以為 CLIF 接收器(RX 配置)和發送器(TX 配置)路徑單獨載入 RF 配置。如果不應變更路徑的相應配置,則必須使用值 0xFF。
4.5.7.1.1個條件
「TX 配置」欄位必須位於 0x00 – 0x2B(含)範圍內。如果值為 0xFF,則 TX 配置不會變更。
欄位「RX 配置」必須在 0x80 – 0xAB 範圍內(含)。如果值為 0xFF,則 RX 配置不會變更。
TX 配置 = 0xFF 和 RX 配置 = 0xAC 的特殊配置用於一次性載入啟動暫存器。
需要這種特殊配置來更新與 IC 重設值不同的暫存器配置(TX 和 RX)。

4.5.7.1.2 命令
表 67. LOAD_RF_CONFIGURATION 指令值
從 E2PROM 載入 RF TX 和 RX 設定。

有效負載字段 長度 值/描述
發射配置 1位元組 0xFF TX RF 配置未更改。
0x0 - 0x2B 已載入相應的 TX RF 配置。
接收配置 1位元組 0xFF RX RF 配置未更改。
0x80 – 0xAB 已載入相應的 RX RF 配置。

4.5.7.1.3 響應
表 68. LOAD_RF_CONFIGURATION 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR

4.5.7.1.4項
該命令沒有任何事件。
4.5.7.2 UPDATE_RF_CONFIGURATION
此指令用於更新 E4.5.7.1PROM 內的 RF 配置(請參閱第 2 節中的定義)。該指令允許以寄存器粒度值進行更新,即不需要更新完整的集合(儘管可以這樣做)。
4.5.7.2.1個條件
字段數組 Configuration 的大小必須在 1 – 15 範圍內(含 0 和 0)。欄位數組配置必須包含一組 RF 配置、暫存器位址和值。現場 RF 配置必須在 TX 配置的 0x2 – 0x80B 範圍內,以及 RX 配置的 0x4 – XNUMXxAB 範圍內(含)。暫存器位址欄位中的位址必須存在於對應的 RF 配置中。欄位值應包含一個必須寫入給定暫存器的值,且長度必須為 XNUMX 個位元組(小端格式)。
4.5.7.2.2 命令
表 69. UPDATE_RF_CONFIGURATION 指令值
更新射頻配置

有效負載字段 長度 值/描述
配置[1…n] 6 位元組 射頻配置 1位元組 必須更改暫存器的 RF 配置。
暫存器位址 1位元組 給定 RF 技術內的暫存器位址。
價值 4 位元組 必須寫入暫存器的值。 (小端)

4.5.7.2.3 響應
表 70. UPDATE_RF_CONFIGURATION 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR

4.5.7.2.4項
該命令沒有任何事件。
4.5.7.3 GET_RF_CONFIGURATION
此指令用於讀取 RF 配置。暫存器位址值對在回應中可用。為了知道預期有多少對,可以從第一TLV檢索第一大小信息,其指示有效負載的總長度。
4.5.7.3.1個條件
現場射頻配置必須在 0x0 – 0x2B(對於 TX 配置)和 0x80 –0xAB(對於 RX 配置)範圍內(含)。
4.5.7.3.2 命令
表 71. GET_ RF_CONFIGURATION 指令值 檢索 RF 設定。

有效負載字段 長度 值/描述
射頻配置 1位元組 必須檢索其暫存器值對集的 RF 配置。

4.5.7.3.3 響應
表 72. GET_ RF_CONFIGURATION 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR(不存在更多資料)
對[1…n] 5 位元組 暫存器位址 1位元組 給定 RF 技術內的暫存器位址。
價值 4 位元組 32 位元暫存器值。

4.5.7.3.4項
沒有該指令的事件。
4.5.8 射頻場處理
4.5.8.1 RF_ON
該指令用於開啟 RF。初始 FieldOn 時的 DPC 調節應在此命令中處理。
4.5.8.1.1 命令
表 73. RF_FIELD_ON 指令值
配置 RF_FIELD_ON。

有效負載字段 長度 值/描述
RF_on_config 1位元組 位元 0 0 使用碰撞避免
1 停用碰撞避免
位元 1 0 沒有 P2P 活動
1 P2P活躍

4.5.8.1.2 響應
表 74. RF_FIELD_ON 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR
PN5190_STATUS_RF_COLLISION_ERROR(由於 RF 衝突,RF 場未開啟)
PN5190_STATUS_TIMEOUT(由於逾時,RF 場未開啟) PN5190_STATUS_TXLDO_ERROR(由於 VUP 不可用而導致 TXLDO 錯誤)
PN5190_STATUS_RFCFG_NOT_APPLIED(在此指令之前不套用 RF 設定)

4.5.8.1.3項
該指令沒有事件。
4.5.8.2 RF_關閉
該指令用於禁用 RF 場。
4.5.8.2.1 命令
表 75. RF_FIELD_OFF 命令值

有效負載字段 長度 值/描述
空的 空的 空的

4.5.8.2.2 響應
表 76. RF_FIELD_OFF 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR(不存在更多資料)

4.5.8.2.3項
該指令沒有事件。
4.5.9 測試總線配置
第 7 節列出了所選 PAD 配置上的可用測試匯流排訊號以供參考。
必須參考這些來提供測試總線指令的配置,如下所述。
4.5.9.1 設定_TESTBUS_DIGITAL
此指令用於切換所選焊盤配置上可用的數位測試匯流排訊號。
4.5.9.1.1 命令
表 77. CONFIGURE_TESTBUS_DIGITAL 指令值

有效負載字段 長度 值/描述
TB_訊號索引 1位元組 參考 第 7 節
TB_位元索引 1位元組 參考 第 7 節
TB_PadIndex 1位元組 pad索引,要輸出的數位訊號
0x00 AUX1 腳
0x01 AUX2 腳
0x02 AUX3 腳
0x03 GPIO0 引腳
0x04 GPIO1 引腳
0x05 GPIO2 引腳
0x06 GPIO3 引腳
0x07-0xFF 射頻單元

4.5.9.1.2 響應
表 78. CONFIGURE_TESTBUS_DIGITAL 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR(不存在更多資料)

4.5.9.1.3項
該指令沒有事件。
4.5.9.2 配置_測試總線_模擬
此指令用於在選定的焊盤配置上取得可用的類比測試匯流排訊號。
模擬測試總線上的訊號可以透過不同的方式取得。他們是:
4.5.9.2.1 RAW 模式
在此模式下,TB_SignalIndex0 選擇的訊號會經由 Shift_Index0 移位,以 Mask0 屏蔽並在 AUX1 上輸出。類似地,TB_SignalIndex1 選擇的訊號會透過 Shift_Index1 移位,用 Mask1 屏蔽並在 AUX2 上輸出。
此模式為客戶提供了靈活性,可以輸出任何 8 位元寬或更少的訊號,並且不需要將符號轉換輸出到類比焊盤上。
4.5.9.2.2 組合模式
在此模式下,類比訊號將是將 10 位元有符號 ADCI/ADCQ/pcrm_if_rssi 值轉換為無符號值,縮放回 8 位元,然後在 AUX1 或 AUX2 焊盤上輸出。
任何時候只能將 ADCI/ADCQ(10 位元)轉換值之一輸出到 AUX1/AUX2。
如果Combined_Mode Signal有效負載欄位值為2(類比和數位組合),則類比和數位測試匯流排在AUX1(類比訊號)和GPIO0(數位訊號)上路由。
要路由的訊號在下面提到的 EEPROM 位址中配置:
0xCE9 – TB_訊號索引
0xCEA – TB_BitIndex
0xCEB – 模擬 TB_Index
在我們使用選項 2 發出組合模式之前,必須在 EEPROM 中配置測試總線索引和測試總線位元。
筆記:
主機應提供所有字段,無論字段適用於“原始”還是“組合”模式。 PN5190 IC 僅考慮適用的欄位值。
4.5.9.2.3 命令
表 79. CONFIGURE_TESTBUS_ANALOG 指令值

有效負載字段 長度 值/描述 組合模式的現場適用性
設定檔 1位元組 可配置位元。參考 表80 是的
組合模式訊號 1位元組 0 – ADCI/ADCQ
1 – pcrm_if_rssi
是的
2 – 類比和數位組合
3 – 0xFF – 保留
TB_SignalIndex0 1位元組 類比信號的信號索引。參考 第 7 節 是的
TB_SignalIndex1 1位元組 類比信號的信號索引。參考 第 7 節 是的
Shift_Index0 1位元組 DAC0 輸入移位位置。方向由bConfig[1]中的位決定。
Shift_Index1 1位元組 DAC1 輸入移位位置。方向由bConfig[2]中的位決定。
遮罩0 1位元組 DAC0遮罩
遮罩1 1位元組 DAC1遮罩

表 80. 配置位元遮罩

b7 b6 b5 b4 b3 b2 b1 b0 描述 適用模式
X X DAC1 輸出移位範圍 – 0、1、2 生的
X X DAC0 輸出移位範圍 – 0、1、2 生的
X 在組合模式下,AUX1/AUX2 接腳上的訊號
0 ➜ AUX1 訊號
1 ➜ AUX2 訊號
組合
X DAC1輸入移位方向
0 ➜ 右移
1 ➜ 左移
生的
X DAC0輸入移位方向
0 ➜ 右移
1 ➜ 左移
生的
X 模式。
0 ➜ 原始模式
1 ➜ 組合模式
原始/組合

4.5.9.2.4 響應
表 81. CONFIGURE_TESTBUS_ANALOG 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR(不存在更多資料)

4.5.9.2.5項
該指令沒有事件。
4.5.9.3 配置_MULTIPLE_TESTBUS_DIGITAL
此指令用於在選定的焊盤配置上切換多個可用的數位測試匯流排訊號。
筆記: 如果該長度為零,則數字測試總線會重設。
4.5.9.3.1 命令
表 82. CONFIGURE_MULTIPLE_TESTBUS_DIGITAL 指令值

有效負載字段 長度 值/描述
TB_SignalIndex #1 1位元組 參考 8 以下
TB_BitIndex #1 1位元組 參考 8 以下
TB_PadIndex #1 1位元組 pad索引,要輸出的數位訊號
0x00 AUX1 腳
0x01 AUX2 腳
0x02 AUX3 腳
0x03 GPIO0 引腳
0x04 GPIO1 引腳
0x05 GPIO2 引腳
0x06 GPIO3 引腳
0x07-0xFF 射頻單元
TB_SignalIndex #2 1位元組 參考 8 以下
TB_BitIndex #2 1位元組 參考 8 以下
TB_PadIndex #2 1位元組 pad索引,要輸出的數位訊號
0x00 AUX1 腳
0x01 AUX2 腳
0x02 AUX3 腳
0x03 GPIO0 引腳
0x04 GPIO1 引腳
0x05 GPIO2 引腳
0x06 GPIO3 引腳
0x07-0xFF 射頻單元

4.5.9.3.2 響應
表 83. CONFIGURE_MULTIPLE_TESTBUS_DIGITAL 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表2]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR(不存在更多資料)

4.5.9.3.3項
該指令沒有事件。
4.5.10 CTS配置
4.5.10.1 CTS_ENABLE
此指令用於啟用/停用 CTS 日誌記錄功能。
4.5.10.1.1 命令
表 84. CTS_ENABLE 指令值

有效負載欄位長度值/描述
啟用/停用 1位元組 位元 0 0 停用 CTS 日誌記錄功能

1 啟用CTS日誌功能

位 1-7 射頻單元

4.5.10.1.2 響應
表 85. CTS_ENABLE 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR(不存在更多資料)

4.5.10.1.3項
下表顯示了將作為事件訊息的一部分發送的事件數據,如圖 12 和圖 13 所示。
表 86. 這通知主機資料已收到。 EVT_CTS_DONE

有效負載字段 長度 值/描述
事件 1位元組 00 … 觸發已發生,資料已準備好接收。

4.5.10.2 CTS_CONFIGURE
此指令用於配置所有必要的 CTS 暫存器,例如觸發器、測試匯流排暫存器、ampling配置等,
筆記:
[1] 提供了對 CTS 配置的更好理解。捕獲的資料作為對第 4.5.10.3 節命令的回應的一部分發送。

4.5.10.2.1 命令
表 87. CTS_CONFIGURE 指令值

有效負載字段 長度 值/描述
PRE_TRIGGER_SHIFT 1位元組 以 256 位元組為單位定義觸發後擷取序列的長度。
0表示不移位; n表示n*256位元組區塊移位。
附註:僅當 TRIGGER_MODE 為「PRE」或「COMB」觸發模式時有效
觸發模式 1位元組 指定要使用的採集模式。
0x00 – POST 模式
0x01——RFU
0x02 – PRE 模式
0x03 – 0xFF – 無效
RAM_PAGE_WIDTH 1位元組 指定採集所涵蓋的片上內存量。粒度設計為 256 位元組(即 64 個 32 位元字)。
有效值如下:
0x00h – 256 字節
0x02h – 768 字節
0x01h – 512 字節
0x03h – 1024 字節
0x04h – 1280 字節
0x05h – 1536 字節
0x06h – 1792 字節
0x07h – 2048 字節
0x08h – 2304 字節
0x09h – 2560 字節
0x0Ah – 2816 字節
0x0Bh – 3072 字節
0x0Ch – 3328 位元組
0x0Dh – 3584 字節
0x0Eh – 3840 字節
0x0Fh – 4096 字節
0x10h – 4352 字節
0x11h – 4608 字節
0x12h – 4864 字節
0x13h – 5120 字節
0x14h – 5376 字節
0x15h – 5632 字節
0x16h – 5888 字節
0x17h – 6144 字節
0x18h – 6400 字節
0x19h – 6656 字節
0x1Ah – 6912 字節
0x1Bh – 7168 字節
0x1Ch – 7424 位元組
0x1Dh – 7680 字節
0x1Eh – 7936 字節
0x1Fh – 8192 字節
SAMPLE_CLK_DIV 1位元組 此欄位的十進位值指定在擷取期間要使用的時脈速率分頻因子。
CTS 時脈 = 13.56 MHz / 2SAMPLE_CLK_DIV
00 – 13560 kHz
01 – 6780 kHz
02 – 3390 kHz
03 – 1695 kHz
04 – 847.5 kHz
05 – 423.75 kHz
06 – 211.875 kHz
07 – 105.9375 kHz
08 – 52.96875 kHz
09 – 26.484375 kHz
10 – 13.2421875 kHz
11 – 6.62109375 kHz
12 – 3.310546875 kHz
13 – 1.6552734375 kHz
14 – 0.82763671875 kHz
15 – 0.413818359375 kHz
SAMPLE_BYTE_SEL 1位元組 這些位元用於指定兩個 16 位元輸入匯流排的哪些位元組有助於交錯機制,該機制會產生要傳輸到片上記憶體的資料。它們的意思和用法取決於 SAMPLE_MODE_SEL 值。

注意:給定值總是用 0x0F 掩碼,然後才考慮有效值。

SAMPLE_MODE_SEL 1位元組 選擇 sampCTS 設計規格中所述的 ling 交錯模式。十進制值 3 被保留,將被視為 0。
注意:給定值總是用0x03掩碼,然後才考慮有效值。
TB0 1位元組 選擇連接到 TB0 的測試匯流排。參考 第 7 節 (TB_Signal_Index值)
TB1 1位元組 選擇連接到 TB1 的測試匯流排。參考 第 7 節 (TB_Signal_Index值)
TB2 1位元組 選擇連接到 TB2 的測試匯流排。參考 第 7 節 (TB_Signal_Index值)
TB3 1位元組 選擇連接到 TB3 的測試匯流排。參考 第 7 節 (TB_Signal_Index值)
TTB_選擇 1位元組 選擇要連接到觸發來源的 TB。參考 第 7 節 (TB_Signal_Index值)
射頻單元 4 位元組 始終發送 0x00000000
MISC_配置 24 位元組 觸發發生、極性等。 [1] 用於了解要使用的 CTS 配置。

4.5.10.2.2 響應
表 88. CTS_CONFIGURE 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR

4.5.10.2.3項
該指令沒有事件。
4.5.10.3 CTS_RETRIEVE_LOG
此指令檢索捕獲的測試總線資料的資料日誌amp檔案儲存在記憶體緩衝區中。
4.5.10.3.1 命令
表 89. CTS_RETRIEVE_LOG 指令值

有效負載字段 長度 值/描述
區塊大小 1位元組 0x01-0xFF 包含預期資料的位元組數。

4.5.10.3.2 響應
表 90. CTS_RETRIEVE_LOG 響應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR(不存在更多資料)
PN5190_STATUS_SUCCES_CHAINING
記錄數據 [1…n] CTS請求 捕獲Samp資料區塊

筆記:
“日誌資料”的最大大小取決於作為命令的一部分提供的“ChunkSize”。
總日誌大小應在 TLV 標頭回應中可用。
4.5.10.3.3項
該指令沒有事件。
4.5.11 TEST_MODE 指令
4.5.11.1 天線自測試
此指令用於驗證天線是否已連接以及匹配組件是否已安裝/組裝。
筆記:
該命令尚不可用。有關可用性,請參閱發行說明。
4.5.11.2 PRBS_測試
此指令用於為讀取器模式協定和位元率的不同配置產生 PRBS 序列。一旦指令被執行,PRBS 測試序列將在 RF 上可用。
筆記:
在發送此命令之前,主機應確保使用第 4.5.7.1 節載入適當的 RF 技術配置,並使用第 4.5.8.1 節命令開啟 RF。
4.5.11.2.1 命令
表 91. PRBS_TEST 指令值

有效負載字段 長度 值/描述
prbs_type 1位元組 00 PRBS9(預設)
01 PRBS15
02-FF 射頻單元

4.5.11.2.2 響應
表 92. PRBS_TEST 反應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD

4.5.11.2.3項
該指令沒有事件。
4.5.12 晶片資訊指令
4.5.12.1 GET_DIEID
此指令用於讀取PN5190晶片的die ID。
4.5.12.1.1 命令
表 93. GET_DIEID 指令值

有效負載字段 長度 值/描述
負載中沒有數據

4.5.12.1.2 響應
表 94. GET_DIEID 回應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR(不存在更多資料)
價值觀 16 位元組 16 位元組晶片 ID。

4.5.12.1.3項
該命令沒有任何事件。
4.5.12.2 取得版本
此指令用於讀取 PN5190 晶片的 HW 版本、ROM 版本和 FW 版本。
4.5.12.2.1 命令
表 95. GET_VERSION 命令值

有效負載字段 長度 值/描述
負載中沒有數據

下載模式下有一個指令 DL_GET_VERSION(第 3.4.4 節),可用來讀取 HW 版本、ROM 版本和 FW 版本。
4.5.12.2.2 響應
表 96. GET_VERSION 響應值

有效負載字段 長度 值/描述
地位 1位元組 操作狀態[表9]。期望值如下:
PN5190_STATUS_SUCCESS
PN5190_STATUS_INSTR_ERROR(不存在更多資料)
硬體_V 1位元組 硬體版本
RO_V 1位元組 ROM程式碼
韌體_V 2位元組 韌體版本(用於下載)
RFU1-RFU2 1-2 字節

(第 5190 節)中提到了不同版本 PN3.4.4 IC 的預期響應
4.5.12.2.3項
該命令沒有任何事件。

附錄(例如amples)

本附錄由前amp上述命令的文件。前任amp文件僅用於說明目的,以顯示命令的內容。
5.1 前ampWRITE_REGISTER 文件
以下資料序列從主機發送,將 0x12345678 值寫入暫存器 0x​​1F。
命令幀發送到 PN5190:0000051F78563412
主機等待中斷。
當主機讀取 PN5190 收到的回應幀時(表示操作成功):00000100 5.2 ExampWRITE_REGISTER_OR_MASK 的文件
以下是主機發送的資料序列,對暫存器 0x​​1F 執行邏輯或運算,遮罩為 0x12345678
命令幀發送到 PN5190:0100051F78563412
主機等待中斷。
當主機讀取PN5190收到的回應幀時(表示操作成功):01000100
5.3 前ampWRITE_REGISTER_AND_MASK 的文件
以下是主機發送的資料序列,對暫存器 0x​​1F 進行邏輯與運算,遮罩為 0x12345678
命令幀發送到 PN5190:0200051F78563412
主機等待中斷。
當主機讀取PN5190收到的回應幀時(表示操作成功):02000100
5.4 前ampWRITE_REGISTER_MULTIPLE 的文件
依照主機所傳送的資料序列,對暫存器0x1F 進行邏輯與運算,遮罩為0x12345678,對暫存器0x20 進行邏輯或運算,遮罩為0x11223344,並寫入暫存器0x21,值為0xAABBCCDD。
命令幀發送到 PN5190:0300121F03785634122002443322112101DDCCBBAA
主機等待中斷。
當主機讀取PN5190收到的回應幀時(表示操作成功):03000100
5.5 前ampREAD_REGISTER 文件
以下是從主機發送的資料序列,用於讀取暫存器 0x​​1F 的內容,並假設該暫存器的值為 0x12345678
發送到 PN5190 的命令幀:0400011F
主機等待中斷。
當主機讀取PN5190收到的回應幀時(表示操作成功):0400050078563412
5.6 前ampREAD_REGISTER_MULTIPLE 的文件
以下是從主機發送的資料序列,用於讀取包含 0x1 值的暫存器 0x​​12345678F 和包含 0x25 值的暫存器 0x​​11223344 的內容
命令幀發送到 PN5190:0500021F25
主機等待中斷。
當主機讀取回應時,從PN5190收到幀(表示操作成功):050009007856341244332211
5.7 前ampWRITE_E2PROM 文件
以下資料序列從主機傳送至 E2PROM 位置 0x0130 至 0x0134,內容為 0x11、0x22、0x33、0x44、0x55
命令幀發送到 PN5190:06000730011122334455
主機等待中斷。
當主機讀取回應時,從PN5190收到幀(表示操作成功):06000100
5.8 前ampREAD_E2PROM 文件
以下資料序列從主機傳送,從 E2PROM 位置 0x0130 至 0x0134 讀取,其中儲存的內容為:0x11、0x22、0x33、0x44、0x55
命令幀發送到 PN5190:07000430010500
主機等待中斷。
當主機讀取回應時,從PN5190收到幀(表示操作成功):070006001122334455
5.9 前ampTRANSMIT_RF_DATA 文件
按照從主機發送的資料序列發送 REQA 命令(0x26),要傳送的位數為“0x07”,假設先前設定了所需的暫存器並且 RF 已開啟。
命令幀發送到 PN5190:0800020726
主機等待中斷。
當主機讀取回應時,從PN5190收到幀(表示操作成功):08000100
5.10 前ampRETREIVE_RF_DATA 的文件
依照從主機傳送的資料序列來接收接收/儲存在內部 CLIF 緩衝區中的資料(假設接收到 0x05),假設在 RF 開啟後已經傳送了 TRANSMIT_RF_DATA。
命令幀發送到 PN5190:090000
主機等待中斷。
當主機讀取回應時,從PN5190收到幀(表示操作成功):090003000400
5.11 前ampEXCHANGE_RF_DATA 文件
依照從主機傳送的資料序列來傳輸 REQA (0x26),要傳送的最後一個位元組中的位數設定為 0x07,所有狀態都會與資料一起接收。假設所需的 RF 暫存器已設定並且 RF 已開啟。
發送到 PN5190 的命令幀:0A0003070F26
主機等待中斷。
當主機讀取回應時,從 PN5190 收到幀(表示操作成功):0A000 F000200000000000200000000004400
5.12 前ampLOAD_RF_CONFIGURATION 的文件
依照從主機傳送的資料序列來設定 RF 配置。對於 TX,0x00,對於 RX,0x80
發送到 PN5190 的命令幀:0D00020080
主機等待中斷。
當主機讀取回應時,從 PN5190 收到幀(表示操作成功):0D000100
5.13 前ampUPDATE_RF_CONFIGURATION 的文件
遵循從主機發送的資料序列來更新 RF 配置。對於TX,0x00,暫存器位址為CLIF_CRC_TX_CONFIG,值為0x00000001
發送到 PN5190 的命令幀:0E0006001201000000
主機等待中斷。
當主機讀取回應時,從 PN5190 收到幀(表示操作成功):0E000100
5.14 前ampRF_ON 的文件
遵循從主機發送的資料序列,使用衝突避免和無 P2P 活動來開啟 RF 場。假設 PN5190 中已設定對應的 RF TX 和 RX 配置。
命令幀發送到 PN5190:10000100
主機等待中斷。
當主機讀取回應時,從PN5190收到幀(表示操作成功):10000100
5.15 前ampRF_OFF 的文件
遵循從主機發送的資料序列來關閉射頻場。
命令幀發送到 PN5190:110000
主機等待中斷。
當主機讀取回應時,從PN5190收到幀(表示操作成功):11000100

附錄(RF協定配置指標)

本附錄包含 PN5190 支援的 RF 協定配置索引。
TX 和 RX 設定設定必須在第 4.5.7.1 節、第 4.5.7.2 節、第 4.5.7.3 節指令中使用。

NXP PN5190 NFC 前端控制器 - 配置索引

附錄(CTS 和 TESTBUS 訊號)

下表指定了 PN5190 可使用 CTS 指令(第 4.5.10 節)和 TESTBUS 指令擷取的不同訊號。

NXP PN5190 NFC 前端控制器 - 附錄

這些必須用於第 4.5.9.1 節、第 4.5.9.2 節、第 4.5.10.2 節命令。

縮寫

表 97. 縮寫

縮寫。 意義
時鐘
DWL_請求 下載請求引腳(也稱為 DL_REQ)
EEPROM 電可擦除可程式唯讀記憶體
FW 韌體
接地 地面
通用輸入輸出介面 通用輸入輸出
HW 硬體
I²C 內部積體電路(串列資料匯流排)
IRQ 中斷請求
ISO / IEC 國際標準組織/國際電工協會
近場通訊 近場通訊
OS 作業系統
聚碳酸酯 接近耦合裝置(非接觸式讀卡機)
人保財險 感應積體電路卡(非接觸式卡)
電源管理單元 電源管理單元
上電復位 上電複位
RF 無線電頻率
快速恢復時間 重置
SFWU 安全韌體下載模式
SPI 串行外設接口
維恩 V 啟用引腳

參考

[1] NFC Cockpit的CTS配置部分, https://www.nxp.com/products/:NFC-COCKPIT
[2] PN5190 IC 資料表, https://www.nxp.com/docs/en/data-sheet/PN5190.pdf

法律資訊

10.1 定義
草稿 — 文檔的草稿狀態表明內容仍在內部重新審核中view 並須經正式批准,這可能會導致修改或添加。恩智浦半導體不對文件草稿版本中包含的資訊的準確性或完整性做出任何陳述或保證,並且對使用此類資訊的後果不承擔任何責任。
10.2免責聲明
有限保證和責任 — 本文件中的信息被認為是準確和可靠的。 但是,NXP Semiconductors 不對此類信息的準確性或完整性做出任何明示或暗示的陳述或保證,並且不對使用此類信息的後果承擔任何責任。 如果本文檔中的內容由 NXP Semiconductors 以外的信息源提供,NXP Semiconductors 不承擔任何責任。
在任何情況下,NXP Semiconductors 均不對任何間接、附帶、懲罰性、特殊或後果性損害(包括但不限於利潤損失、儲蓄損失、業務中斷、與移除或更換任何產品相關的成本或返工費用)承擔責任,無論是此類損害並非基於侵權行為(包括疏忽)、保證、違約或任何其他法律理論。
儘管客戶可能因任何原因遭受任何損害,恩智浦半導體對客戶對本文所述產品的累積和累積責任應根據
恩智浦半導體的商業銷售條款和條件。
更改權 — NXP Semiconductors 保留隨時更改本文檔中發布的信息的權利,包括但不限於規格和產品描述,恕不另行通知。 本文檔取代並替換在此發布之前提供的所有信息。
適用性 — 恩智浦半導體產品的設計、授權或保證不適合用於生命支持、生命攸關或安全關鍵的系統或設備,也不適合恩智浦半導體產品出現故障或故障的應用。導致人身傷害、死亡或嚴重的財產或環境損害。 恩智浦半導體及其供應商對於在此類設備或應用中包含和/或使用恩智浦半導體產品不承擔任何責任,因此此類包含和/或使用的風險由客戶自行承擔。
應用領域 — 此處描述的任何這些產品的應用僅用於說明目的。 NXP Semiconductors 不聲明或保證此類應用無需進一步測試或修改即可適用於指定用途。
客戶應對使用 NXP Semiconductors 產品的應用程序和產品的設計和操作負責,NXP Semiconductors 對應用程序或客戶產品設計方面的任何協助不承擔任何責任。 客戶自行負責確定 NXP Semiconductors 產品是否適合客戶的應用和計劃的產品,以及客戶的第三方客戶的計劃應用和使用。 客戶應提供適當的設計和操作保護措施,以盡量減少與其應用程序和產品相關的風險。
恩智浦半導體不承擔與基於客戶應用程序或產品或客戶第三方客戶的應用程序或使用中的任何弱點或違約而導致的任何違約、損害、成本或問題相關的任何責任。 客戶負責使用 NXP Semiconductors 產品對客戶的應用程序和產品進行所有必要的測試,以避免應用程序和產品或應用程序或客戶的第三方客戶的使用出現違約。 恩智浦在這方面不承擔任何責任。

NXP BV – NXP BV 不是一家運營公司,也不分銷或銷售產品。

10.3個許可證
購買採用 NFC 技術的恩智浦 IC — 購買符合近場通訊 (NFC) 標準 ISO/IEC 18092 和 ISO/IEC 21481 之一的恩智浦半導體 IC 並不傳達因實施而侵犯的任何專利權的默示許可。這些標準中的任何一個。購買恩智浦半導體 IC 不包含任何恩智浦專利(或其他智慧財產權)的許可,涵蓋這些產品與其他產品(無論是硬體或軟體)的組合。

10.4個商標
注意:所有引用的品牌、產品名稱、服務名稱和商標均為其各自所有者的財產。
NXP — 文字商標和徽標是 NXP BV 的商標
EdgeVerse — 是 NXP BV 的商標
FeliCa — 是索尼公司的商標。
MIFARE — 是 NXP BV 的商標
MIFARE Classic — 是 NXP BV 的商標

請注意,有關本文檔和此處所述的產品的重要聲明已包含在「法律資訊」部分中。
© 2023 NXP BV
欲了解更多信息,請訪問: http://www.nxp.com
版權所有。
發布日期:25 年 2023 月 XNUMX 日
文檔標識符:UM11942

文件/資源

NXP PN5190 NFC 前端控制器 [pdf] 使用者手冊
PN5190、PN5190 NFC 前端控制器、NFC 前端控制器、控制器、UM11942

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *