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