1、內(nèi)部結(jié)構(gòu)介紹:S29系列nor flash 內(nèi)部是由多個扇區(qū)構(gòu)成的,每個扇區(qū)容量大小相同,不同容量的flash其實就只是扇區(qū)數(shù)量不同,其他命令和時序是一樣的。如下圖:
2、引腳介紹
;A[25:0]:這些就是地址引腳,容量不一樣地址位數(shù)就不一樣。1Gb:地址位26bit;512Mb:地址位25bit;256Mb:地址位24bit;128Mb:地址位23bit;怎么計算的呢?例如1Gb:A[25:0]就是2的26次方個地址,每個地址可以存16bit地址,也就是2的4次方,兩個相乘,就是2的30次方=1kb的3次方=1Gb。
DQ[15:0]:表示flash的數(shù)據(jù)引腳,用于和flash傳輸數(shù)據(jù),要存進(jìn)flash的數(shù)據(jù)就是通過這些引腳傳輸?shù)摹Q15/A-1:這是一個復(fù)用引腳,可以表示數(shù)據(jù)位D[15],也可以表示地址A【-1】,也就是最低位,還要排在A0的右邊(高位在左,低位在右),只有在數(shù)據(jù)模式選擇為8bit時才會復(fù)用為地址。數(shù)據(jù)被減小了一倍,從一個地址存16bit變?yōu)榇?bit。為了保持容量大小不變,地址就應(yīng)擴大一倍,所以才會出現(xiàn)DQ15被復(fù)用的情況,因為在8bit數(shù)據(jù)模式下,傳輸數(shù)據(jù)用不著它。數(shù)據(jù)位只使用低8位。
CE#:flash芯片的片選信號,低有效,要控制它必須先選中,也就是將該位置0。(一般信號名后帶#的都表示低電平有效)
OE#:flash的輸出使能,也就是說想要flash輸出數(shù)據(jù)必須要OE使能(OE#=0);具體低電平保持時間多長后面講時序的時候說。
WE#:flash的輸入使能,也就是說想要往flash里面寫入數(shù)據(jù)必須要WE使能(WE#=0);
VCC、VIO、VSS、NC:這些引腳代碼里面用不著,設(shè)計代碼的不用管,排查問題的時候就需要看一下這些引腳有沒有連對。
RY/BY#:這個就是flash的ready和busy信號,就是準(zhǔn)備好、忙信號。高電平時就是ready有效,表示準(zhǔn)備好了,可以去操作它。低電平就是busy有效,表示flash正在忙,這個時候就不能再去操作它了。
BYTE#:這個就是控制數(shù)據(jù)模式的引腳,低電平就是byte模式,也就是一次傳輸8bit。高電平就是字模式,一次傳輸16bit數(shù)據(jù)。
RESET#:引腳復(fù)位管腳,硬件電路控制,寫代碼時不用管。
WP#/ACC:寫保護、寫加速。上拉接vcc就可以了,如果出現(xiàn)flash寫不進(jìn)去數(shù)據(jù),也可以看看是不是被寫保護了。
NOR flash很重要的一個知識點:
“0” 無法編程回 “1”。后續(xù)讀取顯示數(shù)據(jù)仍為 “0”。只有擦除操作能使 “0” 恢復(fù)回 “1”。就是說默認(rèn)擦除后里面存的數(shù)據(jù)全是FFFF,每次操作直接都要進(jìn)行擦除操作,讓它所有為返回1,編程也就是寫入操作,只能讓1變成0。如果里面存儲的是0,就只有擦除操作才能讓它變?yōu)?;和其他存儲器件不同的地方就在這里,其他器件如eeprom sdram寫入數(shù)據(jù)可以直接覆蓋,但是 nor flash不行。
詳細(xì)資料參考數(shù)據(jù)手冊,數(shù)據(jù)手冊下載推薦立創(chuàng)商城搜那個器件,里面就可以直接下載(不是打廣告,分享給大家比較方便的辦法)立創(chuàng)商城_一站式電子元器件采購自營商城_現(xiàn)貨元器件交易網(wǎng)-嘉立創(chuàng)電子商城
如上圖,框出來的兩個地方,搜器件名字,下面點擊數(shù)據(jù)手冊就可以直接下載。文章來源:http://www.zghlxwxcb.cn/news/detail-665097.html
好了,這次就寫到這里,有人看的話就繼續(xù)更新。文章來源地址http://www.zghlxwxcb.cn/news/detail-665097.html
到了這里,關(guān)于BPI FLASH S29GL01GP、 S29GL512P、 S29GL256P、 S29GL128P NOR flash介紹,與FPGA代碼編寫(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!