您的位置 首页 传感器

大容量NOR Flash与8位单片机的接口规划

Flash存储器又称闪速存储器,是20世纪80年代末逐渐发展起来的一种新型半导体不挥发存储器。它兼有RAM和ROM的特点,既可以在线擦除、改写,又能够在掉电后保持数据不丢失。NOR Flash是Fla

引 言

Flash存储器又称闪速存储器,是20世纪80年代末逐步发展起来的一种新式半导体不蒸发存储器。它兼有RAM和ROM的特色,既能够在线擦除、改写,又能够在掉电后坚持数据不丢掉。NOR FlashFlash存储器中最早呈现的一个品种,与其他品种的Flash存储器比较具有以下优势:可靠性高、随机读取速度快,能够单字节或单字编程,答应CPU直接从芯片中读取代码履行等。因而NOR Flash存储器在嵌入式体系使用开发中占有十分重要的位置。本文以SST公司的NOR Flash芯片SST39SF040和MCS-51单片机为例,针对大容量NORFlash在8位等级低单片机中使用的特殊性,详细介绍了其接口硬件和接口软件的规划办法。

1 SST39SF040芯片介绍

SST39SF040是SST公司最近推出的一种依据SuperFlash技能的NOR Flash存储器,归于SST公司并行闪速存储器系列;适用于需求程序在线写入或大容量、非易失性数据重复存储的场合。

1.1 芯片内部功用结构和外部引脚

图1是SST39SF040的内部功用结构框图,由Super-Flash存储单元、行译码器、列译码器、地址缓冲与锁存器、输入/输出缓冲和数据锁存器以及操控逻辑电路等部分组成。图2是其外部引脚分布图,其间A18~A0为地址线,CE为芯片选通信号,OE可作为读信号,WE为写信号,DQ7~DQ0为数据线。

1.2 芯片的首要特性

① 容量为512 KB,按512K×8位结构组织。

② 选用单一的5 V电源供电,编程电源VPP在芯片内部发生。

③ 芯片可重复擦写100 000次,数据保存时刻为100年。

④ 作业电流典型值为10 mA,待机电流典型值为30μA。

⑤ 扇区结构:扇区巨细一致为4 KB。

⑥ 读取、擦除和字节编程时刻的典型值:数据读取时刻为45~70 ns;扇区擦除时刻为18 ms,整片擦除时刻为70 ms;字节编程时刻为14μs。

⑦ 有记载内部擦除操作和编程写入操作完结与否的状况标志位。

⑧ 具有硬、软件数据维护功用。

⑨ 具有地址和数据锁存功用。

1.3 芯片的操作

1.3.1 芯片的软件操作指令序列

SST39SF040的软件操作能够分红两类:普通读操作和指令操作。

普通读操作十分简略,与RAM的读操作相似,当OE和CE信号一起为低电平时,即可从芯片读出数据。

芯片的指令操作包含芯片的辨认、字节编程、扇区擦除以及整片擦除等。这些操作别离由各自的软件操作指令序列来完结,如表1所列。其间,BA为待编程字节的地址,Data为字节编程数据,SAX为待擦除扇区的地址。指令中的地址只需低15位有用,高4位可任意设置为“0”或“1”。

SST39SF040的软件操作指令序列实际上是由一个或多个总线写操作组成的。以SST39SF040的扇区擦除为例,其操作过程包含3个过程:第1步,敞开擦除办法,用表1中给出的第1至第5周期的总线写操作来完结;第2步,装载扇区擦除指令(30H)和待擦除扇区的地址,用其对应的第6周期的总线写操作来完结;第3步,进行内部擦除。内部擦除时刻最长为25 ms。

总线写操作时,OE有必要坚持为高电平,CE和WE应为低电平。地址和数据的锁存由CE和WE两个信号的边缘进行操控。它们傍边后呈现的下降沿将锁存地址,先呈现的上升沿将锁存数据。

1.3.2 字节编程和擦除操作的状况检测

芯片在进行内部字节编程或擦除操作时都需求花费必定的时刻,尽管能够选用固定的延时来等候这些操作的完结,但为了优化体系的字节编程和擦除操作时刻,以及时判别内部操作的完结与否,SST39SF040供给了两个用于检测的状况位,即跳变位DQ6和数据查询位DQ7。在芯片进行内部操作时,只需依据图3的流程对DQ6或许DQ7进行查询就能及时作出判别。

2 SST39SF040与MCS-51的接口规划

2.1 硬件规划

硬件规划便是建立适宜的接口电路,将SST39SF040衔接到MCS-51的体系总线上。依据SST39SF040和MCS-51系列单片机的结构特性,咱们发现SST39SF040的数据线和读、写信号线能够很容易地衔接到MCS-51的体系总线上,所以要考虑的首要问题是SST39SF040地址线的衔接。因为其容量现已超出了MCS-51的寻址规模,19根地址线无法悉数衔接到MCS-51的地址总线上,因而有必要在该体系中进跋涉一步的存储器扩展。存储器扩展一般可利用单片机闲暇的I/O口线作为页面地址输出引脚来完结。可是许多使用体系傍边,单片机的I/O口线都是十分严重的,在没有剩余的I/O口线时,页面地址就有必要提早从数据总线输出并存放在锁存器中备用。详细做法是:将锁存器直接挂在数据总线上,为其组织一个I/O地址,然后构成页面寄存器,在拜访存储器时,提早将页面地址作为数据写入页面寄存器即可。

依据以上剖析可规划出SST39SF040与MCS-51之间的接口电路,如图4所示。本体系中,将512 KB的存储器分为32页面,每页巨细为16 KB。由此可得,页面地址需求5位,页内偏移量需求14位。页面地址的给出是在进行存储器拜访之前完结的,详细的办法是:用一条“MOVX’指令将页面地址输出到锁存器74LS374中,再由74LS374将页面地址坚持在存储器的地址引脚A14~A18上。页内偏移量则直接在存储器的读写指令中给出,履行指令时,低8位地址A0~A7从P0口输出到74LS373中坚持;地址A8~A13则由单片机的P2.0~P2.5直接供给。以上分时输出的地址信号A0~A18将在读/写操控信号开端作用后,一起有用,以完结对SST39SF040的512KB全地址空间的拜访。P2.6和P2.7别离用作SKT39SF040和锁存器74LS374的片选信号,SST39SF040的片选信号地址规模是8000H~BFFFH,74LS374的片选信号地址规模是4000H~7FFFH。

2.2 软件规划

软件规划便是编写对SST39SF040的操作程序,包含字节读出、扇区或整片擦除以及字节编程等。下面给出第1个扇区的擦除程序,其间DELAY25为25 ms延时子程序,其他操作程序可参照编写。

程序编写过程中的难点是,如何将SST39SF040中待拜访的单元地址进行分化并对应到读写指令中去。以扇区擦除操作的第1个指令为例,该指令的功用是将数据AAH写入地址5555H中。关于地址5555H,其最高5位A18~A14是01H,低14位A13~A0为1555H。最高5位地址决议的页面号有必要先作为数据写入锁存器74LS374中,再将数据AAH写入该页中由低14位地址决议的单元。写入页面号时,指令中的地址可在4000H~7FFFH规模内任选一个,即选中锁存器74LS374;写人数据AAH时,指令中的地址可由低14位地址1555H加上8000H得到,其值为9555H。

第1扇区擦除程序代码如下:

结 语

本文从硬件和软件两个方面对大容量NOR Flash存储器与8位单片机的接口技能进行了剖析、讨论,给出了详细的规划方案。其思维和办法对嵌入式体系的使用规划具有较高的参考价值,笔者已将它使用到一款考勤机产品的规划开发傍边。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部