原创 【原创】Nios II 嵌入式系统硬件设计(三)

2008-11-19 12:33 7301 12 15 分类: FPGA/CPLD

Flash控制器参数设置及硬件电路连接<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 


使用的软件:


1、  Quartus II 8.0


2、  Nios II IDE 8.0


3、  CadenceorCADallegro


 


Flash是非易失性存储器,可以在断电后保存程序或数据内容,相当于电脑的硬盘,而SDRAM则相当于电脑的内存,所以,nios开发板的flashSDRAM器件基本是标配。


       前几篇文章已经讲述了SDRAM控制器的参数设置及其硬件电路连接,下面讲讲flash设备控制器的参数设置及其硬件电路连接。


一、       flash控制器参数设置


SOPC中加入flash memoryCFI),弹出如下对话框,


点击看大图


l       Attributes标签


presets中预设了一些常用的flash设备,选择一种flash后,会将标签中的值设置为与该flash相匹配的相应值。Nios系统支持的flash基本是AMDintel的,其他厂家的flash可能不一定支持。如果没有预设的器件,则选择custom,用于根据flashdatasheet自定义。


size中填写flash的地址线和数据线宽度。我用的flashAM29LV320<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />4M*8bit,所以选择地址线22,数据线8


l       Timing标签


点击看大图


Timing中主要有SetupWaitHold几个参数。


       Setup


       片选有效后,发起读或写信号之前所需的时间。可以有如下公式计算:


Setup = tCE (chip enable to output delay) - tOE (output enable to output delay)


tCEtOE可以在flashdatasheet中查询得到,


点击看大图


根据上面表格得出tCE=90nstOE=40ns所以Setup=50ns


       Wait


       对于每次传送,使能读/写信号所需的时间。该参数需要满足如下规则:


SetupWait和电路板级延时的和一般要小于tACC address to output delay),电路板级延时主要是FPGAflash地址线的TCOfalsh数据线的TSU以及走线的延时。电路板级延时很小,在这里我们将其忽略,这样,Wait=tACC-Setup=40ns


       Hold


       写信号无效后,使片选无效之前所需要的是时间。这个参数没有在datasheet上找到,参考预设flash的值,设置为35ns


       Units


       时间单位,这里设置为ns


如果实在不能确定这些时间的值,还有一个办法是将这些值都设置的较大,比如大于100ns,这样电路应该能正常工作,只不过工作效率会下降,因为花费在每次读取上的时间会增大。


二、       flash硬件电路设计


下面是我自制FPGA开发板上flash部分电路(省略电源滤波部分电路),已经调试通过,电路没有问题,可以放心参考,呵呵。


点击看大图


介绍下主要管教功能:


A地址线


DQ数据线


DQ15/A-1如果是字(16位)读写模式,该位作为数据最高位,如果是字节(8位)读写模式,该位作为地址最低位,在我的电路中采用字节读写模式,所以作为地址最低位。


CE片选信号


OE输出使能信号


WP/ACC该管脚不能悬空,WP:提供硬件写保护功能,ACC:高电平输入时加速flash程序烧写。


RESET复位信号


BYTE选择8位还是16位读写模式,低电平是8位。


RY/BYReady/Busy输出


三、       flash控制器电路连接


下面是一个基于flashnios II 最小系统,因为.rwdata, Heap memory ,Stack memory不能在flash中,所以加了一个4Konchip_mem


点击看大图


下面是在QuartusII中的顶层电路图连接


点击看大图


 

 

文章评论3条评论)

登录后参与讨论

用户211861 2009-7-30 18:12

请问为什么要把NC引脚也作为地址信号?空接不可以么?

用户1332143 2008-12-26 11:44

2MB应该可以跑比较大的程序,不过程序最好在SDRAM中跑,速度更快,往Flash中下程序只要在IDE中的Flasg Programmer中设置执行就可以了

用户1402774 2008-12-26 11:34

问一下博主,怎么往FLASH里面下程序? 我只会向EPCS里面下程序,现在我也只能用内嵌的RAM做系统。 我的板子上只有一个2MB的FLASH,是不是也可以跑比较大的程序?
相关推荐阅读
用户1332143 2009-08-16 21:47
时序电路亚稳态分析
这篇文章是我对电子设计中,亚稳态问题的一种分析和总结。文章通过对数字电路中器件的工作机制的介绍,引出亚稳态问题的发生机制。并通过对亚稳态问题发生机制的探讨,用以得到一种能够清楚地,有的放矢地解决亚稳态...
用户1332143 2009-08-16 10:52
【推荐】ADF4350配置软件下载
p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">  随着现代半导体工艺的不断发展, 几十纳米级的CMOS工艺给数字电路带来了很大的恩惠, 但对模拟...
用户1332143 2009-08-14 12:47
【原创】基于NiosII及FT245BM的USB接口设计
以前做的一个项目,FPGA接收AD采集数据后,通过串口发送回PC机,由于串口传输速率较低,对于实时性要求较高的场合不太适用,因此站长选用FT245BM芯片来实现USB接口传输,本文主要讲解FT245B...
用户1332143 2009-08-13 14:56
【原创】MAXII:UFM中晶振的使用
MAXII系列CPLD中带有UFM模块,本文主要讲解UFM中晶振的使用,具体内容请点击下面链接MAXII:UFM中晶振的使用...
用户1332143 2009-03-01 21:53
【原创】如何使用FPGA进行信号调制
       最近要做一个通信收发系统项目,以前对收发器的射频前段关注的比较多,而对基带部分的信号处理一直没有仔细研究。因此,正好借这个项目,熟悉整个基带部分的信号处理流程。       基带部分主要...
用户1332143 2009-02-27 21:56
寒假回来——FPGA市场评论
寒假在家里电脑不能上网,好久没来更新自己的博客了,首先感谢大家对我博客的支持。回来后马上开始了一个863项目,一直没有时间来写博客,今天总算有时间,上来看看。回来这段时间关注了下FPGA的相关新闻,发...
EE直播间
更多
我要评论
3
12
关闭 站长推荐上一条 /3 下一条