以FPGA為橋梁的FIFO設(shè)計方案及其應(yīng)用
引 言
在利用DSP實現(xiàn)視頻實時跟蹤時,需要進行大量高速的圖像采集。而DSP本身自帶的FIFO并不足以支持系統(tǒng)中大量數(shù)據(jù)的暫時存儲,這就要求大的中間緩存,而專用的高速FIFO芯片價格昂貴且容量受限,大大增加了商業(yè)成本,因此在實際應(yīng)用中尋找FIFO代替器件是很有必要的。
1 器件選擇
這里在視頻信號處理系統(tǒng)中,將利用FPGA作為橋梁,實現(xiàn)對SDRAM的控制,以達到大量高速存取數(shù)據(jù)的功能。之所以選取SDRAM,主要是因為在各種隨機存取器件中,SDRAM的容量較大,價格較低,且數(shù)據(jù)突發(fā)傳輸模式大大提高了存取速度,能夠滿足應(yīng)用的要求。
FIFO的速度受到兩個因素的限制:
(1)SDRAM的最高工作頻率。SDRAM的工作頻率越高,數(shù)據(jù)的傳輸速率就越高;
(2)SDRAM的突發(fā)長度。SDRAM的突發(fā)長度越長,對數(shù)據(jù)流的吞吐量就越大,可以從某種程度上提高數(shù)據(jù)的傳輸速率。
FIFO的大小由所選SDRAM芯片的容量來決定。該設(shè)計以采用MICRON公司的MT48LC4M3282(4 BANK×4M×32 b)為例,存儲容量為128 Mb,數(shù)據(jù)帶寬為32位,內(nèi)部由4個BANK組成,每個BANK有4 096行和256列。
MT48LC4M3282的控制信號有CLK(時鐘信號)、CKE(時鐘使能)、CS(片選信號)、WE(寫使能)、CAS(列有效)、RAS(行有效)、DQM0~DQM3(輸入輸出使能)??刂菩盘柦M成的常用控制命令如表1所示。
2 FIFO系統(tǒng)設(shè)計
FIFO系統(tǒng)由FGPA和SDRAM兩部分組成。其中,F(xiàn)GPA內(nèi)部包含F(xiàn)IFO監(jiān)控器、緩沖器、SDRAM控制器三個模塊。FIFO監(jiān)控器的作用是將FIFO的狀態(tài)轉(zhuǎn)變成狀態(tài)機的讀、寫信號。若操作為向SDRAM寫數(shù)據(jù),則在FIFO已滿時,F(xiàn)IFO監(jiān)控器送出一個信號,以阻止寫操作繼續(xù)向FIFO中寫數(shù)據(jù)而造成溢出;若操作為向SDRAM讀數(shù)據(jù),則在緩沖器已空時,F(xiàn)IFO監(jiān)控器送出一個信號,以阻止讀操作繼續(xù)從FIFO中讀數(shù)據(jù)而造成無效數(shù)據(jù)的讀出。FIFO的模塊結(jié)構(gòu)如圖1所示。
評論