新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的DDR3多端口讀寫存儲(chǔ)管理系統(tǒng)設(shè)計(jì)

基于FPGA的DDR3多端口讀寫存儲(chǔ)管理系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2015-03-28 來(lái)源:網(wǎng)絡(luò) 收藏

  3 用戶接口仲裁控制模塊設(shè)計(jì)

本文引用地址:http://2s4d.com/article/271735.htm

  每片只有一組控制、地址和數(shù)據(jù)總線,因此同一時(shí)刻只能有一個(gè)設(shè)備在訪問(wèn)。常見(jiàn)的總線切換方式有兩種:一種是輪詢機(jī)制,軟件實(shí)現(xiàn)簡(jiǎn)單,但實(shí)時(shí)性不高;一種是仲裁機(jī)制,設(shè)備發(fā)送中斷請(qǐng)求,從而進(jìn)行總線切換。由于視頻圖形顯示系統(tǒng)對(duì)實(shí)時(shí)性要求高,因此選擇仲裁機(jī)制。

  用戶接口仲裁控制框圖如圖5所示。為了提高并行速度,將圖形和視頻分別進(jìn)行中斷處理。將設(shè)備中斷請(qǐng)求解析成多個(gè)子請(qǐng)求,進(jìn)行優(yōu)先級(jí)判斷,每個(gè)子請(qǐng)求對(duì)應(yīng)一個(gè)中斷處理邏輯。

  

 

  圖5 DDR3 用戶接口仲裁控制設(shè)計(jì)框圖

  3.1視頻處理寫請(qǐng)求中斷處理器設(shè)計(jì)

  由于視頻處理寫請(qǐng)求不涉及到圖形中斷處理,所以對(duì)應(yīng)一個(gè)子請(qǐng)求:視頻處理寫子請(qǐng)求。

  視頻處理模塊將采集到的視頻經(jīng)過(guò)縮放、旋轉(zhuǎn)等操作后存儲(chǔ)在緩存區(qū)中,當(dāng)緩存區(qū)滿時(shí)發(fā)送視頻處理模塊寫請(qǐng)求。視頻處理寫中斷處理主要是從視頻處理模塊的緩存區(qū)中將地址和數(shù)據(jù)取出,寫入到視頻存儲(chǔ)DDR3中。

  

 

  圖6 視頻處理寫請(qǐng)求中斷處理流程圖

  視頻處理寫請(qǐng)求中斷處理流程圖如圖6所示。當(dāng)視頻處理模塊寫請(qǐng)求信號(hào)有效時(shí),生成子中斷請(qǐng)求信號(hào),若總線空閑則響應(yīng)該中斷。當(dāng)命令接收就緒(app_rdy=1)且數(shù)據(jù)接收就緒(app_wdf_rdy=1)時(shí),從視頻處理緩存區(qū)中讀取地址和數(shù)據(jù),同時(shí)發(fā)送寫命令、寫地址和寫數(shù)據(jù)。若緩存區(qū)為空,說(shuō)明全部寫完,視頻處理寫中斷結(jié)束。

  3.2疊加輸出讀請(qǐng)求中斷處理器設(shè)計(jì)

  疊加輸出模塊需要從DDR3中將待輸出的圖形數(shù)據(jù)和視頻數(shù)據(jù)存儲(chǔ)到行緩存中,因此分為兩個(gè)子請(qǐng)求:視頻輸出讀請(qǐng)求和圖形輸出讀請(qǐng)求。由于兩者分別在圖形中斷處理和視頻中斷處理中完成,因此可以同時(shí)進(jìn)行。

  視頻輸出讀中斷處理主要從視頻存儲(chǔ)DDR3中讀取1行視頻數(shù)據(jù)寫入到疊加輸出模塊的視頻緩存區(qū)中,流程圖如圖7所示。本系統(tǒng)中突發(fā)長(zhǎng)度為BL=8,即每個(gè)用戶時(shí)鐘周期對(duì)應(yīng)接收同一行地址中相鄰的8個(gè)存儲(chǔ)單元的連續(xù)數(shù)據(jù)。輸出視頻分辨率為cols×rows,則地址系統(tǒng)需要發(fā)送cols/8個(gè)突發(fā)讀命令。數(shù)據(jù)系統(tǒng)接收讀數(shù)據(jù)時(shí),若讀數(shù)據(jù)有效(app_rd_data_valid=1),則將讀到的數(shù)據(jù)存儲(chǔ)到疊加輸出模塊的視頻緩存區(qū)中,同時(shí)讀數(shù)據(jù)個(gè)數(shù)加1.當(dāng)讀數(shù)據(jù)個(gè)數(shù)為cols/8時(shí),所有讀命令對(duì)應(yīng)的讀數(shù)據(jù)全部接收,視頻輸出讀中斷處理結(jié)束。

  

 

  圖8 視頻輸出讀中斷處理流程圖

  圖形輸出讀中斷處理包含兩個(gè)步驟:從圖形存儲(chǔ)DDR3中讀取1行圖形數(shù)據(jù)寫到疊加輸出模塊的圖形緩存區(qū)中;將剛剛搬移數(shù)據(jù)到圖形緩存區(qū)的DDR3存儲(chǔ)空間清零。前者與視頻輸出讀中斷的處理過(guò)程類似。

  圖形數(shù)據(jù)寫入DDR3時(shí)只寫入有圖形的位置,而不是全屏掃描,如果不進(jìn)行清屏操作會(huì)導(dǎo)致下一幀圖形畫面上殘留上一幀的圖形數(shù)據(jù)。清屏操作指圖形輸出后將DDR3中對(duì)應(yīng)地址的存儲(chǔ)空間全部寫入數(shù)值0,從而將當(dāng)前圖形數(shù)據(jù)清除。

  3.3圖形生成寫請(qǐng)求中斷處理器設(shè)計(jì)

  圖形生成是接收CPU的圖形命令并進(jìn)行光柵化,將結(jié)果先存儲(chǔ)在直接結(jié)果緩存區(qū)和插值結(jié)果緩存區(qū)中,從而存入到DDR3中。當(dāng)一幀圖形全部繪制完成后發(fā)送圖形生成模塊寫請(qǐng)求。圖形生成寫請(qǐng)求分為三個(gè)子請(qǐng)求:直接結(jié)果寫中斷請(qǐng)求、插值背景讀中斷請(qǐng)求、插值結(jié)果寫中斷請(qǐng)求。

fpga相關(guān)文章:fpga是什么


存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理




關(guān)鍵詞: FPGA DDR3

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉