原创 特权和你一起学NIOS2 第四章 实战演练之存储控制器

2010-10-14 17:51 8460 9 28 分类: FPGA/CPLD

第四章 实战演练之存储控制器


         在上一章中,第一个工程实例里并未创建一个完整的最终可供下载运行的嵌入式系统。缺什么?存储器。不是已经有一个on-chip memory了么?没有错,在on-chip memory上的系统也的的确确跑起来了。但是你有没有注意,那不过只是一个RAM而已哦,RAM的特性是下电即丢失数据。虽然我们的系统在线烧录后跑得很HIGH,估计都把你兴奋的不行了,但是下电试试,再上电的时候估计你发现怎么什么都没有了,空忙活一场!


         呵呵,不用操心,这章特权同学就和你一起解决这个棘手的问题。我们可以复习一下第一章说概念的时候提到的嵌入式系统都应该有哪些基本组件。CPU肯定是要有的,就是我们这里的NIOS2了;电源,这个集成在FPGA的硬件结构上了,不需要我们的SOPC系统中考虑,先pass;时钟,在我们的第一个系统中就直接使用了与FPGA连接的外部25MHz的晶振;复位,一般也要有,系统初上电的时候需要初始化到一个固定的状态,第一个系统里也使用了FPGA外部的输入复位引脚,为了让这个复位能够更加稳定可靠一些,在FPGA内部逻辑也把外部输入复位信号做了一些简单的同步处理;ROM,相当于PC机的硬盘,所有的运行程序在断电后依然需要保存,那么就只有靠ROM了,我们的第一个系统里缺的就是它,没有它,再好的系统也只能停留在调试阶段,因为无法对程序进行固化,每次断电后都需要重新加载一次(那就意味着不能离开PC机了),而有了ROM,程序在上电后就从ROM搬运出来后用于执行;RAM,相当于PC机的内存条,它的一个特性是下电就丢失数据,那为什么还要用它呢?因为它的另一个特性是速度比ROM快,并且是快得多,因此执行程序的地方一般是RAM而非ROM,还有就是它的读写控制逻辑要比ROM简单,很适合于一些经常读写的变量的暂存。因此,一个系统中,通常是ROM和RAM都不可或缺。另外,还要有一些调试的接口,如JTAG UART等,因为不是本章的重点,所以也pass。下面我们要专心来谈存储系统,即ROM和RAM。


         第一个系统里使用了FPGA的片内RAM做程序和数据存储器,虽然也能够跑起来,而且性能也绝对够好。但是FPGA的片内存储器是很昂贵的,性价比也是很低的,并且最主要的是我们所能够用得起的FPGA,它的片内存储器资源都是相对有限的。因此,在一个嵌入式系统中,我们通常不会选择用这种昂贵的方案来实现我们的程序存储和运行。当然了,片内存储器有更便利的用途,通常用他来配置一些FPGA器件内或者FPGA器件与外部器件数据交互的一个“桥梁”,如双口RAM或者异步FIFO等。这个用途也极大的发挥了用FPGA搭建系统的灵活性。作为存储系统,选择SDRAM和FLASH是比较常见的,既然说到这里了,特权同学觉得有义务让大家对目前比较盛行的一些系统存储的搭配与程序存储运行的基本原理有一些了解。


下文的“嵌入式存储系统”和“基于FPGA的嵌入式存储解决方案”内容主要参考numonyx公司的文档《EmbeddedCodeStorage_web.pdf》和altera公司的文档《edh_ed_handbook32.pdf》。特权同学对各个知识点进行重新组织和描述,希望能够对大家快速消化这部分内容有所帮助。)


嵌入式存储系统>>>>


基于FPGA的嵌入式存储解决方案>>>>


第二个系统准备工作>>>>


SDRAM控制器组件添加与配置>>>>


EPCS控制器组件添加与配置>>>>


PLL组件添加与配置>>>>


其它SOPC Builder配置>>>>


编辑顶层文件与管脚分配>>>>


软件工程调试与下载>>>>


 


更多内容请下载.pdf>>>>



 

文章评论19条评论)

登录后参与讨论

用户465116 2015-8-13 09:18

好晕啊,公式多了就晕了。

用户1316439 2012-11-14 22:09

第一次来你的博客就被你的内容深深吸引了,以后会经常向你学习的。

zhanghaokm_428385128 2011-7-10 20:24

学习学习

ilove314_323192455 2011-3-9 21:55

CFI_FLASH和Avalon-MM Tristate Bridge组件在添加完后需要连接的,好像是手动连接吧,估计是你忽略了这一步吧

用户1606089 2011-3-8 22:55

特权同学,我在配置CFI_FLASH和Avalon-MM Tristate Bridge时总是出现如下错误:cfi_flash_0.s1 must be connected to an Avalon_MM Trister master;tristate_bridge_1.tristate_master must be connected to Avalon_MM Trister slave 我不知道这是什么原因,折腾了好几天,还是没有解决。希望你抽出宝贵的时间帮我解决一下,谢谢咯。我用的是quartus ii 9.1版本的。

用户1638247 2011-3-8 22:41

特权同学,我用的9.1版本的,在最后添加PLL的时候不能Launch 编辑PLL的编辑界面,请问遇到过这种问题吗?无解了。。。

用户183270 2011-1-13 23:04

不好意思 是俺没看清

ilove314_323192455 2011-1-13 11:12

不是很明白您的问题在哪。也许您是没有分清Byte和bit?

用户183270 2011-1-12 11:37

特权同学 你文章里说道epcs的配置容量问题是说对于epcs4,EP2C8Q208 所占的存储量为 247,974Bytes。那么也就是有 256KBytes左右的存储空间是可以用于软件程序的存储,是不是有错误,应该有3M多,请指教。

ilove314_323192455 2010-12-31 17:12

在NIOS2系统之外不使用可以不接
相关推荐阅读
特权ilove314 2016-06-30 21:16
例说FPGA连载6:FPGA开发所需的技能
例说FPGA连载6:FPGA开发所需的技能 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   前面的文字已经做了很多铺垫,相信读...
特权ilove314 2016-06-28 21:09
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-28 21:05
例说FPGA连载5:FPGA的优势与局限性
例说FPGA连载5:FPGA的优势与局限性 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   若要准确评估FPGA技术能否满足开...
特权ilove314 2016-06-26 22:11
例说FPGA连载4:FPGA语言与厂商介绍
例说FPGA连载4:FPGA语言与厂商介绍 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   Verilog与VHDL 说到FP...
特权ilove314 2016-06-23 21:26
例说FPGA连载3:FPGA与其它主流芯片的比较
例说FPGA连载3:FPGA与其它主流芯片的比较 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   FPGA、ASIC和ASSP...
特权ilove314 2016-06-21 20:32
例说FPGA连载2:FPGA是什么
例说FPGA连载2:FPGA是什么 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc   2015年伊始,Intel欲出资百亿美金收...
我要评论
19
9
关闭 站长推荐上一条 /2 下一条