版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FLASH Introduction第1页,共40页。目录FLASH器件简介FLASH应用场合FLASH硬件设计FLASH软件设计FLASH测试指标FLASH应用案例第2页,共40页。FLASH作为一种非易失性存储器,在原理、技术和结构上,与ROM、PROM、EPROM和EEPROM存储器有着显著不同。它是一种可快速擦除可现场编程的快擦写存储器。 这种特性决定了FLASH作为BIOS、在线擦写和掉电保护数据和分区保护数据等场合有着广泛的应用。 FLASH是由一个带浮栅的晶体管构成,该晶体管的阈值电压可通过在其栅极上施加电场而被反复改变(编程),结合了EPROM编程机制和EEPROM擦除特点。F
2、LASH器件简介第3页,共40页。非易失性:掉电数据不会丢失 ROM特性在线更改数据: RAM特性兼有ROM和RAM的特点:块结构:Flash按块操作的特点命令接口:可编程特性编程特点:编程之前必须擦除寿命限制:一般的Flash为10万次的擦写循环,20年的数据保持时间FLASH器件简介第4页,共40页。容量:1Mbit(128K8bit),4Mbit(512K8bit/256K 16bit)16Mbit(2M8bit/1M16bit),32Mbit (2M16bit) 64Mbit(4M16bit),128Mbit(16M8bit/8M16bit)数据宽度:有2种数据总线宽度,byte、wo
3、rd(一般可配置)FLASH器件简介第5页,共40页。Flash IC几乎每块单板上都有它的身影单板的BIOS载体都是Flash单板软件,主机软件的载体也是FlashFlash Card由Flash芯片和一些外围控制电路组合而成可以存储大量的数据,我司所用的容量为:128256512MB在我司应用越来越广泛FLASH应用场合第6页,共40页。FLASH应用场合 FLASH应用于系统中,存放代码、数据,主要有以下三种情况 1、只用来存储BIOS程序,这部分器件有的需要插座,在生产线用编程器写入程序后,插在已加工好的单板上使用;2、只用来存储数据,如语音数据、话单数据、汉化字库等,通过后台进行在线
4、加载,须要在加载程序中对不同厂家的ID号进行识别;3、部分容量用来存储BIOS程序,剩余容量用来存储数据、程序等;系统上电开始工作,进行后台加载,BIOS程序可以是通过软件车间烧好也可以是通过后台加载,等BIOS程序运行后,可以将其他程序或数据加载到其他FLASH器件上,也可以是对自身进行加载;因此须要在加载程序中对不同厂家的ID号进行识别;第7页,共40页。保留(不可CACHE)小系统(LPU_BASE)(不可Cache)大系统(LPU_MAIN)(不可CaChe)ROM_BASEROM_TEST_ADRROM_TOP_ADR0X100解压缩后的BOOROM代码COMPRESSEDBOOTR
5、OM代码RAM_LOW_ADDRRAM_HIGH_ADDRBOOTROM(FLASH芯片)1、主机编译BIOS代码,通过JTAG加载线烧入BOOTROM,代码的起始位置为BOOTROM基址偏移0X100。2、单板上电相当于硬件产生了0X100的复位中断,CPU从0X100的位置开始执行代码,上电时整个地址空间没有划分,各个外设的片选和基址都没有初始化,硬件的片选默认是切到BOOTROM,启动代码开始运行。3、最初的代码是在BOOTROM中运行的,首先关闭中断,禁止CACHE,关闭默认的基址寄存器,设置CPU寄存器,初始化内存参数,配置内存基址空间,大小,DEVICE BUS参数,实现从汇编向C
6、语言的跳转,然后拷贝BOOTROM中的代码到内存的高端地址,解压缩并执行。FLASH应用场合BIOS启动流程SDRAM第8页,共40页。FLASH硬件设计管脚分布不同型号的FLASH管脚可能不同,但基本都包括下面的部分:Vcc /Vccq/ Vpen / GND:电源A0-An:地址线D0-Dn:数据线CEn:片选信号OE: 输出允许WE:写入允许 / 对FLASH的编程、 擦除的状态机进行操作RP#(RST # ):复位信号/POWER- DOWNBYTE#:数据宽度选择WP#:写保护信号STS(RY / BY#):状态指示Vcc AddrVpen DataCE0#CE2:1#WE#OE#R
7、P#BYTE#WP#STSGND第9页,共40页。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)。FLASH器件的地址线设计应该考虑兼容问题。即同一个系列FLASH中,引脚是相互兼容的情况,低容量存储器中不使用的高位地址应该通
8、过0欧姆电阻接到CPU的地址线上,这样在单板发生FLASH容量升级时,无需单板硬件改板。第10页,共40页。STS:STS用于指示芯片内部状态,有效时可以是低电平输出或脉冲输出,一般接控制器的中断输入管脚。 配置为缺省模式时功能与RY/BY脚功能相同,当内部进行擦除、编程或加锁操作时,输出低电平。因其为开漏输出,设计中应该加上拉电阻。/RP:复位/深度低功耗控制输入线,低电平有效,可以使芯片处于深度低功耗状态,锁定自举模块,同时停止模块擦除和字节编程操作以及使写状态机WSM复位,用以防止储存单元被擦除或编程。这样在电源变化的过渡期提供数据保护功能。一般用CPU的复位输出控制该管脚。/BYTE:
9、字节选通信号,逻辑低表示工作在8模式,逻辑高表示工作在16模式。在通常的16模式设计中,该管脚接电阻上拉。FLASH硬件设计状态控制管脚第11页,共40页。FLASH硬件设计状态控制管脚/CE :片选引脚,低电平有效。片选信号使能片内:器件控制逻辑,输入缓存,解码器,感应放大器。为了设计上的方便,有一些FLASH器件的有3个片选信号。芯片资料提供了使用真值表。 /OE /WE :读写信号,低电平有效。某些芯片会有以下管脚:/WP :当WP为低电平时,保护块不能通过软件解锁。 WP为高电平时,保护块能够通过软件解锁。 RY/BY :为低电平时,表示当前正在编程或擦除; 高电平时,表示准备就绪,可
10、以进行操作。与STS管脚功能相同第12页,共40页。FLASH硬件设计状态控制管脚INTEL J3系列的/CE信号真值表如下所示:第13页,共40页。VCC:器件电源电压,电源电压Vlko(Lock-Out Voltage)时,所有的写操作都会被禁止。电源电源在Vcc(min)和Vlko或者大于Vcc(max)时写操作不可靠。VCCQ:输出BUFFER电源电压。如SST39VF160Q和INTEL的28F160/320C3/J3系列,前者VCCQ可以在2.7V-5.5V范围内调整以提高器件的灵活接口能力;而后者在3.3Vcc时的调整范围为2.7V-3.6V。需要注意的是,如果端口电平无需调整,
11、VCCQ必须连接Vcc而不能悬空。VPEN:擦除、写、块保护的电压使能管脚。当VpenVpenlk时,以上操作被禁止,只允许读状态寄存器,厂商及器件ID,Query数据库。 因此设计中应上拉或直接与电源电压接在一起。FLASH硬件设计电源管脚第14页,共40页。FLASH硬件设计内部结构第15页,共40页。FLASH硬件设计读写操作读操作:原理与普通SRAM一样, 速度30ns-200ns,与操作电压及器件工艺有直接关系,高速CPU要适当增加读等待周期以保证FLASH的可靠响应。擦写操作:为了降低意外操作导致FLASH数据被改写的概率,设计了多周期指令FLASH指令序列。序列含多周期建立指令和
12、最后的启动指令,即向特殊地址写入特定指令(此部分不占用可寻址单元)。擦写最主要的特点在于其内部状态机(internal state machine)及指令序列(command sequences)的操作模式,通过其内部状态机的输出来反映当前擦写的执行状态,擦写时需执行指令序列并同时检测内部状态机的输出以保证功能的正常执行,因而FLASH存储器需要较为复杂的软件支持。第16页,共40页。FLASH软件设计指令序列不同的厂家设计的指令序列都不同,例如:1)INTEL的器件为2周期指令;2)AMD,ST,MXIC,FUJITSU,HYUNDAI,TOSHIBA的器件为4或6周期指令;如下针对我们产品
13、常用的FUJITSU MBM29LV400TC器件作一些介绍,其为6周期指令序列。第17页,共40页。FLASH软件设计内部状态擦写和超时操作的内部状态主要包括两种: Toggle:数据0/1翻转 Polling:数据为定值第18页,共40页。FLASH软件设计Toggle检测法当擦写正在进行时,每执行一次读操作相应的Toggle位都会发生翻转,如果在未超时(DQ5=0)前Toggle位不再发生翻转,表示此数据擦写成功。如果超时(DQ5=1)后检测Toggle位仍发生翻转,则表明此次擦写失败。读操作可以是任意地址空间,因Toggle位只与CE、OE和当前内部擦写进行的状态有关。第19页,共40
14、页。FLASH软件设计Polling检测法当编程操作正在进行时,每执行一次读操作相应的DQ7值与最后一次写入的DQ7值相反,如果在未超时(DQ5=0)前DQ7值与最后一次写入的DQ7值一致,表示此数据擦写成功。如果超时(DQ5=1)后检测的DQ7值仍为相反值,则表明此次编程失败。擦除操作中对应的DQ7值为0,为1时表明擦除成功。对于编程指令读操作地址可以是任意地址空间,但对于擦除指令读操作地址必须是正被擦除且未被保护的空间。第20页,共40页。FLASH软件设计Read/Reset指令上电后器件自动进入Read/Reset状态(FLASH硬复位信号有效后),因此CPU自举时不需要执行Read/
15、Reset指令即可直接从FLASH中读出数据,然而在进行完擦除、编程指令序列操作后需要发送Read/Reset指令使FLASH存储器恢复为读数据状态,否则下一个命令可能出错。从读取厂商和器件信息的Autoselect状态中跳出时需要执行Read/Reset指令。当擦写时出现错误,内部状态机计数器超过其最大值后需要通过检测相应的DQ5值为1,并执行Read/Reset指令才能从擦写失败中跳出。第21页,共40页。LA采样的MBM29LV400TC器件Read/Reset指令周期:FLASH软件设计Read/Reset指令第22页,共40页。FLASH软件设计Autoselect指令执行Autos
16、elect指令后,即可从相应的地址空间里读出厂商和器件的ID信息,此时扫描扇区的地址空间可以获得扇区的写保护状态,结束此操作状态需要先执行Read/Reset指令再执行一次Autoselect指令才能退出。第23页,共40页。FLASH软件设计Erase指令通过写入芯片擦除指令或扇区擦除指令开始擦除操作,并通过Polling或Toggle方式检测擦除是否正常结束。对于扇区擦除指令,分别在要擦除扇区的扇区地址内写入30H即可以同时执行多个段的擦除,但两次写入的时间间隔不能超过50us,因最后一次写入扇区地址的50us后芯片开始执行擦除操作。第24页,共40页。FLASH软件设计Erase指令如下
17、所示为FLASH的扇区空间地址,地址空间的大小并不相同,内部状态机通过对A12-A17地址线的译码从而实现扇区的区分。第25页,共40页。FLASH软件设计Program指令通过写入编程指令开始编程操作,每写入一个数据需要通过Polling或Toggle方式检测此地址的编程操作是否正常结束,如此循环直到把所有的数据都写入FLASH。时序上在WE的下降沿锁存编程字节的地址,在WE的上升沿锁存所要编程的字节数据。注意:对于存取单元数据0不能被编程为1(执行此操作可能挂死器件),只有擦除操作才能将数据0转换成1,因此编程前需要先执行擦除操作。第26页,共40页。FLASH软件设计Suspend&Re
18、sume指令挂起操作只能用来暂时打断正在进行的Sector擦除操作,从而用来读取和编程另外的Sector,对于Chip擦除和编程操作周期,此命令无效。执行挂起命令后最多经过20us进入挂起状态,进入挂起状态后RY/DY管脚将输出高,且读取挂起Sector空间的地址后返回的DQ7和DQ6都为1(可通过此判断是否进入挂起状态)。进入挂起状态后即可读取和编程另外的Sector,操作完后可通过Resume指令返回挂起的擦除操作。第27页,共40页。FLASH测试指标信号质量在后台执行读写操作,测试相应的控制信号、地址信号、控制信号、VCC电源信号质量。在对FLASH进行编程、擦除时测量VPP电源信号、
19、状态引脚STS、RY/BY的信号质量。对FLASH上下电与主机复位FLASH时,测试复位信号信号质量和脉宽。 第28页,共40页。FLASH测试指标读时序第29页,共40页。FLASH测试指标写时序第30页,共40页。FLASH测试指标复位时序第31页,共40页。ESR_Block_Erase( _US *flash_addr )。/* Poll CSR until CSR.7 of target address = 1 (WSM ready.) */ while (!(BIT_7 & byte) & loop + = ESR_POLLING_TIMEOUT) return 0; Write_
20、to_Flash( flash_addr, CLEAR_STATUS_REGISTERS ) ; Write_to_Flash( flash_addr, READ_FLASH_ARRAY ) ; return 1;。FLASH应用案例“块”擦除程序判断不够 第32页,共40页。可以看到程序只是对状态寄存器BIT.7进行了判断,查询该位可用于判断操作是否完成及是否超时(红色字体)。蓝色字体程序是清状态寄存器的命令,防止指令操作有错后,芯片被“锁定”,程序中没有对SR.5 进行判断,而根据芯片的资料,该位是擦除操作是否正确的标志。忽略了对BIT.5的判断,即使指令操作错误,程序返回值依然为正确。程
21、序的严密性和保护性不够。FLASH应用案例“块”擦除程序判断不够 第33页,共40页。FLASH应用案例擦除等待时间不够 某产品单板通过管理通道命令升级线卡单板的Bootrom失败,导致单板Bootrom损坏,单板重启后无法注册。提示写flash失败: Download file(ID/Index):9000000/20 7005000/17 %Jan 24 19:37:36 2006 Quidway LOAD/5/LOADRESULT:LoadResult: Download of software to LPU board on slot 3 has failed LPU on slot
22、3 occurs error, error Code:11, Error message:write flash fail.Total 2 file(s) matched, 0 file(s) download to 3 LPU.但通过系统JTAG方式可以正常升级。因此初步怀疑是管理通道加载程序有问题。第34页,共40页。FLASH应用案例擦除等待时间不够 经过定位出现写bootrom失败是由于flash擦除失败造成的。此单板flash芯片要求的擦除时间如下所示最大为10s,但程序里的flash擦除时等待的最大时间只有6sec,延长擦除时等待的最大时间后问题解决。由于flash器件的离散性,指令操作时要考虑最坏的情况。第35页,共40页。FLASH应用案例信号错误上拉 #RP为复位/掉电保护管脚,为高电平使能器件的正常操作,为低电平器件进入内部复位状态,并进入掉电模式。原理图审查时发现FLASH的#RP信号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- PEP人教版小学四年级上册Unit 1 My classroom PartC Story time课件
- 农村个人房屋买卖合同协议书范本
- (立项备案方案)椰雕项目立项申请报告
- 古代建筑行业中的追踪和定位- 王姣27课件讲解
- 山东省菏泽市郓城县第一中学2023-2024学年七年级上学期第一次月考生物试题(解析版)-A4
- 湖南省娄底市新化县2024-2025学年八年级上学期12月月考道德与法治试题-A4
- 兽医寄生虫题库与参考答案
- 养老院老人心理关爱制度
- 养老院老人紧急救援人员职业道德制度
- 房屋建筑项目工程总承包合同(2篇)
- 信息系统售后服务方案
- 五四运动 说课课件 2024-2025学年统编版八年级历史上册
- GB/T 6553-2024严酷环境条件下使用的电气绝缘材料评定耐电痕化和蚀损的试验方法
- 医学微生物学(山东联盟)智慧树知到答案2024年济宁医学院
- 住建部设计施工合同范本(2024版)
- 2024年人教版三年级语文(上册)期末考卷及答案(各版本)
- 2024抖音直播知识考试题库200题(含答案)
- 2024年医疗机构医疗废物管理规范考试试题及答案
- 部编人教版六年级上册道德与法治全册知识点考点+典型考题【每课】
- 动态葡萄糖图谱报告临床应用专家共识(2023版)
- 冷链物流配送全流程优化方案
评论
0/150
提交评论