1. Introduction
This article mainly explains the specific process of writing data to the ULP-EEPROM of NCF29A1 through the low-frequency board (PJF7992) after the key (NCF29A1) realizes the IMMO function. In this way, the relevant configuration of NCF29A1 can be changed directly without re-burning NCF29A1, which is convenient for product optimization and upgrading after mass production.
II. Overview
IMMO Function Implementation [1] After that, NCF29A1 is in the AUTHORIZED state. Before writing data to the ULP-EEPROM, you need to enter the XMA_CFG state first, configure the number of blocks in the segment to be accessed [Note: Each segment can contain up to 8 blocks], and then perform the corresponding write operation. Figure 1.1 is the state diagram of the transponder (NCF29A1). 
Figure 1.1 Transponder state diagram
3. Specific process
The following is the specific process of configuring Segment0 to include Block0~Block3, and writing data 0x66,0x66,0x66,0x66 in Block2 Page0:
1. Enter Wait State: Send 11101 (XMA_CFG) twice. The first time makes the device enter the Wait state [Note: See Figure 1.1. If an unauthorized command is sent in AUTHORIZED, NCF29A1 will enter the Wait state]. Response: XMA_CFG EQ+11101 00010. See Figure 1.2 for details.
Figure 1.2 XMA_CFG timing
2. Configure the blocks contained in Segment0: send 11000 00111 (WRITE_CFG_S), write: 0000 0011 (block0-block3), configure the size of Segment0, see Figure 1.3 for details.
图 1.3 WRITE_CFG_S timing
3. Read Segment0 configuration: READ_CFG SEG0 01000 10111, see Figure 1.4 for details.
Figure 1.4 READ_CFG timing
4. Entering XWA_WAIT State: Send 01000 (XMA_WAIT) twice. The first time makes the device enter Wait, and the response is: EQ+0x03 0x03 (Segment0 Mode: PLAIN, SIZE: 4 Blocks). See Figure 1.5 for details.
Figure 1.5 XMA_WAIT timing
5. Set Block2: Send 01010 10101 (SET_BLOCK2), see Figure 1.6 for details.
Figure 1.6 SEL_BLOCK timing
6. Read Page0: Send 11000 00111 (READ_PAGE0), see Figure 1.7 for details.
Figure 1.7 READ_PAGE timing
7. Write data 0x66,0x66,0x66,0x66 to Page0: Send 10000 01111 (WEITE_PAGE0), write data 32 bits (0x66,0x66,0x66,0x66), see Figure 1.8 for details.
图 1.8 WRITE_PAGE timing
8. Refer to step 6 to verify whether the data is written into the ULP-EEPROM.
IV. Conclusion
The above is the whole process of writing data to NCF29A1 ULP-EEPROM after IMMO authentication is successful. You can refer to this routine to read and write other blocks. It is recommended to write in Block2~Block14 of ULP-EEPROM during the debugging stage. Block 1 may contain NCF29A1 high frequency transmission related configuration parameters.
5. References
[1] Implementation of IMMO function - Dadatong (wpgdadatong.com)
[2] ds489211 - Product Data Sheet - HT3-Family_Transponder - MRK III (1.1).pdf
★The blog content is provided by individuals and has nothing to do with the platform. If there is any violation of the law or infringement, please contact the website administrator.
★Be civilized when surfing the Internet and speak rationally. If the content is reported 5 times within a week, the poster will be put in the black room~
Comment