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