2. CLE:Command Latch Enable,命令锁存使能,在输入命令之前,要先在模式寄存器中,设置CLE使能
3. ALE:Address Latch Enable,地址锁存使能,在输入地址之前,要先在模式寄存器中,设置ALE使能
4. CE#:Chip Enable,芯片使能,在操作Nand Flash之前,要先选中此芯片,才能操作
5. RE#:Read Enable,读使能,在读取数据之前,要先使CE#有效。
6. WE#:Write Enable,写使能,在写取数据之前,要先使WE#有效。
7. WP#:Write Protect,写保护
8. R/B#:Ready/Busy Output,就绪/忙,主要用于在发送完编程/擦除命令后,检测这些操作是否完成,忙,表示编程/擦除操作仍在进行中,就绪表示操作完成.
9. Vcc:Power,电源
10. Vss:Ground,接地
11. N.C:Non-Connection,未定义,未连接。
[小常识]
在数据手册中,你常会看到,对于一个引脚定义,有些字母上面带一横杠的,那是说明此引脚/信号是低电平有效,比如你上面看到的RE头上有个横线,就是说明,此RE是低电平有效,此外,为了书写方便,在字母后面加“#”,也是表示低电平有效,比如我上面写的CE#;如果字母头上啥都没有,就是默认的高电平有效,比如上面的CLE,就是高电平有效。还有的是在字母前面加个小n,例如nRE,这也是表示低电平有效的。
【为何需要ALE和CLE】突然想明白了,Nand Flash中,为何设计这么多的命令,把整个系统搞这么复杂的原因了:
比如命令锁存使能(Command Latch Enable,
CLE)和地址锁存使能(Address Latch Enable,ALE),那是因为,Nand Flash就8个I/O,而且是复用的,也就是,可以传数据,也可以传地址,也可以传命令,为了区分你当前传入的到底是啥,所以,先要用发一个CLE(或ALE)命令,告诉nand Flash的控制器一声,我下面要传的是命令(或地址),这样,里面才能根据传入的内容,进行对应的动作。否则,nand flash内部,怎么知道你传入的是数据,还是地址,还是命令啊,也就无法实现正确的操作了.
【Nand Flash只有8个I/O引脚的好处】
1. 减少外围引脚:相对于并口(Parellel)的Nor Flash的48或52个引脚来说,的确是大大减小了引脚数目,这样封装后的芯片体积,就小很多。现在芯片在向体积更小,功能更强,功耗更低发展,减小芯片体积,就是很大的优势。同时,减少芯片接口,也意味着使用此芯片的相关的外围电路会更简化,避免了繁琐的硬件连线。
2. 提高系统的可扩展性,因为没有像其他设备一样用物理大小对应的完全数目的addr引脚,在芯片内部换了芯片的大小等的改动,对于用全部的地址addr的引脚,那么就会引起这些引脚数目的增加,比如容量扩大一倍,地址空间/寻址空间扩大一倍,所以,地址线数目/addr引脚数目,就要多加一个,而对于统一用8个I/O的引脚的Nand Flash,由于对外提供的都是统一的8个引脚,内部的芯片大小的变化或者其他的变化,对于外部使用者(比如编写nand flash驱动的人)来说,不需要关心,只是保证新的芯片,还是遵循同样的接口,同样的时序,同样的命令,就可以了。这样就提高了系统的扩展性。
【Nand flash的一些典型(typical)特性】
1.页擦除时间是200us,有些慢的有800us。
2.块擦除时间是1.5ms.
3.页数据读取到数据寄存器的时间一般是20us。
4.串行访问(Serial access)读取一个数据的时间是25ns,而一些旧的nand flash是30ns,甚至是50ns。
5.输入输出端口是地址和数据以及命令一起multiplex复用的。
以前老的Nand Flash,编程/擦除时间比较短,比如K9G8G08U0M,才5K次,而后来很多6.nand flash的编程/擦除的寿命,最多允许的次数,以前的nand flash多数是10K次,也就是1万次,而现在很多新的nand flash,技术提高了,比如,Micron的MT29F1GxxABB,Numonyx的NAND04G-B2D/NAND08G-BxC,都可以达到100K,也就是10万次的编程/擦除。和之前常见的Nor Flash达到同样的使用寿命了。
6. 48引脚的TSOP1(K9F1208UOM)封装或 52引脚的ULGA封装
【Nand Flash中的特殊硬件结构】 |