当前位置:首页 > 单片机 > 单片机
[导读]  引 言  Flash存储器又称闪速存储器,是20世纪80年代末逐渐发展起来的一种新型半导体不挥发存储器。它兼有RAM和ROM的特点,既可以在线擦除、改写,又能够在掉电后保持数据不丢失。  NOR Flash是Flash存储器中

  引 言

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

  NOR Flash是Flash存储器中最早出现的一个品种,与其他种类的Flash存储器相比具有以下优势:可靠性高、随机读取速度快,可以单字节或单字编程,允许CPU直接从芯片中读取代码执行等。因此NOR Flash存储器在嵌入式系统应用开发中占有非常重要的地位。本文以SST公司的NOR Flash芯片SST39SF040和MCS-51单片机为例,针对大容量NORFlash在8位低档单片机中应用的特殊性,详细介绍了其接口硬件和接口软件的设计方法。

  1 SST39SF040芯片介绍

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

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

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

  1.2 芯片的主要特性

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

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

  ③ 芯片可反复擦写100000次,数据保存时间为100年。

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

  ⑤ 扇区结构:扇区大小统一为4KB。

  ⑥ 读取、擦除和字节编程时间的典型值:数据读取时间为45~70 ns;扇区擦除时间为18ms,整片擦除时间为70ms;字节编程时间为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步,进行内部擦除。内部擦除时间最长为25ms。

  总线写操作时,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为25ms延时子程序,其他操作程序可参照编写。

  程序编写过程中的难点是,如何将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。

  结 语

  本文从硬件和软件两个方面对大容量NORFlash存储器与8位单片机的接口技术进行了分析、探讨,给出了具体的设计方案。其思想和方法对嵌入式系统的应用设计具有较高的参考价值,笔者已将它应用到一款考勤机产品的设计开发当中。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

中国北京(2025年9月10日)—— 业界领先的半导体器件供应商兆易创新GigaDevice(股票代码 603986)亮相于深圳国际会展中心举办的第26届中国国际光电博览会(展位号:12C12),全面展示GD25 SPI...

关键字: 光通信 MCU Flash

在嵌入式系统中,Flash存储器因其非易失性、高密度和低成本特性,成为代码存储和关键数据保存的核心组件。然而,MCU驱动Flash读写时,开发者常因对硬件特性理解不足或操作流程疏忽,陷入性能下降、数据损坏甚至硬件损坏的陷...

关键字: MCU驱动 Flash

深圳2025年4月24日 /美通社/ -- 4月23日,2025上海国际车展盛大启幕,全球汽车产业的目光聚焦于这场科技与创新的盛宴。在众多展示亮点中,汽车AI+应用无疑是最大的热点之一,“驾控超级大脑”技术概念、车机交互...

关键字: GB EMMC Flash PS

在自动驾驶、机器人与工业检测领域,激光雷达作为环境感知的核心传感器,其技术路线正从机械式向固态化演进。MEMS、OPA与Flash作为固态激光雷达的三大主流架构,分别通过微机电系统、光学相控阵与泛光面阵技术实现扫描与探测...

关键字: MEMS OPA Flash

在嵌入式系统开发中,外部存储介质的选择和管理至关重要。SPI Flash以其高容量、低功耗、高速率等特点,成为众多嵌入式设备的首选存储方案。然而,如何高效管理SPI Flash存储,避免数据丢失、提高读写性能,是开发者必...

关键字: 嵌入式SPI Flash LittleFS

STM32单片机作为一种高性能、低功耗的嵌入式微控制器,广泛应用于各种电子设备中。在实际应用中,为了扩展存储空间或实现数据的持久化存储,经常需要使用外部FLASH存储器。本文将详细介绍STM32单片机如何读写外部FLAS...

关键字: STM32 Flash

在嵌入式系统和存储设备领域,Flash和EEPROM(电可擦可编程只读存储器)因其非易失性存储特性而被广泛应用。这些存储设备能够在断电后保持数据,对于需要长期保存配置参数、程序代码或用户数据的应用来说至关重要。然而,关于...

关键字: Flash EEPROM
关闭