基于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.
评论