NAND Flash和嵌入式处理器S3C44B0X的接口设计_第1页
NAND Flash和嵌入式处理器S3C44B0X的接口设计_第2页
NAND Flash和嵌入式处理器S3C44B0X的接口设计_第3页
NAND Flash和嵌入式处理器S3C44B0X的接口设计_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式系统中的存储接口设计摘要:本文介绍了三星公司的NAND Flash存储器芯片K9F2808u0b的基本结构,研究了嵌入式处理器S3C44B0X的接口设计,并给出了接口的硬件部分以及软件部分的设计方法。关键词:NAND Flash存储器;S3C44B0X;嵌入式系统1、引言嵌入式系统在消费电子、工业控制、电信通讯等领域得到了越来越广泛应用的同时对嵌入式系统的要求也更高,作为嵌入式系统重要组成部分的存储系统也需要得到相应的发展。通常的硬盘存储系统由于其抗震抗电磁干扰能力差、使用温度范围窄、无法长期工作于恶劣环境中等缺点,不能很好的顺应嵌入式系统的快速发展。NAND Flash具有速度快、容量

2、大、成本低、体积小等优点,尤其能够在恶劣的环境下正常工作,更较有利于嵌入式文件系统的实现,已经成为嵌入式设备存储介质的主流。 2. 系统主要硬件介绍本系统使用基于以ARM7TDMI为内核的嵌入式芯片S3C44B0X,并选用Samsung公司生产的NAND Flash存储器芯片K9F2808u0b作为存储介质。 S3C44b0X是三星公司的一款32bit的基于ARM7TDMI内核的SOC芯片,不仅具有低功耗、高性能的优点,而且扩展了一系列完整的通用外围器件,其集成的部件有:8KBCache、外部存储器控制器、LCD控制器、4个DMA通道、2个UART、1个I2C总线控制器、1个IIS总线控制器、

3、5通道PWM定时器以及一个内部定时器、71个通用I/O、8个外部中断源、8通道10位ADC等。继承外设大大减少了系统电路中除处理器以外的元器件配置,从而使系统费用降至最低,消除了添加附加配置的需要。K9F2808U0B是三星公司生产的128Mb(16M×8位)NAND Flash存储器。该存储器的工作电压为2.7-3.6V,内部存储结构为(16M+512)位×8位,页大小为(512+16)字节,块大小为(16KB+512字节)。K9F2808U0B对一个528字节的页进行典型的编程操作只要200s的时间,对一个16K大小的块进行擦除需要2ms的时间,对页中一个字节的读周期为

4、50ns。K9F2808U0B按功能可以划分为:存储阵列、输入/输出缓冲、命令寄存器、地址译码寄存器和控制逻辑产生,如图1所示。其中,命令寄存器用来确定外部设备对存储器进行操作的类型;地址译码寄存器用于保存被访问的地址并产生相应的译码选通信号。主设备通过8位I/O端口分时复用访问器件命令、地址和数据寄存器,完成对芯片内的存储器的访问1。X-缓冲锁存及译码Y-缓冲锁存及译码128M+4MbNAND Flash存储阵列(512+16)字节数据寄存器缓冲寄存器Y-选通门命令寄存器I/O缓冲及锁存全局缓冲输出驱动控制逻辑及高电压产生命令CLEALEVCCVSSI/O0I/O7图1 K9F2808U0B

5、的功能框图3、K9F2808U0B与S3c44b0x的连接3.1硬件部分K9F2808U0B采用串行工作方式,且8位I/O端口采用地址、数据和命令复用的方法,这样的设计显著减少了芯片的管脚数目,并为系统的升级带来了方便。在为低时,把置低就可以把K9F2808U0B的命令、地址、数据通过I/O口写进去。K9F2808U0B的数据输入输出口与CPU的数据总线相连,CPU的Bank1的连接线nGCS1分别与nOE、nWE相与后与Flash的和相接,起到片选的作用。因此要读写FLASH数据口的数据,只要在Bank1的任一地址(0x020000000x03FFFFFF)读写相应的数据就可以了。K9F28

6、08U0B的读/写信号是直接通过S3c44b0X的读/写信号驱动的,K9F2808U0B的ALE地址允许信号、CLE命令允许信号、片选使能信号分别由S3c44b0X的输入输出引脚来控制,其硬件连接如图2所示。I/O0I/O7ALECLE CER/BWE K9F2808U0BREWPVCCVSSDATA0DATA7DATA16/IISLRCK/GP0DATA17/IISDO/GP1DATA18/IISDI/GP2 DATA19/IISCLK/GP3S3c44b0X nOEnGCS1 nWEOM0 OM1&&VDD33图2 K9F2808U0B8与S3c44b0x的硬件连接3.2软

7、件部分对于K9F2808U0B的操作主要有页读取、页编程、块擦除等操作。本文中以页编程为例,图3是NAND Flash的标准页编程的时序图。具体的页编程操作如下:首先是发命令阶段,向I/O口发送页编程操作第一个命令字(0x80),表示是页编程操作。然后是发地址阶段,连续发送4个地址字,K9F2808U0B的地址寄存器接收到地址值后,等待接收数据;当数据总线发送数据后,K9F2808U0B连续接收数据,直到接收到页编程的第二个命令字(0x10),即结束等待接收数据的状态,信号将维持“忙”一段时间,此后变为准备好状态。最后总线上发出读状态命令字(0x70),则K9F2808U0B的命令寄存器接收并

8、响应该命令,向I/O口发送表示操作成功的状态数据(0x00)或表示操作失败的状态数据(0x01)。图3 NAND Flash的标准页编程的时序图当S3c44b0X往K9F2808U0B中写入数据时,先要写入命令字0x80,通知K9F2808U0B要进行写入数据操作,然后写入地址,接着写入数据。不过在写入数据完毕后,要写入0x10。然后循环检测到写入数据完成与否状态位,如为0,则表示数据写入尚未完成,继续查询,直到检测到状态变为1,写入完毕。最后进行数据写入校验,即读取出已写入到芯片中的数据与待写入的数据比较,由此判断写入数据成功与否。图4为页编程的程序流程图。开始编程出错否I/O=0?写入80是写入00写入地址写入地址写入数据等待tR时间写入10写入70否编程出错校验数据R/B=1?否是是编程结束图4 页读出的程序流程图4结束语经过实际的实验调试,本文中所介绍的ARM7微处理器与K9F2808u0b芯片的接口设计的方法可以成功的应用于嵌入式系统中,并且具有低成本、高性能的优点。本文中的设计方法同样适用于其他微处理器与NAND Flash存储器芯片的接口设计。参考文献1Samsung Electronics Limit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论