IntelStrata系列閉速存儲器的特點及應用_第1頁
IntelStrata系列閉速存儲器的特點及應用_第2頁
IntelStrata系列閉速存儲器的特點及應用_第3頁
IntelStrata系列閉速存儲器的特點及應用_第4頁
IntelStrata系列閉速存儲器的特點及應用_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Intel Strata系列閉速存儲器的特點及應用        摘要:Intel公司推出了Strata系列閉速存儲器,該存儲器單片容量大,可按字節(jié)/字模式或不超過32字節(jié)的緩沖模式編程,并可實現(xiàn)塊擦除過程的掛起和喚醒。在實時數(shù)據(jù)緩沖系統(tǒng)中有著廣泛的應用前景。本文以64M位的28F640J5為例介紹其功能特點,并結(jié)合AT89C52單片機應用系統(tǒng)給出了具體的應用編程。     關(guān)鍵詞:閃速存儲器 存儲塊 掛起 喚醒 完全狀態(tài)檢查 28F640J51 前言閃速存儲器以其容量大、現(xiàn)

2、場可編程、系統(tǒng)斷電后仍能可靠地保存數(shù)據(jù)和性價比高等諸多優(yōu)點而在實時數(shù)據(jù)緩沖及處理系統(tǒng)中顯現(xiàn)出良好的應用前景。但從目前來看,一般閃速存儲器(如ATMAEL公司的29C040A)的容量最多只能達到4M位,且大都采用扇區(qū)編程模式。由于扇區(qū)尺寸較大而且固定(如256字節(jié)),因此,一般應用中需擴展單獨的RAM芯片作編程緩存區(qū),這樣,將需要占用系統(tǒng)地址空間,并增加系統(tǒng)成本1。Intel公司推出的Strata系列閃速存儲器28F640的單片容量可達64M位(8M字節(jié)),能按字節(jié)/字模式或不超過32字節(jié)的緩沖模式進行編程,可對操作結(jié)果進行完全狀態(tài)檢查,并可實現(xiàn)擦除過程的掛起和喚醒等一系列獨特的功能,28F64

3、0的推出為進一步提高應用系統(tǒng)的實時性并降低系統(tǒng)成本提供了可能。本文以28F640J5為例,重點介紹了Strata系列閃速存儲器的功能特點,對28F640J5和ATMAEL公司的29C040A的主要不同點作了總結(jié)性比較,并結(jié)合28F640J5在程控交換機呼叫信息多任務實時緩沖系統(tǒng)中的應用,給出了具體的應用編程技巧。2 28F640J5的引腳配置及功能特點圖1所示為56腳SSOP封裝的28F640J5邏輯引腳配置。28F640J5的主要功能特點為:A0A22共23根地址線允許訪問的地址空間達8M字節(jié),是目前單片容量最大的閃速存儲器芯片之一。64M位容量的存儲單元被劃為固定的64個大小為128k字節(jié)

4、、可獨立進行擦除的存儲塊,單個存儲塊的典型擦除時間為1秒,不支持整片擦除操作。讀寫可配置為按字節(jié)(BYYE#輸入為低,使用DQ0DQ7)或按字(BYTE#輸入為高,內(nèi)部關(guān)閉A0輸入緩沖器,使用DQ0DQ15)進行,可以方便地應用于8位或16位系統(tǒng)設(shè)計。采用多級訪問片選(CE0、CE1、CE2)控制機制,配合RP#及讀/寫允許OE#/WE#控制,可為多片存儲器應用系統(tǒng)的設(shè)計提供很大的靈活性。配置了絕對保護接地引腳VPEN。VPEN接地可以避免對存儲塊的擦除、編程和加解鎖操作,因而增強了數(shù)據(jù)的安全性。配置了復位/掉電引腳RP#。當RP#為低時,將禁止寫操作,這一方面是為防止電源波動破壞數(shù)據(jù),另一方

5、面,使用中動態(tài)地拉低RP#可以實現(xiàn)芯片在無操作期間進入掉電模式,從而達到降低系統(tǒng)功耗的目的。RP#由低高高可使芯片復位,從而自動進入讀陣列模式。而RP#與器件加鎖、塊加鎖命令相配合還可使器件具備靈活安全的軟硬件數(shù)據(jù)保護功能。支持Intel基本命令集、閃速存儲器一般操作命令集和可擴展的命令集,操作規(guī)范、安全、方便。通過向Strata系列閃速存儲器的命令用戶接口(CUI)寫入不同的命令可實現(xiàn)對存儲器相應的操作。支持字節(jié)/字模式或按132字節(jié)的緩沖模式編程,因而在應用系統(tǒng)設(shè)計中一般無需外擴編程緩存RAM芯片。典型編程時間小于200s。如果起始地址與寫緩沖區(qū)的邊界對齊(起始地址的低五位A4A0=000

6、00B),便可獲得最大的編程性能和較低的編程功耗。支持存儲塊擦除過程的掛起和喚醒,使讀取或者編程其它存儲塊的擔任可在某存儲塊擦除的過程中插入進行,從而提高了系統(tǒng)數(shù)據(jù)緩存和處理的實時性能。支持對編程、擦除、加鎖及解鎖操作結(jié)果的完全狀態(tài)檢查,可以及時發(fā)現(xiàn)錯誤并確定錯誤類型。表1總結(jié)了Intel公司28F640J5與ATMAEL29C040A閃速存儲器的主要性能差別。表1 AT29C040與28F640J5的比較                

7、;        芯片性能AT29C040A28F640J5容量(地址線)4M位(A18A0)64M位(A22A0)I/O配置(數(shù)據(jù)線)8位(D7D0)8位或16位(D15D0)擦除方式及時間整片擦除,約20ms單塊擦除,約1s擦除掛起和喚醒不支持支持循環(huán)擦除次數(shù)整片擦除10000次每塊擦除10000次按字節(jié)/字編程不支持支持扇區(qū)編程大小、時間256字節(jié)、典型5ms1到32字節(jié)、典型192s完全狀態(tài)檢查不支持支持部分隨機修改不方便很困難部分清零不方便很方便片選控制單一(CE)靈活(CE2,CE1,CE0)3 28F640J5

8、的應用圖2為筆者開發(fā)的程控交換機呼叫信息實時緩沖系統(tǒng)的應用示意圖。該系統(tǒng)利用2個RS-232C串口通過MODEM分別與交換機(PBX)和緩沖器與桌面系統(tǒng)相連,這樣就能保證將實時接收到的PBX呼叫信息存于閃速存儲器中,而桌面系統(tǒng)可隨時通過專門的軟件與系統(tǒng)進行交互或讀出系統(tǒng)緩存的呼叫信息。整個存儲器空間采用循環(huán)方式,即每個128k存儲塊讀完之后被及時擦除并計入自由空間。由于擦除只能按塊進行,因此,為了使呼叫信息讀出不重復且上電后空閑容量計算正確,每條信息在被正確讀出后應將它的首字符所在的單元清零。這是因為#00H不是呼叫信息,單元內(nèi)容非#FFH時只有清零才能可靠地指示本條信息已讀出。應用時,在軟件

9、響應桌面系統(tǒng)的請求下,系統(tǒng)準備發(fā)送一條新的呼叫信息時就將涉及到存儲器28F640J5的主要操作,下面給出筆者在這種應用時編寫的匯編源代碼。其中待編程信息緩存區(qū)交替使用AT89C52的內(nèi)部RAM的2個16字節(jié)。這里對幾個地址概念作出解釋,按照圖3所示系統(tǒng)中單片機AT89C52與28F640J5的簡化連接,8M字節(jié)的存儲器地址空間配置為000000H7FFFFFH。所謂器件地址指的是這一空間中的任一有效地址,塊地址為指定要操作的存儲塊內(nèi)的任一有效地址,而單元地址是一個唯一具體的字節(jié)或字(A0任意)存儲地址。按照Strata系列閃速存儲器的命令集定義,各種操作必須在相應正確的地址下進行。以下為Int

10、el Strata系列閉速存儲器的應用編程實例的部分源代碼。a-sector-rxed EQU 00H;指示是否有16字節(jié)待編程CrossBlk EQU 01H;指示是否有一個存儲塊待擦除OkFlag EQU 02H;通用標志Erasing EQU 03H;指示塊擦除過程是否結(jié)束Suspended EQU 04H;指示塊擦除過程是否已被掛起B(yǎng)ufCount DATA 30H;編程緩沖區(qū)寫長度計數(shù)器RsecBuf DATA 31H;當前待編程信息緩存區(qū)首地址(如AT89C52內(nèi)部RAM的80H)r4save DATA 14H;以下這三個變量用于保存正在發(fā)送信息的首地址,即保存發(fā)送前讀地址指針r4

11、,r3,r2的值,其目的是提供重發(fā)、設(shè)置已發(fā)標識、塊擦除操作所需地址r3save DATA 13H;r2save DATA 12H;*MAIN:mov SP,#0C0H;初始化堆棧指針;進行系統(tǒng)的初始化工作MainLoop;;其他操作J_ChSumOK: ;以下代碼準備發(fā)出一條新的呼叫信息lcall WRFlash;保證及時緩存來自PBX的信息lcall ClrAChar;將上一條已讀出的信息首單元清零JU_Blk:jnb CrossBlk,Sed New;Clr CrossBlk;lcall Bl_Ers;擦除前一個已讀完的存儲塊Sed_New:lcall RdAddSv;r4save,r3

12、save,r2saver4,r3,r2Co_Sed:lcall HowRd;信息是否已讀空(r7,r6,r5與r4,r3,r2是否相遇)jnb OkFlag,MainLoop;已無信息可發(fā),繼續(xù)主循環(huán)sdcall:lcall SendCall;發(fā)送信息的過程中嵌入調(diào)用“ERFlash”EndMain;ljmp MainLoop;繼續(xù)主循環(huán); 其他操作;*WR_Flash:jnb asectorrxed,EndPro;是否要進行緩沖編程?jnb Erasing,StartPro;是,正在擦除塊lcall Ers_sus;是,掛起塊擦除jb Suspended,StartPro;已掛起,開始編程c

13、lr Erasing;塊擦除已完成StartPro:lcall Wr_buf;對當前寫地址緩沖區(qū)編程jnb Erasing,No_Sus;塊擦除已完成?lcall Res_sus;否,喚醒當前塊擦除操作No_Sus:; 更新寫地址指針EndPro:ret;*ClrAChar:mov pl,r4save;發(fā)布字節(jié)編程命令(器件地址)Mov a,#40h;movxdptr,a;mov dph,r3save;清零單元的單元地址mov dpl,r2saveclr amovx dptr,a:寫入編程字節(jié)#00Hxtt:movx a,dptr:讀狀態(tài)寄存器(器件地址)jnb acc.7,xtt;檢查編程是

14、否結(jié)束?EndAClr:lcall FullChk;編程已結(jié)束,做完全狀態(tài)檢查Ret;*Wr_buf:mov th0,#0a0h; r7,r6,r5為寫地址指針mov t10,#00h;clr TF0;設(shè)置Timeout=16msrep_WC:mov pl,r7;發(fā)布緩沖區(qū)編程命令(塊內(nèi)地址)mov a,#0E8h;movx dptr,a;movx a, dptr;讀擴展狀態(tài)寄存器(XSR)jb ACC,7,StratWr;緩沖區(qū)有效,轉(zhuǎn)去編程jnb TF0,rep_WC;否,但Timeout未發(fā)生,繼續(xù)發(fā)布命令;發(fā)生Timeout,不能進行緩沖區(qū)編程PassIt;mov a,#70H; 發(fā)布

15、讀SR命令Movx dptr,aSjmp RdSR;StsrtWr:mov a,#16;Mov BufCount,a;設(shè)置循環(huán)寫入次數(shù)為16Dec aMovx dptr,a; 寫入(緩沖區(qū)長度-1)Mov r0,RsecBuf;指定當前源數(shù)據(jù)緩存區(qū)超始地址Mov dph,r6,設(shè)置前具體編程目標起始地址Mov dpl,r5;d-o_wr:mov a,r0;循環(huán)從源讀數(shù)據(jù),然后寫入目標單元地址movx dptr,a;zx;inc dpl,inc r0;djnz a3r4,do_wr;Confirm:mov a,#0D0H; 確認緩沖區(qū)編程Movx dptr,a;Rd_SR:movx a,dptr

16、;讀SR,檢查編程是否結(jié)束Jnb ACC.7,Rd-SR;Lcau FullChk;已結(jié)束,對結(jié)果做完全狀態(tài)檢查Exit_Pro:ret;*Bl_Ers:mov pl,r4save;Mov a,#20h; 發(fā)布塊擦除命令(器件地址)Movx dptr,a;Mov a,#0D0H;確認擦除法操作(塊內(nèi)地址)Movx dptr,a;Setb Erasing;設(shè)置正在進行塊擦除指示標志Rpt_Rd3:lcall WR_Flash;必要時可掛起擦除,實現(xiàn)編程Jnb Erasing,End_Ers;擦除過程已完成?Mov pl,r4save; 否,發(fā)布讀SR命令Movx a,dptr;Jnb ACC.7

17、,rpt_Rd3;擦除過程已完成?Clr Erasing;清除設(shè)置正在進行塊擦除指示標志End_Ers:lcau FullChk;做完全狀態(tài)檢查Ret;*Ers_sus;clr Suspended;Mov pl,r4save;Mov a,#0B0h;發(fā)布塊擦除掛起命令(器件地址)Movx dptr,a;Rpt_rdl:movx a,dptr;讀SRJnb ACC.7,rpt_rdl;Jnb ACC.6,TodArray;塊擦除過程被成功掛起或已結(jié)束?Pended:Setb Suspended;是,設(shè)置擦除過程掛起指示標志ToRdArray:mov a,#0FFh;回到讀陣列單元模式(器件地址)Movx dptr,a;Ers0k; ret;*Res_sus:mov pl,r4sav

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論