基于FPGA的K9F4G08 Flash控制器設計
4 FPGA下裝驗證結果
采用FPGA開發板進行驗證。此開發板的硬件資源包括Cyclone的FPGA:EP1C12Q240C、3片Flash:K9F4G08、1片USB總線控制芯片:CH372。利用FPGA控制CH372,可以完成FPGA與PC通過USB進行數據收發[6]。
在PC上用VB軟件編寫了調試軟件[7],利用該軟件可以通過USB口向FPGA發送指令,從而完成對任意Flash頁的讀、寫及全擦。
首先進行Flash全擦,讀取B0P0即可看到匹配表。從匹配表中找到一個壞塊的地址對其寫入2 KB的數據,然后斷電再上電,讀取該壞塊地址,比較寫入與讀出的數據發現完全一致,從而驗證了本設計的壞塊管理和壞塊匹配方法的正確性。通過軟件操作,對普通好塊的讀寫也是正確的,這里就不再說明了。
本文用FPGA主狀態機直接管理controller_4G08、controller_4G08控制芯片的設計方案可以減少主狀態機的狀態數量,使FPGA很方便地實現Flash控制功能,設計更加容易實現,具有較強的可復用性與移植性。同時建立了一套完善的Flash文件管理機制。目前該控制器模塊已經應用于數據采集回放系統中[8-9]。
參考文獻
[1] Samsung.K9F4G08手冊.2006.
[2] 王崇劍,李玉山.基于FPGA的K9F2G08U0M Nand FLASH控制器設計[J].電子元器件應用,2008,10(3):4-7.
[3] 陳明義,連帥軍,周建國.基于FPGA的FLASH控制器系統設計及實現[J].電子科技,2008,21(7):11-13.
[4] 王誠,吳繼華.Altera FPGA/CPLD設計[M].北京:人民郵電出版社,2005.
[5] 夏雨聞.Verilog數字系統設計教程[M].北京:北京航天航空大學出版社,2003.
[6] 南京沁恒電子有限公司.CH372中文手冊(一).2007.
[7] 劉彬彬,高春艷,孫秀梅.VB從入門到精通[M].北京:清華大學出版社,2008.
[8] 李蘭,寧永海,基于CH372的USB數據采集系統的設計與實現[J].微計算機信息,2007,23(12):76-77.
[9] 周治良,劉俊,張斌珍.基于FPGA及FLASH的數據采集存儲系統設計[J].微計算機信息,2007,23(31):91-92.
評論