⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第七章s3c6400 onenand控制器.txt

📁 S3C6400 nand flash ,nand flash controller!
💻 TXT
字号:
                                               					S3C6400   OneNand控制器                jiujin.hong@mid-fun.com简介:     6400通过共享内存端口0支持外部16位总线异步和同步OneNAND外部内存。可使用2个控制器支持最大2个BANK。OneNAND控制器是一个高级的微控制总线体系SOC外设单元。OneNand控制器能够同时提供给最大两个内存BANK单元。特征:1、支持最大2个BANK;2、支持异步/同步OneNAND内存。3、支持SINGLE/INCR4/INCR8  32位AHB数据总线突发传输。4、仅支持双AHB总线的ERROR/OKAY。5、数据缓冲,帮助达到最大性能。6、flash控制器枋和总线系统接口之间同步FIFOs,从而协调速度。7、支持擦除命令。8、支持Copy模式。9、如果OneNand 设备ID是0x0030、0x0034、0x0058,支持写同步模式。10、如果OneNand 设备ID是0x0030、0x0034且OneNand version ID 位[9:8]不是2'b00,支持写同步模式。输入时钟:1:OneNand 控制器有三个时钟源输入。总线系统接口获得AHB bus时钟,HCLK。Flash控制器核获得两个flash 时钟,mclk和mclk_flash。mclk的频率必须是mclk_flash的双倍,用于提供给OneNAND flash内存。2:可以设置系统控制器的SFR来设置频率比率。命令映射:OneNand 内存控制器支持四种命令,这些命令由输入地址的22和23位可以获得。命令映射决定地址的低22位是否使用:1、“00”-->映射00命令。映射00命令用于访问已选择的flash内存设备的控制器缓冲区(包括启动区、dataram0和dataram1.寻址将从0地址开始,映射到一个合适的内存缓冲区。通过boot_buffer_size和data_buffer_size寄存器用户将知道缓冲区的最大地址。大部分情况下,使用的缓冲区一般是启动缓冲区,用户可以利用命令去缓冲区读数据。然而,映射00命令也用于读/调整/写操作。2、01-->映射01命令。映射01命令用于高速访问内存。OneNAND flash控制器支持页地址访问(FSA必须设置为0),一次必须读或者写一个完整的页。每次使用命令的次数取决于传输数据的容量。3、映射10命令。映射10命令用于控制内存设备的特殊功能。当传输数据是针对内存控制器的时候,可以使用该命令。不像其他类型的命令,这些传输相关的数据不会影响内存的内容。Erase操作OneNand flash控制器支持单块和多块擦除。多块擦除用于并行情况下(内存设备需要支持并行操作)。如果内存设备不支持并行操作,擦除操作将以命令序列的形式进行。当使用多块擦除操作的时候,用户必须描述每一块的地址,声明一个用于最后块操作的单块操作命令。锁、解锁、紧锁操作:OneNand flash控制器支持所有flash锁操作,然而,内存设备可能限制了功能的使用。如果锁命令不支持,这些命令将被忽略。如果“全部解锁”不支持,将触发一个中断。一个已经处于锁状态的内存还可以设置为“紧锁”状态。一旦一块内存处于“紧锁”状态,需要复位命令来解锁。.'11'-->映射11命令映射11命令用于直接访问内存设备。命令主要用于对某地址或寄存器进行测试和debug操作。OneNand 控制器启动支持:1:取消外部复位。2:系统控制器产生全局复位。3:OneNand控制器利用CPU核时钟开始累计FLASH_COLD_RST_DELAY时间 。4:在ARM核复位被取消声明后,取指令开始,由OneNAND控制器中止。5:当计数值达到预设的FLASH_COLD_RST_DELAY值,OneNAND控制器开始读内存相关信息(包括生产产商ID,设备ID,版本ID,数据缓冲区大小,启动缓冲大小,缓冲数和技术)。6:读完内存相关信息后,OneNAND控制器开始数据传输请求。寄存器描述相关内容查看手册。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -