<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于CPCI總線(xiàn)多DSP系統的高速主機接口設計

基于CPCI總線(xiàn)多DSP系統的高速主機接口設計

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

 SDRAM的訪(fǎng)問(wèn)協(xié)議很常見(jiàn),限于篇幅,不再贅述。

  每次開(kāi)始訪(fǎng)問(wèn)/SDRAM時(shí),PCI局部端使用LHOLD和ADS#來(lái)啟動(dòng)一次傳輸,LWR=0表明是讀過(guò)程。局部端狀態(tài)機向/SDRAM端狀態(tài)機發(fā)出start命令。開(kāi)始時(shí)Cache為空,而且/SDRAM提供數據要超過(guò)一段時(shí)間,所以在讀操作的開(kāi)始階段要無(wú)效ready_n使局部端等待。DSP/SDRAM端狀態(tài)機接收到局部端狀態(tài)機的start信號后,開(kāi)始從DSP/SDRAM讀出數據,填入Cache中。

 當預定義的數目被滿(mǎn)足后,局部端狀態(tài)機使ready_n有效以允許當前的讀操作。DSP/SDRAM端將會(huì )根據用戶(hù)設定是否突發(fā)讀寫(xiě)DSP/SDRAM的方式,一直連續地讀DSP/SDRAM數據,寫(xiě)入Cache中。除非接收到stop命令才回到IDLE狀態(tài),或是在Cache快要填滿(mǎn)進(jìn)入等待狀態(tài),放棄DSP共享,這樣可以使4片DSP之間的數據傳輸盡可能少地被干擾。每次讀DSP/SDRAM時(shí),都會(huì )直接從這個(gè)Cache中讀出數據。如果Cache中的數據少于預定義的數目,則ready_n將被無(wú)效,以使當前的數據傳送等待。一旦LHOLD信號無(wú)效(當前這段PCI傳送結束)或是局部端地址不連續了(局部端有一個(gè)地址寄存器,它標志Cache中下一個(gè)數據的地址,如果它和當前局部端地址不同表示預取的Cache已經(jīng)無(wú)效),局部端狀態(tài)機就向DSP/SDRAM端狀態(tài)機發(fā)出stop命令。DSP/SDRAM端狀態(tài)機清空Cache,準備下一次訪(fǎng)問(wèn)。讀SDRAM的同時(shí)開(kāi)啟一個(gè)定時(shí)器,一定的時(shí)間間隔內要在讀命令中插入刷新命令,防止數據丟失。

 寫(xiě)DSP/SDRAM的操作過(guò)程因為有Cache的存在顯得很簡(jiǎn)單[4]。因為局部端和DSP/SDRAM端之間有Cache完全隔離,所以局部端狀態(tài)機只要判斷Cache中還有足夠的空余位置就開(kāi)始往Cache中分別寫(xiě)入地址和數據(兩者是一一對應的)。局部端狀態(tài)機在寫(xiě)的過(guò)程中,根據PCI9656的blast#信號來(lái)判斷單次還是突發(fā)以及突發(fā)是否結束;如果Cache中空余位置少于4個(gè)則進(jìn)入等待狀態(tài)。DSP/SDRAM端狀態(tài)機一旦看到Cache不為空,便從Cache中讀出地址和數據,整合了一段數據后開(kāi)始申請DSP共享,按照協(xié)議規定的時(shí)序要求將數據寫(xiě)到DSP/SDRAM中。對DSP的寫(xiě)操作就像寫(xiě)SRAM一樣簡(jiǎn)單方便;寫(xiě)SDRAM稍微復雜一些,除了要像讀一樣插入刷新命令外,每次寫(xiě)SDRAM到了頁(yè)末時(shí)必須及時(shí)發(fā)出預

充電命令,防止地址錯誤地回轉到頁(yè)首;另外每次寫(xiě)完SDRAM后同樣發(fā)出預充電命令,關(guān)閉本頁(yè),防止在同一個(gè)Bank內打開(kāi)兩頁(yè)。

2.4 DSP/SDRAM性能

 33MHz、32位的PCI理論極限速度是132MB/s,實(shí)際速度要有一些折扣。由于FPGA訪(fǎng)問(wèn)DSP和SDRAM理論帶寬分別有300MB/s和600MB/s,因此DSP/SDRAM的瓶頸在PCI端。在研華MIC3358主板上,主機無(wú)其他任務(wù),重復訪(fǎng)問(wèn)DSP內部一段64KB數據的測試環(huán)境下,的DMA讀速度有90MB/s,DMA寫(xiě)有38MB/s。與此同時(shí),Bittware的同類(lèi)型板卡Tiger-6U-cPCI的DMA讀速度是86MB/s,DMA寫(xiě)速度最高可以達到40MB/s。兩者的DSP接口訪(fǎng)問(wèn)速度基本相同,但是在Bittware的里,主機要訪(fǎng)問(wèn)SDRAM,必須要借助DSP的SDRAM控制器,占用DSP的一個(gè)FLYBY通道,會(huì )影響DSP的正常運轉。本提供了一個(gè)主機直接訪(fǎng)問(wèn)SDRAM的接口。

 本文首先提出了一個(gè)通用DSP的設
計方案,主要給出了FPGA在中的位置和作用。然后簡(jiǎn)要介紹了FPGA的各個(gè)功能模塊,著(zhù)重針對DSP和SDRAM接口進(jìn)行了討論,針對數據寬度和時(shí)鐘速率不匹配的特點(diǎn),提出雙狀態(tài)機+Cache的結構,給出相應的FPGA框圖和設計思路。比較國際上知名的其他板卡,本系統的DSP接口的訪(fǎng)問(wèn)速度已經(jīng)達到了較高水平;一個(gè)高訪(fǎng)問(wèn)速率的主機接口的建立,可以使得系統運行中的主機控制DSP過(guò)程盡可能少地影響DSP系統的運行。而一個(gè)高訪(fǎng)問(wèn)速率的SDRAM接口的建立,也為主機和處理板間大容量數據交換提供了可能,這一點(diǎn)在進(jìn)行數據存儲和雷達信號處理中尤其有用。該設計已經(jīng)被應用于某大型信號處理系統,取得了良好的效果。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>