新闻中心

EEPW首页>嵌入式系统>设计应用> 大容量NAND FLASH在ARM嵌入式系统中的设计与实现

大容量NAND FLASH在ARM嵌入式系统中的设计与实现

作者: 时间:2012-11-01 来源:网络 收藏

2.3 K9F2808U0C与LPC2210的连接

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

3 读写操作流程

K9F2808U0C的页编程操作流程图。

  首先向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余年应用史,其安全性和实时性得到了广泛的认同,在嵌入式领域发挥着重要作用。该操作系统公开了他的实时性内核源码,同时提供了较多的应用接口函数。通过在其实时内核的基础上做少量的修改,便可将对的操作移植到μC/OS中,利用OSTa-skCreateExt()函数创建任务并检查堆栈空间,利用PC-ElapsedInit()初始化时间测量功能。共建立5个任务,分别为空闲任务、统计任务、页编程任务、块擦除任务和读数据任务,程序代码示意如下:

5 结 语

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

pos机相关文章:pos机原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭