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