基于NAND Flash的大容量立体封装芯片在嵌入式系统中的应用

来源 :电子产品世界 | 被引量 : 0次 | 上传用户:liuyi8431201
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: NAND Flash应用的困难在于管理和需要特殊的系统接口。本文介绍了一种利用MCU存储器管理接口结合I/O口来实现NAND Flash存储结构的搭建和管理的方法,并介绍底层的驱动程序。本文网络版地址:http:// www.eepw.com.cn/article/192739.htm
  关键词:嵌入式系统;立体封装;存储器;系统接口
  DOI: 10.3969/j.issn.1005-5517.2013.12.014
  元件介绍
  基于sparc 架构的MCU
  S698-MIL 是珠海欧比特控制工程股份有限公司为了满足嵌入式应用而开发的32 位RISC 高性能嵌入式微处理器,它遵循SPARC V8 构架。
  S698-MIL 内部配置了32 位整数处理单元(IU),32/64 位浮点处理单元(FPU)。
  S698-MIL 的应用软件开发环境具有很强的灵活性,除了可以使用欧比特公司提供的专用多任务嵌入式实时操作系统ORION 外,开发者还可以选择如RTEMS、VxWorks等现今流行的嵌入式操作系统进行开发。
  S698-MIL 可应用于包括税控收款机、银行POS 机、电力系统等高端工业控制领域和消费电子领域以及高性能高可靠的航空、航天及武器领域。
  NAND Flash结构的存储芯片
  目前的Flash memory 主要包括以下两大类:针对程序和数据存储的NOR fash ;针对大容量存储的NAND flash 。其中,NOR 的特点为芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在flash 闪存内运行,不必再把代码读到系统RAM 中,随机读取快、功耗低、稳定性高;而 NAND 的特点为容量大、写速度快、芯片面积小。
  VDNF64G08是一个快速、高存储密度的随机访问存储器。它由8个8G位的NAND Flash芯片堆叠而成,结构见图2。整个模块采用堆叠技术,它们之间的互相连接线非常短,寄生电容小。这种芯片非常适用于高速、高性能、高容量的嵌入式系统中。
  VDNF64G08对一个2048(+64)字节的页进行典型的编程操作只要200μs的时间,对一个128K(+4K)大小的块进行擦除需要1.5ms的时间,对页中一个字节的读周期为25ns。它的I/O管脚既作地址和数据的输入输出口,也作为命令的输入口。VDNF64G08的片上写控制器能自动完成所有的编程、擦除功能包括产生所需的脉冲重复和内部数据校验。VDNF64G08能擦除和编程百万次以上,并通过ECC 或实时制定算法保证擦除和编程的可靠性。




  硬件设计
  由于S698没有专用的NAND Flash的专用接口,所有NANDFlash与S698-mil的通信使用GPIO实现,NAND Flash的IO口与S698-mil的GPIO0低8位GPIO0[7 :0]连接,用于数据,地址,命令的传输。NAND Flash的片选信号使用S698-mil的低3位地址线ADD[2 :0],通过3-8译码实现,其中3-8译码器使用S698-mil的IOCS0控制工作,防止对VDNF64G08的误操作。VDNF64G08的读写信号直接与S698-mil的读写信号相连,如果线路较长可以考虑串联一个49.9R的电阻。命令锁存CLE,地址锁存ALE分别使用S698-mil的地址线ADD[3],ADD[4]。状态信号RB上拉10kΩ电阻到电源,不再与S698-mil相连,VDNF64G08的状态信息通过IO口读寄存器实现,以节约S698-mil的端口资源。写保护端口上拉10kΩ到电源,否则不可擦除及编程。相关连接见图2。


  软件设计
  根据前面的介绍,通过图3的硬件连接方式,可以实现对芯片的读写,擦除等控制操作,已可以满足各种场合的应用,S698-mil处理器是通过GPIO来操作控制VDNF64G08的,所以需要对底层操作需要比较了解,下面简单介绍一些常用操作的实现。
  S698-mil芯片GPIO0对应的寄存器地址为0x2000 0000 – 0x27f ffff,因为VDNF64G08芯片位宽是8bit的,所以需要把MCU的GPIO位宽也定义成8bit,根据前面的硬件连接可以知道地址低3位对应到VDNF64G08芯片的片选信号,add[4]对应到CLE,add[5]对应到ALE,为了方便编程,这里做以下宏定义 :
  #defne NF_ADDREG(CE)(*(volatile unsigned char *) (0x20000010+ CE))
  #defne NF_CMDREG(CE)(*(volatile unsigned char *) (0x20000008+ CE))
  #defne NF_DATAREG(CE)(*(volatile unsigned char *) (0x20000000+ CE))
  读芯片ID
  根据芯片指令表,可以知道读ID芯片只需要写入命令0x90,然后在写入地址0x0即可,详细操作可以根据以下时序图进行:
  int readID(unsigned char CE,unsigned IDlength)   {
  unsigned char ID[],i;
  NF_CMDREG(CE) = 0x90; NF_ADDREG(CE) = 0x0; delayed(1);
  for(i = 0;i < IDlength;i++){
  ID[i] = NF_DATAREG(CE);}
  i = i - 1;
  p r i n t f ( " C H I P C E d % ID:0x%x",ID[0]);
  while(i){
  printf("-%x",ID[IDlength - i]);
  i --;
  }
  printf("\n\r");
  }
  芯片坏块查询
  由于NAND Flash的工艺不能保证NAND 的Memory Array在其生命周期中保持性能的可靠,因此,在NAND 的生产中及使用过程中会产生坏块。为了检测数据的可靠性,在应用NAND Flash的系统中一般都会采用一定的坏区管理策略,而管理坏区的前提是能比较可靠的进行坏区检测。检测流程如图4所示。
  芯片擦除操作
  NAND Flash的擦除操作是以块为基础进行的。只有已擦除的块才能编程,因为NAND Flash芯片的工艺特性决定了,芯片的CELL只能由1写成0,而不能由0写成1。芯片的擦除操作有2个命令周期和3个地址周期构成,其中列地址不需要输入,并且行地址的页地址也不会影响块擦除效果,即块擦除地址只有块地址有效,操作时序及流程图如图5所示。
  芯片页读操作
  页读操作通过将00h指令写入指令寄存器,接着写入5个地址(2个列地址,3个行地址),最后写入30h指令来启动。一旦页读指令被器件锁存,下面的页读操作就不需要再重复写入指令了。
  写入指令和地址后,处理器可以通过对信号线R/ 的分析来判断该操作是否完成。如果信号为低电平,表示器件正“忙”;为高电平,说明器件内部操作完成,要读取的数据被送入了数据寄存器。外部控制器可以在以50ns为周期的连续 脉冲信号的控制下,从I/O口依次读出数据。
  连续页读操作中,输出的数据是从指定的列地址开始,直到该页的最后一个列地址的数据为止。操作时序及流程图如图6所示。
  芯片页编程操作
  VDNF64G08芯片的写入操作也以页为单位。写入之前必须先擦除,否则写入将出错。
  页写入周期总共包括3个步骤:写入串行数据输入指令(80h),然后写入5个字节的地址信息,最后串行写入数据。
  串行写入的数据最多为4096字节,它们首先被写入器件内的页寄存器,接着器件进入一个内部写入过程,将数据从页寄存器写入存储宏单元。
  串行数据写入完成后,需要写入“页写入确认”指令10h,这条指令将初始化器件的内部写入操作。如果单独写入10h而没有前面的步骤,则10h不起作用。10h写入之后,内部写控制器将自动执行内部写入和校验中必要的算法和时序,这是系统控制器就可以去做别的事了。
  内部写入操作开始后,器件自动进入“读状态寄存器”模式,在这一模式下,当RE/CE为低电平时,系统就可以读取状态寄存器。系统可以通过检测R/B 的输出,或读状态寄存器的状态位(I/O7)来判断内部写入是否结束。在器件进行内部写入操作时,只有读状态寄存器指令和复位指令会被响应。当页写入操作完成,应该检测写状态位(I/O1)的电平。
  内部写校验只对1没有成功地写为0的情况进行检测。指令寄存器始终保持着读状态寄存器模式,直到其它有效的指令写入指令寄存器为止。操作时序及流程图如图7所示。
  结束语








  VDNF64G08是一个快速、高存储密度的随机访问存储器。整个模块采用堆叠技术,它们之间的互相连接线非常短,寄生电容小。在研发初期理论论证和生产之后的实验数据表明,这种芯片非常适用于高速、高性能、高容量的嵌入式系统中,并得到用户的好评。
  参考文献:
  [1] 珠海欧比特控制工程股份有限公司.VDNF64G08-F使用说明书[Z].2013
  [2] H M Peitel,P J Deitel.C How to program,second Edition.蒋才鹏等译.C程序设计教程[M].北京:机械工业出版社.2000
  [3] 珠海欧比特控制工程股份有限公司.VDNF64D08-K使用说明书[Z].2013
  [4] 珠海欧比特控制工程股份有限公司.S698-T芯片用户手册[Z].2011
  [5] 夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2003
  [6] SPARC International Inc . The SPARC Architecture Manual[K].Version 8
其他文献
随着消费、通信、存储、高性能计算、视频等领域对速度及带宽密集型应用要求的不断提升,信号的速率也在迅速地提高。这对数字实时示波器等测试设备的性能提出了更加苛刻的要
矽映(siliconImage)公司推出针对移动设备的全方位无线高清传输器UltraGig6400,该传输器将60GHz射频收发器、基带处理器以及嵌入式天线阵列集成到单一IC封装中。这款超低功耗传
着眼于运输市场的激烈竞争,立足于站段客货营销实际,探讨了增运攻关的三个战略、增强运输实力的五个办法、开发运输新产品的四项内容、积极赢得市场的三个方式,提出了切实可
江西作为一个农业大省,如何做好农村劳动力转移,发展劳务经济,促进社会主义新农村建设将是"十一五"期间重要解决的问题.本文通过分析江西劳动力转移面临的压力,深入挖掘影响
大秦二期工程沿线资源丰富,货运设施完善,空车来源有保证,但由于受“煤运通道,专线专用”的影响,未开办货运业务,制约了地方经济的发展,也影响了铁路的经济效益,提出了大秦二期工程沿
当前,电务“天窗修”兑现率较低,加之电务段维修信号专用汽车数量不足,信号维修工作与提速和新运行图的要求不相适应。从我国铁路信号的现状来看,电务必须利用“天窗修”时间。提
【正】亚马逊的首席执行官杰夫贝佐斯曾说,他的梦想是"如果我有1000000个用户,我会为他们做1000000个亚马逊"。现在,电子商务协同过滤推荐系统能够实现杰夫贝佐斯的这个梦想,
铁路旅客运输如何按市场规律配置运力资源,达到效益最大化,哈尔滨铁路局通过建立旅客运输快速反应机制,对区段票额分配、车辆加挂减摘、运行时刻、票价上下浮动及列车增开或停运
结合怀化铁路总公司实际,对装车和接车的收、支要素进行量化分析,测算出每装一辆车和每接一辆车的增量经济效益,比较直观、清晰地反映出装车和接车所得效益的高低,在此基础上
学习者通过学习高质量的教材能够达到较好的学习效果。如何根据高职高专院校的专业特点来进行职业英语教材的选择和使用显得尤为重要。本文通过对某高职高专院校选用的职业英