基于NAND FLASH的大容量視頻存儲系統(tǒng)的設計
FPGA作為DSP的異步外設連接到DSP的系統(tǒng)總線上,DSP通過存儲器DMA的方式向FPGA發(fā)送數據和讀取FPGA內部RAM中的數據。考慮到FPGA自身I/O引腳數量的限制和引腳驅動能力,本系統(tǒng)采用兩片FPGA來驅動100片FLASH,FLASH陣列分為25組,每組4片FLASH,共用一套數據/地址總線和控制總線,各片FLASH通過片選信號來選中。
DSP的PPI接口接收到的視頻數據是經過MPEG-4格式壓縮過的,其最大bit流速率為4 Mb/s。PPI的總線時鐘頻率最大可達133 MHz,也就是數據傳輸速率最大可達133 M×16 b/s,所以對于4 Mb/s的視頻數據完全可以滿足要求。視頻數據到達存儲板后,由FPGA負責寫入存儲器,存儲芯片K9WBG08U1M的寫入速率為5MB/s,每路視頻數據率為4Mb/s=0.5MB/s,故存儲芯片K9WBG08U1M也可以達到存儲速率的要求。
2.3 FLASH的驅動設計
本系統(tǒng)采用FPGA給FLASH提供總線驅動和譯碼邏輯,以其中一片FPGA為例,其具體實現圖如圖2所示。本文引用地址:http://www.antipu.com.cn/article/165555.htm
在FPGA內部構建兩個雙口RAM,一個用于存儲操作,一個用于下載操作。當進行存儲操作時,FPGA首先接收DSP發(fā)送的數據(包含地址信息)存儲在雙口RAM中,此過程采用MDMA的方式。數據接收完成后,DSP給FPGA發(fā)送啟動信號,此時FPGA開始產生FLASH控制時序將存儲在雙口RAM中的數據寫入FLASH中,同時根據地址信息譯碼產生相應的片選信號來選中某一片FLASH芯片。在編程過程中,只要保證下一次MDMA結束前當前頁編程已經結束,就可以產生一個脈沖通知DSP準備下一頁寫入操作,這樣可以讓MDMA與編程同時進行,從而提高寫入速率;同理,在進行下載操作時,先將FLASH中的數據緩存到雙口RAM中,然后通知DSP進行MDAM操作即可。圖3給出了存儲操作的功能仿真波形。從圖中可以看出完全滿足FLASH的寫入時序,經驗證,此模塊實現的存儲效果非常好。
評論