查看: 1219|回复: 0

Nexys3学习笔记(三)——添加SRAM存储器

[复制链接]
  • TA的每日心情
    擦汗
    2017-8-7 15:27
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2012-2-16 22:52:41 | 显示全部楼层 |阅读模式
    分享到:
    对于一个嵌入式系统,存储器无疑是非常重要的。Nexys3上有3种存储器:sram,并行Flash(非易失性相变存储器),串行flash(非易失性相变存储器)。为了简单起见,首先学习下如何往系统里添加SRAM。
    Nexys3采用的是Micron公司的128Mbits Celluar Ram MT45W8MW16BGX,可以配置成同步和异步模式,具体可以参考器件手册,主要关心接口和时间参数。
    还是打开前面建立好的系统,发现Nexsy3它自动生成一个定制IP核:mem_bus_mux,它主要是作为存储器的地址、数据、控制信号的多路选择用的。

    FPGA于存储器的信号连接如下

    所以主要工作就是添加一个存储器控制IP。在IP catalog栏下找到外部存储器控制IP——XPS Multi-Channel External Memory Controller。首先设置

    注意Nexys3上存储器数据宽度是16位的,接下来主要是时间参数,这一部分必须参考SRAM器件手册,否则可能访问不正确。访问模式设置为异步Asynchronous

    接下来要将添加IP核信号连接起来

    因为只添加了SRAM,所以暂时只是连接了与SRAM控制器的连线。最后要设置sram的地址范围,nexys3上sram有16MB空间。

    此时还不算完成,sram配制成了异步模式,从电路图上可以看到FPGA到SRAM有一些控制信号还没有定义,需在.mhs文件中添加端口。

    编译产生流文件,然后导入到EDK中。
    在EDK软件下,选择File->New->Xilinx C Project,选择程序自带的memory test,生成一个基本的memory测试程序。

    下载硬件平台Xilinx Tools->program FPGA。运行memory_test_0.elf文件,程序开始运行。串口能监视结果

    至此SRAM算是添加到嵌入式的系统了。
    在EDK下选择Run->Debug,进入了debug界面。

    在下方Memory窗口添加一个监视窗口,地址选择Sram基地址0x85000000

    可以看到在存储器中的内容,测试程序向存储器中填满了数据a5a5a5a5。

    小结:
    学习了往系统中添加了SRAM存储器,需要注意的是设置IP参数时一定要参考sram芯片的时间参数,这是能正确访问存储器的前提。EDK也有Debug的功能,调试软件不可缺少。下一步把Nexys3的所有外部存储器都添加进去了。
    参考链接:https://www.xilinx.com/support/documentation/spartan-6.htm[url=https://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,897&amprod=NEXYS3]https://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,897&amprod=NEXYS3[/url]https://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en531074
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 18:44 , Processed in 0.110789 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.