隨著電子技術飛速發(fā)展,智能電子產品隨處可見,如PC機、移動電話、PDA、數(shù)碼相機、游戲機、數(shù)字電視等,而諸如此類的電子產品的核心器件往往離不開存儲器。無論是從存儲器的物理結構、存儲容量、數(shù)據讀寫速度、可靠性、耐用性,還是產品的實用性方面。其種類繁多。然而由于種種原因,越來越多的電子產品采用數(shù)據傳輸快、容量大的NAND型FLASH存儲器。雖然NAND型FLASH具有許多優(yōu)點,但其有隨機產生不可避免的壞塊,如果不能很好解決該壞塊將導致高故障率。因此,這里提出一種基于DSP的FLASH存儲器壞塊自動檢測系統(tǒng)。
1 系統(tǒng)設計方案
圖l為FLASH存儲器壞塊自動檢測系統(tǒng)結構框圖。
本系統(tǒng)設計采用AT89C51自動檢測NAND型FLASH存儲器的無效塊,獲取FLASH存儲器的壞塊信息,為后續(xù)數(shù)據存儲做準備。本系統(tǒng)設計包括硬件電路和配套軟件設計2部分。其硬件電路主要由單片機、控制、顯示和存儲器4部分組成,其中單片機部分采用常規(guī)的最小系統(tǒng)電路;控制部分由按鍵和單片機的外部中斷組成,按鈕通過電阻與接地端相連,而復位鍵則與電源端相連;顯示部分采用單片機的P0和P1端口控制8位七段共陽極數(shù)碼管,位選通端由P2端口控制數(shù)據端由Pl控制;存儲器部分與單片機相連,由于存在電平差異,所以需加電平轉換器74LVX42-45,可將由單片機輸出的5 V電壓轉到3 V,并將由FLASH輸出的3 V電壓轉到5 V,其轉換方向便于控制。而軟件設計部分采用單片機C語言編寫程序,當數(shù)據存儲到單片機后,用一個循環(huán)語句將其放到數(shù)組里,這樣可以通過改變某一變量實現(xiàn)上下查詢。則將這個變量的改變放在外部中斷程序中。
2 硬件電路設計
硬件電路設計由于選用的51單片機是TTL器件,而所要檢測的NAND型FLASH存儲器是CMOS器件,這2種類型器件的電平不相匹配,因此需增加電平轉換器74154245,從而實現(xiàn)電壓的5 V與3 V的雙向轉換。
2.1 單片機的連接
為了方便讀圖,該系統(tǒng)設計的電路原理圖中的許多導線連接都采用網絡標號的方法,而標號的命名基本采用引腳名稱。單片機的P1端口的位操作控制FLASH的控制端,P0端口作為單片機和FLASH的地址和數(shù)據傳輸端口。其中數(shù)據的流向采用P1.6和P1.7控制,要讀取FLASH的數(shù)據時,如讀ID時,先對單片機的P1端口位操作,依照時序設置控制字,接著由單片機的PO端口輸出讀取ID的命令,然后設置寫地址的控制字,輸入地址00H。讀狀態(tài)時,連續(xù)的RE脈沖可輸出ID代碼。頁讀取操作與此類似。圖2為單片機電路連接圖。
2.2 FLASH存儲器的連接
K9K8G08UOM是采用NAND技術的1 GB大容量、高可靠、非易失性FLASH存儲器,具有高密度、高性能特點。其無效塊定義為包含有一個或更多無效字節(jié),且其可靠性不能被保證,則無效塊中的信息稱為無效塊信息。和所有的有效塊一樣,它具有相同的AC和DC參數(shù),一個無效塊不會影響有效塊的運行,因為它有相應獨立的指令資源依靠選擇晶體管,該系統(tǒng)設計必須通過地址掩蓋其無效塊。第l塊(地址是OOh)為了保證是有效塊,不要求糾錯l K編程/擦除周期。
除了先裝載好的無效塊信息,所有器件的存儲單元都被擦除,無效塊狀態(tài)定義在空余區(qū)域的第1個字節(jié)。在每塊第1頁2 048字節(jié)的列地址中沒有FFh。很多情況下,無效塊信息也是能擦除的,一旦擦除,它不可能恢復其原有信息。因此,系統(tǒng)必須在原來無效塊的信息基礎上認識無效塊。該系統(tǒng)設計就是通過讀每塊的第1頁判定該塊是否為無效塊。
依據該FLASH器件數(shù)據資料中各個引腳的功能,設計FLASH的電路連接,圖3只給出K9K8G08UOM部分所用引腳,電路中FLASH的控制端經電平轉換器后與單片機的Pl端口相連,而I/O端口經電平轉換器與單片機的P0端口相連。
作者:王新舜 張存善 韓力英 楊振華 來源:電子設計工程