MAX 10用户闪存用户指南

ID 683180
日期 2/21/2017
Public

4.2.3. UFM编程(写)操作

UFM提供一个单32位编程(写)操作。

要运行UFM编程操作,请按照下列步骤:

  1. 禁用写保护模式。通过Avalon-MM控制接口将0写入给定数据的扇区写保护寄存器。
  2. 通过Avalon-MM数据接口将以下数据编程到闪存中。
    • 地址:合法地址(来自Avalon-MM地址映射)
    • 数据:用户数据

    将突发计数设为1(并行模式)或32(串行模式)。

  3. 在编程操作进行中,闪存IP核将状态寄存器中的 busy域设置为2'b10
  4. 如果操作顺利进行,那么闪存IP核将状态寄存器中的写入成功域设置为1'b1或写入成功。如果以下其中一种情况发生,那么闪存IP核将状态寄存器中的写入成功域设置为1'b0(失败):
    • 突发计数不等于1(并行模式)或32(串行模式)。
    • 给定地址超出范围。
    • 没有说明相应扇区是扇区保护模式还是写保护模式(值不是 1'b0)。
  5. 如果要执行另一个编程操作,那么重复前面的步骤。
  6. 当编程操作完成时您必须使能回写保护模式。通过Avalon-MM控制接口写入1到相应扇区的写保护寄存器。
    注: 每次写之后检查状态寄存器以确保编程操作成功完成(写入成功)。
图 8. 并行模式中的编程操作下图显示为并行模式中的写数据时序结构图。


图 9. 串行模式中的编程操作下图显示为串行模式中的写数据时序结构图。