版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FLASH存储器的编程模式与兼容性研究摘
要:FLASH存储器是继传统ROM和EPROM之后推出的新型存储器件。它可通过与之相连的微处理器在线编程和擦除,因而十分适合嵌入式系统的设计和开发。文章分析了FLASH存储器的软硬件结构特征,探讨了FLASH存储器在实际应用中遇到的编程模式与兼容性问题。关键词:FLASH存储器;编程模式;兼容性FLASH是一种非易失性的存储器,即在掉电情况下仍能保证数据不丢失。与传统的ROM和E-PROM相比,它可以通过与之相连的微处理器在线编程和擦除,这一优点使得FLASH十分适合嵌入式系统的设计和开发。它不必在调试完成用户代码后再制作PCB,而可以在制板前后反复多次写入测试代码以用于系统的调试,从而大大加快了开发的进度。它的另外一个优点就是系统升级十分方便,设备供应商甚至用户自己都可以从网上下载最新版本的程序代码并载入FLASH中来实现系统的升级。此外,由于程序可以直接在FLASH中运行,因而节省了引导加载步骤,减少了高成本RAM的容量,节省了系统空间和功耗。由于性能和价格方面的优势,FLASH已广泛用于MP3播放器、机顶盒等消费电子产品以及PC机主板的BIOS芯片、CD-ROM、DVD等计算机外设中,甚至在一些网络设备中(比如路由器、防火墙)也有应用。FLASH作为一种半导体新技术,必将促使便携式可重新编程应用系统内部的存储器体系的重大变革[1]。
1硬件结构
FLASH存储器按功能一般可分为两种类型:引导型(BootBlockFlashMemory)和均匀型(UniformBlockFlashMemory)。引导型FLASH的存储单元包括若干大小不等的引导块(BootBlock)、参数块(ParameterBlock)、小的主块(SmallMainBlock)和主块(MainBlock)。引导块一般为16k字节大小,可存放引导程序,用于微处理器的复位运行。它一般都加保护处理,以防止被加电或掉电时出现的脉冲信号错误修改而导致系统无法正常启动。参数块一般为8k字节大小,可存放系统参数。参数块一般容量较小,但擦除和编程速度比较快,适合于升级。小的主块及主块一般分别为32k及64k字节大小。小的主块和部分主块用来存放应用程序,而其余的主块则用来存放用户数据。根据引导块处于高地址区或低地址区的位置不同又可以将其进一步划分为两种类型,其选择主要取决于微处理器的自启地址以及其与FLASH的连接方式。引导型FLASH十分适合作为微处理器的引导单元,以在系统加电后运行引导程序或实现应用程序的加载运行。而均匀型FLASH则由大小相等的主块构成,它仅仅作为微处理器的外扩存储单元。与ROM相比,FLASH的优点主要在于可在线编程。在实际应用中,如果不涉及系统引导,引导型或均匀型在使用上没有太大区别。
FLASH主要与微处理器连接使用,连接方式除增加了控制线和写使能外,其它基本与EPROM类似。按数据访问方式,FLASH又可分为并行访问型、串行访问型和串行NAND访问型。并行访问型FLASH采用并行的数据和地址总线,并支持随机存取。在读数据时,它先将地址送到地址线,然后由控制线向FLASH发出读取指令,最后由FLASH将数据送到数据线。在写数据时,它先将地址和数据送到地址线和数据线,然后由控制线发出编程指令将数据锁存进相应的地址。其中,控制线的指令是向FLASH中的公共接口单元发出的,FLASH可在接到指令后判断微处理器进行何种操作。串行访问型FLASH则采用串行总线,常见的有SPI总线。其中地址和数据都是通过时钟来顺序传送的。串行NAND
访问型FLASH尽管也采用8位并行总线,却不支持随机存取。它的命令字、地址和数据都是以8位并行传送的。一般用于与简单控制器的连接(如用于PC卡的ATA控制器),而不直接和微处理器连接使用。在以上类型中,并行访问型FLASH较为常用。另外,在连接时还要注意速率匹配问题,并应适当也插入等待周期。
FLASH的存储容量常见的有512kb、1Mb、2Mb、4Mb、8Mb、16Mb等,最近又推出更大容量的128Mb、256Mb也有推出。其总线宽度有8位、16位以及32位几种,不少FLASH同时支持多种总线宽度,比如8/16位FLASH可通过管脚BYTE选择8位或16位总线模式。它们在与微处理器连接的时候尤其要注意地址的映射方式,即微处理器内部的地址要转换为FLASH内部的地址,这样FLASH才能正确的接收微处理器发出的指令。假如FLASH地址线为A0~An,对8位总线而言,低地址A0选择奇偶字节,而对16位总线而言,A0则选择奇偶字,对32位总线而言,A0选择奇偶双字。一些8/16位总线FLASH中通常有一个复用管脚A-1/DQ15,该脚一般在8位总线工作时作为最低地址位A-1,而工作在16位总线时作为最高数据位DQ15。
以8、16位总线模式FLASH为例,微处理器与FLASH的连接大致有如图1所示的几种方式。在图1(a)中,MCU按字节寻址,地址一一对应直接相连;在(b)中,MCU按字寻址,其中的两片FLASH,一片用于存储高字节,另一片存储低字节;(c)中的MCU按字节寻址,该方式可利用复用位A-1将FLASH划分成以字节为单位;在(d)中,MCU按字寻址,FLASH以字为单位。当然,上述连接方式也不是唯一的。由于应用方式各异,不同连接方式下的寻址一般来说是不同的。
2软件结构
FLASH的读出如同RAM或EPROM一样不需要特殊的指令,但对FLASH的写入则需要特殊的编程指令序列。通常不直接写入FLASH的主要原因是为了防止加电或去电时产生的脉冲信号写入FLASH而破坏原来的数据。当FLASH焊到电路板上之后,对其编程有两种方式:第一种是通过与板相连的PROM编程器来进行,第二种则是通过微处理器(比如DSP)软件来编程。在第一种方式下,系统通过PROM编程器提供编程电压和编程指令。而在第二种方式下,其编程电压则是经内部的供给泵或DC/DC转换器将低电压上调而产生的,但在第二种方式下,需要根据FLASH支持的指令集编写驱动程序。这两种方式各有优点,但后者更适合于系统的在线升级。如前所述,对FLASH读写数据可以以字节或字为单位独立进行,但在写入之前必须先对所在的块进行删除操作。
除了底层的总线读写操作之外,FLASH还支持一定的指令集。如ST公司的M29F400B定义的片擦除指令10h、读指令F0h、写指令A0h等。不同指令通常要占用长短不一的若干个总线写周期。FLASH中的公共FLASH接口(CommonFLASHInterface)可对控制线的指令进行判断,以识别当前控制线上是属于读指令、写指令或者其它。目前,此接口协议已成为业界的兼容性标准[2],但此接口本身并不占据可寻址的存储空间,它只是存储指令以及执行指令所需要的地址和数据。基于这种结构,FLASH可从第一个总线写周期获得指令且不会破坏特定地址上所存储的数据。而在实际的读写操作中,一般都在每条指令前加入两个编码序列以用于启动公共FLASH接口。
通过公共FLASH接口中的命令集定义,可以解释得到输入的命令字序列,这将使得FLASH工作在读阵列、自动选择、编程/擦除和擦除继续几种模式之一。在读阵列模式下,它相当于ROM,也就是说可以在指定的地址上读取数据。而在自动选择模式下,它可以读取识别号(厂商号和器件号)以及块保护状态标志位。而在编程/擦除模式下,则可以进行编程和擦除,并且可在随后来读取状态寄存器的内容。而在擦除继续模式下,它可在擦除某一块的同图1微处理器与FLASH的连接方式时读取另一块中的数据。FLASH可在不同的命令字序列输入方式下进行各个模式之间的转移。除了读、写和擦除等基本命令字外,FLASH通常还提供一些其它命令字,如用于防止数据被意外改写的加保护和去保护命令,可在执行擦除操作期间响应中断请求的擦除等待和擦除继续命令,另外,还有校验、复位等命令。在每一次命令操作之后,FLASH还可以支持状态寄存器查询,以使用户能够了解命令的执行情况。
除了命令集之外,公共接口还定义了FLASH的块结构、接口参数、厂商属性等一切外部控制软件所需的特征信息,并可以通过写入特定的命令字来进行查询。
3编程模式
由于FLASH存储器的实际应用千差万别,因此FLASH支持的命令集也因器件系列的不同而不同。比如常见的M28和M29两个系列,它们在管脚定义和命令集方面就有较大差异,这就导致了在一种器件上开发的软件无法在另一种器件上直接使用。因此,可以考虑由下而上将整个系统分为如图2所示的4个层次。
图2中,最低层是硬件适配层,该层次主要考虑的是如何与实际的硬件总线协调工作,并为上层提供可调用的读和写等最基本模块。这一层还需要考虑微处理器的地址空间和FLASH的地址空间是如何映射的,以及各自工作在字节、字还是双字模式。理顺了这些关系之后,就可以实现微处理器在指定的FLASH地址位置的读出或是写入指定长度的数据。从底层向上的第二层为FLASH适配层,该层主要是和公共FLASH接口进行通信,任务是向上层提供FLASH可接受的命令集,并由公共FLASH接口负责解释,同时发出一定的响应。这一层需要考虑与FLASH软件结构密切相关的各种功能的支持程度和指令时序,以及各种事件的具体响应和模式转移。该部分可用于决定实际读写擦除的时间开销等性能指标。再往上的第三层为功能适配层,该层功能适配层的功能主要是向上层提供一切读写擦除功能,其命令方式独立于具体的FLASH,它可以以某个数据记录为单位进行读写。这一层需要对FLASH的命令集进行适当的封装,并隔离上层和FLASH之间的直接联系,以使得应用程序开发人员不必了解FLASH的具体细节就可调用各种功能并对其操作。最上层是应用适配层,它面向的是最终应用,可以为普通用户提供高级功能和友好的交互接口。
在图2所示的数据库应用系统中,由硬件适配层提供的三个基本模块FlashWrite()和FlashRead()和FlashPause()分别是总线写、总线读和等待操作。FLASH适配层提供的FlashAutoSelect()、FlashRead-Reset()、FlashBlockErase()、FlashChipErase()、Flash-Program()等几个和实际命令集有关的模块则可分别用于实现进入自动选择模式、进入读阵列模式、块擦除、整片擦除、编程等功能,当然也可以根据实际器件的支持程度增加其它功能模块。功能适配层提供的ReadRecord()、AddRecord()、DeleteRecord()等记录操作模块则用于实现基本的数据库操作。如读记录、添加记录和删除记录等。最后由应用适配层提供诸如查找、排序、身份认证、注销等各种面向用户的功能以及系统实际需要的其它功能。
采用分层的编程模式有利于建立清晰的逻辑结构,增加模块的可重用性。它可使高层应用和底层器件相互独立,并最终提高软件的开发质量,缩短开发周期,同时提供更丰富的应用和更友好的人机互交界面。
4兼容性
所谓兼容性,就是不同层次上的功能模块可以不作修改或者少量修改就可以替代同一层次模块的属性。影响FLASH的最根本因素是其制造工艺,常见的有NOR、DINOR、NAND和AND等几种技术。采用不同制造工艺的FLASH一般是很难兼容的。所以本节讨论兼容性是建立在采用同一制造工艺这一前提下的。按照上文提到的分层模式,大致存在如下几个方面的兼容性问题。
4.1电气兼容性
电气兼容性主要包括管脚连接、封装方式、直流和交流特性、电压和功率要求、数据存储容量、定时匹配要求以及工作温度范围等方面的兼容性内容。不同属性的器件之间是不能直接替换的,其中有些可以通过增加转换电路的方法来实现兼容匹配,而有些则无法实现兼容替换。
4.2命令集兼容性
实际上,公共FLASH接口的标准化正是兼容性的产物,对于同一系列的FLASH产品,其公共接口往往提供兼容的命令集。同时,为了便于日后的升级,也要考虑兼容性,而硬件的兼容则相对于软件的兼容要容易的多。采用公共接口标准可使软件的升级变得十分方便。它可使开发者无需知道具体是哪家厂商的产品就可以调用统一的命令字作高层开发应用。比如AMD公司的Am29F400B和ST公司的M29F400B都属于M29系列,除了设备和生产商的标识号的不同之外,其它功能都是可以互换的[3]。而M28和M29两个系列公共接口的命令集却是不兼容的。Intel公司的FLASH多采用M28系列,因此,无法替代M29系列的Flash存储芯片。
4.3软件兼容性
不同的软件只要做到输入输出的接口标准化,就可以相互调用和替代以实现同样的功能。比如只要知道支持的是M28还是M29系列的Flash芯片,就可以设计相应的模块接口参数,从而使得多方合作开发成为可能。
从分层模式的角度来看,上述几种兼容性由低到高都存在。显然,要达到各个层次完全一致的兼容替代是比较困难的。事实上,只要某一较低层次上满足了兼容性,那么在这一层以上的模块在替代前后根本不需要改变,而这一点要相对容易得多。一般不同厂商生产的不同类型的FLASH芯片带有不同的厂商识别号和器件识别号以选择适当的算法,如果上层要真正做到与具体的FLASH芯片无关,就要处理好识别问题。比如用户可以选用前面提到的Am29F400B或者M29F400B,它们的识别号如表1所列。
那么软件在处理芯片识别问题时,就要同时考虑它们的识别号。假设系统原来是专为Am29F400B设计的,现在需要同时识别M29F400B。则处理器件识别号的代码示
经过上述处理以后,无论用户采用的是Am29F400B还是M29F400B,返回的器件号都是0x22AB。即从上层看来,底层始终采用的是Am29F400B。由于前面提到这两种器件是指令集兼容的,所以这样的处理就可以保证系统无论使用上述哪种FLASH都能正常工作。类似的,也可以将其它不同厂商的可兼容器件进行上述处理以便相互替代。参考文献1.Intel闪速存储器用户指南(上下册).电子工业出版社,2021
2.UseoftheCommonFLASHMemoryInterface.STInc.,Sept.2021
3.DesigningforCompatibilitybetweenSTandAMDFlashMemories.STInc.,Jan.,2021
4.M29W400BDataSheet.STInc.,Nov.,2021
5.Am29F400BDataSheet.AMDInc.,Nov.,2021
论大学生写作能力写作能力是对自己所积累的信息进行选择、提取、加工、改造并将之形成为书面文字的能力。积累是写作的基础,积累越厚实,写作就越有基础,文章就能根深叶茂开奇葩。没有积累,胸无点墨,怎么也不会写出作文来的。写作能力是每个大学生必须具备的能力。从目前高校整体情况上看,大学生的写作能力较为欠缺。一、大学生应用文写作能力的定义那么,大学生的写作能力究竟是指什么呢?叶圣陶先生曾经说过,“大学毕业生不一定能写小说诗歌,但是一定要写工作和生活中实用的文章,而且非写得既通顺又扎实不可。”对于大学生的写作能力应包含什么,可能有多种理解,但从叶圣陶先生的谈话中,我认为:大学生写作能力应包括应用写作能力和文学写作能力,而前者是必须的,后者是“不一定”要具备,能具备则更好。众所周知,对于大学生来说,是要写毕业论文的,我认为写作论文的能力可以包含在应用写作能力之中。大学生写作能力的体现,也往往是在撰写毕业论文中集中体现出来的。本科毕业论文无论是对于学生个人还是对于院系和学校来说,都是十分重要的。如何提高本科毕业论文的质量和水平,就成为教育行政部门和高校都很重视的一个重要课题。如何提高大学生的写作能力的问题必须得到社会的广泛关注,并且提出对策去实施解决。二、造成大学生应用文写作困境的原因:(一)大学写作课开设结构不合理。就目前中国多数高校的学科设置来看,除了中文专业会系统开设写作的系列课程外,其他专业的学生都只开设了普及性的《大学语文》课。学生写作能力的提高是一项艰巨复杂的任务,而我们的课程设置仅把这一任务交给了大学语文教师,可大学语文教师既要在有限课时时间内普及相关经典名著知识,又要适度提高学生的鉴赏能力,且要教会学生写作规律并提高写作能力,任务之重实难完成。(二)对实用写作的普遍性不重视。“大学语文”教育已经被严重地“边缘化”。目前对中国语文的态度淡漠,而是呈现出全民学英语的大好势头。中小学如此,大学更是如此。对我们的母语中国语文,在大学反而被漠视,没有相关的课程的设置,没有系统的学习实践训练。这其实是国人的一种偏见。应用写作有它自身的规律和方法。一个人学问很大,会写小说、诗歌、戏剧等,但如果不晓得应用文写作的特点和方法,他就写不好应用文。(三)部分大学生学习态度不端正。很多非中文专业的大学生对写作的学习和训练都只是集中在《大学语文》这一门课上,大部分学生只愿意被动地接受大学语文老师所讲授的文学经典故事,而对于需要学生动手动脑去写的作文,却是尽可能应付差事,这样势必不能让大学生的写作水平有所提高。(四)教师的实践性教学不强。学生写作能力的提高是一项艰巨复杂的任务,但在教学中有不少教师过多注重理论知识,实践性教学环节却往往被忽视。理论讲了一大堆,但是实践却几乎没有,训练也少得可怜。阅读与写作都需要很强的实践操作,学习理论固然必不可少,但是阅读方法和写作技巧的掌握才是最重要的。由于以上的原因,我们的大学生的写作水平着实令人堪忧,那么如何走出这一困境,笔者提出一些建议,希望能对大学生写作水平的提高有所帮助。三、提高大学生应用写作能力的对策(一)把《应用写作》课设置为大学生的必修课。在中国的每一所大学,《应用写作》应该成为大学生的必修课。因为在这个被某些人形容为实用主义、功利主义甚嚣尘上的时代,也是个人生存竞争最激烈的时代,人们比任何时代都更需要学会写作实用性的文章,比如职场竞争中的求职信,生活中的财经文书、法律文书等,以提高个人的生存竞争能力。(二)端正大学生的学习态度。首先,要让大学生充分认识到实用写作课的重要性,这门课关乎到他人生的每一个方面,诸如就职,求爱,理财,人际交往等,是他终生都需要使用的一些基础性的知识,也是他必备
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人借款合同协议模板
- 普洱茶销售合同模板
- 工程合作项目协议范例
- 分期付款合同2024年
- 专利申请委托协议
- 新版简易房屋租赁合同
- 快递承运合作协议范本
- 技术合同-资源授权协议
- 简单版房屋出租合同范本
- 教育项目合作合同纠纷处理
- 2024年新人教版三年级数学上册《教材练习12练习十二(附答案)》教学课件
- 全国食品安全宣传周诚信尚俭共享食安食品安全课件
- 部编版五年级上册快乐读书吧练习题含答案
- 2024年石家庄市长安区四年级数学第一学期期末复习检测试题含解析
- 2024年中小学“1530”安全教育实施方案
- 生猪屠宰兽医卫生人员考试题库答案(414道)
- 2024-2030年中国高纯锗 (HPGE) 辐射探测器行业运营前景及发展现状调研报告
- 《第三单元 图形化编程之聪明的角色 第1节 广播火箭发射》教学设计-2024-2025学年川教版信息技术(2019)五年级上册
- YY/T 0063-2024医用电气设备医用诊断X射线管组件焦点尺寸及相关特性
- 子宫颈胃型腺癌临床诊治中国专家共识(2024年版)解读
- 导截流设计及施工方案
评论
0/150
提交评论