一、前言
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
评论