书签 分享 收藏 举报 版权申诉 / 39
上传文档赚钱

类型FLASH原理与应用培训解析课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4829404
  • 上传时间:2023-01-15
  • 格式:PPT
  • 页数:39
  • 大小:729.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《FLASH原理与应用培训解析课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    FLASH 原理 应用 培训 解析 课件
    资源描述:

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

    2、OM编程机制和EEPROM擦除特点。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)数

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

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

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

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

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

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

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

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

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

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

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

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

    15、址可以是任意地址空间,但对于擦除指令读操作地址必须是正被擦除且未被保护的空间。Page 21FLASH软件设计软件设计Read/Reset指令指令 上电后器件自动进入Read/Reset状态(FLASH硬复位信号有效后),因此CPU自举时不需要执行Read/Reset指令即可直接从FLASH中读出数据,然而在进行完擦除、编程指令序列操作后需要发送Read/Reset指令使FLASH存储器恢复为读数据状态,否则下一个命令可能出错。从读取厂商和器件信息的Autoselect状态中跳出时需要执行Read/Reset指令。当擦写时出现错误,内部状态机计数器超过其最大值后需要通过检测相应的DQ5值为1,

    16、并执行Read/Reset指令才能从擦写失败中跳出。Page 22LA采样的MBM29LV400TC器件Read/Reset指令周期:FLASH软件设计软件设计Read/Reset指令指令Page 23FLASH软件设计软件设计Autoselect指令指令 执行Autoselect指令后,即可从相应的地址空间里读出厂商和器件的ID信息,此时扫描扇区的地址空间可以获得扇区的写保护状态,结束此操作状态需要先执行Read/Reset指令再执行一次Autoselect指令才能退出。Page 24FLASH软件设计软件设计Erase指令指令通过写入芯片擦除指令或扇区擦除指令开始擦除操作,并通过Polli

    17、ng或Toggle方式检测擦除是否正常结束。对于扇区擦除指令,分别在要擦除扇区的扇区地址内写入30H即可以同时执行多个段的擦除,但两次写入的时间间隔不能超过50us,因最后一次写入扇区地址的50us后芯片开始执行擦除操作。Page 25FLASH软件设计软件设计Erase指令指令如下所示为FLASH的扇区空间地址,地址空间的大小并不相同,内部状态机通过对A12-A17地址线的译码从而实现扇区的区分。Page 26FLASH软件设计软件设计Program指令指令通过写入编程指令开始编程操作,每写入一个数据需要通过Polling或Toggle方式检测此地址的编程操作是否正常结束,如此循环直到把所有

    18、的数据都写入FLASH。时序上在WE的下降沿锁存编程字节的地址,在WE的上升沿锁存所要编程的字节数据。注意:对于存取单元数据0不能被编程为1(执行此操作可能挂死器件),只有擦除操作才能将数据0转换成1,因此编程前需要先执行擦除操作。Page 27FLASH软件设计软件设计Suspend&Resume指令指令 挂起操作只能用来暂时打断正在进行的Sector擦除操作,从而用来读取和编程另外的Sector,对于Chip擦除和编程操作周期,此命令无效。执行挂起命令后最多经过20us进入挂起状态,进入挂起状态后RY/DY管脚将输出高,且读取挂起Sector空间的地址后返回的DQ7和DQ6都为1(可通过此

    19、判断是否进入挂起状态)。进入挂起状态后即可读取和编程另外的Sector,操作完后可通过Resume指令返回挂起的擦除操作。Page 28FLASH测试指标测试指标信号质量信号质量 在后台执行读写操作,测试相应的控制信号、地址信号、控制信号、VCC电源信号质量。在对FLASH进行编程、擦除时测量VPP电源信号、状态引脚STS、RY/BY的信号质量。对FLASH上下电与主机复位FLASH时,测试复位信号信号质量和脉宽。Page 29FLASH测试指标测试指标读时序读时序Page 30FLASH测试指标测试指标写时序写时序Page 31FLASH测试指标测试指标复位时序复位时序Page 32ESR_

    20、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_to_Flash(flash_addr,CLEAR_STATUS_REGISTERS);Write_to_Flash(flash_addr,READ_FLASH_ARRAY);return 1;。FLASH应用案例应用案例“块块”擦除程序判断不够擦除程序判断不够 Page 33 可以看到程序只是对状态寄存器B

    21、IT.7进行了判断,查询该位可用于判断操作是否完成及是否超时(红色字体)。蓝色字体程序是清状态寄存器的命令,防止指令操作有错后,芯片被“锁定”,程序中没有对SR.5 进行判断,而根据芯片的资料,该位是擦除操作是否正确的标志。忽略了对BIT.5的判断,即使指令操作错误,程序返回值依然为正确。程序的严密性和保护性不够。FLASH应用案例应用案例“块块”擦除程序判断不够擦除程序判断不够 Page 34FLASH应用案例应用案例擦除等待时间不够擦除等待时间不够 某产品单板通过管理通道命令升级线卡单板的Bootrom失败,导致单板Bootrom损坏,单板重启后无法注册。提示写flash失败:Downlo

    22、ad 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 3 occurs error,error Code:11,Error message:write flash fail.Total 2 file(s)matched,0 file(s)download to 3 LPU.但通过系统JTAG方式可以正常升级。因此初步怀疑是

    23、管理通道加载程序有问题。Page 35FLASH应用案例应用案例擦除等待时间不够擦除等待时间不够 经过定位出现写bootrom失败是由于flash擦除失败造成的。此单板flash芯片要求的擦除时间如下所示最大为10s,但程序里的flash擦除时等待的最大时间只有6sec,延长擦除时等待的最大时间后问题解决。由于flash器件的离散性,指令操作时要考虑最坏的情况。Page 36FLASH应用案例应用案例信号错误上拉信号错误上拉#RP为复位/掉电保护管脚,为高电平使能器件的正常操作,为低电平器件进入内部复位状态,并进入掉电模式。原理图审查时发现FLASH的#RP信号由看门狗706输出,经过CPLD

    24、后送给FLASH,并在FLASH侧做了上拉处理。ADM706系统侧CPLDFLASH3.3V4.7K#RPPage 37FLASH应用案例应用案例信号错误上拉信号错误上拉 CPLD加载好之后,从电源上电到它内部的逻辑起作用需要一定的时间,这样706上电输出的200ms的低电平就不能马上传到FLASH芯片。导致FLASH存在数据被改写的可能。CPLD的逻辑在编译时一般将它的IO管脚设置成“HOLD”状态,上电时表现为高阻态。这时#RP信号的状态就取决于外部的上下拉电阻。如果是上拉,那么#RP会跟随3.3V上电,等到CPLD起作用时再置低。因此在器件上下电期间应保证RP#为低电平,将禁止任何写操作

    25、,可以有效的防止数据被误改写。Page 38FLASH应用案例应用案例信号错误上拉信号错误上拉 使用上下拉处理不是低电平有效就上拉,高电平有效就下拉。这要视管脚功能而定,目的是为了提高抗干扰能力,在异常情况下维护电路的正常功能。下面总结出上拉和下拉的使用场合:未使用的输入端,为了避免悬空引入不确定的干扰。如MAX3232,有2路串口电平转换,TX输入要上拉,尤其当只使用一路时另一路的TX输入一定要上拉。输入信号可能处于不可靠的状态时通过上下拉提供可靠的输入。如芯片的读、写、复位、等等所有的控制信号都要考虑上拉或下拉处理。OC、OD必须上拉。OE必须下拉。如I2C的SDA/SCL必须上拉,因为是OD。此外SDA/SCL上拉的电阻大小跟它的速率(100k/400k)有关系。JTAG信号:通用规则是TDI/TMS上拉,TRST/TCK下拉。芯片手册明确要求上拉或者下拉的,以芯片手册为准。Page 39 THE END THE END Question&Answer Question&Answer

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:FLASH原理与应用培训解析课件.ppt
    链接地址:https://www.163wenku.com/p-4829404.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库