Nexys3学习笔记(四)——添加FLASH 

作者: Pollux
上传时间为: 2012-02-16 11:53 PM
2012-02-16
阅读:

Nexys3上采用了非易失性相变存储器(PCM)替代了传统的Nor FLASH器件。PCM是一种较新的存储器,集合了DRAM、FLASH和EEPROM很多存储器的特性于一体。主要特点有非易失性、位读取功能、读写速度快、耐擦写和数据保存时间长等。PCM的这些特点使得在某些系统的特殊需求下能带来更灵活的设计,大幅提高系统的性能。

Nexys3使用了Micron公司的并行PCM(128Mb NP8P128A13T1760E)和串行PCM(128Mb NP5Q128A13ESFC0E)来用作系统的并行FLASH和串行FLASH。与传统的Nor flash相比,PCM有更快的读写和擦除速度,同时能进行位单元操作。尽管PCM不需要擦除操作,但是Micron为了使设计能更好兼容传统的FLASH,PCM模拟几乎所有的FLASH功能。因此PCM和Nor flash几乎完全兼容,使得设计能很方便的升级到PCM上,软硬件都不需要做很大改动。Nexys3也能作为一块PCM的评估板来使用。

打开以前建立的系统,添加一个flash即XPS Multi-Channel External Memory Controller IP。

数据总线还是16位

时间参数还是要参照并行PCM的手册。

与mem_bus_mux的信号连接。可以与RAM信号连接比较一下,片选,输出使能,写信号基本相同。并行PCM没有数据8位和16位选择信号,所以只能16位读写。mem_RPN相当于flash中的RST信号。

信号连接好了以后,总线接口栏下还是选mb_plb,地址分配一个16MB的范围。然后开始编译产生流文件Hardwar->Generate Bitstream。

同样将硬件设计导入EDK。首先生成新的BSP驱动支持包。然后可以测试程序了。Nor Flash适用的程序应该能直接测试PCM。

试一试读取芯片的厂家和芯片ID号,加入以下的代码。

编译后选择Xilinx Tools->Program FPGA,之后将产生的.elf文件运行,右键点击.elf文件选择Run AS->Launch on Hardware。串口能监视

可以看到0x89是Micron的厂商号,0x881E是这款芯片的ID号。

EDK软件下选择Xilinx Tools->Program Flash,会弹出窗口能直接加在程序到PCM中。

Nexys3的BSB支持包中有一个定制的串行PCM的控制IP,是采用SPI接口能支持quad模式。

添加此IP很简单,设置好地址,同样将信号与mem_bus_mux连接起来。

小结:

在系统中添加并行FLASH与RAM基本相同,注意信号和时间参数的设置。PCM与Nor Flash完全兼容,可以非常方便的移植。Nexys3可以作为PCM的评估板使用进行开发,PCM的一些特点可以作为系统设计很好的补充,提高系统的性能。

参考链接:

http://www.xilinx.com/support/documentation/spartan-6.htm

http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,897&Prod=NEXYS3

http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en531074

http://www.eefocus.com/article/09-11/14308007111132PYTD.html

全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示