新聞中心

EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計應(yīng)用 > 單片機(jī)大容量FLASHRAM的擴(kuò)展

單片機(jī)大容量FLASHRAM的擴(kuò)展

作者: 時間:2001-06-19 來源: 收藏

微機(jī)監(jiān)控設(shè)備常常需要對監(jiān)控的數(shù)據(jù)進(jìn)行實(shí)時記錄,以便于事后分析處理,為事故分析、設(shè)備故障診斷和維修提供準(zhǔn)確可靠的信息,如飛機(jī)黑匣子、列車運(yùn)行記錄器等。數(shù)據(jù)信息的記錄需要大數(shù)據(jù)容量和實(shí)時快速的讀寫速度,以及在掉電和復(fù)位等干擾下的可靠的數(shù)據(jù)保護(hù)?,F(xiàn)在一般采用非易失性RAM(NVRAM)為存儲介質(zhì),其缺點(diǎn)是沒有硬件和軟件寫保護(hù),在強(qiáng)干擾下,程序誤寫的概率大。

本文引用地址:http://butianyuan.cn/article/2875.htm

新型閃速FLASHRAM)由于同時具有EPROM的可編程能力和EEPROM的電可擦寫功能,又能像SRAM一樣進(jìn)行隨機(jī)快速訪問,因而越來越多的受到國內(nèi)外的廣泛關(guān)注和應(yīng)用。28SF040是一個容量為512K×8Bit可塊擦除、字節(jié)編程的EEPROM,其擦除、編程電壓均為5V。

1)單電源5V供電

2)容量512K×8Bit

3)數(shù)據(jù)保存時間大于10

4)重復(fù)擦寫次數(shù)典型值100,000

5)可分塊擦除每塊256字節(jié)

6)可進(jìn)行硬件及軟件寫保護(hù)

7)快速讀取時間(150200)ns

其引腳功能如下:A0A18為地址線,A0A7選擇一塊數(shù)據(jù)中的某個字節(jié),A8A18是塊地址。DQ7DQ0為數(shù)據(jù)I/O總線,讀周期輸出數(shù)據(jù),在寫周期接收數(shù)據(jù)。CE為片選線,低電平時芯片被選中。OE為輸出使能端。WE為寫信號使能端。VCC為電源,接+5V;VSS接地。

28SF040是一個容量為512KByteCMOS快速閃存,可塊擦除、字節(jié)編程的EEPROM,與現(xiàn)存的EPROM、EEPROM兼容。它非常適合用在程序和數(shù)據(jù)重復(fù)寫入的場合。對這種系統(tǒng)的應(yīng)用來說,28SF040可提高性能和穩(wěn)定性。

28SF040是大容量并行共計512KByte,80C196全部尋址空間僅為64KByte,因此直接尋址大于64KByte是不行的,需要采用分頁擴(kuò)展技術(shù),即CPU只提供大容量存儲器的低位地址線,如A0A12,而高位地址線A13A18則通過擴(kuò)展的CPUI/O口來分頁尋址。

1中單片機(jī)采用Intel80C196,P1口的P1.0P1.5來控制分頁碼(063)。74HC138譯碼給28SF040的片選,其地址空間為8000H9FFFH(也可以是40005FFFH等其他CPU 8K的地址空間),圖中74HC373為地址鎖存器。

有關(guān)地址描述如下:

[A15,A14,A13]通過138譯碼后形成8KByte空間的譯碼線對28SF040進(jìn)行片選。

28SF040 共有512KByte的空間,可分為648KByte,即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]進(jìn)行頁選。

在數(shù)據(jù)記錄和轉(zhuǎn)儲過程中,有時需要對FLASHRAM特定的地址單元進(jìn)行讀寫操作,如FLASHRAM的軟件寫保護(hù)等。下面以對FLASHRAM的絕對地址15555H單元尋址為例,介紹對特定地址尋址。

15555H是FLASHRAM28SF040的絕對地址,對于CPU來說,其尋址包括兩部分,一是CPU的直接尋址區(qū),即地址線A0~A12,直接和FLASHRAM的地址線A0~A12相接,其值為[1010101010101],另一部分是CPU的譯碼地址,即地址線A13'~A15',沒有和FLASHRAM相接,用于系統(tǒng)譯碼片選FLASHRAM,其值為[100],因此CPU的地址為[1001010101010101]=9555H。

P1口直接和FLASHRAM的A13~A18相接,等于[001010]=0AH。

FLASHRAM的讀寫包括塊擦除(Sector_Erase)、芯片擦除(Chip_Erase)、字節(jié)編程、復(fù)位、讀ID號、軟件數(shù)據(jù)寫保護(hù)、軟件數(shù)據(jù)寫保護(hù)打開。其命令字如下表:

(1)進(jìn)行塊擦除操作首先要寫一個特征字,然后再發(fā)送塊擦除命令。特征字為20H,表明以下將擦除一塊數(shù)據(jù)區(qū)中256個字節(jié)的內(nèi)容。塊擦除命令為20H,其操作在寫信號的上升沿開始。

(2)芯片擦除操作的特征字和命令字均為30H,其操作將擦除28SF040全部內(nèi)容。

(3)字節(jié)編程操作的特征字為10H。

例如,對某一字節(jié)的寫入,應(yīng)首先判斷芯片是否處于寫保護(hù)打開狀態(tài)(Unprotected),然后判斷是否到了新的一頁即下一頁,如果是,先把此頁全部內(nèi)容擦除。然后寫特征字10H,寫數(shù)據(jù)DATA,之后進(jìn)行兩次讀操作,若讀出內(nèi)容相同,則認(rèn)為該字節(jié)已寫入數(shù)據(jù)完成;若D7狀態(tài)跳變,則說明寫過程還未完成。

(4)復(fù)位命令能夠安全地終止擦除或編程命令。在擦除或編程命令后執(zhí)行復(fù)位命令字FFH即能安全終止擦除或編程操作,存儲器的內(nèi)容不會被改變。執(zhí)行復(fù)位命令后,芯片返回讀狀態(tài)。

(5)讀ID號操作的特征字為90H。地址0000H的輸出廠商代碼BFH,地址0001H輸出芯片代碼04H,任何其它有效的命令均會終止這一操作。

(6)軟件數(shù)據(jù)保護(hù)是為了防止對存儲器意外的寫入數(shù)據(jù)或擦除數(shù)據(jù),每一操作都包含兩個命令字,一個為特征字,跟隨一個執(zhí)行命令字。軟件數(shù)據(jù)寫保護(hù)是一個整體的命令字,對芯片的整個存儲陣列有效。

由于FLASHRAM 28SF040具有與單片機(jī)接口簡單、容量大以及非易失的特點(diǎn),所以非常適合于作為便攜式數(shù)據(jù)記錄產(chǎn)品。本文介紹的技術(shù)已經(jīng)成功地用于機(jī)車隨車質(zhì)量狀態(tài)診斷記錄儀,其中擴(kuò)展了兩片28SF040的FLASHRAM,共計8Mbit,對32路機(jī)車運(yùn)行質(zhì)量狀態(tài)參數(shù)每隔5S記錄一次,記錄時間長達(dá)5~6天,在一年半的實(shí)際運(yùn)行中狀態(tài)穩(wěn)定,具有體積小,性能價格比高的特點(diǎn)?!?/font>

存儲器相關(guān)文章:存儲器原理


汽車防盜機(jī)相關(guān)文章:汽車防盜機(jī)原理
頻譜分析儀相關(guān)文章:頻譜分析儀原理


關(guān)鍵詞: 存儲器

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉