基于單片機的FIash存儲器壞塊自動檢測
2.4 數碼管
采用共陽極數碼管動態顯示方式。為了提高驅動能力,采用三極管驅動,用P2端口的低電平對數碼管進行位點亮,P0端口輸入要顯示的字符。本系統設計時,第l位和第2位顯示第幾個壞塊,后3位顯示無效塊地址。
3 系統軟件設計
采用μVision2集成開發環境,μVision2支持8051的所有Keil工具包,其中包括C編輯器、宏匯編器、鏈接器,定位器和目標文件至HEX格式的轉換器。系統軟件設計,即單片機代碼設計通常可采用匯編語言或C語言。圖5是無效塊判斷的主要流程。
本設計中軟件核心部分是存儲器的頁讀取函數。函數中定義無符號整型變量賦值2 048,依據頁讀取的時序,先將讀指令00H由函數Writ-eCommand寫入Flash的命令寄存器,接著由WriteAddress函數將4個周期的地址寫入Flash的地址寄存器,再由WriteCommand函數將讀命令30H寫入Flash指令寄存器,延時后讀狀態的控制字的設置,在2 048個讀信號脈沖中讀取緩存數據。該函數完整源程序代碼如下:
4 結論
本設計滿足系統設計要求,能夠實現對Flash存儲器的ID號的讀取,準確讀取存儲器無效塊的數目和相應的物理地址,通過功能按鈕實現對無效塊地址的上下查詢。將存儲器換成fLash后可以很好地檢測器件的無效塊的分布情況。可以成為選擇性能更好的器件工具,同時還可準確獲取無效塊地址,為以后數據存儲打好基礎。
評論