




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、SPI串行Flash在數(shù)據(jù)存儲系統(tǒng)中的應(yīng)用摘要:ATMEL公司生產(chǎn)的串行Flash AT45系列存儲器的容量已達到了16Mb,常用于數(shù)據(jù)存儲系統(tǒng)。文中以AT45D041為例,詳細介紹了該系列Flash存儲器的命令集以及串行SPI接口的應(yīng)用方法,并給出了相應(yīng)的模式時序。 關(guān)鍵詞:SPI Flash Buffer 中斷 AT45D041 1 概述 在目前所有的非易失性存儲器(PROM、EPROM、EEPROM和F lash)中,唯有Flash存儲器幾乎擁有現(xiàn)今講究個性化的用戶所需的所有特點,它具有掉電數(shù)據(jù)不丟失、快速數(shù)據(jù)存取速度、電可擦除、容量大、在線可編程、價格低廉以及足夠多的擦除、容量大、在線
2、可編程、價格低廉以及足夠多的擦寫次數(shù)(一百萬次)和較高的可靠性等諸多優(yōu)點,因而已為新一代嵌入式應(yīng)用(如數(shù)字相機和MP3播放機)的首選存儲器?,F(xiàn)在FLASH的成本已低于PROM/EPROM,可以肯定,它將很快占鄰PROM/EPROM市場,MASK(掩膜)ROM盡管在大指生產(chǎn)時具備一定的價格優(yōu)勢,但其升級不便的弱點將隨著今后FLASH成本的進一步降低,而使得MASK ROM的前景并不樂觀。 ATMEL生產(chǎn)的Flash AT45系列中的AT45D041為單5V供電的SPI接口器件,其封裝形式有PLCC、TSOP和SOIC三種,圖1給出了該器件采用SOIC封裝形式的管腳排列和說明。 AT45D041的
3、內(nèi)部結(jié)構(gòu)如圖2所示。該器件有2048頁(每頁264字節(jié))內(nèi)存(Flash Memory,也叫主存Main Memory)和兩具Buffer(每個Buffer為264字節(jié)的SRAM組成。數(shù)據(jù)可以直接寫入閃存,也可以選寫入Buffer,然后再將Buffer的數(shù)據(jù)整個復(fù)制到閃存的某一天,也可以在閃存正處于編程時(頁編程時間典型值7ms)將數(shù)據(jù)寫入Buffer。以下是該器件的一些特點: 一頁主存?zhèn)魉偷紹uffer的典型時間為80s; 有效電流的典型值為15mA,空閑電流為20A; 最大時鐘頻率為10MHz; 具有硬件擦、寫保護功能,當WP腳為低時,前256頁鈄禁止編程。 輸入輸出與CMOS和TTL電平
4、兼容; 具有商業(yè)和工業(yè)兩種溫度范圍; 可單周期重編程(包括擦除和編程); 帶有串行接口,讀寫操作時地址會自動增1; 復(fù)位時將終止正在進行的操作,當復(fù)位管腳恢復(fù)高電平時,操作也可以恢復(fù); 傳送數(shù)據(jù)時,高位(MSB)在前。 2 操作命令介紹 對AT45D041的操作一共有18條命令,表1所列為AT45D041的操作命令集。其中:表1 AT45D041的操作命令集 讀主存 52H rrr PA10PA0 BA8BA0 32個× 讀Buffer1 54H ×××× 11個× BFA8BFA0 8個× 讀Buffer2 56H
5、15;××× 11個× BFA8BFA0 8個× 主存?zhèn)魉偷紹uffer1 53H rrrr PA10PA0 9個× 主存?zhèn)魉偷紹uffer2 55H rrrr PA10PA0 9個× 主存與Buffer1比較 60H rrrr PA10PA0 9個× 主存與Buffer2比較 61H rrrr PA10PA0 9個× 寫B(tài)uffer1 84H ×××× 11個× BFA8BFA0 寫B(tài)uffer2 87H ××××
6、 11個× BFA8BFA0 帶擦除的Buffer1傳送到存 83H rrrr PA10PA0 9個× 帶擦除的Buffer2傳送到主存 86H rrrr PA10PA0 9個× 不帶擦除的Buffer1傳送到主存 88H rrrr PA10PA0 9個× 不帶擦除的Buffer2傳送到主存 89H rrrr PA10PA0 9個× Buffer1為緩沖對主存編程 82H rrrr PA10PA0 BA8BA0 Buffer2為緩沖對主存編程 85H rrrr PA10PA0 BA8BA0 Buffer1為緩沖自動重編程 28H rrrr PA
7、10PA0 9個× Buffer2為緩沖自動重編程 59H rrrr PA10PA0 9個× 讀狀態(tài)寄存器 57H r為保留位,AD45D041用0代替,容量更大的器件一般可能會用到; ×為無關(guān)位(0或1均可,為了占時鐘位); PA10PA0用來指定頁地址,對AT45D041而言,一共有2048頁,占11位; BA8BA0用來指定內(nèi)字節(jié)的起始地址,每頁264字節(jié),占9位; BFA8BFA0用來指定緩沖區(qū)內(nèi)字節(jié)的起始地址,緩沖區(qū)也是264字節(jié); 52H61H、82H-89H分別是用來區(qū)別不同操作的命令字。執(zhí)行命令時,首先通過SPI串口往Flash發(fā)送一連串的數(shù)據(jù),然
8、后以命令字開頭,除了“讀狀態(tài)寄存器”外,后面還要跟上頁地址和頁內(nèi)的字節(jié)地址發(fā)及一些無關(guān)位?!白x主存”時,首先需要往Flash發(fā)送64bit的命令,即:命令字52(8bit)+4個“r”+頁地址(11bit)+頁內(nèi)字節(jié)的起始地址(9bit)+32個無關(guān)位,發(fā)送完這64bit(通常是組合成8個字節(jié))命令后,緊跟著從Flash讀數(shù)據(jù)以可以了(即后面的SCK信號使得數(shù)據(jù)從SO腳移出),每讀出一個字節(jié),字節(jié)地址自動加1,如遇到該頁的末尾,只要有SCK信號,系統(tǒng)再加到該頁的開關(guān)處讀數(shù)據(jù)。在整個操作過程中,CS腳始終為“0”;當CS腳回到“1”時,將終止此次操作,SO腳恢復(fù)到高阻狀態(tài)。 主存?zhèn)魉偷紹uffe
9、rx是指將2048頁主存中的任何一頁(由PA10PA0決定)的內(nèi)容復(fù)制到緩沖區(qū),發(fā)送完32bit命令后,當CS腳由“0”為“1”后,數(shù)據(jù)的復(fù)制才真正開始。 主存與Bufferx的比較主要是看主存中的某一頁與緩沖區(qū)是否一樣,當CS腳回到“1”后,比較才開始進行,比較的結(jié)果(是否一樣)記錄在狀態(tài)寄存器的bit6中。 把帶擦除的Bufferx傳送到主存就是將緩沖區(qū)的內(nèi)容復(fù)制到主存中的某一頁,復(fù)制前應(yīng)將緩沖區(qū)的內(nèi)容復(fù)制到主存中的某一頁,復(fù)制前應(yīng)將主存中的該頁數(shù)據(jù)全部擦掉,所有這些操作只有等到CS腳回到“1”后才能進行。對于不帶擦除的Bufferx傳送到主存的操作,在命令執(zhí)行前,指定的主存頁必須已被擦除
10、過。 以Bufferx為緩沖為主存編程就是將“寫B(tài)ufferx”與“帶擦除的Bufferx傳送到主存”進行組合。在發(fā)送完命令后,寫入Flash的數(shù)據(jù)將被寫入到緩沖區(qū)內(nèi),如果遇到緩沖區(qū)末尾,要繼續(xù)寫入的數(shù)據(jù)又從緩沖區(qū)開頭寫入,直到CS腳由“0”到“1”后,主存中被指定的頁的數(shù)據(jù)被擦除后再將緩沖區(qū)的數(shù)據(jù)整個復(fù)制到主存的指定頁中。3 狀態(tài)寄存器及操作完成指示 一般向Flash發(fā)送57H后以可讀出狀態(tài)寄存器(移出時,高位在前),狀態(tài)寄存器的位定義如表2所列。其中Bit7為“0”表示器件忙,為“1”表示可以接收新的命令;Bit6是比較結(jié)果位,為“0”表示主存與緩沖區(qū)的數(shù)據(jù)一樣,為“1”時表示最少有一個b
11、it不同;Bit5Bit3為該系列器件的容量指示位,一共種8種容量,對于AT45D041來說,該區(qū)域為“011”;Bit2Bit0未使用。一共蛾6種操作會使器件處于“忙”狀態(tài),這6種操作是: 主存?zhèn)魉偷紹ufferx; 主存與Bufferx比較; 帶擦除的Bufferx傳送到主存; 不帶擦除的Bufferx傳送到主存; Bufferx為緩沖對主存編程; Bufferx為緩沖自動重編程。 這6種操作均需要監(jiān)視狀態(tài)寄存器,以便知道操作是否完成。除了監(jiān)視狀態(tài)寄存器外,更好的方法是將芯片管腳RDY/BUSY與CPU的某個中斷相連,并將中斷設(shè)置為升沿觸發(fā),操作一完成即可觸發(fā)中斷,這樣可能節(jié)省大量的CPU
12、時間。 4 SPI接口及應(yīng)用 4.1 SPI接口 串行外圍接口一共有4種操作模式,圖3為其時序圖。這些操作模式?jīng)Q定了傳送與接收的時鐘相位和極性,換句話說,也就是這些模式?jīng)Q定了利用時鐘信號的哪個沿來控制數(shù)據(jù)傳判斷的方向。這些模式一般由主機(CPU)來設(shè)置。 當CPOL=0時,時鐘信號SCK在空閑時為“0”,即模式0和1; 如果CPOL=1,則SCK在空閑時為“1”,即模式2和3; 當CPHA=CPOL時,數(shù)據(jù)總在時鐘信號的上升沿移進Flash,下降沿移出Flash,即模式0和3。4.2 SPI接口應(yīng)用 對于12位的數(shù)據(jù)采集系統(tǒng),使用AD公司的Flash集成MCU芯片ADUC812可使電路設(shè)計更加
13、簡單快捷。由于ADUC812有一個與I2C兼容的SPI接口,所以與AT45系列的Flash接口只需將相應(yīng)的管腳相連即可,只不過要將ADUC812設(shè)為主機,而AT45D041自然以是從機了。在ADUC812中有SPI控制寄存器(SPICON)與SPI數(shù)據(jù)寄存器(SPIDAT),數(shù)據(jù)寄存器的使用如同使用RS232的Buffer一樣簡單,控制寄存器的位定義如表3所列?,F(xiàn)對其各個位定義進行說明: ISPI:SPI中斷位,在每次傳送過錯SPIDAT中的數(shù)據(jù)后,置“1”; WCOL:寫沖突錯誤標志位,在寫保護狀態(tài)下編程會導(dǎo)致該位置“1”; SPE:SPI允許控制位,為“0”時禁止; SPIM:主從模式選擇
14、位,為“1”時選擇主機; CPOL:時鐘極性選擇,為“0”時,將使CLK在空閑時為低電平; CPHA:時鐘相位選擇,為“0”時,在時鐘上升沿被鎖存; SPR1、SPR0:SPI波特率選擇位,BITRATE=Fose/4,8,32,64?!?0”選擇除以4。 4.3 SPI操作模式選擇 AT45系列的Flash支持SPI模式0和3,并且在每個CS信號的下降沿,可通過采樣時鐘信號的狀態(tài)自動選擇操模式。由于在上電或復(fù)位時器件將自動進入缺省的模式3,所以使用械比較可靠。在ADUC812的應(yīng)用中,選擇模式0和3對“寫”Flash沒有差別,但在“讀”Flash時,選擇模式0會使從Flash讀出的數(shù)據(jù)總?cè)鄙僖粋€bit,這可能是模式0中數(shù)據(jù)有效的時間比較靠后的緣故。圖4和圖5分別是模式0和模式3的“讀主存”時序圖,由時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年住宅小區(qū)建筑外墻涂料工程合同
- 2025年二手房交易定金合同策劃范例
- 2025年供水管道鋪設(shè)工程合同協(xié)議書樣本
- 2025年商務(wù)大廈辦公室租賃合同
- 2025年個人經(jīng)營性貸款居間服務(wù)合同樣本
- 2025年工程招投標協(xié)助合同標準
- 2025年銷售代理協(xié)議合同范本
- 2025年三角高炮維護維修合同
- 2025年室內(nèi)家具設(shè)計策劃授權(quán)合同樣本
- 標準房屋租賃代理合同2025年文本
- 一年級下冊《讀讀童謠和兒歌》試題及答案共10套
- CHZ 3002-2010 無人機航攝系統(tǒng)技術(shù)要求(正式版)
- 免拆底模鋼筋桁架樓承板圖集
- 尋夢環(huán)游記(Coco)中英文臺詞對照
- 重點關(guān)愛學(xué)生幫扶活動記錄表
- 改革后-topik考試作文紙
- 父母委托子女保管存款協(xié)議書
- 產(chǎn)品設(shè)計與開發(fā)的系統(tǒng)工程方法
- 初中物理核心素養(yǎng)培養(yǎng)
- 預(yù)防留置針脫落
- 痛風(fēng)護理疑難病例討論
評論
0/150
提交評論