单电压工作,读写操作工作电压范围:2.7-3.6V。三种擦除方式:1.扇区擦除(Sector-Erase:18ms)2.块擦除(Block-Erase:18ms)3.整芯片擦除(Chip-Erase:40ms)注意:此芯片提供擦除延缓/擦除继续功能。支持硬件复位功能。对写操作完成的判断:1.ToggleBits?(触发位)2.Data#Polling(数据检测位)该芯片提供典型的字编程,操作时间为7µs。使用前面提到过的两种方法进行对写操作完成与否的判断。芯片的操作:使用命令字来初始化芯片的存储操作功能,命令字通过标准的微控制器写时序来写进设备:在进行命令字写的时候,保持CE#为低电平,并使WE#脚为低电平。地址总线在WE#或者CE#两者中任一在后面发生者的下降沿被锁存;数据总线在WE#或者CE#两者中任一在前面发生者的上升沿被锁存。芯片具有工作在自动低损耗的状态,它使得芯片当进行完一个有效的读操作并且已经获取完数据后工作在一个准备(备用)的状态。当有任何地址跳变或者控制信号跳变时,芯片立即退出此工作模式——自动低损耗(AutoLowPower)。注意:当芯片上电后保持CE#为低电平的情况下其不进入此工作模式,直到第一个地址跳变(transition)或者CE#变为高电平。读操作:读操作时,保持CE#(芯片选取端)和OE#(输出允许端)为低电平,当此两引脚任一为高点平时,数据总线处于独立(高阻)状态。读循环时序见图3。写(以字为单位)操作:SST39VF6401/6402是基于字编程,在编程(写入)之前,必须先对将要写的扇区进行全部擦除操作(即写1)。整个写入的完成分为三步:1.三字节的装载时序为软件数据保护;2.装载地址(字)和数据(字)。在字编程(写入)操作时,地址总线在CE#或者WE#任一后发生者的下降沿被锁存,而数据总线在CE#或者WE#任一先发生者的上升沿被锁存;3.芯片内部的编程操作(不需我们管的),此步骤在WE#或者CE#任一先发生的第四个上升沿开始。编程(写入)操作一旦开始,将在10µs内完成。图4和图5为WE#和CE#的控制编程操作时序图,图19为操作流程图。在编程操作过程中,仅仅对数据位(Data#Polling)和触发位(ToggleBit)的读有效。在内部编程操作时(上述的第三步),主机(SST39VF6401/6402)可以执行其他任务。但是,在进行内部编程时,任何命令的发生的被忽略。注意:在命令字时序中,WP#(写保护)必须保持高电平或者低电平。图19编程软件流程图写操作状态检测操作:SST39VF6401/6402为了优化系统写循环时间,提供了两种方法来检测写(编程或者擦除)循环的完成。软件检测包含两个状态位:Data#Polling(DQ7)和ToggleBit(DQ6)。在WE#的上升沿后(发起内部编程或者擦除操作),对写完成的检测就被激活。因为非易失性的写操作的真正完成与系统是异步的,所以Data#Polling或者ToggleBit的读也许会与写完成的时序同时发生,这样一来,系统就会得到一个错误的结果(伪拒绝),例如:有效的数据表现为与DQ7或DQ6发生冲突。为了避免这种情况的出现,当一个错误产生了,我们在编写软件时应该对此访问地址(也就是我们刚刚进行操作的那个地址)进行一个额外2个周期的循环读操作,如果读依然有效,则说明设备已经确实完成了写循环,否则拒绝有效。数据检测位(DQ7):当芯片在进行内部编程操作时,任何对该位的读都会使之呈“1”态的complement,一旦编程操作完成,DQ7立即呈“1”态。注意,即使其紧随内部写操作完成立即呈1态了,但是,其有可能接下来又变为无效态(可以认为为“0”态),因为接下来的1µs内,在数据总线上还可能会出现有效的数据,这也就是如前面所说,要对此位进行循环读操作;在内部进行擦除操作时,任何对DQ7的读为“0”,一旦擦除完成,变为“1”态。注意:对于正常编程(写入)操作,DQ7位在WE#(或CE#)脉冲的第四个上升沿之后有效;对与擦除(全部写“1”)操作,其在WE#(或CE#)脉冲的第六个上升沿有效。图6位DQ7的时序图,图20为流程图。触发(固定,栓牢)位?(ToggleBits:DQ6和DQ2)在内部编程或者擦除操作时,任何对位DQ6连续的读会使之在“1”和“0”之间变化,当内部编程或擦除完成,停止变化为一固定状态。设备也就为下一步操作做准备(所以建议用此位作为检测手段)。注意:对擦除(全部写1)操作来讲,DQ6在WE#(CE#)脉冲的第六个上升沿有效。如果在擦除挂起(暂停)阶段对擦除的扇区或块进行读操作,DQ6就会被置成“1”。如果在擦除挂起(暂停)阶段,对非擦除的的扇区或者块进行编程(写入)操作则DQ6的状态位为变化的。DQ2为一个另外一个ToggleBit,它联合DQ6来检查某特定的扇区是否确实正在进行擦除或者擦除挂起。表1给出了各检测位状态的详细信息。DQ2在写操作中WE#(或CE#)脉冲的最后一个上升沿有效。图7为触发位时序图,图20为流程图。注意:DQ7和DQ2在读状态信息时需要有效的地址。(待补充)表1写操作状态图7触发位时序图图20流程图扇区/块擦除操作:SST39VF6401/6402可以以扇区为单位或者以块为单位进行擦除。扇区的最小单位为2KWord,而块的最小单位为32KWord。扇区擦除操作通过发出一个六字节的命令时序紧接着命令字30H和所要进行擦除的扇区地址(SA)。块擦除操作通过发出一个六字节的命令时序,并在最后一个时序时发送命令字50H和所要进行擦除的块地址。当命令字30H或者50H在WE#脉冲的第六个上升沿被锁存后,扇区或者块地址在WE#脉冲的第六个下降沿被锁存。内部的擦除操作在WE#的第六个脉冲后开始。擦除操作的完成可以通过Data#Polling或者ToggleBit来检测。图9和图10为时序波形图,图23为软件流程图。在进行扇区或者块擦除操作过程中,任何命令的产生都被忽略。当WP#为低电平,则被保护的块将忽略任何擦除操作,即不进行擦除。在命令时序期间,WP#必须保持高或低电平。图23擦除软件流程图擦除延缓(挂起)/擦除继续操作:擦除延缓操作临时挂起一个扇区或者块擦除操作,为了方便用户对没有挂起的扇区或块进行读或者写入操作。本操作通过发出一个字节的命令时序并在最后一个时序发送擦除挂起命令字B0H。芯片在擦除挂起命令字产生后的20µs内自动进入典型的读模式,没有被挂起的扇区或块地址都能被读,对挂起的扇区或块读会使得输出DQ2不断跳变(触发状态)和DQ6为“1”态。在擦除挂起模式下,允许对没有挂起的扇区或块进行写入操作。我们可以发出擦除继续命令来继续挂起的擦除操作,在最后字节时序产生一个字节的命令时序并在最后一个时序发送擦除继续命令字30H到任何地址即可。整芯片擦除操作:整芯片擦除也即全部擦除,把整个存储器都写成“1”,全部擦除操作通过产生一个六字节的命令时序并在最后一个时序把命令字10H送入地址5555H。擦除工作在WE#或CE#先发生者的第六个上升沿开始。在擦除期间,仅仅对ToggleBit和Data#Polling位的读有效。图6为命令时序,图9为时序图,图23为软件流程图。在全部擦除操作期间,任何命令的产生都被忽略。当WP#为低电平,不能进行芯片擦除。在命令时序期间,WP#必须保持静态的高电平或者低电平。数据保护硬件数据保护硬件块保护硬件复位(RST#)软件数据保护(SDP)普通Flash存储接口(CFI)产品标志(身份)