資源描述:
《Nand Flash存儲(chǔ)結(jié)構(gòu)及控制方法.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、NandFlash存儲(chǔ)結(jié)構(gòu)及控制方法(K9F1G08)??2011-02-2615:05:59
2、??分類(lèi):默認(rèn)分類(lèi)
3、??標(biāo)簽:mini2440??nandflash??k9f1g08??
4、字號(hào)?訂閱一、NANDFlash介紹和NANDFlash控制器的使用NANDFlash在嵌入式系統(tǒng)中的作用,相當(dāng)于PC上的硬盤(pán)常見(jiàn)的Flash有NORFlash和NANDFlash,NORFlash上進(jìn)行讀取的效率非常高,但是擦除和寫(xiě)操作的效率很低,容量一般比較??;NANDFlash進(jìn)行擦除和寫(xiě)操作的效率更高,并且容量更大。一般NORFlash用于存
5、儲(chǔ)程序,NANDFlash用于存儲(chǔ)數(shù)據(jù)。1)NANDFlash的物理結(jié)構(gòu)筆者用的開(kāi)發(fā)板上NANDFlash型號(hào)是K9F1G08,大小為128M,下圖為它的封裝和外部引腳I/O0-I/O7???????數(shù)據(jù)輸入/輸出CLE???????命令鎖存使能ALE???????地址鎖存使能CE???????芯片使能RE???????讀使能WE???????寫(xiě)使能WP???????寫(xiě)保護(hù)R/B???????就緒/忙輸出信號(hào)Vcc???????電源Vss???????地N.C???????不接?K9F1G08功能結(jié)構(gòu)圖如下?K9F1G08內(nèi)部結(jié)構(gòu)有下
6、面一些功能部件①X-BuffersLatches&Decoders:用于行地址②Y-BuffersLatches&Decoders:用于列地址③CommandRegister:用于命令字④ControlLogic&HighVoltageGenerator:控制邏輯及產(chǎn)生Flash所需高壓⑤NandFlashArray:存儲(chǔ)部件⑥D(zhuǎn)ataRegister&S/A:數(shù)據(jù)寄存器,讀、寫(xiě)頁(yè)時(shí),數(shù)據(jù)存放此寄存器⑦Y-Gating⑧I/OBuffers&Latches⑨GlobalBuffers⑩OutputDriverNANDFlash存儲(chǔ)單元
7、組織結(jié)構(gòu)圖如下:K9F1G08容量為1056Mbit,分為65536行(頁(yè))、2112列,每一頁(yè)大小為2kb,外加64字節(jié)的額外空間,這64字節(jié)的額外空間的列地址為2048-2111命令、地址、數(shù)據(jù)都通過(guò)IO0-IO7輸入/輸出,寫(xiě)入命令、地址或數(shù)據(jù)時(shí),需要將WE、CE信號(hào)同時(shí)拉低,數(shù)據(jù)在WE信號(hào)的上升沿被NANDFLash鎖存;命令鎖存信號(hào)CLE、地址鎖存信號(hào)ALE用來(lái)分辨、鎖存命令或地址。K9F1G08有128MB的存儲(chǔ)空間,需要27位地址,以字節(jié)為單位訪問(wèn)Flash時(shí),需要4個(gè)地址序列?2)NANDFlash訪問(wèn)方法NANDFl
8、ash硬件連接如下圖:?NANDFlash和S3C2440的連線包括,8個(gè)IO引腳,5個(gè)使能信號(hào)(nWE、ALE、CLE、nCE、nRE)、1個(gè)狀態(tài)引腳(R/B)、1個(gè)寫(xiě)保護(hù)引腳(nWP)。地址、數(shù)據(jù)和命令都是在這些使能信號(hào)的配合下,通過(guò)8個(gè)IO引腳傳輸。寫(xiě)地址、數(shù)據(jù)、命令時(shí),nCE、nWE信號(hào)必須為低電平,它們?cè)趎WE信號(hào)的上升沿被鎖存。命令鎖存使能信號(hào)CLE和地址鎖存使能信號(hào)ALE用來(lái)區(qū)別IO引腳上傳輸?shù)氖敲钸€是地址。?命令字及操作方法???????操作NANDFlash時(shí),先傳輸命令,然后傳輸?shù)刂?,最后讀寫(xiě)數(shù)據(jù),這個(gè)期間要檢查
9、Flash的狀態(tài)。K9F1G08容量為128MB,需要一個(gè)27位的地址,發(fā)出命令后,后面要緊跟著4個(gè)地址序列。下圖為K9F1G08的命令字下圖為K9F1G08的地址序列K9F1G08有2112列,所以必須使用A0-A11共12位來(lái)尋址,有65535行,所以必須使用A12-A27共16位來(lái)尋址。?3)S3C2440NANDFlash控制器介紹NANDFlash的讀寫(xiě)操作次序如下:①設(shè)置NFCONF配置NANDFlash②向NFCMD寄存器寫(xiě)入命令③向NFADDR寄存器寫(xiě)入地址④讀寫(xiě)數(shù)據(jù):通過(guò)寄存器NFSTAT檢測(cè)NANDFlash的狀態(tài)
10、,在啟動(dòng)某個(gè)操作后,應(yīng)該檢測(cè)R/nB信號(hào)以確定該操作是否完成、是否成功。?下面介紹這些寄存器:①NFCONF:配置寄存器???????用來(lái)設(shè)置NANDFlash的時(shí)序參數(shù),設(shè)置數(shù)據(jù)位寬,設(shè)置是否支持其他大小的頁(yè)等。②NFCONT:控制寄存器???????用來(lái)使能NANDFlash控制器、使能控制引腳信號(hào)nFCE、初始化ECC,鎖定NANDFlash等功能③NFCMD:命令寄存器???????用來(lái)發(fā)送Flash操作命令④NFADDR:地址寄存器???????用來(lái)向Flash發(fā)送地址信號(hào)⑤NFDATA:數(shù)據(jù)寄存器???????讀寫(xiě)此寄存器
11、啟動(dòng)對(duì)NANDFlash的讀寫(xiě)數(shù)據(jù)操作⑥NFSTAT:狀態(tài)寄存器???????0:busy,1:ready?二、NANDFlash控制器操作實(shí)例:讀Flash1)讀NANDFlash的步驟①設(shè)置NFCONF???????