基于51單片機的FIash存儲器壞塊自動(dòng)檢測
1 系統設計方案
圖l為Flash存儲器壞塊自動(dòng)檢測系統結構框圖。
本系統設計采用AT89C51自動(dòng)檢測NAND型Flash存儲器的無(wú)效塊,獲取Flash存儲器的壞塊信息,為后續數據存儲做準備。本系統設計包括硬件電路和配套軟件設計2部分。其硬件電路主要由單片機、控制、顯示和存儲器4部分組成,其中單片機部分采用常規的最小系統電路;控制部分由按鍵和單片機的外部中斷組成,按鈕通過(guò)電阻與接地端相連,而復位鍵則與電源端相連;顯示部分采用單片機的P0和P1端口控制8位七段共陽(yáng)極數碼管,位選通端由P2端口控制數據端由Pl控制;存儲器部分與單片機相連,由于存在電平差異,所以需加電平轉換器74LVX42-45,可將由單片機輸出的5 V電壓轉到3 V,并將由Flash輸出的3 V電壓轉到5 V,其轉換方向便于控制。而軟件設計部分采用單片機C語(yǔ)言編寫(xiě)程序,當數據存儲到單片機后,用一個(gè)循環(huán)語(yǔ)句將其放到數組里,這樣可以通過(guò)改變某一變量實(shí)現上下查詢(xún)。則將這個(gè)變量的改變放在外部中斷程序中。
2 硬件電路設計
硬件電路設計由于選用的51單片機是TTL器件,而所要檢測的NAND型Flash存儲器是CMOS器件,這2種類(lèi)型器件的電平不相匹配,因此需增加電平轉換器74154245,從而實(shí)現電壓的5 V與3 V的雙向轉換。
2.1 單片機的連接
為了方便讀圖,該系統設計的電路原理圖中的許多導線(xiàn)連接都采用網(wǎng)絡(luò )標號的方法,而標號的命名基本采用引腳名稱(chēng)。單片機的P1端口的位操作控制Flash的控制端,P0端口作為單片機和Flash的地址和數據傳輸端口。其中數據的流向采用P1.6和P1.7控制,要讀取Flash的數據時(shí),如讀ID時(shí),先對單片機的P1端口位操作,依照時(shí)序設置控制字,接著(zhù)由單片機的PO端口輸出讀取ID的命令,然后設置寫(xiě)地址的控制字,輸入地址00H。讀狀態(tài)時(shí),連續的RE脈沖可輸出ID代碼。頁(yè)讀取操作與此類(lèi)似。圖2為單片機電路連接圖。
2.2 Flash存儲器的連接
K9K8G08UOM是采用NAND技術(shù)的1 GB大容量、高可靠、非易失性Flash存儲器,具有高密度、高性能特點(diǎn)。其無(wú)效塊定義為包含有一個(gè)或更多無(wú)效字節,且其可靠性不能被保證,則無(wú)效塊中的信息稱(chēng)為無(wú)效塊信息。和所有的有效塊一樣,它具有相同的AC和DC參數,一個(gè)無(wú)效塊不會(huì )影響有效塊的運行,因為它有相應獨立的指令資源依靠選擇晶體管,該系統設計必須通過(guò)地址掩蓋其無(wú)效塊。第l塊(地址是OOh)為了保證是有效塊,不要求糾錯l K編程/擦除周期。
除了先裝載好的無(wú)效塊信息,所有器件的存儲單元都被擦除,無(wú)效塊狀態(tài)定義在空余區域的第1個(gè)字節。在每塊第1頁(yè)2 048字節的列地址中沒(méi)有FFh。很多情況下,無(wú)效塊信息也是能擦除的,一旦擦除,它不可能恢復其原有信息。因此,系統必須在原來(lái)無(wú)效塊的信息基礎上認識無(wú)效塊。該系統設計就是通過(guò)讀每塊的第1頁(yè)判定該塊是否為無(wú)效塊。
依據該Flash器件數據資料中各個(gè)引腳的功能,設計Flash的電路連接,圖3只給出K9K8G08UOM部分所用引腳,電路中Flash的控制端經(jīng)電平轉換器后與單片機的Pl端口相連,而I/O端口經(jīng)電平轉換器與單片機的P0端口相連。
2.3 74LVX4245電平轉換器
74LVX4245提供5 V和3 V之間轉換的8位雙向電平轉換器。該器件的T/R引腳控制數據流向。發(fā)射端使數據由A端到B端,而接收端使數據由B端到A端。A端接5 V總線(xiàn),而B(niǎo)端接3 V總線(xiàn),如圖4所示。
評論