电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 嵌入式系统/ARM技术 > 详细信息
嵌入式系统/ARM技术:大容量NANDFLASH在ARM嵌入式系统中的设计与实现
来源: ic72    时间: 2007-9-29 13:41:50    
1引言

      随着嵌人式系统在数码相机、数字摄像机、移动电话、mp3音乐播放器等移动设备中越来越广泛的应用,FLASH存储器已经逐步取代其他半导体存储元件,成为嵌入式系统中主要数据和程序载体。FLASH存储器又称闪存,是一种可在线多次擦除的非易失性存储器,即掉电后数据不会丢失。FLASH存储器还具有体积小、功耗低、抗振性强等优点,是嵌入式系统的首选存储设备。

      NAND和NORFLASH是现在市场上两种主要的非易失闪存芯片,这两种类型的FLASH区别在于:

      NOR类型FLASH可以按照字节访问,所以存放在FLASH里的程序可以直接执行,而NAND类型FLASH是串行访问的,需要先把程序读取到内存然后再从内存中运行。与NOR型相比,NAND型闪存的优点是容量大,但是NAND型的速度比较慢,因为他的I/O端口只有8(或16)个,要完成地址和数据的传输就必需让这些信号轮流传送。NAND型FLASH具有极高的单元密度,容量可以比较大,价格相对便宜。本文采用Samsung公司的NAND型FLASH存储设备K9F2808U0C。

      2系统硬件结构及接口电路

      2.1ARM芯片介绍

      ARM公司自1990年正式成立以来,在32位RISC(ReducedInstructionSetComputer)CPU开发领域不断取得突破,目前已经占有75%以上的32位RISC嵌入式产品市场。在低功耗、低成本的嵌人式应用领域确立了市场领导地位。

      PHILIPS公司的LPC2210是基于一个支持实时仿真和跟踪的32位ARM7TDMI-STMCPU的微控制器,片内128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟频率下运行。LPC2210极低的功耗、多个32位定时器、8路10位ADC以及9个外部中断使其特别适用于工业控制、医疗系统、访问控制和POS机。由于内置了宽范围的串行通信接口,他们也非常适合于通信网关、协议转换器、嵌入式软MODEM以及其他各种类型的应用。

      2.2K9F2808U0C芯片的结构和特点

      K9F2808U0C是Samsung公司生产的NAND型FLASH存储器。

 

      K9F2808U0C存储容量为132Mb,其中主数据区为128Mb,辅助数据区为4Mb,工作电压为2.7~3.6V,I/O端口宽度为8b。片内写控制自动实现编程和擦除所有功能,包括内部校验、脉冲的周期和数据冗余。

      芯片的存储空间是按照块和页的概念来组织的,一个芯片分为1024个块,每个块有32页,每一页有528B。528B中分为512B的数据区和16个字节的空闲区,空闲区用于存放ECC代码、坏块信息和文件系统相关代码。一个528B的数据寄存器作为数据缓冲单元,用来实现I/0缓冲和存储器之间的数据传输。

      使用NAND型FLASH的关键技术之一是存储空间的管理。Samsung公司的NANDFLASH存储器有一些初始无效块(包含一个或多个坏位的存储块),制造商不保证这些块的可靠性。NANDFLASH容许成品中有坏块存在,这是采用NAND技术所特有的现象。坏块的存在并不影响有效块的性能。但是,系统级的设计必须能够用地址映射把这些坏块屏蔽掉。芯片在出厂时,除保存坏块信息的区域外,其他部分一律被擦除(值为0xFF),对坏块的读操作是允许的,但不推荐进行写和擦除操作,以免由于结构方面的原因使邻近的块也失效。系统设计时必须根据初始的坏块信息识别出坏块,并建立坏块列表。进行写或擦除操作时将欲操作块的地址与坏块地址表的地址相比较,若是坏块则应跳过。为了提高存储空间的效率,单个位数据错误引起的读写失败都可以用ECC(校错和纠错)方法处理。

      芯片在使用过程中,可能有新坏块的产生,为了系统的可靠性,必须对此情况加以考虑。在数据写入或块擦除操作后,如果读状态寄存器出现错误,则表示块内有坏页存在,也即表明此块已坏,因为块内坏页的存在并不影响其他页的读写,这时可采用块替换操作来把页内有用数据转移到其他空闲块内,并把坏块信息存入坏块表中。

      2.3K9F2808U0C与LPC2210的连接

      K9F2808U0C与LPC2210的连接如图3所示,使用8位数据总线D0~D7与K9F2808U0C的I/O0~I/O7引脚相连,使用数据总线来发送地址、数据和命令。K9F2808U0C的片选信号由CS3控制,即使用LPC2210的外部存储器接口的Bank3地址空间,而CLE,ALE信号分别由A0,A1控制。

      3读写操作流程

 

      首先向I/O写人编程指令80H,然后使用3个时钟周期写入目的地址(A0~A23),接着向I/O写入数据。数据发送完成后,写入指令10H启动页编程,此时芯片内部的逻辑电路将进行页擦除和数据编程操作。微控制器可以读状态指令70H来读取状态寄存器的值,若D6位为1,则表明写操作完成。

      写操作完成后,通过读取状态寄存器的D0位判断编程是否成功,若D0位为0,则表示编程成功;否则表示编程失败。

      K9F2808U0C的块擦除和读数据操作如图5所示:对于K9F2808U0C的擦除是以块为单位,擦除时首先写入块擦除命令60H,然后输入要擦除块的地址,再写入指令DoH启动块擦除。微控制器可以读取状态指令70H来读取状态寄存器的值,若D6位为1,则表明擦除完成。写操作完成后,通过读取状态寄存器的D0位来判断擦除是否成功。

      对于K9F2808U0C的读数据操作是以页为单位,读数据时首先写入读数据命令00H,然后输入要读取页的地址,接着从数据寄存器中读取数据,最后进行ECC校验。

 

      4在μC/OS实时操作系统下的实现和性能验证

      μC/OS是一个多任务的实时操作系统,专为嵌入式应用而设计,可用于各类8位、16位和32位单片机或DSP,已有10余年应用史,其安全性和实时性得到了广泛的认同,在嵌入式领域发挥着重要作用。该操作系统公开了他的实时性内核源码,同时提供了较多的应用接口函数。通过在其实时内核的基础上做少量的修改,便可将对NANDFLASH的操作移植到μC/OS中,利用OSTa-skCreateExt()函数创建任务并检查堆栈空间,利用PC-ElapsedInit()初始化时间测量功能。共建立5个任务,分别为空闲任务、统计任务、页编程任务、块擦除任务和读数据任务。

 

      5结语

      以SamsungNANDFLASH器件K9F2808U0C为例,通过PHILIPSLPC2210实现对存储器的器件操作,以μC/OS实时操作系统为平台完成测试实验,将得到的实验结果与Satnsung公司的K9F2808UOCFLASHMemory手册进行对比,表明该设计满足设计要求,达到预期目标。

相关信息
发表评论
打印本页 关闭本页
AMD嵌入式系列新增三款低功耗Athlon 64处理器
    AMD在近期举行的嵌入式系统会议中宣布,其嵌入式系列产品线将新增三款低功耗AMD Athlon 64处理器。新款处理器能让嵌入式系统研发人员在8瓦的散热规格下,发挥AMD64技术的各项优势。这些兼容于AM2插槽的单核处理器,将带来更多的产品选择,帮助研发人员把AMD64技术应用在各种嵌入式系统。 AMD嵌入式运算解决方案部门总监Buddy Broeker表示:“这些新产品除拥有符合嵌入式市场需求的...
>>详细内容
Freescale 推出12款高性能ColdFire微处理器
    致力于继续扩大其ControllerContinuum内性价比选件范围的飞思卡尔半导体近日推出了ColdFire®微控制器系列,旨在支持运行Linux®操作系统(OS)的低功率、高性能嵌入式系统。这些最新款的ColdFire微处理器在大约380mW的功率上提供了410DhrystoneMIPS(DMIPS)的内核性能,能够轻松满足开发人员的系统功率预算,同时实现卓越的系统级性能。   飞思卡尔的MCF5445x系列包括12款...
>>详细内容
国半推出LMP7731单组装与LMP7732双组装高精度运算放大器
    国国家半导体公司(National Semiconductor Corporation)日前宣布推出两款全新的高精度运算放大器。其特点是具有很低的输入电压噪声和较高的准确度,因此适用于以低频及低供电电压操作的系统,例如工业和科研重量计、压力传感器以及其他低电阻传感器。   作为美国国家半导体LMP高精度放大器系列中的新成员,最新推出的LMP7731单组装与LMP7732双组装高精度运算放大器的输入电压噪声...
>>详细内容
恩智浦 扩展LPC2900系列微控制器产品线
    恩智浦半导体(NXPSemiconductors)(由飞利浦创建的独立半导体公司)发布了LPC2900系列微控制器,进一步扩展了其ARM7™和ARM9™微控制器业界最广泛的生产线。恩智浦LPC2900基于广受欢迎的、高性能的ARM968E-S™处理器,针对工业、医疗、发动机控制和汽车电子行业内的应用,为设计师提供一个具有高成本效益、灵活的、低功耗的解决方案。恩智浦此次工发布了三款ARM9微...
>>详细内容
RAMTRON 推出2KB铁电存储器微控制器
    RamtronInternationalCorporation宣布推出带2KB非易失性F-RAM以8051为基础的微控制器(MCU)--VRS51L3072。Ramtron将F-RAM添加到其快速灵活的Versa8501产品中,以进行快速可靠的非易失性数据存储与处理系统,而这是存储系统状态、数据记录及在多种应用的非易失性变量的理想选择,包括从传感器与计量仪表到工业控制、仪表与医疗设备等应用。   F-RAM能够消除Flash数据存储器相关的先头...
>>详细内容
恩智浦 推出先进UHF智能标签IC
    由飞利浦成立的独立半导体公司恩智浦半导体(NXPSemiconductors)日前宣布推出下一代智能标签ICUCODEG2XM和UCODEG2XL,为整个超高频(UHF)应用带来突破性性能。新型UCODERFID芯片可以在极其广泛的读取范围内以及读卡器密集的环境下稳定运行。   UCODEG2XM和UCODEG2XL可将RFID技术应用于要求不同EPC编码的多种应用环境并存储额外应用数据,并支持高达240位的可扩展EPC编码,具有无...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com