專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

S3C2440的NAND Flash控制器

作者:未知   來(lái)源:不詳   點(diǎn)擊數(shù):  更新時(shí)間:2014年05月23日   【字體:

首先還是啟動(dòng)方式NAND Flash的過(guò)程,因?yàn)镹AND Flash是不支持程序在NAND內(nèi)部運(yùn)行的所以要把NAND搬到內(nèi)存中運(yùn)行,由于S3C2440內(nèi)部的SRAM只有4K,當(dāng)程序遠(yuǎn)大于4K時(shí),這種方法是行不通的,于是我們可以讓NAND中4K之后的程序搬到SDRAM中來(lái)運(yùn)行


正如數(shù)據(jù)手冊(cè)上所說(shuō),NOR的價(jià)格較NAND來(lái)說(shuō)比較昂貴,再加上NOR的容量遠(yuǎn)比NAND小的多,再比如NOR一頁(yè)的字節(jié)數(shù)也比NAND大的很多,而要在某個(gè)地址寫(xiě)入數(shù)據(jù),必須先把地址所在的頁(yè)擦除,所以更多的時(shí)候NAND用來(lái)存儲(chǔ)數(shù)據(jù),NOR用來(lái)存儲(chǔ)程序。
 
 

如上圖模型,當(dāng)程序的容量大于4K的時(shí)候,NAND的前4K的程序?qū)?huì)被硬件自動(dòng)引導(dǎo)到2440的SRAM中去執(zhí)行,我們把編寫(xiě)好的SDRAM驅(qū)動(dòng)程序裝入前4K代碼,并初始化使NAND中4K以后的代碼拷貝到SDRAM
 
NAND的接口也和其他的RAM-LIKE芯片大不相同,比如內(nèi)存、網(wǎng)卡等芯片都是有地址線的,他們是由CPU統(tǒng)一編址的,而NAND就不一樣了,它的地址和CPU發(fā)出的地址是不一樣的。
 

上圖就是開(kāi)發(fā)板上外接的NAND Flash,有圖很明顯可以看出,NAND是沒(méi)有地址線的,只有八位的數(shù)據(jù)線,有經(jīng)驗(yàn)的人很快就能聯(lián)想到,NAND正是用這僅有的八條數(shù)據(jù)線來(lái)發(fā)送命令、地址和數(shù)據(jù)的,可謂是一線多用,大大的減少了CPU用來(lái)與它連接的管角,但這也令CPU與NAND的通信變得復(fù)雜多了,可謂有利有弊。
左邊的那些管教就是用來(lái)控制數(shù)據(jù)線的輸入是命令、數(shù)據(jù)還是地址的,不要以為我們要手工控制這些引腳來(lái)告訴NAND這哥們兒我要發(fā)送的是數(shù)據(jù)還是地址啊,除非你用51才會(huì)回到那個(gè)時(shí)代,我們只要操作S3C2440的NAND Flash的內(nèi)部寄存器就可以了,根據(jù)寄存器對(duì)應(yīng)的功能,發(fā)送數(shù)據(jù)的時(shí)候,自然就會(huì)把對(duì)應(yīng)的引腳拉高!
關(guān)閉窗口

相關(guān)文章