首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 电子制作
一种在片上系统中实现Nand Flash控制器的方法
来源:本站整理  作者:佚名  2010-01-11 13:19:28



3 Nand Flash控制器的结构和工作流程

  如图2所示,Nand Flash控制器和DMA控制器(DMAC) 都是AMBA (ARM 总线标准) 高速总线AHB上的master模块,都包含符合AMBA标准的总线接口模块与之交互工作。

图2 Nand Flash控制器和DMA模块组织结构图

Nand Flash控制器包含总线接口模块,控制状态机转换的状态控制模块,用以缓冲数据、收发命令和状态字的寄存器组,提供ECC校验纠错码的ECC算法编程/解码器模块和直接控制“裸”Nand Flash体的接口模块。

   总线接口模块负责接受ARM CORE(CPU核)发送的指令,将收发数据送至相应数据寄存器和指令寄存器,并将状态寄存器内容返回给CORE。寄存器组负责整个Flash控制器的控制工作,包含指令、状态、数据、错误地址寄存器等等,是控制器的核心。ECC算法编程/解码器模块提供校验功能,提供纠错信息。

   状态控制模块提供包括命令字发送状态组、地址发送状态组、读状态组、写状态组共21种Nand Flash状态的翻转,用以发出对Nand flash读写控制信号。与Nand Flash直接连接的接口模块提供Nand Flash体工作电压、使能和动作时所需的相应的电平状态,例如图3所示读时序要求。该模块受到状态机控制模块的控制。该控制器对电平的控制 简化了软件工作,驱动软件不必再按照读写时序配置繁琐的控制电平。

图3 Nand Flash读时序图
 
以从Nand Flash中读取一页数据块到内存首地址0x30000000为例,分析该控制器的工作过程。首先,由ARM CORE发出配置DMA某一通道的指令,配置DMA源地址寄存器为Nand Flash数据寄存器地址,目标地址寄存器为0x30000000,配置DMA _Control、DMA _ Config 寄存器, 设定DMA传输的Burst传输大小、数据宽度、总数据量(应为页大小512bytes)等等并使能该通道,等待其他master模块发送的请求信号;其次,配置Nand Flash控制器的地址寄存器(指定从Flash 中哪一页读取数据) 和Nand _ Config 寄存器; 最后, 发送读命令字0x80000000,向DMAC发出传输请求信号。一旦请求被接受,DMAC占用AHB总线,开始高速块传输。

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:84,437.50000 毫秒