大容量NOR Flash与8位单片机的接口设计
根据以上分析可设计出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位单片机的接口技术进行了分析、探讨,给出了具体的设计方案。其思想和方法对嵌入式系统的应用设计具有较高的参考价值,笔者已将它应用到一款考勤机产品的设计开发当中。
- 存储器分类汇总,DRAM/EPROM/NAND FLASH这些行业名词你真的知道吗?(07-03)
- 如何选择最佳汽车应用闪存(08-27)
- 车载MP3中Flash文件系统的设计与应用(11-11)
- F1aSh存储器在TMS320C3X系统中的应用(11-11)
- ARM硬件设计一:电源和时钟 (02-27)
- C8051Fxxx程序丢失问题的分析(11-20)