一种在片上系统中实现Nand Flash控制器的方法
[09-14 01:03:30] 来源:http://www.88dzw.com 电子制作 阅读:8865次
文章摘要: 摘要:Nand Flash以其优越的特性和更高的性价比,在现代数码产品中得到了广泛的应用。在片上系统芯片中集成Nand Flash控制器成为一种趋势。本文提出了在一款基于ARM7TDMI CPU CORE的片上系统( SoC)芯片中的Nand Flash控制器实现方案。通过直接内存存取(DMA)的数据传输方式,使Nand Flash的数据传输速率得到了一定提高,满足了实际应用的设计要求。该设计方法已通过了RTL级验证、FGPA验证,并在实际芯片的演示样机上得到了具体实现。 关键词:片上系统;Nand Flash;直接内存存取 1引言 Flash因为具有非易失性及可擦除性在数码相
一种在片上系统中实现Nand Flash控制器的方法,标签:电子小制作,http://www.88dzw.com摘要:Nand Flash以其优越的特性和更高的性价比,在现代数码产品中得到了广泛的应用。在片上系统芯片中集成Nand Flash控制器成为一种趋势。本文提出了在一款基于ARM7TDMI CPU CORE的片上系统( SoC)芯片中的Nand Flash控制器实现方案。通过直接内存存取(DMA)的数据传输方式,使Nand Flash的数据传输速率得到了一定提高,满足了实际应用的设计要求。该设计方法已通过了RTL级验证、FGPA验证,并在实际芯片的演示样机上得到了具体实现。
关键词:片上系统;Nand Flash;直接内存存取
1 引 言
Flash因为具有非易失性及可擦除性在数码相机、手机、个人数字助理( PDA)、掌上电脑、MP3播放器等手持设备中得到广泛的应用。自1989年东芝公司发表了Nand Flash结构以来, Nand Flash以其相对于Nor Flash具有更小的体积,更快的写入和擦除速度,更多次的可擦除次数,以及更低廉的每bit价格得到了迅速发展。大容量的Nand Flash特别适合现在数码设备中大数据量的存储携带,可以降低成本,提高性能。
ARM7TDMI是世界上广泛使用的32位嵌入式RISC低端处理器内核,在基于ARM7TDMI内核的SoC( System on Chip )芯片中集成Nand Flash控制器将大大扩宽芯片应用范围、降低芯片成本、提升产品性能。但是,Nand型闪存的使用相对于Nor型闪存在硬件设计和软件控制上都有相当的难度,值得在技术上进一步探索和研究。
2 Nand Flash的结构特点对其读写的限制
笔者选用的Nand Flash是东芝TC58512FT(见图1) ,该款的Nand Flash 以528个byte 组成一个页(page) , 32个页组成一个块( block) ,由4096个块组成整个Flash存储器。在每页中前512bytes是用于存储数据,而后16bytes则用于存放ECC数据校验码,称为OOB(Out of Bank)区。对Nand Flash读出和写入是以页为单位,而对其擦除则是以块为单位,在存储组织上和硬盘采用的方式类似。在读出和写入时数据量都必须是页大小的整数倍,这一点上和NorFlash可以随机读写的方式完全不同,但对于大数据量的读写而言这正是Nand Flash其优点的体现。
基于Nand Flash特殊的组织结构,在设计时考虑了一种适合其读写按单位大小特点的传输方式,即利用DMA(DirectMemory Access)方式,每次读写配置DMA通道,使传输一整页的数据量。在传输过程中, DMA 模块占用总线,传输完成后,释放总线。因为DMA地数据传输效率要高于CPU CORE通过直接向Flash发送指令然后读写Nand Flash I/O口数据,所以这样的设计有利于提高读写速度,从而提高Nand Flash控制器性能。
图1 TC58512FT 512M-bit Nand Fla sh组织结构图
www.88dzw.comNand Flash控制器不断从Nand Flash体中通过8位I/O口分4次读取32位数据放置到Flash数据寄存器中,DMA从该数据寄存器中读取数据到DMA数据缓冲fifo中。当fifo内数据量达到设定的Burst大小时,运送至指定内存地址, DMA数据计数器减1,然后继续从Nand Flash数据寄存器中读取数据,填充DMA数据缓冲区,直至计数器至0,即完成预先设定搬运数量, DMA释放总线,这样就完成一页数据的读取工作。如果继续读,则需要由CORE重新发起命令,配置DMA和Nand Flash各寄存器。当然,DMAC和Nand Flash必须用同一个HCLK进行同步,保持模块间动作的一致。而向Nand Flash中写数据,控制过程大致相同,数据流方向相反。
相比与直接由CORE 发送命令字给NandFlash,然后直接从I/O 口读写数据的工作方式而言,通过DMA方式的传输,效率明显要高。特别在连续读取大批量数据的情况下,这种工作方式优点能更好的体现。在实际产品应用中(如数码照片的存取) ,读写数据量一般都是页大小的上千倍,所以这样的设计有助于提高实用性。出于SOC芯片面积和功耗的考虑,简化了通用控制器的一些功能,如识别芯片型号。因为在具体应用时,具体的NandFlash型号是确定的,只需在驱动开发时跳过这一步,直接填上具体已知的信息即可。
- 上一篇:几个常用控制电路原理图
《一种在片上系统中实现Nand Flash控制器的方法》相关文章
- › 一种在片上系统中实现Nand Flash控制器的方法
- 在百度中搜索相关文章:一种在片上系统中实现Nand Flash控制器的方法
- 在谷歌中搜索相关文章:一种在片上系统中实现Nand Flash控制器的方法
- 在soso中搜索相关文章:一种在片上系统中实现Nand Flash控制器的方法
- 在搜狗中搜索相关文章:一种在片上系统中实现Nand Flash控制器的方法
编辑推荐
- · 自制教室照明节电控制器
- · 双色音乐彩灯的制作
- · 三相交流电机缺相保护器
- · 声光控节能灯的制作
- · 同线电话转呼及互通器电路
- · 超低频信号发生器的制作
- · 自制热转印电路板
- · 警笛发声生器电路
- · 一款节能电路
- · 利用太阳能充电的旅行充电器