SSD_FLASH添加使用参考


声明:

  1. 本兼容性列表(下称「本列表」)中所列之器件,已经过SigmaStar测试确认可与SigmaStar芯片(下称「SigmaStar 芯片」)兼容,但SigmaStar之测试系针对器件厂商或客户所提供的器件样品进行,前述兼容性确认仅适用于该等样品。
  2. 贵客户可依据自身需求自行采购本列表中的任一器件使用。但贵客户应了解,本列表所示器件并非SigmaStar所设计及生产,SigmaStar所为之前述兼容性测试无法取代贵客户所应进行的正规生产验证。因此,贵客户于采购使用该等器件前,应自行进行完整之产品验证。
  3. 贵客户应了解SigmaStar对于本列表所示器件不提供任何明示或默示的担保(包括但不限于对该等器件之设计、制造、质量、效能、可商用性、合目的性的担保),SigmaStar对于贵客户使用本列表器件所生之任何争议概不负责。

REVISION HISTORY

Revision No.
Description
Date
1.0
  • Initial release
  • 10/07/2023

    1. SNI编辑工具的使用

    打开SNI:需1.0.9版本及其以上

    新增Flash:

    删除Flash:

    2. Nand Flash数据结构说明

    2.1. 基本数据结构

    Flash的基本属性设定界面如下图所示:

    图中的参数及对应的描述如下表所示:(点击返回配置示例

    参数 描述
    ID Bytes Count FLASH ID 对应的字节数
    ID Byte FLASH ID 用于识别Flash(ps:read ID command:0x9F)
    Spare Size oob区域的长度
    Page Size 页长度,单次写入的最大字节数
    Page Count 一个block包含几个page
    Block Count 一颗Flash包含几个block
    Sector Size Flash ECC用来计算ecc校验码的单位长度
    Plane Count 2 plane flash需要配置为1,否则为0
    Plane Count 部分Flash存在多plane设计,读写时序与单plane的会略有差异,不填写时默认为0
    RIU Read 用于选择是DMA数据传输还是RIU数据传输,DMA数据传输更快,0:DMA,1:RIU
    Max Freq 选择时钟频率,调试时建议54M,实际应用请根据flash规格书来确认
    Uboot PBA Uboot分区起始block id,无特殊功能需求无需填写,默认值0
    BL0 PBA IPL分区起始位置
    BL1 PBA IPL备份分区的起始位置
    BAKCNT IPL分区以及备份分区拥有的备份数量
    Write Protect Offset 写保护table所在分区对应的page id,根据是否开启该功能进行填写,未开启请写0
    Vendor Name Flash厂商名称
    Part Number Flash型号名称(必填)

    2.2. 特殊数据结构

    2.2.1. Flag数据结构(点击返回配置说明

    Flash的特殊属性设定界面如下图所示:

    图中的参数及对应的描述如下表所示:

    参数 描述
    BIT9 特殊的flash需要对OIP(寄存器buzy bit)进行两次判断,请与厂商确认勾选
    BIT8 2 plane特殊flash勾选,请查询数据手册,或者直接与厂商确认
    BIT7 易失性寄存器,flash的寄存器值会因为reset cmd或者掉电复原时勾选
    BIT6 MULTI_DIES,根据Flash规格书填写
    BIT5 NEED_QE,Flash在进行quad read,quad write时,需要设置QE bit
    BIT4 ECC_RESERVER(预留)
    BIT3 ECC_RESERVED_NONE_CORRECTED,当ECC_S1 | ECC_S0为2b’11时,如果表示不可纠正,则勾选
    BIT2 EXT_ECC,未使用
    BIT1 ALL_LOCK,原本表示会在初始化阶段将Flash unlock,目前无论是否勾选都会执行unlock,无效bit
    BIT0 OTP_AVAIL,未使用
    MaxWaitTime Flash完成某个动作的最大等待时长,单位us,建议10*(Block erase time)

    2.3. 寄存器数据结构

    Flash的寄存器设置界面如下图所示:

    图中的参数及对应的描述如下表所示:

    参数 描述
    EccEnabled ECC enable,使能后ecc功能开启,用于数据校验及修复
    OtpLock 锁定OTP区域,锁定后,OTP区域只读,未使用OTP区域无需填写
    OtpEnabled OTP enable,使能后,可访问flash otp区域数据
    DieConfig Die Code,切换die,(多die结构的flash才需要填写)
    Complement 写保护相关,用于写保护区域的补余
    TopBottom 写保护相关,用于选择写保护开始地址:upper还是lower
    Blocks 写保护相关,用于选定写保护区域
    SRP0 寄存器保护(未使用)
    SRP1 寄存器保护(未使用)
    QeStatus QE bit相关信息,使能QE,用于quad read、quad write

    2.4. 数据操作数据结构

    Flash的数据访问相关设置界面如下图所示:

    图中的参数及对应的描述如下表所示:

    参数 描述
    Read 读数据命令配置,用于修改single read、dual read、quad read
    Program 写数据命令配置,用于修改single write、quad write
    Random 写数据命令配置,(与Program相比,Random不会将cache的值重置)
    CrMode Cr mode命令配置,内容较多,不在此处展开,详见:Cr mode配置

    所有的Parameter的组成都是一样的,如下图所示:

    Parameter各字段的含义如下表所示:

    参数 描述
    Command 操作的命令(图中的0x6b即为读操作的命令)
    Address 操作的地址,如读写不需要设置地址,读写寄存器命令需要设置地址
    Address Bytes 地址长度
    Dummy Dummy Cycle数,时序上要求设置的dummy Cycle数
    Data bytes 寄存器数据长度,读写寄存器时,需要读出或写入的数据长度
    Value 寄存器数据内容,通常要填写对应功能位在寄存器的位置Mask

    因为所有的命令数据结构都是共用的,所以有些字段并不是该命令必须的。如读写的命令,只需要设置命令和dummy count,其他的不需要设置。而读写寄存器的命令则需要设置命令、命令地址、命令地址长度、数据掩码(mask),具体可以参考Flash数据手册灵活调整。接下来已一个实例来具体讲解如何新增一个Flash的支持。

    3. NAND常规配置说明

    接下来以XT26G02E为例,讲解如何从数据手册中查找参数并录入到SNI中。

    3.1 添加型号

    点击“add”按钮,输入Flash型号,点击“OK”新增空白的配置,操作步骤如图3-1所示:

    图3-1:添加Flash型号

    3.2 基本参数配置说明

    如图3-2所示,XT26G02E的ID为0x2C 0x24两个字节:

    图3-2:XT26G02E ID

    在ID Byte Count栏位中填入2,ID Bytes栏位中填入 0x2C 0x24,如图3-3所示:

    图3-3:NAND参数配置

    如图3-4和图3-5所示,XT26G02E的页大小(Page Size)为2048字节,每一个块(Block)包含64个页(Page),每一页除2048字节有效数据外,还包含128字节空数据区域(Spare Size)。Plane数目为2,总的块数量为2048个。

    图3-4:Error Management Details

    图3-5:Array Organization

    对应修改SNI,如图3-6:

    图3-6:SNI修改

    图3-6中,RIU Read为是否使用RIU模式,设置为零为RIU模式,设置为一为DMA模式,Max Freq为Flash时钟运行频率,根据需求设置。

    其他配置请查看对应的数据结构说明

    3.3 特殊设定配置说明

    3.3.1. Flag配置(点击转跳数据结构说明

    双击图3-7蓝色区域会弹出图3-8的配置界面:

    图3-7:双击蓝色区域

    图3-8:弹出配置界面

    BIT9:如图3-9所示,flash进行数据读写时OIP会被置1,只有OIP置0时才能进行下一次操作,部分flash需要判断OIP的值连续两次为0时才可以进行下一步操作,该特性需要与厂商确认,才能勾选该bit。

    图3-9:Feature Settings

    BIT8:如图3-5所示,对应的flash区分奇偶block时,需要勾选该bit。

    BIT7:volatile用于表示状态寄存器(status register)中QE(Quad Enable)位是否为非易失性(non-valatile),如果勾上则为易失性(volatile)的,易失性的状态寄存器QE位的值在系统重新上下电后,数据会丢失,需要重新设置。非易失性的状态寄存器QE位的值在系统重新上下电后还会保留原先设置的值,但非易失性的寄存性有寿命限制,如果频繁写非易失性的状态寄存器会造成状态寄存器失效。如图3-9中,该型号的Flash不需要设置QE位,所以该位置不需要勾选。

    BIT6:MULTI_DIES 代表该型号的Flash是否为多DIE的设计,通过数据手册的描述,未找到关于多DIE的描述,所以该位置不勾选。

    BIT5:NEED_QE 代表该型号的Flash在使能四线模式时,是否需要设置QE位,如图3-9中的信息可以知道该型号的Flash不需要设置QE位。

    图3-10:ECC Status Register Bit Descriptions

    BIT4:ECC_RESERVED_ CORRECTED 表示如果ECC状态寄存器11表示ECC Corrected则需要勾选。

    BIT3.ECC_RESERVED_NONE_CORRECTED 表示如果ECC状态寄存器11表示ECC Corrected则需要勾选。

    BIT2:EXT_ECC 保留字段。

    BIT1:ALL_LOCK 表示芯片默认是否为锁定状态,如果勾选的话,驱动会自动解锁,建议默认勾选。

    BIT0:OTP_AVAIL 保留字段。

    3.3.2. MaxWaitTime配置说明

    图3-11:maxWaitTime参数配置

    图3-12:PROGRAM/READ/ERASE Characteristics

    图3-11中maxWaitTime表示读写擦最大的等待超时时间,如果在最大的超时时间内没检查到成功的标志,则会退出当前的操作。一般取最大超时时间的10倍,如果查询到成功后会马上返回,所以加大超时时间在正常使用的情况下不会增加启动时间。如图3-12中,最大的超时时间为10ms,工具的时间单位为us,则设置为100000。

    3.4. 寄存器操作配置说明

    通过图3-13可以知道该型号的Flash获取状态寄存器的命令为0x0F,因为当前所用的众多Flash的读寄存器的命令都是一样的,所以命令栏可以不填,也可以填。

    图3-13:GET FEATURES(0Fh) Timing

    寄存器的对应地址及各位代表的意思如图3-14所示:

    图3-14:Feature Address Settings and Data Bits

    如图3-14可以知道ECC Enable位在地址为0xB0的寄存器的Bit 4,则address填0xB0;地址的长度如图3-13为1字节,则addressBytes填0x01;无dummy时钟,则dummy栏位填0x00;寄存器的数据长度为1字节,则dataBytes栏位填0x01;Bit4对应的掩码(Mask)为0x10,则value栏位填0x10,command默认填0即可。如图3-15所示:

    图3-15:eccEnabled参数配置

    部分flash寄存器还存在OTP相关的配置,otpLock与otpEnabled所在的寄存器地址为0xB0,对应的mask分别为0x80与0x40,addressBytes均为0x01,command与dummy均默认为0。如图3-16和图3-17所示:(详细说明点击转跳

    图3-16:Configuration Register / Status Register-2 (Address Bxh)

    图3-17:OTP参数配置

    3.5. 2 die flash配置说明

    图3-18:die参数配置

    图3-19:Software Die Select Instruction

    图3-20:W25M02GV Device Configuration

    如图3-20所示,部分flash是由两个size较小的flash组成,该类flash称为2 die flash。dieSize需要根据两个较小flash其中一个的size/page size得到。DieCode 的相关配置需要根据图3-19所示配置,command需要填写0xC2,address填写0x01,addressBytes填写为0x01,dummy填写为0x00,dataBytes填写为0x01,value无需填写,由代码控制。

    3.6 Block Status配置说明

    图3-21:Protection Register Bit

    图3-22:complement参数配置

    如图3-21与图3-22所示,有些flash的0xA0寄存器存在CMP bit,该bit功能用于flash的write protect,如果存在该bit则需要配置,否则会影响数据写入flash。如图3-21所示,对应图3-22的配置为:command:0x0(无需配置),address:0xa0,addressBytes:0x01,dummy:0x0(无需配置),dataBytes:0x01,value:0x02。

    图3-23:Protection Register / Status Register-1 (Address Axh)

    图3-24:topBottom参数配置

    如图3-23与图3-24所示,有些flash的0xA0寄存器存在TB bit,该bit功能也用于flash的write protect,如果存在该bit则需要配置,否则会影响数据写入flash。如图3-23所示,对应图3-24的配置为:command:0x0(无需配置),address:0xa0,addressBytes:0x01,dummy:0x0(无需配置),dataBytes:0x01,value:0x04。

    图3-25:blocks参数配置

    如图3-25所示,flash的0xA0寄存器存在默认值(上下电的初始值),这些值需要与厂商确认,blocks数据结构配置0xa0的默认值用于flash write protect,配置信息参考:command:0x0(无需配置),address:0xa0,addressBytes:0x01,dummy:0x0(无需配置),dataBytes:0x01,value:(请与厂商确认)。

    图3-26:srp参数配置

    如图3-26所示,上述配置无需填写,与特殊功能有关,如果有相关需求RD会帮忙填写。

    3.7 extSni配置说明

    图3-27:extSni参数配置

    该数据结构需要开启相关功能时配置,无特殊功能添加请保持默认值为0,请rd配置。

    3.8 数据操作配置

    3.8.1. 单线模式读取

    图3-28:READ FROM CACHE (03h or 0Bh) Timing

    由flash规格书所示,可以得到以下信息:

    • 读时序为:0x03(command) + 2byte address(addressBytes) + 8 Dummy Cycles(dummy) + data

    • 读时序为:0x0B + 2byte address + 8 Dummy Cycles + data

    图3-29:0x03读时序参数配置

    图3-30:0x0B读时序参数配置

    3.8.2. 两线模式读取

    图3-31:READ FROM CACHE x2

    图3-32:READ FROM CACHE Dual I/O

    由flash规格书所示,可以得到以下信息:

    • 读时序为:0x3B + 2byte address + 8 Dummy Cycles + data

    • 读时序为:0xBB + 2byte address + 4 Dummy Cycles + data

    图3-33:0x3B读时序参数配置

    图3-34:0xBB读时序参数配置

    3.8.3. 四线模式读取

    图3-35:READ FROM CACHE x4

    图3-36:READ FROM CACHE Quad I/O

    由flash规格书所示,可以得到以下信息:

    • 读时序为:0x6B + 2byte address + 8 Dummy Cycles + data

    • 读时序为:0xEB + 2byte address + 4 Dummy Cycles + data

    图3-37:0x6B读时序参数配置

    图3-38:0xEB读时序参数配置

    3.8.4. 单线模式写入

    图3-39:PROGRAM LOAD RANDOM DATA (84h) Timing

    由flash规格书所示,可以得到以下信息:

    • PROGRAM写时序为:0x02 + 2byte address + data

    • RANDOM写时序为:0x84 + 2byte address + data

    图3-40:0x02 & 0x84写时序参数配置

    3.8.5. 四线模式写入

    图3-41:PROGRAM LOAD x4 (32h) Timing

    由flash规格书所示,可以得到以下信息:

    • PROGRAM写时序为:0x32 + 2byte address + data

    • RANDOM写时序为:0x34 + 2byte address + data

    图3-42:0x32 & 0x34写时序参数配置

    4. Continuous Read配置说明

    Continuous Read mode support:(目前主要支持的两种类型,without BUFF mode和BUFF mode)

    Without BUFF mode:

    图4-1:Continuous Read Mode Without BUFF

    Note:flow已经在driver中实现,只需在Sni中配置BUF bit,及read cache command

    以W25N01GVxxIG为例:

    图4-2:Configuration Register / Status Register-2 (Address Bxh)

    四线读取:

    图4-3:Fast Read Quad I/O Instruction (Continuous Read Mode, BUF=0)

    由flash规格书所示,可以得到以下信息:

    • BUF bit(address :0xB0 Mask:0x08)

    • RANDOM写时序为:0xEB + 2byte address + 8 Dummy Cycles + data

    Note: 因driver仍采用command + address + dummy+ data的方式(此处address以2byte计算)

    图4-4:crMode参数配置

    BUFF mode:

    图4-5:Continuous Read Mode With BUFF

    参数 描述
    NextPage Parameters 读取下一个page使用的command
    LastPage Parameters 读取最后一个page使用的command
    CheckBusy Parameters 读取下一个page或读取最后一个page时需要check busy时填写
    参数 位域 描述
    BLOCK_WITH_LAST BIT4 Continuous read不能超过一个block时,则勾选
    END_WITH_REST BIT3 结束continuous read时,需要执行reset时,则勾选
    BUSY_AFTER_NEXT BIT2 读取下一个page需要check busy时则勾选且CheckBusy Parameters要填
    BUSY_AFTER_READ BIT1 读取最后一个page需要check busy时则勾选且CheckBusy Parameters要填
    NEXT_STATUS BIT0 读取下一个page需要check busy时则勾选(此处check的是OIP)

    以GD5F1GQ4UEYIH为例:

    由flash规格书所示,可以得到以下信息:

    • Next Page command:0x31

    • Last Page command:0x3F

    • 读取下一个page时需要:check OIP

    • Continuous read不能超过一个block

    5. Check ECC配置说明

    图5-1:Check ECC参数配置

    表5-1:eccConfig参数说明

    参数 描述
    eccEn 是否使用ecc check自定义
    eccType 勾选一些ecc相关的特殊设定,参考表5-2
    eccStatusMask Ecc有效状态位
    eccNotCorrectStatus 表示无法纠正错误的ecc状态值
    eccReserved 当eccType勾选RESERVED_NONE_CORRECTED时,也表示无法纠正错误的ecc状态值
    BitflipThreshold 设定一个已纠正bit数的阈值,用于bbm,未使用bbm可忽略

    表5-2:Bit参数说明

    参数 位域 描述
    RESERVED_NONE_CORRECTED BIT7 当ecc状态值中有两种状态表示ecc error时,则勾选
    ENABLE_UBI_BBM BIT6 启用UBI_BBM,则勾选(UBI BBM的作用是发现可纠正数据时,会将数据重写到其它数据块上,防止数据损坏,若有使用,请根据使用的flash采用bit flip机制或threshold机制的一种,防止频繁的数据重写)
    SOCECC BIT2 驱动使用,无需勾选
    BITFLIP BIT1 选用bit flip机制,则勾选
    THRESHOLD BIT0 选用threshold机制,则勾选

    图5-2:纠正流程

    图5-3:Threshold机制纠正流程

    图5-4:Bit flip机制纠正流程

    以GD5F1GQ4xExxH举例:

    图5-5:Features Settings

    图5-6:ECC Error Bits Descriptions

    由flash规格书所示,可以得到以下信息:

    • ECCS1 ECCS0用于表示ecc status,ECCSE1 ECCSE0用于表示具体发生了几个bit flip

    • 适用bit flip机制

    图5-7:GD5F1GQ4xExxH ECC参数配置

    以TC58CVG0S3HxAIx为例:

    图5-8:Feature Table

    图5-9:Feature Table - C0h Address Description

    图5-10:Bit Flip Count Detection Setting (BFD)

    由flash规格书所示,可以得到以下信息:

    • ECCS1 ECCS0用于表示ecc status

    • 当ECCS1 ECCS0的值等与0x30时,代表bit flip超过了设定的阈值

    • BFD3~0用于设定阈值

    图5-11:TC58CVG0S3HxAIx ECC参数配置

    6. Readid配置说明

    图6-1:Readid参数配置

    图6-2:Read JEDEC ID Instruction

    部分flash读取ID的时序与上图不同,不需要8个dummy,出现该问题时需要填写该数据结构,否则无需填写,填写示例:command:0x9f,address:0x0,addressBytes:0x0,dummy:0x0,dataBytes:0x0,value:0x0。

    7. InitSet配置说明

    图7-1:InitSet参数配置

    部分flash对于寄存器的数据接入可能需要两次写入,举个例子,DS厂商的一款flash在对0xa0寄存器进行操作时,需要先向0xa0寄存器写入0x02,之后方可对0xa0寄存进行数据写入。该特性需要与厂商确认,确实如上述情况,则可以请rd帮忙填写相关的数据,此外该数据结构还可以用于其他与flash寄存器配置相关的操作,在没有特殊要求的情况下不需要填写。

    8. OTP operation配置说明

    图8-1:otp参数配置

    图8-2:otpConfig参数配置

    表8-1:otp参数说明

    参数 描述
    otpEn 是否使用otp功能
    Factory 设定factory区域的起始位置和长度,因为nand flash的otp是以page为单位,因此start、length的单位为pageID * page size
    User 设定user区域的起始位置和长度,因为nand flash的otp是以page为单位,因此start、length的单位为pageID * page size
    Otpread Read otp operation
    Otpprogram Program otp operation
    Otplock 锁定otp区域,一经锁定,otp区域无法再进行编辑
    Otpenable 使能otp模式,任何otp相关操作,都需要将flash工作模式切换为otp模式

    以W25N01GVxxIG/IT为例:

    图8-3:Configuration Register / Status Register-2 (Volatile Writable)

    图8-4:Accessing Unique ID / Parameter / OTP Pages (OTP-E=1)

    图8-5:Read Operations & Program and OTP Lock Operations

    由flash规格书所示,可以得到以下信息:

    • OTP_E、OTP_L bit所在寄存器位置

    • Factory为page01,user为page2B

    • Otp read program操作同正常读写一致,不支持continue read

    图8-6:W25N01GVxxIG/IT otp参数配置

    图8-7:W25N01GVxxIG/IT otp参数配置

    点击此处返回寄存器配置说明

    9. Nor Flash数据结构说明 (适用SSD210/212/222X/9211X)

    9.1 基本数据结构

    图9-1:SPINOR参数配置

    表9-1:SPINOR参数说明

    参数 描述
    FLASH ID 作用于识别flash(如read ID command:0x9F)
    Max Clk 选择CLK speed,调试时建议54M,实际应用请根据flash规格书来确认
    Page Byte Count 页长度,单次写入的最大字节数
    Sector Byte Count Sector erase的字节数
    Block Byte Count Block erase的字节数(如command:0xD8)
    Capacity Flash 总大小
    Max Wait Time flash完成某个动作的最大等待时长,单位us,建议10*(Block erase time)
    ExtSni 特殊功能开启,默认值请填写0

    9.2 高级数据结构

    软件的高级属性设置界面如图9-2所示:

    图9-2:高级属性设置界面

    读取相关的属性的含义如表9-2所示:

    表9-2:读取属性说明

    参数 描述
    Complement paramers 用于写保护的模式选择
    TopBottom paramers 用于写保护选择顶端模式还是底端模式
    Blocks paramers 写保护的参数,具体参考数据手册写保护章节
    SRP0 paramers 寄存器保护(预留)
    SRP1 paramers 寄存器保护(预留)
    rQuadEnable paramers 使能四线模式

    写入相关的属性的含义如表9-3所示:

    表9-3:写入属性说明

    参数 描述
    Complement paramers 用于写保护的模式选择
    TopBottom paramers 用于写保护选择顶端模式还是底端模式
    Blocks paramers 写保护的参数,具体参考数据手册写保护章节
    SRP0 paramers 寄存器保护(预留)
    SRP1 paramers 寄存器保护(预留)
    rQuadEnable paramers 使能四线模式

    注意: 有填写rQuadEnable or wQuadEnable需将needQE设置为0x01

    参数 描述
    ReadData paramers 读数据相关的设置
    Program paramers 写数据相关的设置

    所有的Parameter的组成都是一样的,如图9-3所示:

    图9-3:参数组成

    Parameter各字段的含义如表9-4所示:

    表9-4:参数说明

    参数 描述
    Command 操作的命令(图中的0x6b即为读操作的命令)
    Address 操作的地址,如读写不需要设置地址,读写寄存器命令需要设置地址
    Address Bytes 地址长度
    Dummy Dummy Cycle数,时序上要求设置的dummy Cycle数
    Data bytes 寄存器数据长度,读写寄存器时,需要读出或写入的数据长度
    Value 寄存器数据内容,通常要填写对应功能位在寄存器的位置Mask

    因为所有的命令数据结构都是共用的,所以有些字段并不是该命令必须的。如读写的命令,只需要设置命令和dummy count,其他的不需要设置。而读写寄存器的命令则需要设置命令、命令地址、命令地址长度、数据掩码(mask),具体可以参考Flash数据手册灵活调整。接下来以一个实例来具体讲解如何新增一个Flash的支持。

    10. NOR常规配置说明

    接下来以XT26G02E为例,讲解如何从数据手册中查找参数并录入到SNI中。

    10.1 添加型号

    点击“add”按钮,输入Flash型号,点击“OK”新增空白的配置,操作步骤如图10-1所示:

    图10-1:添加型号

    10.2 基本数据结构配置说明

    如图10-2所示,XT25F128B的ID为两字节0x0B 0x40 0x18三个字节:

    图10-2:XT25F128B ID

    如图10-3所示,可以看到Flash的基本大小信息:

    图10-3:Flash基本大小信息

    如图10-4所示,可以获取到最大的超时时间为1.5秒:

    图10-4:获取时间表

    综上可以得出的数据,修改参数设置如图10-5:

    图10-5:XT26G02E参数配置

    10.3 寄存器操作数据结构配置说明

    图10-6:Read Status Register Sequence Diagram

    图10-7:Write Status Register Sequence Diagram

    图10-8:STATUS REGISTER

    与SPINAND Flash相似,通过图10-6、图10-7、图10-8可以得到以下信息:

    • 读S7-0使用command:0x05

    • 读S15-8使用command:0x35

    • 写S15-0使用command:0x01

    • CMP:bit14

    • Block lock:bit6-2

    • SRP1:bit8

    • SRP0:bit7

    • QE:bit9

    修改设定如下:

    图10-9:寄存器参数配置

    图10-10:寄存器参数配置

    由于SPINOR Flash读取寄存器命令只会返回一个字节,写入时同时写入两个字节,所以在读取时需要知道写入时的两个字节的读取命令是什么,可以通过双击address栏位弹出的对话框配置,如图10-11:

    图10-11:获取读取命令方法

    图10-12:寄存器参数配置

    10.4 数据操作数据结构说明

    10.4.1. 单线模式读取

    图10-13:Read Data By test Higher Speed Sequence Diagram

    由flash规格书所示,可以得到以下信息:

    • 读时序为:0x0B + 3byte address + 8 Dummy Cycles + data

    图10-14:单线读时序参数配置

    10.4.2. 双线模式读取

    图10-15:Dual Output Fast Read Sequence Diagram

    图10-16:Dual I/O Fast Read Sequence Diagram

    由flash规格书所示,可以得到以下信息:

    • 读时序为:0x3B + 3byte address + 8 Dummy Cycles + data

    • 读时序为:0xBB + 3byte address + 4 Dummy Cycles + data

    图10-17:0x3B读时序参数配置

    图10-18:0xBB读时序参数配置

    10.4.3. 四线模式读取

    图10-19:Quad Output Fast Read Sequence Diagram

    由flash规格书所示,可以得到以下信息:

    • 读时序为:0x6B + 3byte address + 8 Dummy Cycles + data

    图10-20:0x6B读时序参数配置

    10.4.4. 单线模式写入

    图10-21:Page Program Sequence Diagram

    由flash规格书所示,可以得到以下信息:

    • PROGRAM写时序为:0x02 + 3byte address + data

    图10-22:0x02写时序参数配置

    10.4.5. 四线模式写入

    图10-23:Quad Page Program Sequence Diagram

    由flash规格书所示,可以得到以下信息:

    • PROGRAM写时序为:0x32 + 3byte address + data

    图10-24:0x32写时序参数配置