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