5.2.3. 编程指南

5.2.3.1. 初始化流程

每次系统上电复位后,SID会自动读取所有eFuse值到SRAM,软件只需要读取对应地址的值即可。 注意第一次烧写后,SRAM值不会自动更新,此时可通过软件读操作将对应地址的值读到寄存器。 每次烧写完成后需延迟一段时间才可以开启下一次烧写,延迟时间建议至少3US以上。

5.2.3.2. eFuse烧写流程

  1. 检查eFuse控制寄存器(EFUSE_CTL)状态位(EFUSE_WRITE_START/EFUSE_READ_START/EFUSE_AUTO_STATUS),若为非空闲则等待,若都为空闲则继续步骤2;

  2. 配置要烧写eFuse地址到eFuse地址寄存器(EFUSE_ADDR);

  3. 配置要烧写eFuse数据到eFuse写数据寄存器(EFUSE_WDATA);

  4. 配置eFuse控制寄存器(EFUSE_CTL)启动烧写流程,EFUSE_WRITE_START和EFUSE_OP_CODE都需要配置;

  5. 等待EFUSE_WRITE_START自动清零,硬件自动关闭LDO。

为达到双备份目的,要求针对备份地址,即偏移64Byte地址,重复步骤1~步骤5烧写

5.2.3.3. eFuse读取流程

  1. 检查eFuse控制寄存器(EFUSE_CTL)状态位(EFUSE_WRITE_START/EFUSE_READ_START/EFUSE_AUTO_STATUS),若为非空闲则等待,若都为空闲则继续步骤2;

  2. 配置要读取eFuse地址到eFuse地址寄存器(EFUSE_ADDR);

  3. 配置eFuse控制寄存器(EFUSE_CTL)启动读取流程,EFUSE_READ_START和EFUSE_OP_CODE都需要配置;

  4. 等待EFUSE_READ_START自动清零,读取eFuse读数据寄存器(EFUSE_RDATA)获得eFuse的值。