欢迎来到天天文库
浏览记录
ID:33718443
大小:168.73 KB
页数:7页
时间:2019-02-28
《应用串行nor闪存提升内存处理能力》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、应用串行NOR闪存提升内存处理能力Spansion公司在嵌入式系统中,NOR闪存一直以来仍然是较受青睐的非易失性内存,NOR器件的低延时特性可以接受代码执行和数据存储在一个单一的产品。虽然NAND记忆体已成为许多高密度应用的首选解决方案,但NOR仍然是低密度解决方案的首选之一。未来闪存产品具有快速发展的趋势,可以发现,闪存产品从低密度、低性能、低功能的发展特点转变为高密度、高性能、高功能的发展特点。Spansion的NOR闪存广泛运用于汽车电子、医疗设备、通讯设备、机顶盒等。SPIFlash特性SPI串行
2、结构的EEPROM最早出现于20世纪80年代中期,由摩托罗拉在其MC68HC系列中首先引入,MicroWire是由国半制定的总线标准,它和SPI非常相似,只是MicroWire的时钟极性CPOL和时钟相位CPHA是固定的,均为0。I2C也是出现在80年代,由Philips制定,它通过一条数据线和一条时钟线实现半双工通信,I2C总线接口实现了最简单的总线接口方式。三种标准如图1所示。图1三种总线标准SPI和MicroWire很相近,速度非常快,且在设计中无需上拉电阻,可以支持全双工通信操作,抗干扰能力强,缺
3、点是需要占用较多的数据总线,且需要为设备分配单独的片选信号,没有接收数据的硬板机制。对I2C总线来说,它占用的总线较少,可以多个设备共同用一根总线,支持接收数据的硬板机制,缺点是速度较低,为3.4MHz以下,只支持半双工的操作,设计时需要上拉电阻,且对噪声的干扰相对敏感。SPI的接口从传统的单进单出已经提升到双进双出或者四进四出。如图2所示,通过单向输入SI,输出SO变为双向的传输,同时将WP引脚和HOLD引脚复用为双向的IO口来实现多IO口的接口通信,其协议及基本的读写操作和原始EEPROM兼容,同时硬
4、件上实现简单的完全兼容。相对于传统的并行NORFlash而言,SPINORFlash只需要6个引脚就能够实现单I/O,双I/O和4个I/O口的接口通信,而并行的NORFlash则至少需要40个引脚。人们普遍使用的是标准NORFlash异步读模式,而ADM及地址数据信号复用,这种并行NORFlash引脚数相对较少,通过实现突发读模式,其数据输出最快可超过120MB/s,SPI具有较少的引脚,同时,通过采用DDR的方式读操作,在80MHz的时钟下,其数据输出可以达到80MB/s,甚至超过并行NORFlash的
5、异步读速度。图2SPI的接口转变在过去的几年中,随着直接CPU内存映射功能的支持,SPI的读操作取得了极大的进步,而传统的SPI外设控制器仍然在用于传统的SPI的读或别的操作,相比之下,通过CPU的直接读取操作,速度比通过SPI控制器来的更快,延迟低。SPI双通道控制器示意图如图3所示,双通道可以使SPI的数据输出增加一倍,硬件上将片选和时钟共用的话,只需要10个引脚就能实现SPIFlash所有功能。可以考虑,实现一片SPIFlash8bits数据的传输,从而提升SPIFlash的数据输出能力。图3SPI
6、双通道控制器关于SPI时序对读速度的影响,如图4所示。tV是指时钟的下降沿到有效数据输出所需要的时间,一般最大为8ns。tHO是数据输出后到下一个时钟下降沿可持续的时间,一般最小值0ns。这两个参数和时钟频率一起决定了SPIFlash的最大数据输出速度。事实上,tHO在实际应用中并不能像时钟周期一样可以无限压缩,而往往都会大于0ns。早期的4个I/O口输出协议需要对地址和数据分别串行传送。如,8个命令周期加上24个地址周期至少需要32个时钟周期完成一个读操作命令周期,如果Flash的寻址超过128Mbit
7、s,仅地址周期就需要32个时钟周期,非常耗时。图4SPI时序对读速度的影响新的4个I/O口输出模式,其地址可以通过4个I/O口同时传送,如,24位地址信号仅需要6个时钟周期就可以完成,加上8个命令周期共需要14个周期完成命令,其速度比早期的4个I/O口的传输要快很多。模式bit的应用用于通知SPIFlash下一个命令和前一个命令是同样的命令。使我们在需要重复进行读操作的时候,可以减少命令周期带来的总线开销,从而进一步提高SPIFlash的读取性能。DDR的4I/O口读模式由一个8bits的命令开始,而输入
8、地址和输出的数据按照DDR的模式进行,这种模式需要协议的开销,需要8个命令时钟周期,加上3个地址时钟周期,一共11个时钟周期可以完成一个读命令操作。通过模式bit消除可以节省重复输入相同命令时的时钟周期,完成一个DDR口的读操作仅需要3个时钟周期。数据总线上的数据会由于时钟频率太高而出现歪斜或失真,导致数据的读错误,而DLP(datalearningpattern)的功能在DDR多I/O口协议中的使用可以使Flash在时钟频率
此文档下载收益归作者所有