基于FPGA的DDR3多端口讀寫存儲管理系統(tǒng)設(shè)計
直接結(jié)果緩存區(qū)存放直接輸出的與背景顏色無關(guān)的像素值數(shù)據(jù);插值結(jié)果緩存區(qū)存放需要讀回對應(yīng)位置的背景視頻進行插值修正的像素點的數(shù)據(jù)。插值結(jié)果寫到DDR3時,首先從視頻存儲DDR3中讀出需要修正的像素點對應(yīng)位置的視頻像素值作為背景,然后用流水線處理實現(xiàn)插值修正,最后將修正結(jié)果寫到圖形存儲DDR3中。
本文引用地址:http://m.butianyuan.cn/article/271735.htm為了提高讀寫速度,圖形中斷處理器中先進行直接結(jié)果寫中斷處理;同時視頻中斷處理器中進行插值背景視頻讀中斷處理。同時完成后再進行插值結(jié)果寫中斷處理。流程與圖6和圖7相似。
4幀地址控制模塊設(shè)計
幀地址控制模塊主要是將DDR3空間進行劃分,同時控制幀地址的切換。為了簡化設(shè)計,將存儲器劃分為若干塊,每塊存儲一幀數(shù)據(jù),在用戶仲裁控制模塊讀寫緩存區(qū)時只生成幀內(nèi)地址,幀地址的切換由幀讀寫控制模塊實現(xiàn),幀內(nèi)地址結(jié)合幀地址組合成對應(yīng)DDR3的內(nèi)部地址值。DDR3的幀地址劃分如圖8所示。
圖8 DDR3幀地址劃分
圖形的讀寫和DVI視頻的讀寫不涉及幀速率的轉(zhuǎn)換,因此圖形存儲DDR3中的第0~1幀和視頻存儲DDR3中的第3~4幀地址控制方式相同,都是其中一幀用于將生成數(shù)據(jù)寫入到DDR3中,另一幀用于讀出數(shù)據(jù)疊加輸出,兩幀交替使用,通過乒乓操作來實現(xiàn)圖形數(shù)據(jù)的存儲與讀取。
視頻存儲DDR3中,第0~2幀(又稱A空間、B空間和C空間)用于PAL視頻處理后輸入幀及視頻輸出幀。由于PAL視頻幀速率為25Hz,而最終輸出DVI的幀速率為60Hz,因此需要實現(xiàn)幀速率轉(zhuǎn)換。常見的幀速率轉(zhuǎn)換算法[8]包括:幀復(fù)制法、幀平均法、運動補償法等,由于機載系統(tǒng)對實時性要求比較高,因此選用幀復(fù)制法。
設(shè)置三個幀存儲空間,其中一幀用于讀出,一幀用于寫入,還有一幀空閑,分別稱作輸入幀、輸出幀和空閑幀。用三者的切換來實現(xiàn)幀速率的轉(zhuǎn)換,確保輸出幀相對于當(dāng)前輸入幀的延遲最小,即當(dāng)前輸出幀輸出的是最新寫滿的幀。當(dāng)寫入的幀存儲空間已經(jīng)寫滿,而讀存儲空間還沒讀完,將下一幀的圖像數(shù)據(jù)寫到當(dāng)前空閑的幀存儲空間。圖9為PAL輸入幀和輸出幀讀寫控制流程圖。以A空間為輸出幀,B空間為輸入幀,C空間為空閑幀為例。若A空間讀完,B空間寫滿,則將B空間變成輸出幀并輸出,將C空間變成輸入幀并繼續(xù)輸入;若A空間還沒有讀完,B空間已經(jīng)寫滿,則將下一幀數(shù)據(jù)寫入到C空間,并繼續(xù)從A空間輸出。
圖9 PAL輸入幀和輸出幀讀寫控制流程圖
fpga相關(guān)文章:fpga是什么
存儲器相關(guān)文章:存儲器原理
評論