一、前言
1. 進入 Wait State:發送 11101(XMA_CFG) 兩次,第一次使設備進入 Wait 狀態【說明:參見圖 1.1,若在 AUTHORIZED 發送不被允許的命令,NCF29A1 就會進入 Wait 狀態】,回應:XMA_CFG EQ+11101 00010,具體查看圖 1.2。
本文主要講解了鑰匙(NCF29A1)在 IMMO 功能實現之後,通過低頻板(PJF7992)往 NCF29A1 的 ULP-EEPROM 寫入數據的具體流程,通過這種方式可以直接更改 NCF29A1 的相關配置,不需要再對 NCF29A1 進行重新燒錄,方便量產後,對產品進行優化和升級。
二、概述
IMMO 功能實現[1]之後,NCF29A1 處於 AUTHORIZED 狀態,在往 ULP-EEPROM 寫入數據之前,需要先進入 XMA_CFG 狀態,配置所要訪問 Segment 裡面 Block 的數量【說明:每個 Segment 最多可包含 8 個 Block】,再進行相應的寫入操作,圖1.1 是應答器(NCF29A1)的狀態圖。
圖 1.1 應答器的狀態圖
三、具體流程
下面是配置 Segment0 包含 Block0~Block3,並在 Block2 Page0寫入數據 0x66,0x66,0x66,0x66 的具體流程:1. 進入 Wait State:發送 11101(XMA_CFG) 兩次,第一次使設備進入 Wait 狀態【說明:參見圖 1.1,若在 AUTHORIZED 發送不被允許的命令,NCF29A1 就會進入 Wait 狀態】,回應:XMA_CFG EQ+11101 00010,具體查看圖 1.2。
圖 1.2 XMA_CFG timing
2. 配置 Segment0 里包含的 Block:發送 11000 00111(WRITE_CFG_S),寫入:0000 0011(block0-block3),配置 Segment0 的大小,具體查看圖 1.3。圖 1.3 WRITE_CFG_S timing
3. 讀取 Segment0 配置:READ_CFG SEG0 01000 10111,具體查看圖 1.4。
圖 1.4 READ_CFG timing
4. 進入 XWA_WAIT State:發送 01000(XMA_WAIT)兩次,第一次使設備進入 Wait,回應:EQ+0x03 0x03(Segment0 Mode:PLAIN、SIZE:4 個 Block),具體查看圖 1.5。圖 1.5 XMA_WAIT timing
5. 設置 Block2:發送 01010 10101(SET_BLOCK2),具體查看圖 1.6。
圖 1.6 SEL_BLOCK timing
6. 讀 Page0:發送 11000 00111(READ_PAGE0), 具體查看圖 1.7。
圖 1.7 READ_PAGE timing
7. 向 Page0 寫入數據 0x66,0x66,0x66,0x66:發送 10000 01111(WEITE_PAGE0),寫入數據 32bit (0x66,0x66,0x66,0x66),具體查看圖 1.8。
圖 1.8 WRITE_PAGE timing
8. 參考步驟 6,檢驗數據是否寫入 ULP-EEPROM。四、總結
以上就是在 IMMO 認證成功之後,向 NCF29A1 ULP-EEPROM 寫入數據的全部流程,可參考此例程對其它的 Block 進行讀寫訪問,調試階段建議在 ULP-EEPROM 的 Block2~Block14 里進行寫入,Block 1 可能包含 NCF29A1 高頻發送相關配置參數。
五、參考文獻
[1] IMMO 功能的實現 - 大大通 (wpgdadatong.com)
[2] ds489211 - Product Data Sheet - HT3-Family_Transponder - MRK III (1.1).pdf
評論