設(shè)計中直接調(diào)用Altera公司提供的DDR2 SDRAM控制器,并選用一塊它可以驅(qū)動的芯片來提高工作效率。芯片可使用的緩存空間是要重點關(guān)注的。每個通道都要分配固定的緩存區(qū)域,所以要將有限的內(nèi)存空間作合理的劃分。如果是圖像數(shù)據(jù),單個通道至少要有緩存兩幀以上的空間。DDR2讀寫控制模塊直接調(diào)用DDR2 SDRAM控制器IP核,但由于該IP核提供給用戶端的接口使用不方便,需要按照其文檔上介紹的時序來進行突發(fā)式讀寫。
本模塊的功能主要是協(xié)調(diào)各通道采集數(shù)據(jù)的寫入和讀出。如圖3所示,寫操作時,各通道的數(shù)據(jù)首先用FPGA資源進行緩存,然后寫入控制狀態(tài)機通過輪詢的方式依次檢查各個通道已經(jīng)緩存的數(shù)據(jù)量,如果足夠一次突發(fā)寫,則將其寫入SDRAM芯片的相應(yīng)通道塊中,然后再檢查下一通道;讀操作時,讀出控制狀態(tài)機也依次檢查各個通道寫入SDRAM芯片的數(shù)據(jù)量,如果足夠一次突發(fā)讀,則將其讀出,通過網(wǎng)絡(luò)發(fā)送出去。

基于以上控制方式,設(shè)計對各通道的數(shù)據(jù)格式是不作限制,如圖1中所示,可以是PAL、Camera link、VGA等各種格式的圖像或組合,只是在采集之前向上位機報告各個通道的數(shù)據(jù)信息。但需要說明的是,這些數(shù)據(jù)的帶寬總和理論上不應(yīng)超過千兆以太網(wǎng)的最大傳輸速率,這是采用輪詢方式得以成功的前提。其實,如今普通PC機的處理能力遠遠不能達到這個最大限制,當(dāng)速度到達100 Mbit·s-1時,上位機丟包就已經(jīng)很嚴重。如果是將采集的數(shù)據(jù)在上位機上顯示,最多可能只有70~80 Mbit·s-1;如果還要將數(shù)據(jù)寫入硬盤,那數(shù)據(jù)率則會更低,除了配備一塊上好的硬盤之外,還需要在上位機軟件的優(yōu)化上多作努力。