flash原理与应用培训教材

上传人:F****n 文档编号:97014178 上传时间:2019-08-31 格式:PPT 页数:39 大小:729.50KB
返回 下载 相关 举报
flash原理与应用培训教材_第1页
第1页 / 共39页
flash原理与应用培训教材_第2页
第2页 / 共39页
flash原理与应用培训教材_第3页
第3页 / 共39页
flash原理与应用培训教材_第4页
第4页 / 共39页
flash原理与应用培训教材_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《flash原理与应用培训教材》由会员分享,可在线阅读,更多相关《flash原理与应用培训教材(39页珍藏版)》请在金锄头文库上搜索。

1、FLASH Introduction,Page 2,目录,FLASH器件简介 FLASH应用场合 FLASH硬件设计 FLASH软件设计 FLASH测试指标 FLASH应用案例,Page 3,FLASH作为一种非易失性存储器,在原理、技术和结构上,与ROM、PROM、EPROM和EEPROM存储器有着显著不同。它是一种可快速擦除可现场编程的快擦写存储器。 这种特性决定了FLASH作为BIOS、在线擦写和掉电保护数据和分区保护数据等场合有着广泛的应用。 FLASH是由一个带浮栅的晶体管构成,该晶体管的阈值电压可通过在其栅极上施加电场而被反复改变(编程),结合了EPROM编程机制和EEPROM擦除

2、特点。,FLASH器件简介,Page 4,非易失性:掉电数据不会丢失 ROM特性 在线更改数据: RAM特性 兼有ROM和RAM的特点: 块结构:Flash按块操作的特点 命令接口:可编程特性 编程特点:编程之前必须擦除 寿命限制:一般的Flash为10万次的擦写循环,20年的数据保持时间,FLASH器件简介,Page 5,容量: 1Mbit(128K8bit),4Mbit(512K8bit/256K 16bit) 16Mbit(2M8bit/1M16bit),32Mbit (2M16bit) 64Mbit(4M16bit),128Mbit(16M8bit/8M16bit) 数据宽度: 有2种

3、数据总线宽度,byte、word(一般可配置),FLASH器件简介,Page 6,Flash IC 几乎每块单板上都有它的身影 单板的BIOS载体都是Flash 单板软件,主机软件的载体也是Flash Flash Card 由Flash芯片和一些外围控制电路组合而成 可以存储大量的数据,我司所用的容量为:128256512MB 在我司应用越来越广泛,FLASH应用场合,Page 7,FLASH应用场合,FLASH应用于系统中,存放代码、数据,主要有以下三种情况 1、只用来存储BIOS程序,这部分器件有的需要插座,在生产线用编程器写入程序后,插在已加工好的单板上使用; 2、只用来存储数据,如语音

4、数据、话单数据、汉化字库等,通过后台进行在线加载,须要在加载程序中对不同厂家的ID号进行识别; 3、部分容量用来存储BIOS程序,剩余容量用来存储数据、程序等;系统上电开始工作,进行后台加载,BIOS程序可以是通过软件车间烧好也可以是通过后台加载,等BIOS程序运行后,可以将其他程序或数据加载到其他FLASH器件上,也可以是对自身进行加载;因此须要在加载程序中对不同厂家的ID号进行识别;,Page 8,保留(不可CACHE),小系统(LPU_BASE) (不可Cache),大系统(LPU_MAIN) (不可CaChe),ROM_BASE,ROM_TEST_ADR,ROM_TOP_ADR,0X1

5、00,解压缩后的 BOOROM代码 COMPRESSED BOOTROM代码,RAM_LOW_ADDR,RAM_HIGH_ADDR,BOOTROM(FLASH芯片),1、主机编译BIOS代码,通过JTAG加载线烧入BOOTROM,代码的起始位置为BOOTROM基址偏移0X100。 2、单板上电相当于硬件产生了0X100的复位中断,CPU从0X100的位置开始执行代码,上电时整个地址空间没有划分,各个外设的片选和基址都没有初始化,硬件的片选默认是切到BOOTROM,启动代码开始运行。 3、最初的代码是在BOOTROM中运行的,首先关闭中断,禁止CACHE,关闭默认的基址寄存器,设置CPU寄存器,

6、初始化内存参数,配置内存基址空间,大小,DEVICE BUS参数,实现从汇编向C语言的跳转,然后拷贝BOOTROM中的代码到内存的高端地址,解压缩并执行。,FLASH应用场合BIOS启动流程,SDRAM,Page 9,FLASH硬件设计管脚分布,不同型号的FLASH管脚可能不同, 但基本都包括下面的部分: Vcc /Vccq/ Vpen / GND:电源 A0-An:地址线 D0-Dn:数据线 CEn:片选信号 OE: 输出允许 WE:写入允许 / 对FLASH的编程、 擦除的状态机进行操作 RP#(RST # ):复位信号/POWER- DOWN BYTE#:数据宽度选择 WP#:写保护信号

7、 STS(RY / BY#):状态指示,Vcc Addr Vpen Data CE0# CE2:1# WE# OE# RP# BYTE# WP# STS GND,Page 10,FLASH硬件设计数据地址管脚,对于不存在A-1/D15复用管脚的INTEL J3系列FLASH芯片,字节操作时,A0管脚选择高低字节。字节操作时,A0接CPU低位地址输出脚(注意区分INTEL和MOTORAL不同);当选择字操作时(BYTE#=1),A0悬空。 对于有DQ15/A-1管脚的(如MBM29LV160TE)芯片进行字节操作时,DQ15/A-1 作为最低位地址线接CPU的A0(MOTOROLA 为 A31)

8、。 FLASH器件的地址线设计应该考虑兼容问题。即同一个系列FLASH中,引脚是相互兼容的情况,低容量存储器中不使用的高位地址应该通过0欧姆电阻接到CPU的地址线上,这样在单板发生FLASH容量升级时,无需单板硬件改板。,Page 11,STS:STS用于指示芯片内部状态,有效时可以是低电平输出或脉冲输出,一般接控制器的中断输入管脚。 配置为缺省模式时功能与RY/BY脚功能相同,当内部进行擦除、编程或加锁操作时,输出低电平。因其为开漏输出,设计中应该加上拉电阻。 /RP:复位/深度低功耗控制输入线,低电平有效,可以使芯片处于深度低功耗状态,锁定自举模块,同时停止模块擦除和字节编程操作以及使写状

9、态机WSM复位,用以防止储存单元被擦除或编程。这样在电源变化的过渡期提供数据保护功能。一般用CPU的复位输出控制该管脚。 /BYTE:字节选通信号,逻辑低表示工作在8模式,逻辑高表示工作在16模式。在通常的16模式设计中,该管脚接电阻上拉。,FLASH硬件设计状态控制管脚,Page 12,FLASH硬件设计状态控制管脚,/CE :片选引脚,低电平有效。片选信号使能片内:器件控制逻辑,输入缓存,解码器,感应放大器。为了设计上的方便,有一些FLASH器件的有3个片选信号。芯片资料提供了使用真值表。 /OE /WE :读写信号,低电平有效。 某些芯片会有以下管脚: /WP :当WP为低电平时,保护块

10、不能通过软件解锁。 WP为高电平时,保护块能够通过软件解锁。 RY/BY :为低电平时,表示当前正在编程或擦除; 高电平时,表示准备就绪,可以进行操作。与STS管脚功能相同,Page 13,FLASH硬件设计状态控制管脚,INTEL J3系列的/CE信号真值表如下所示:,Page 14,VCC:器件电源电压,电源电压Vlko(Lock-Out Voltage)时,所有的写操作都会被禁止。电源电源在Vcc(min)和Vlko或者大于Vcc(max)时写操作不可靠。 VCCQ:输出BUFFER电源电压。如SST39VF160Q和INTEL的28F160/320C3/J3系列,前者VCCQ可以在2.

11、7V-5.5V范围内调整以提高器件的灵活接口能力;而后者在3.3Vcc时的调整范围为2.7V-3.6V。需要注意的是,如果端口电平无需调整,VCCQ必须连接Vcc而不能悬空。 VPEN:擦除、写、块保护的电压使能管脚。当VpenVpenlk时,以上操作被禁止,只允许读状态寄存器,厂商及器件ID,Query数据库。 因此设计中应上拉或直接与电源电压接在一起。,FLASH硬件设计电源管脚,Page 15,FLASH硬件设计内部结构,Page 16,FLASH硬件设计读写操作,读操作:原理与普通SRAM一样, 速度30ns-200ns,与操作电压及器件工艺有直接关系,高速CPU要适当增加读等待周期以

12、保证FLASH的可靠响应。 擦写操作:为了降低意外操作导致FLASH数据被改写的概率,设计了多周期指令FLASH指令序列。序列含多周期建立指令和最后的启动指令,即向特殊地址写入特定指令(此部分不占用可寻址单元)。擦写最主要的特点在于其内部状态机(internal state machine)及指令序列(command sequences)的操作模式,通过其内部状态机的输出来反映当前擦写的执行状态,擦写时需执行指令序列并同时检测内部状态机的输出以保证功能的正常执行,因而FLASH存储器需要较为复杂的软件支持。,Page 17,FLASH软件设计指令序列,不同的厂家设计的指令序列都不同,例如: 1

13、)INTEL的器件为2周期指令; 2)AMD,ST,MXIC,FUJITSU,HYUNDAI,TOSHIBA的器件为4或6周期指令;如下针对我们产品常用的FUJITSU MBM29LV400TC器件作一些介绍,其为6周期指令序列。,Page 18,FLASH软件设计内部状态,擦写和超时操作的内部状态主要包括两种: Toggle:数据0/1翻转 Polling:数据为定值,Page 19,FLASH软件设计Toggle检测法,当擦写正在进行时,每执行一次读操作相应的Toggle位都会发生翻转,如果在未超时(DQ5=0)前Toggle位不再发生翻转,表示此数据擦写成功。如果超时(DQ5=1)后检测

14、Toggle位仍发生翻转,则表明此次擦写失败。读操作可以是任意地址空间,因Toggle位只与CE、OE和当前内部擦写进行的状态有关。,Page 20,FLASH软件设计Polling检测法,当编程操作正在进行时,每执行一次读操作相应的DQ7值与最后一次写入的DQ7值相反,如果在未超时(DQ5=0)前DQ7值与最后一次写入的DQ7值一致,表示此数据擦写成功。如果超时(DQ5=1)后检测的DQ7值仍为相反值,则表明此次编程失败。擦除操作中对应的DQ7值为0,为1时表明擦除成功。对于编程指令读操作地址可以是任意地址空间,但对于擦除指令读操作地址必须是正被擦除且未被保护的空间。,Page 21,FLA

15、SH软件设计Read/Reset指令,上电后器件自动进入Read/Reset状态(FLASH硬复位信号有效后),因此CPU自举时不需要执行Read/Reset指令即可直接从FLASH中读出数据,然而在进行完擦除、编程指令序列操作后需要发送Read/Reset指令使FLASH存储器恢复为读数据状态,否则下一个命令可能出错。 从读取厂商和器件信息的Autoselect状态中跳出时需要执行Read/Reset指令。 当擦写时出现错误,内部状态机计数器超过其最大值后需要通过检测相应的DQ5值为1,并执行Read/Reset指令才能从擦写失败中跳出。,Page 22,LA采样的MBM29LV400TC器

16、件Read/Reset指令周期:,FLASH软件设计Read/Reset指令,Page 23,FLASH软件设计Autoselect指令,执行Autoselect指令后,即可从相应的地址空间里读出厂商和器件的ID信息,此时扫描扇区的地址空间可以获得扇区的写保护状态,结束此操作状态需要先执行Read/Reset指令再执行一次Autoselect指令才能退出。,Page 24,FLASH软件设计Erase指令,通过写入芯片擦除指令或扇区擦除指令开始擦除操作,并通过Polling或Toggle方式检测擦除是否正常结束。对于扇区擦除指令,分别在要擦除扇区的扇区地址内写入30H即可以同时执行多个段的擦除,但两次写入的时间间隔不能超过50us,因最后一次写入扇区地址的50us后芯片开始执行擦除操作。,Page 25,FLASH软件设计Erase指令,如下所示为FLASH的扇区空间地址,地址空间的大小并不相同,内部状态机通过对A12-A17地址线的译码从而

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号