基于FPGA的高速大容量FLASH存儲
(2) FLASH存儲、讀數和擦除模塊(如圖 3) FLASH在寫(xiě)數據、讀數據和擦除時(shí) [4],編寫(xiě)控制FLASH的程序,要按照如下規則:
頁(yè)編程:器件的編程以頁(yè)為單位,但在一個(gè)頁(yè)編程周期中允許對部分頁(yè)(一個(gè)或連續的多個(gè)字節)編程。一個(gè)頁(yè)編程周期由串行數據加載階段和緊隨的編程階段組成。在數據加載階段,數據被加載到數據寄存器中 ;在編程階段,已加載的數據寫(xiě)入實(shí)際的存儲單元,編程典型時(shí)間為200µs。
頁(yè)讀:器件在上電時(shí),就被初始化為讀模式,此時(shí)可以不寫(xiě) 00h命令,直接寫(xiě)入地址和30h命令即可。有兩種類(lèi)型的讀,分別是隨機讀和順序頁(yè)讀。由于設計存儲時(shí)
是基于整個(gè)頁(yè)操作,所以讀命令使用順序頁(yè)讀。命令打入后經(jīng)過(guò)最多20µs的時(shí)間,數據則會(huì )從選擇的頁(yè)傳到數據寄存器中。
塊擦除:器件的擦除操作是以塊為單位的。塊地址加載由擦除建立命令 60h啟動(dòng),然后輸入確認命令D0h,執行內部擦除過(guò)程。這一先建立再執行的兩步命令時(shí)序,確保了存儲內容不會(huì )由外部的干擾而意外擦除,擦除時(shí)間典型值為1.5ms。本文引用地址:http://dyxdggzs.com/article/152391.htm
3、系統調試
電路通過(guò)模擬接受一組實(shí)時(shí)串行數據,經(jīng)過(guò) FPGA串行數據轉換為并行數據,并且存儲到 FLASH;再與主機通信讀回存儲在 FLASH中的數據 [5]。它已經(jīng)可以穩定的工作在 180Mbytes/s的存儲速度,滿(mǎn)足了所需的機載實(shí)驗要求。 USB芯片工作在從方式 (Slave FIFO模式),由FPGA控制芯片的讀寫(xiě),同步傳輸數據。實(shí)測中通過(guò) USB回放數據的速度為 15Mbytes/s。 4、結論
本文設計了基于 FPGA和FLASH存儲測試系統,使 FPGA與FLASH各自的優(yōu)點(diǎn)得到了有效的發(fā)揮:本文作者創(chuàng )新點(diǎn): RS-422電平傳輸串行數據,通過(guò) FPGA把串行數據轉化為并行數據存儲到高速大容量的 FLASH的存儲系統的具體設計和實(shí)施,在保證系統工作性能的情況下簡(jiǎn)化了系統設計,并驗證了系統設計方案的正確性和可行性,為進(jìn)一步工程化實(shí)現打下了良好的基礎,具有一定的工程應用價(jià)值。
評論