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