S3C2410处理器Flash接口设计.docx
- 文档编号:17526453
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:14
- 大小:151.93KB
S3C2410处理器Flash接口设计.docx
《S3C2410处理器Flash接口设计.docx》由会员分享,可在线阅读,更多相关《S3C2410处理器Flash接口设计.docx(14页珍藏版)》请在冰点文库上搜索。
S3C2410处理器Flash接口设计
摘要
Flash存储器是一种可在系统中进行电擦写、掉电后信息不丢失的存储器。
它具有低功耗、大容量、擦写速度快、可整片或分扇区在系统编程(烧写)或擦除等特点,并且可由内部嵌入的算法完成对芯片的操作,因而在各种嵌入式系统中得到了广泛的应用。
Nor和NandFlash的区别:
性能比较、容量和成本、接口差别。
NorFlash电路的设计、NandFlash接口设计。
S3C2410A处理器内置NandFlash控制器,并挂接在其AHB总线上。
支持自动引导模式和NandFlash模式。
NandFlash控制功能寄存器的设计:
NFCON配置寄存器、NFCMD命令寄存器、NFADDR地址寄存器、NFDATA数据寄存器、NFSTAT操作状态寄存器、NFECC纠错码寄存器。
NorFlash主要以SST39VF1601为主要的器件,NandFlash主要以K9F1208UDM为主要器件。
K9F1208UDM的I/O口既可接收和发送数据,也可接收地址信息和控制命令。
在CLE有效时,锁存在I/O口上的是控制命令字;在ALE有效时,锁存在I/O口上的是地址;/RE或/WE有效时,锁存的的是数据。
这种一口多用的方式可以大大减少总线的数目,只是控制方式略微有些复杂,S3C2410处理器拥有的Nand控制器正可弥补这一弊端。
关键词:
S3C2410、NandFlash、NorFlash
目录
一、Flash存储器介绍………………………………………………………………1
二、NorFlash和NandFlash的区别………………………………………………1
1、性能比较……………………………………………………………………1
2、容量和成本………………………………………………………………………2
3、接口差别…………………………………………………………………………2
三、NorFlash电路设计……………………………………………………………2
四、NandFlash接口设计…………………………………………………………4
1、性能…………………………………………………………………………4
2、NandFlash控制功能寄存器…………………………………………………5
3、接口设计…………………………………………………………………………7
五、设计总结…………………………………………………………………………8
六、参考文献…………………………………………………………………………8
S3C2410处理器Flash接口设计
⏹一、Flash存储器介绍
Flash存储器是一种可在系统中进行电擦写、掉电后信息不丢失的存储器。
它具有低功耗、大容量、擦写速度快、可整片或分扇区在系统编程(烧写)或擦除等特点,并且可由内部嵌入的算法完成对芯片的操作,因而在各种嵌入式系统中得到了广泛的应用。
作为一种非易失性存储器,Flash在系统中通常用于存放程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。
常用的Flash为8位或者16位的数据宽度,编程电压为3.3V,主要的生产厂商位ATMEL、AMD、HYUNDAI等,他们生产的同型器件一般具有相同的电器特性和封装形式,可以通用。
⏹二、NorFlash和NandFlash的区别
Nor和Nand是现在市场上两种主要的非易失闪存技术。
Intel于1988年首先开发出NorFlash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。
紧接着,1989年,东芝公司发表了NandFlash结构,强调降低每位的成本,更高的性能,并且像磁盘一样可以通过接口轻松升级,NandFlash存储器经常可以与NorFlash存储器互换使用。
许多业内人士也不清楚Nand闪存技术相对于Nor技术的优越之处,因为大多数情况下闪存只是用来存储少量代码,这时Nor闪存更适合一些。
而Nand则是搞数据存储密度的理想解决方案。
Nor的特点是XIP特性,这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。
Nor的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。
Nand结构能提供极高的单元密度,可以达到髙存储密度,并且写入和擦除的速度也很快。
应用Nand的困难在于Flash的管理和需要特殊的系统接口。
1、性能比较
Flash闪存式非易失存储器,可以对存储器单元进行擦写和再编程。
任何Flash器件的写入和操作只能在空的或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。
Nand器件执行擦除操作十分简单,而Nor则要求在进行写入和擦除前先将目标块内所有的位都写为0。
由于擦除Nor器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s。
与此相反,擦除Nand器件是以8~32KB的块进行的,执行相同的操作最对只需要4ms。
执行擦除时块尺寸的不同进一步拉大了Nor和Nand之间的性能差距。
统计表明对于给定的一套写入操作,尤其是更新小文件时,在基于Nor的单元中进行需要更多的擦除操作。
这样,当选择存储器解决方案时,设计师必须权衡以下各项因素:
﹥Nor的读速度比Nand稍快一些。
﹥Nand的写入速度比Nor快很多。
Nand的4ms擦除速度远比Nor的5s快。
﹥大多数写入操作需要先进行擦除操作。
﹥Nand的擦除单元更小,相应的擦除电路更少。
2、容量和成本
NandFlash的单元尺寸几乎是Nor器件的一半,由于生产过程更为简单,Nand结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。
在Nand闪存中每个块的最大擦写次数是一百万次,而Nor的擦写次数是十万次。
NorFlash占据了容量为1~16MB闪存市场的大部分,而NandFlash只是用在8~128MB的产品当中,这也说明NorFlash主要应用在代码存储介质中,NandFlash适合于数据存储。
3、接口差别
NorFlash带有SRAM接口,有够的足地址引脚来寻址,可以很容易地存取其内部的每一个字节。
基于Nor的闪存使用非常方便,可以像其他存储那样连接,并可以在上面直接运行代码。
Nand器件使用复杂的I/O口来串行存取数据,各个产品或厂商的方法可能各不相同。
8个引脚用来传送控制、地址和数据信息。
Nand的读/写操作采用512字节的块,这一点与硬盘管理操作类似,很自然地,基于Nand的存储器就可以取代硬盘或其他块设备。
在使用Nand器件时,必须先写入驱动程序后,才能继续执行其他操作。
向Nand器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入信息,这就意味着在Nand器件上自始至终都必须进行虚拟映射。
幸运的是,S3C2410X微处理器支持NandFlash接口,这大大方便了Nand器件在嵌入式系统设计中的应用。
⏹三、NorFlash电路设计
以Flash存储器SST39LV160为例,简要描述一下Flash存储器的基本特性。
SST39LV160是一款常见的Flash存储器,单片存储容量为16MB,工作电压为2..7~3.6v,采用48引脚TSOP封装或48引脚TFBGA封装,16位数据宽度,以16位(字模式)数据宽度的方式工作。
SST39VF160仅需3.3V电压即可完成系统的编程与擦除操作,通过对其内部的命令寄存器写入标准命令序列,可对Flash进行编程、整片擦除以及其他操作。
逻辑框图、引脚、信号分析分布分别如图1.1、1.2、1.3所示:
引脚
类型
描述
A【19:
0】
I
地址总线
DQ【15:
0】
I/O三态
数据总线,在读/写操作时提供16位的数据宽度
CE#
I
片选信号,低电平有效。
对SST39VF1601进行读/写操作时,改引脚必须为低电平,当为高电平是,芯片处于高阻旁路状态
OE#
I
输出使能,低电平有效。
在读操作时有效,写操作时无效
WE#
I
写使能,低电平有效。
在对SST39VF1601进行编程和擦除操作时,控制相应的写命令
VDD
——
3.3V电源
VSS
——
接地
图1.3
在大多数的系统中,选用一片16位的Flash存储器芯片构建16位的Flash存储系统已经足够。
在此采用一片SST39VF1601构建16位的Flash存储器系统,其存储容量为16Mb。
Flash存储器在系统中通常用于存放程序代码,系统上的电或复位后从此获取指令并开始执行,因此,应将存有程序代码的Flash存储器配置到Bank0,即将S3C2410A的nGCSe0接至SST39VF1601的CE#端。
SST39VF1601的OE#端接S3C2410A的nOE;WE#端接S3C2410A的nWE;地址总线【A19~A0】与S3C2410A的地址总线【ADDR20~ADDR1】相连;16位数据总线【DQ15~DQ0】与S3C2410A的低16位数据总线【XDATA15~XDATA0】相连。
此时应将BWSCON中的DW0设置为01,即选择16位总线方式。
NorFlash存储系统电路图如下1.4所示:
⏹四、NandFlash接口设计
如今NorFlash存储器的价格昂贵,而NandFlash和SDRAM的性价比较高,所以采用NandFlash启动和引导程序,在SDRAM中运行程序是一种比较流行的方法。
S3C2410A处理器内置NandFlash控制器,并挂接在其
AHB总线上。
支持自动引导模式和NandFlash模式。
1、性能
S3C2410A内置的NandFlash控制器支持NandFlash模式和自动引导模式,操作流程如下图1.5所示:
1、自动引导模式流程
Ø复位;
Ø如果自动引导模式使能,NandFlash中的前4KB代码复制到内部的小石头区域;
Ø小石头区域的代码映射到nGCSC0;
Ø处理器开始执行小石头区域中的代码。
2、NandFlash模式
Ø通过NFCONF寄存器NandFlash配置;
Ø把NandFlash命令写入NFCMD寄存器;
Ø把NandFlash地址写入NFADDR寄存器。
读/写数据的同时,通过NFSTAT寄存器检测NandFlash状态。
读操作执行前或者程序执行后检查R/nB信号。
2、NandFlash控制功能寄存器
S3C2410A提供了6个NandFlash控制寄存器用于实现NandFlash的控制,如下表所示:
寄存器
地址
说明
初始值
NFCON
0X4E000000
配置NandFlash
——
NFCMD
0X4E000004
设置NandFlash命令
——
NFADDR
0X4E000008
设置NandFlash地址
——
NFDATA
0X4E00000C
NandFlash数据寄存器
——
NFSTAT
0X4E000010
NandFlash操作状态
——
NFECC
0X4E000014
NandFlashECC寄存器
——
1、NFCON配置寄存器如表:
寄存器
地址
读写
功能描述
复位值
NFCONF
0x4E000000
读/写
NandFlash配置寄存器
X
各位定义如下:
Ø【15】Enable/Disable:
NandFlash控制使能端。
0=禁止NandFlash控制;1=使能NandFlash控制。
复位后,该位自动清零,所以为了访问NandFlash存储器,该位必须置1。
Ø【14:
13】【7】【3】保留位,未使用。
Ø【12】InitializeECC:
初始化ECC解码/编码。
0=不初始化ECC;1=初始化ECC。
因为S3C2410A只支持512字节的ECC检测,所以每512字节后重新初始化ECC。
Ø【11】CE:
NandFlash存储器的片使能nFCE控制位,自动模式后该位无效。
0=nFCE为低电平,有效;1=nFCE为高电平,无效。
Ø【10:
8】TACLS:
取值0~7,设置CLE&ALE的持续时间=HCLK×(TACLS+1)。
Ø【6:
4】TWRPH0:
取值0~7,设置TWRPH0的持续时间=HCLK×(TWRPH0+1)。
Ø【2:
0】TWRPH1:
取值为0~7,设置TWRPH1的持续时间=HCLK×(TWRPH1+1)。
2、NFCMD命令如表所示:
寄存器
地址
读写
功能描述
复位值
NFCMD
0x4E000004
读/写
NandFlash令设置寄存器
X
各位定义如下:
Ø【15:
6】保留位。
Ø【7:
0】Command:
NandFlash存储器的命令值。
3、NFADDR地址寄存器用于设置NandFlash访问地址,如表所示:
寄存器
地址
读写
功能描述
复位值
NFADDR
0x4E000008
读/写
NandFlash地址设置
X
各位定义如下:
Ø【15:
8】保留位。
Ø【7:
0】Address:
存储NandFlash访问地址。
⑷、NFDATA数据寄存器
寄存器
地址
读写
功能描述
复位值
NFDATA
0x4E00000C
读/写
NandFlash数据寄存器
X
各位定义如下:
Ø【15:
8】保留位。
Ø【7:
0】Data:
存储NandFlash的读出数据或者编程数据。
写操作时存放编程数据,读操作时存放读出的数据。
⑸、NFSTAT操作状态寄存器
寄存器
地址
读写
功能描述
复位值
NFDAT
0x4E000010
读/写
NandFlash操作状态寄存器
X
各位定义如下:
Ø【16:
1】保留位。
Ø【0】R/nB:
就绪/忙标志位,该信号反映在R/nB引脚上。
值为1时表示存储器准备就绪。
⑹、NFECC纠错码寄存器
寄存器
地址
读写
功能描述
复位值
NFECC
0x4E000014
读/写
NandFlash纠错寄存器
X
各位定义如下:
Ø【23:
16】ECC2:
纠错码#2。
Ø【15:
8】ECC1:
纠错码#1
Ø【7:
0】ECC0纠错码#0
3、接口设计
与NorFlash存储器相比,NandFlash的接口比较复杂。
下面以K9F1208UDM—YCB0为例介绍NandFlash存储器接口设计。
引脚分布及信号描述分别如下图1.6和1.7所示:
引脚
描述
I/O[7:
0]
数据输入输出、控制命令和地址的输入
CLE
命令锁存信号
ALE
地址锁存信号
芯片使能信号
读有效信号
写有效信号
写保护信号
Vcc
电源2.7~3.3V
Vss
接地
K9F1208UDM的引脚信号描述(图1.7)
K9F1208UDM的I/O口既可接收和发送数据,也可接收地址信息和控制命令。
在CLE有效时,锁存在I/O口上的是控制命令字;在ALE有效时,锁存在I/O口上的是地址;/RE或/WE有效时,锁存的的是数据。
这种一口多用的方式可以大大减少总线的数目,只是控制方式略微有些复杂,S3C2410处理器拥有的Nand控制器正可弥补这一弊端。
如图1.8所示,K9F1208UDM的ALE和CLE端分别接S3C2410X的ALE和CLE端,8位的I/O[7~0]与S3C2410X低8位数据总线[DATA7~DATA0]相连,/WE、/RE和/CE分别与S3C2410X的nFWE、nFRE和nFCE相连,R/B与RnB相连。
同时S3C2410X的NCON配置端口必须接上拉电阻,为增加稳定性R/nB端口也接上拉电阻。
⏹五、设计总结
经过S3C2410处理器接口设计,让我们能够更好的了解S3C2410处理器和嵌入式系统设计,经过学习理论知识与实际操作的结合,加深了我们理论知识的印象。
这次课程设计体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
让我学到了很多知识,通过理论与实践的结合更能充分体现现在教育与实际挂钩的特性。
⏹六、参考文献:
[1]、周立功等编,《ARM嵌入式系统实验教程》,北京航空航天大学出版社
[2]、S3C2410&嵌入式linux系统教程,广州致远电子有限公司
[3]、范书瑞、赵燕飞等编,《ARM处理器与C语言开发应用》,北京航空航天大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S3C2410 处理器 Flash 接口 设计