原创 单片机大容量FLASHRAM的扩展

2009-8-13 08:54 1851 7 7 分类: MCU/ 嵌入式
微机监控设备常常需要对监控的数据进行实时记录,以便于事后分析处理,为事故分析、设备故障诊断和维修提供准确可靠的信息,如飞机“黑匣子”、列车“运行记录器”等。数据信息的记录需要大数据容量和实时快速的读写速度,以及在掉电和复位等干扰下的可靠的数据保护。现在一般采用非易失性RAM(NVRAM)为存储介质,其缺点是没有硬件和软件写保护,在强干扰下,程序误写的概率大。

新型闪速存储器(FLASHRAM)由于同时具有EPROM的可编程能力和EEPROM的电可擦写功能,又能像SRAM一样进行随机快速访问,因而越来越多的受到国内外的广泛关注和应用。28F040是一个容量为512K×8Bit可块擦除、字节编程的EEPROM,其擦除、编程电压均为5V。电子园51单片机学习网3Vm&dV+r


美国SST公司FLASHRAM28S040的性能特点及技术参数6136_2009040720094710I5f.gif电子园51单片机学习网@Yq:eQ'n3ae


(1)单电源5V供电

&T7b2@RM9z8l44606

(2)容量512×8Bit电子园51单片机学习网:[VFs I*ad


(3)数据保存时间大于10年

,t1\xI$WAW44606

(4)重复擦写次数典型值100,000次电子园51单片机学习网"l)pT#x K ?


(5)可分块擦除每块256字节

eJ1X ~.}1d44606

(6)可进行硬件及软件定写保护电子园51单片机学习网mOT1bp8VE


(7)快速读取时间(150~200)ns电子园51单片机学习网-RV:dE3W.xx#_[


其引脚功能如下:A0~A18为地址线,A0~A7选择一块数据中的某个字节,A8~A18是块地址。DQ7~DQ0为数据I/O总线,读周期输出数据,在写周期接收数据。CE为片先线,低电平时芯片被选中。OE为输出使能端。WE为写信号使能端。VCC为电源,接+5V;VSS接地。电子园51单片机学习网xt3^}^ ]BL-yNa


28SF040是一个容量为512Kbyte的CMOS快速闪存,可块擦除、字节编程的EEPROM,与现存的EPROM、EEPROM兼容。它非常适合用程序和数据重复写入的场合。对这种系统的应用来说,28SF040可提高性能和稳定性。电子园51单片机学习网v_p5R&{ \)t.LT


FLASHRAM与80C196单片机接口实例

hSTp$xv_44606

28SF040 是容量并行存储器共计512Kbyte,而80C196全部寻址空间仅为64Kbyte,因此直接寻址大于64Kbyte的存储器是不行的,需要采用分而扩展技术,即CPU只提供大容量存储器的低位地址线,如A0~A12,而高位地址线A13~A18则通过扩展的CPU的I/O口来分页寻址。电子园51单片机学习网)bg&y"P)n3o6v,tS


1.分页扩展28SF040原理框图

H`2{+k$vV44606

图1中单片机采用Intel垢80C196,其P1口的P1.0~P1.5来控制分页码*(0~63)。74HC138译码给28SF040的片选,其地址空间为8000H~9FFFH(也可以是4000~5FFFH等其他CPU 8K的地址空间),图中74HC373为地址锁存器。电子园51单片机学习网;NnJHf?'e
点击看大图
mg D![VI.n44606电子园51单片机学习网C5j:Q6Mhs

电子园51单片机学习网 h\oe9Fyk

   有关地址描述如下:

G#xU*vyM#MGab"K44606

[A15,A14,A13]通过138译码后形成8Kbyte空间的译码线对28SF040进行片选。

P:LcWc44606

28SF040 共512Kbyte的空间,可分为64个8Kbyte,即64页,每页8Kbyte的空间。其中,28SF040的[A12,A11,…,A0]地址线直接与CPU的[A12,A11,…,A0]相接,高位地址线[A18,A17,A16,A15,A14,A13]通过CPU P1口的[P1.5,P1.4,P1.3,P1.2,P1.1,P1.0]进行页选。

+su*@Z}-{44606

2.FLASHRAM指定空间的寻址电子园51单片机学习网-Pd q5h]"F { |-_pc


在数据记录和转储过程中,有时需要对FLASHRAM特定的地址单元进行读写操作,如FLASHRAM的软件写保护等。下面以对FLASHRAM的红外线对地址15555H单元寻址为例,介绍对特定地址寻址。

;Z+N` ]J l,B6u44606

15555H 是FLASHRAM28SF040的绝对地址,对于CPU来说,其寻址包括两部分,一是CPU的直接寻址区,即地址线A0~A12,直接和 FLASHRAM的地址线A0~A12相接,其值为[1010101010101],另一部分是CPU的译码地址,即地址线A13'~A15',没有和 FLASHRAM相接,用于系统译码片选FLASHRAM,其值为[100],因此CPU的地址为[1001010101010101]=9555H。电子园51单片机学习网\$K](j@ Z


P1口直接和FLASHRAM的A13~A18相接,等于[001010]=0AH。电子园51单片机学习网 h*rbYi8x7b5E


FLASHRAM的软件操作

Jg'a`Tk#D44606

FLASHRAM的读写包括块擦除(Sector_Erase)、芯片擦除(Chip_Erase)、字节编程、复位、读ID号、软件数据写保护、软件数据写保护打开。其命令字如下表:电子园51单片机学习网J]5H^R F%]

电子园51单片机学习网:qPP@IJQ


命  令命令字
块擦除20H
芯片擦除30H
字节编程10H
复位FFH
读ID号90H
电子园51单片机学习网d5W6Q5J#I U_QQ;K

(1)进行块擦除操作首先要写一个特征字,然后再发送块擦除命令。特征字为20H,表明以下将擦除一块数据区中256个字节的内容。块擦除命令为20H,其操作在写信号的上升沿开始。电子园51单片机学习网facu:`(Vg0D


(2)芯片擦除操作的特片字和命令字均为30H,其操作将擦除28SF040全部内容。电子园51单片机学习网c,K*Y]-LK ]


(3)字节编程操作的特征字为10H。电子园51单片机学习网'Usk F6}


例如,对某一字节的写入,应首先判断芯片是否处于写保护打开状态(Unprotected),然后判断是否到了新的一页即下一页,如果是,先把此页全部内容擦除。然后写特征字10H,写数据DATA,之后进行两次读操作,若读出内容相同,则认为该字节已写入数据完成;若D7状态跳变,则说明写过程还未完成。电子园51单片机学习网XM#M-L+s


(4)复位命令能够安全地终止擦除或编程命令。在擦除或编程命令后执行复位命令字FFH即能安全终止擦除或编程操作,存储器的内容不会被改变。执行复位命令后,芯片返回读状态。电子园51单片机学习网)k.P2q1~D?f0I


(5)读ID号操作的特征字为90H。地址0000H的输出厂商代码BFH,地址0001H输出芯片代码04H,任何其它有效的命令均会终止这一操作。电子园51单片机学习网$K Nu T1PP)Zn


(6)软件数据保护是为了防止对存储器意外的写入数据或擦除数据,每一操作都包含两个命令字,一个为特片字,跟随一个执行命令字。软件数据写保护是一个整体的命令字,对芯片的整个存储阵列有效。电子园51单片机学习网0{S8|,~n'P@w2p h7h


结论

"|Gtc2psu[K#Q44606

由于FLASHRAM 28SF040具有与单片机接口简单、容量大以及非易失的特点,所以非常适合于作为便携式数据记录产品。本文介绍的技术已经成功地用于机车随车质量状态诊断记录仪,其中扩展了两片28F040的FLASHRAM,共计8Mbit,对32路机车运行质量状态参数每隔5S记录一次,记录时间长达5~6天,在一年半的实际运行中状态稳定,具有体积小,性能价格比高的特点。

sQvD{]?U44606
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条