您的位置 首页 新能源

Flash硬件接口和程序设计中的关键技术

闪速存储器(Flash Memory)以其集成度高、制造成本低、使用方便等诸多优点广泛地应用于办公设备、通信设备、医疗设备、家用电器等领域。介绍了Flash的使用方法,并给出了单片机与闪速存储器接口和

闪速存储器(Flash Memory)以其集成度高、制作成本低、运用方便等许多长处广泛地运用于办公设备、通讯设备、医疗设备、家用电器等范畴。运用其信息非易失性和能够在线更新数据参数特性,可将其作为具有必定灵活性的只读存储器运用。

在单片机运用体系中,常常遇到大容量的数据存储问题。闪速存储器因为容量大、存储速度快、体积小、功耗低一级许多长处,而成为运用体系中数据存储器的首选。可是,因为单片机的资源有限,而闪速存储器的品种和作业方式又千差万别,因而在单片机与闪速存储器的接口电路和程序规划中,有许多要害技术问题需求处理。

  
单片机与闪速存储器的接口电路应留意的问题有:

  (1)许多单片机的作业电压为+5V,而许多闪速存储器却作业在1.8~6V之间,有些闪速存储器(Flash Memory)的擦除电压又作业在12V。

  (2)8位的单片机许多,而闪速存储器许多是16位的。

  (3)同一类型的闪速存储器因为厂家不同,引脚的界说是不相同的,例如Intel公司的28F008BV与AMD公司的29LV008有许多引脚是不相同的。

  
单片机与闪速存储器的程序规划应留意的问题有:

  (1)不同厂家的闪速存储器运用不同的操作指令集,软件要依据不同厂家的闪速存储器运用不同的操作指令集。

  (2)许多闪速存储器内部存储结构和时刻参数是不同的。因为闪速存储器内部都是分红不同巨细存储块,在对闪速存储器进行擦除操作时,软件要依据不同类型的闪速存储器调整被擦除存储块的巨细等参数。一起,因为不同类型的闪速存储器时刻参数是不同,软件要依据闪速存储器的时刻参数来调整读写和擦除操作的时刻。

  针对上面遇到的问题,咱们从硬件和软件两个方面来考虑单片机与闪速存储器运用体系中应处理的要害技术问题。


1 单片机与闪速存储器硬件接口的要害技术

  出产闪速存储器的半导体公司首要有美国的Intel、AMD公司和日本的Sharp、Fujitsu公司,这四家公司出产的闪速存储器的商场占有比例相当大。表1列出了四家公司出产的首要类型的闪速存储器的性能指标。

从表1中能够看出,不同厂家的闪速存储器的作业电压和编程擦除电压是不相同的,一起数据位的长度也是不相同的。因为目前国内运用最广泛的单片机仍然是8位的MCS-51系列单片机,16位的单片机品种比较少,并且作业电压在低电压(2.7~3.6V)的单片机又是屈指可数。能否用商场上常见的一般8位单片机来规划一个与大多数闪速存储器接口的电路呢?答案是必定的。咱们用一般的8位单片机AT89C52规划了一个与闪速存储器TE28F160B3的接口电路,AT89C52是ATMEL公司出产的与MCS-51系列单片机兼容的8位单片机,它内部有一个16K 的E2PROM程序存储器,它的作业电压是5V。TE28F160B3是INTEL公司出产的容量为16M位、数据总线宽度为16位的闪存存储器,它的作业电压为2.7~3.6V。需求指出的是,尽管TE28F160B3的作业电压为2.7~3.6V,可是其各引脚的最大作业电压规模却在-0.5V~5.0V,各引脚高电平最高作业电压不能超过5.5V,这样就使得咱们能够运用AT89C52来规划与TE28F160B3的接口电路。该接口电路如图1所示。

因为AT89C52是8位单片机,而TE28F160B3是16位数据总线,咱们运用了两片74HC244和两片74HC373来完结8位和16位的数据转化。当AT89C52往TE28F160B3写数据时,首要单片机将高8位数据写入到锁存器74HC373-1中。其间74HC373-1锁存信号W373由译码器GAL16V8输出,然后单片机开端履行对TE28F160B3写数据操作,低8位数据由AT89C52的P0口直接写入TE28F160B3,而锁存在74HC373-1中的高8位数据经过缓冲器74HC244-1写入到TE28F160B3的DQ8~DQ15总线上。当AT89C52从TE28F160B3读数据时,读出的高8位数据先锁存到74HC373-2上,然后经过缓冲器74HC244-2读入到AT89C52中。TE28F160B3的存储容量为16M位,有20根地址线A0~A19,而AT89C52总共才有16根地址线。因而运用AT89C52的地址线A15、A14和A13经译码作为两片74HC244、两片74HC373和TE28F160B3的锁存信号和片选信号。这样地址线只剩下A0~A12,为此运用一片计数器74HC4040作为地址线A13~A19,从而就处理了AT89C52的寻址问题。

  TE28F160B3的供电电源Vcc与AT89C52相同,均接+5V直流电源。可是TE28F160B3的编程电压和擦除电压Vpp有必要接+12V。

图1的单片机运用了商场上常见的AT89C52,但在规划中咱们引荐运用宽电压规模作业的单片机AT89LV52和地址译码器ATF16LV8,这样就能够运用+3V左右的供电电源。

  在出产闪速存储器的半导体公司Intel、AMD、Sharp和Fujitsu中,Intel和Sharp公司的闪速存储器的引脚是相同的,AMD和Fujitsu公司的闪存存储器的引脚是相同的。所以Intel和AMD公司的闪速存储器是不能交换的,假如要交换有必要经过一个接口板进行转接。

2 单片机与闪速存储器程序规划的要害技术

  因为出产闪速存储器的半导体公司很多,即使是同一公司的闪速存储器也是类型很多、千差万别。为使程序规划尽可能地适用于大多数的闪速存储器,需留意以下几个要害技术。

2.1 器材主动辨认

  器材主动辨认要辨认出器材运用的指令集、内部阵列结构参数、电气和时刻参数及器材所支撑的功用。器材主动辨认的办法有两种:假如闪速存储器支撑CFI功用,能够直接经过CFI取得器材的各种参数;假如闪速存储器不支撑CFI功用,能够写器材辨认指令,然后从器材中读取产品的出产厂家和器材代码,依据出产厂家和器材代码从程序中树立的器材参数表中读取器材的各种参数。器材主动辨认的流程图如图2所示。

正确辨认器材之后,就能够依据器材的指令集对器材进行各种操作。对闪速存储器的一切操作都是经过芯片的指令用户接口CUI完结的。经过CUI写入不同的操控指令,闪速存储器就从一个作业状况转移到另一个作业状况。其首要的作业状况是:读存储单元操作、擦除操作和编程操作。

2.2 读存储单元操作

  在闪速存储器芯片上电今后,芯片就处于读存储单元状况,也能够经过写入复位指令进入读存储单元状况,读存储单元的操作与SRAM相同。

2.3 擦除操作

  在对闪速存储器芯片编程操作前,有必要确保存储单元为空。假如不空,有必要对闪速存储器芯片进行擦除操作。因为闪速存储器选用模块分区的阵列结构,使得各个存储模块能够被独登时擦除。当给出的地址是在模块地址规模之内且向指令用户接口写入模块擦除指令时,相应的模块就被擦除。要确保擦除操作的正确完结,有必要考虑以下几个参数:(1)该闪速存储器芯片的内部模块分区结构。(2)擦除电压Vpp。(3)整片擦除时刻和每个模块分区的擦除时刻参数。上面三个参数在器材辨认中取得。

2.4 编程操作

  闪速存储器芯片的编程操作是主动字节编程,既能够次序写入,也可指定地址写入。编程操作时留意芯片的编程电压Vpp和编程时刻参数,这两个参数也能够在器材辨认中取得。


结语:

  
上面,咱们给出了单片机与闪速存储器硬件接口电路和软件编程规划中应留意的要害技术问题。硬件上首要考虑芯片的作业电压和编程电压,软件上要考虑到器材的内部结构、运用指令集和时刻参数等要素。跟着闪速存储器器材朝着容量越来越大、作业电压越来越低、支撑一起的接口标准的方向开展,将会使闪速存储器硬件接口和软件编程规划越来越简单,也会使闪速存储器的运用愈加广泛。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/198859.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部