《最新存储器接口PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新存储器接口PPT课件.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、存储器接口存储器接口 第1章嵌入式系统基础知识第2章ARM技术概述第3章ARM的指令系统第4章ARM汇编语言程序设计第5章ARMRealviewMDK集成开发环境第6章GPIO编程第7章ARM异常中断处理及编程第8章串行通信接口课程安排:课程安排:2 9.2.2SST39VF160字编程操作1、执行3字节装载时序,用于解除软件数据保护2、装载字地址和字数据在字编程操作中,地址在CE#或WE#的下升沿(后产生下降沿的那个)锁存,数据在CE#或WE#的上升沿(先产生上升沿的那个)锁存。3、执行内部编程操作该操作在第4个WE#或CE#的上升沿出现(先产生上升沿的那个)之后启动编程操作。一旦启动将在2
2、0ms内完成。9.2NorFlash操作9 9.2.3SST39VF160扇区/块擦除操作扇区操作通过在最新一个总线周期内执行一个6字节的命令时序(扇区擦除命令30H和扇区地址SA)来启动。块擦除操作通过在最新一个总线周期内执行一个6字节的命令时序(块擦除命令50H和块地址BA)来启动。9.2NorFlash操作10 9.2.4SST39VF160芯片擦除操作芯片擦除操作通过在最新一个总线周期内执行一个6字节的命令5555H地址处的芯片擦除命令10H时序来启动在第6个WE#或CE#的上升沿(先出现上升沿的那个)开始执行擦除操作,擦除过程中只有触发位或数据查询位的读操作有效9.2NorFlash
3、操作11 9.2.5SST39VF160与S3C2410X的接口电路一片SST39VF160以16位的方式和S3C2410的接口电路:9.2NorFlash操作12 9.2.6SST39VF160存储器的程序设计1、字编程操作从内存“DataPtr”地址的连续“WordCnt”个16位的数据写入SST39VF160的“ProgStart”地址利用了数据查询位(DQ7)和查询位(DQ6)来判断编程操作是否完成函数中用到的几个宏的定义如下:#defineROM_BASE0 x00000000#defineCMD_ADDR0*(volatileU16*)(0 x5555*2+ROM_BASE)#de
4、fineCMD_ADDR1*(volatileU16*)(0 x2aaa*2+ROM_BASE)9.2NorFlash操作13 9.2.6SST39VF160存储器的程序设计2、扇区擦除操作SectorErase函数实现了一个扇区(扇区的开始地址为“sector”)的擦除工作注意数据查询位(DQ7)在编程函数和擦除函数中的使用差别9.2NorFlash操作14 9.2.6SST39VF160存储器的程序设计3、读操作FlashRead函数实现了从“ReadStart”位置,读取“Size”个字节的数据到“DataPtr”中。voidFlashRead(unsignedintReadStart,
5、unsignedshort*DataPtr,unsignedintSize)inti;ReadStart+=ROM_BASE;for(i=0;iSize/2;i+)*(DataPtr+i)=*(unsignedshort*)ReadStart+i);9.2NorFlash操作15 9.3.1K9F1280芯片介绍常见的8位NandFlash有三星公司的K9F1208、K9F1G08、K9F2G08等,K9F1208、K9F1G08、K9F2G08的数据页大小分别为512B、2kB、2kB。K9F1208存储容量为64M字节,除此之外还有2048K字节的spare存储区。该器件采用TSSOP48
6、封装,工作电压2.73.6V。K9F1208对528字节一页的写操作所需时间典型值是200s,而对16K字节一块的擦除操作典型仅需2ms。8位I/O端口采用地址、数据和命令复用的方法。这样既可减少引脚数,还可使接口电路简洁。9.3NANDFlash操作16 9.3.1K9F1280芯片介绍管脚名称描述I/O0I/O7 数据输入输出CLE命令锁存使能ALE地址锁存使能CE#片选RE#读使能WE#写使能WP#写保护R/B#准备好/忙碌输出VCC电源(+2.7V3.6V)VSS地N.C空管脚9.3NANDFlash操作17 9.3.1K9F1280芯片介绍1block=32page;1page=52
7、8byte=512byte(MainArea)+16byte(SpareArea)总容量为=4096(block数量)32(page/block)512(byte/page)=64MBNandFlash以页为单位读写数据,而以块为单位擦除数据。对NandFlash的操作主要包括:读操作、擦除操作、写操作、坏块设别、坏块标识等。9.3NANDFlash操作18 9.3.2读操作过程K9F1208的寻址分为4个cycle,分别是A0:7、A9:16、A17:24、A25读操作的过程为:发送读取指令;发送第1个cycle地址;发送第2个cycle地址;发送第3个cycle地址;发送第4个cycle地
8、址;读取数据至页末K9F1208提供了两个读指令:“0 x00”、“0 x01”。这两个指令区别在于“0 x00”可以将A8置为0,选中上半页;而“0 x01”可以将A8置为1,选中下半页读操作的对象为一个页面,建议从页边界开始读写至页结束9.3NANDFlash操作19 9.3.2读操作过程K9F1208读操作流程如图9.3NANDFlash操作20 9.3.3擦除操作过程擦除的操作过程为:发送擦除指令“0 x60”;发送第1个cycle地址(A9A16);发送第2个cycle地址(A17A24);发送第3个cycle地址(A25);发送擦除指令“0 xD0”;发送查询状态命令字“0 x70
9、”;读取K9F1208的数据总线,判断I/O6上的值或判断R/B线上的值,直到I/O6=1或R/=1;判断I/O0是否为0,从而确定操作是否成功。0表示成功,1表示失败。擦除的对象是一个数据块,即32个页面。9.3NANDFlash操作21 9.3.3擦除操作过程K9F1208擦除操作流程图9.3NANDFlash操作22 9.3.4写操作过程写入的操作过程为:发送编程指令“0 x80”;发送第1个cycle地址(A0A7);发送第2个cycle地址(A9A16);发送第3个cycle地址(A17A24);发送第4个cycle地址(A25);向K9F1208的数据总线发送一个扇区的数据;发送编
10、程指令“0 x10”;发送查询状态命令字“0 x70”;读取K9F1208的数据总线,判断I/O6上的值或判断R/线上的值,直到I/O6=1或R/=1;判断I/O0是否为0,从而确定操作是否成功。0表示成功,1表示失败。注意:写入的操作对象是一个页面。9.3NANDFlash操作23 9.3.4写操作过程K9F1208写操作流程图9.3NANDFlash操作24 9.4.1S3C2410XNandFlash控制器概述S3C2410 x可以实现从NANDFlash启动和引导系统,在SDRAM上执行主程序代码。S3C2410 x中的NANDFlash的特性有:支持读/擦/编程NANDFlash存储
11、器支持自动引导模式:复位后,引导代码被送入Steppingstone,传送后,引导代码在Setppingstone中运行具备硬件ECC产出模块NANDFlash控制器工作机制9.4S3C2410X中NandFlash控制器的操作25 9.4.2S3C2410XNandFlash控制器寄存器详解配置寄存器NFCONF(地址0 x4E000000)9.4S3C2410X中NandFlash控制器的操作26 9.4.2S3C2410XNandFlash控制器寄存器详解命令寄存器NFCMD(地址:0 x4e000004)地址寄存器NFADDR(地址:0 x4E000008)9.4S3C2410X中Na
12、ndFlash控制器的操作27 9.4.2S3C2410XNandFlash控制器寄存器详解数据寄存器NFDATA(地址:0 x4E00000C)状态寄存器NFSTAT(地址:0 x4E000010)9.4S3C2410X中NandFlash控制器的操作28 9.5.1K9F1208和S3C2410X的接口电路K9F1208和S3C2410X的接口电路9.5S3C2410XNandFlash接口电路与程序设计29 9.5.2S3C2410XNANDFlash寄存器设置(1)控制器初始化时,需要使能控制器设置UFCON的15为“1”。(2)使能NANDFlash芯片设置UFCON的11为“0”。
13、(3)通过NAND控制器向NANDFlash写入命令设置NFCMD为要发送的命令。(4)通过NAND控制器向NANDFlash写入地址设置NFADDR为要发送的地址。(5)通过NAND控制器向NANDFlash写入数据设置NFDATA为要写入的数据。9.5S3C2410XNandFlash接口电路与程序设计30 9.5.3S3C2410X控制K9F1208的程序设计实现向K9F1208的一个页面中写入0,1,2,3,4,5,6,7,8,9。然后读出数据,打印到串口终端。程序设计如下:1、NANDFlash控制器相关寄存器及宏定义2、主测试程序3、K9F1208初始化函数4、K9F1208页面读
14、函数5、K9F1208页面写函数6、K9F1208块擦除函数7、调试与运行结果9.5S3C2410XNandFlash接口电路与程序设计31 9.6.1SDRAM介绍SDRAM存储一个位的消息只需要一只晶体管,但是需要周期性地充电,才能使保存的信息不消失。SDRAM的一个存储位单元结构如图电容器的状态决定了这个SDRAM单位的逻辑状态是1还是0。一个充电的电容器被认为是逻辑上的1,而“空”的电容器则是0。9.6SDRAM芯片介绍32 9.6.1SDRAM介绍SDRAM内部结构示意图9.6SDRAM芯片介绍33 9.6.1SDRAM介绍SDRAM的读取过程:SDRAM的写入过程和读取过程基本一样
15、,这里就不再详细介绍了在SDRAM读取方式中,当一个读取周期结束后,和都必须失效,然后再进行一个回写过程才能进入到下一次的读取周期中。9.6SDRAM芯片介绍34 9.6.1SDRAM介绍与Flash存储器相比较,SDRAM不具有掉电保持数据的特性,但其存取速度大大高于Flash存储器,且具有读/写的属性,因此,SDRAM在系统中主要用作程序的运行空间,数据及堆栈区。当系统启动时,CPU首先从复位地址0 x0处读取启动代码,在完成系统的初始化后,程序代码一般应调入SDRAM中运行,以提高系统的运行速度,同时,系统及用户堆栈、运行数据也都放在SDRAM中。SDRAM的存储单元可以理解为一个电容,
16、总是倾向于放电,为避免数据丢失,必须定时刷新(充电)目前常用的SDRAM为8位/16位的数据宽度,工作电压一般为3.3V。主要的生产厂商为HYUNDAI、Winbond等9.6SDRAM芯片介绍35 9.6.2HY57V561620的结构HY57V561620存储容量为4M4bank16位(32M字节),工作电压为3.3V,常见封装为54脚TSOP,兼容LVTTL接口,支持自动刷新(Auto-Refresh)和自刷新(Self-Refresh),16位数据宽度9.6SDRAM芯片介绍36 9.6.2HY57V561620的结构引脚名称CLK时钟CKE时钟使能/CS片选BA0,BA1组地址选择A
17、12A0地址总线/RAS行地址锁/CAS存列地址锁/WE存写使能LDQM,UDQM数据I/O屏蔽DQ15DQ0 数据总线VDD/VSS电源/地VDDQ/VSSQ电源/地NC未连接9.6SDRAM芯片介绍37 9.6.3接口电路采用的是利用两片16位的SDRAM构造成一片32位的SDRAM存储系统。9.6SDRAM芯片介绍38 9.6.3接口电路引脚描述如下:nSRAS:SDRAM行地址选通信号nSCAS:SDRAM列地址选通信号nGCS6:SDRAM芯片选择信号nWBE3:0:SDRAM数据屏蔽信号SCLK01:SDRAM时钟信号SCKE:SDRAM时钟允许信号DATA0:31:32位数据信号
18、ADDR2:14:行列地址信号ADDR25:24:bank选择线9.6SDRAM芯片介绍39 9.6.3接口电路HY57V561620的Bank选择线BAn与S3C2410X地址线的对应关系,依照表9-12选择连接。HY57V561620的Bank大小位64MB,总线宽度位16位,单个器件容量为256MB,存储空间配置为(4MB164BANK)2片。所以BANK地址对应A25:24SDRAMBank地址配置表9.6SDRAM芯片介绍40 9.6.4寄存器设置1BWSCON寄存器BWSCON寄存器主要用来设置外接存储器的总线宽度和等待状态BWSCON寄存器在Bank6上的位定义SDRAM(Ban
19、k6)采用32位总线宽度,因此,DW6=10,其他2位采用缺省值9.6SDRAM芯片介绍41 9.6.4寄存器设置2BANKCONn寄存器的设置S3C2410X有8个BANKCONn寄存器,分别对应着Bank0Bank7。Bank6Bank7可以作为FP/EDO/SDRAM等类型存储器的映射空间BANKCONn寄存器在Bank6和Bank7上的位定义BANKCONn寄存器在MT=11时的相关位定义Trcd是从行使能到列使能的延迟,根据S3C2410X的HCLK频率(100M)及HY57V561620特性,此项取01。SCAN为列地址线数量,此项根据HY57V561620特性取01。9.6SDR
20、AM芯片介绍42 9.6.4寄存器设置3REFRESH寄存器是DRAM/SDRAM的刷新控制器9.6SDRAM芯片介绍43 9.6.4寄存器设置4、BANKSIZE寄存器9.6SDRAM芯片介绍44 9.6.4寄存器设置5、MRSR寄存器MRSR寄存器有2个,为MRSRB6和MRSRB7对应着Bank6和Bank7注意:当代码在SDRAM中运行时,绝不能够重新配置MRSR寄存器。在掉电模式下,SDRAM必须进入SDRAM的自我刷新模式。9.6SDRAM芯片介绍45 本章重点讲解了在嵌入式系统中常用的各种存储器,以及在S3C2410X芯片中NANDFlash、NORFlash、SDRAM的操作方法。9.7小结46 9-1NorFlash和NandFlash的特征及它们之间特性的对比?9-2NorFlash的读、写、擦擦操作方法?9-3NandFlash的读、写、擦擦操作方法?9-4SDRAM和RAM的区别?9.8思考与练习4748结束语结束语谢谢大家聆听!谢谢大家聆听!49