<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > DSP并行處理在剖面聲納系統(tǒng)中的應用

          DSP并行處理在剖面聲納系統(tǒng)中的應用

          作者: 時間:2008-11-27 來源:網(wǎng)絡 收藏

            2 基于IP互連的處理結構

            2.1 流水線處理板結構

            多波束剖面系統(tǒng)采用35k~65kHz寬帶線形調(diào)頻信號進行探測,系統(tǒng)的采樣頻率為500kHz,接收9路的基陣信號,并且要求系統(tǒng)具有較高的探測能力,所以采集時間定為15ms以上,探測有效距離大于11米。進行海底的剖面探測時,需要對接收的多波束接收信號進行帶內(nèi)補償、波束形成、頻域相關算法、旁瓣抑制以及FIR濾波等處理,系統(tǒng)要求能夠在10幀/秒以上實時顯示剖面結果并且存盤。

            為了滿足多波束剖面的高速、大容量數(shù)據(jù)的實時信號處理需求,在信號處理系統(tǒng)部分采用了以二片 TMS320DM642組成的流水線結構,如圖2所示。

            DSP并行處理在剖面聲納系統(tǒng)中的應用

            TMS320DM642是TI公司2004年推出的多媒體處理器,具有最高720MHz的主頻,單片峰值處理能力為5 760MIPS,而且該芯片具有10M/100M以太網(wǎng)接口,可以方便地實現(xiàn)處理板間的網(wǎng)絡數(shù)據(jù)互連,從而可以實現(xiàn)系統(tǒng)的并行數(shù)據(jù)處理。

            圖2中,左端DSP為從DSP,通過其自身網(wǎng)口與接收換能器內(nèi)的數(shù)據(jù)轉換網(wǎng)絡連接,根據(jù)顯示速度要求,接收轉換后的信號數(shù)據(jù),并存儲到其外圍的SDRAM中。當接收到一幀信號數(shù)據(jù)時轉入并行處理程序,左右兩片DSP采用流水線并行處理方式。

            并行處理時左端DSP負責接收數(shù)據(jù),右端主DSP通過HPI接口讀取左端DSP的內(nèi)部數(shù)據(jù)及外部SDRAM的數(shù)據(jù),同時左右兩端的DSP通過雙端口FIFO進行數(shù)據(jù)交換、郵箱信息傳遞等。為了保證信號處理時左右兩端DSP的負載平衡,系統(tǒng)將剖面系統(tǒng)需要處理的任務進行劃分:多波束剖面聲納信號處理需要將9路波束數(shù)據(jù)(每路7 500點16bit)進行FFT、頻域波束形成、頻域相關算法、IFFT、時域FIR濾波、時域加權壓制旁瓣等算法處理。如果TI DSP所采用的指令,其“取指”、“分析”、“執(zhí)行”三大操作步驟采用流水線工作流程,則可以利用多個任務在時間上相互錯開,輪流重疊地使用同一套設備上的不同運算單元,來加快系統(tǒng)的計算速度,流水線的并行執(zhí)行大大降低了整個系統(tǒng)任務的執(zhí)行時間。為了保證兩個DSP的負載平衡,使系統(tǒng)工作時流水線并行處理板能夠真正地以流水線的形式并行處理剖面的數(shù)據(jù),將每塊并行處理板內(nèi)任務進行了劃分。系統(tǒng)單個DSP負載的劃分如圖3所示。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();