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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于PCI IP核的碼流接收卡的設(shè)計

          基于PCI IP核的碼流接收卡的設(shè)計

          作者: 時間:2011-04-07 來源:網(wǎng)絡(luò) 收藏


          DMA引擎模塊
          DMA引擎模塊由DMA寄存器、DMA狀態(tài)機等模塊構(gòu)成,當(dāng)_MT32作為總線主設(shè)備進行主模式寫操作時,它與主控邏輯模塊共同將FIFO緩存輸出的數(shù)據(jù)通過DMA操作發(fā)送到_MT32本地信號側(cè)。 其中,DMA寄存器的地址直接映射到PCI的地址空間,其基地址由PCI_MT32中的配置寄存器Bar0決定。主機通過訪問這些寄存器來控制DMA操作。寄存器包括控制狀態(tài)寄存器、PCI地址寄存器和中斷狀態(tài)寄存器。DMA狀態(tài)機模塊流程如圖3所示。

          以下對DMA狀態(tài)機進行簡要描述:狀態(tài)機無數(shù)據(jù)傳輸時默認停留在空閑狀態(tài)。當(dāng)PC寫控制狀態(tài)寄存器中的啟動位,就啟動狀態(tài)機,進入裝載寄存器狀態(tài)。自動裝載PCI地址寄存器后進入等待請求狀態(tài)。如果FIFO中的數(shù)據(jù)已經(jīng)半滿,進入請求狀態(tài)申請占用PCI總線,接著進入等待允許狀態(tài),等待PCI設(shè)備獲得總線的控制權(quán)。當(dāng)PCI設(shè)備成為總線主設(shè)備,就進入準備狀態(tài)。判斷PCI總線的地址階段結(jié)束將要進入數(shù)據(jù)階段,則進入傳輸狀態(tài),進行數(shù)據(jù)傳輸。此時,如果從設(shè)備提出終止,則返回寄存器有效狀態(tài),根據(jù)情況重新申請總線的控制權(quán);如果本次DMA數(shù)據(jù)傳輸結(jié)束或出現(xiàn)PCI異常中斷、PCI系統(tǒng)錯誤、PCI奇偶校驗錯誤、FIFO滿等錯誤時,則分別進入結(jié)束狀態(tài)或錯誤狀態(tài),寫中斷狀態(tài)寄存器的相應(yīng)位,同時發(fā)出中斷信號。PC收到中斷后,讀中斷狀態(tài)寄存器確定中斷類型,以進行下一步操作。最后返回空閑狀態(tài),并清除中斷。


          圖4 PCI DMA傳輸仿真波形圖


          FIFO邏輯控制模塊
          FIFO邏輯控制模塊根據(jù)CY7B933輸出的狀態(tài)信號,刪除同步字K28.5,只將有效的數(shù)據(jù)讀入,并將數(shù)據(jù)送入異步FIFO緩存。當(dāng)FIFO空、半滿、滿時,對相應(yīng)寄存器進行操作或通知DMA引擎模塊,以防止數(shù)據(jù)的溢出或空讀。

          異步FIFO在核心控制模塊中,主要起到兩個作用。一是數(shù)據(jù)緩存,在系統(tǒng)進行DMA操作,將數(shù)據(jù)從ASI接口寫入PC內(nèi)存時,DVB-ASI數(shù)據(jù)仍在源源不斷地輸入系統(tǒng),F(xiàn)IFO可以將這些數(shù)據(jù)緩存,以防止數(shù)據(jù)丟失。二是時鐘隔離作用,輸入的ASI信號時鐘是27MHz,而PCI時鐘達到33MHz,這就要求對兩個頻率不同的時鐘進行同步,異步FIFO的數(shù)據(jù)輸入和輸出分別使用不同的時鐘,從而實現(xiàn)時鐘的隔離和無縫拼接。由于本對FIFO容量的要求較大,因此不采用Megafunction技術(shù)構(gòu)造,而使用專門的高速FIFO芯片。

          結(jié)果
          在Quartus-II中進行了vhdl源程序仿真。圖4是用DMA方式進行PCI傳輸結(jié)果的仿真波形圖。其中ASI_D為模擬輸入的8位ASI碼流,在對相應(yīng)的DMA寄存器進行操作后,啟動DMA引擎,圖中①處PCI_MT32通過拉低reqn信號發(fā)出總線占用請求信號,②處PCI總線仲裁器通過拉低gntn信號允許PCI_MT32成為主設(shè)備。③處進入地址階段,PCI_MT32在ad線上提供地址,在cben線上提供總線命令。在接下來的多個數(shù)據(jù)階段(圖中④處),PCI_MT32在ad線和cben線上分別提供ASI_D輸入的數(shù)據(jù)和字節(jié)使能,由于輸入ASI信號是8位,而ad線為32位,因此利用ad信號的低8位來傳輸數(shù)據(jù),可見,輸出數(shù)據(jù)與ASI_D輸入的數(shù)據(jù)相同。由于DMA傳輸長度的關(guān)系,本圖最后通過模擬從設(shè)備斷開(圖中⑤處),終止了這次傳輸。由于DMA傳輸沒有結(jié)束,在終止后,DMA狀態(tài)機根據(jù)判斷狀態(tài),還會自動繼續(xù)傳輸。從圖中可以看出,framen、irdyn、trdyn、devseln等接口控制信號完全符合PCI時序的要求。實現(xiàn)了將ASI信號通過PCI總線與PC進行實時數(shù)據(jù)傳輸?shù)哪康?。圖中32位ad信號的高位沒有得到充分利用,如果需要,可以很方便地利用它們將電路升級為兩路或4路的多路DVB-ASI碼流卡。如果使用支持64位PCI總線的PCI_MT64功能模塊,則最多可以實現(xiàn)8路ASI信號的

          結(jié)語
          本系統(tǒng)采用FPGA加PCI 核的模式實現(xiàn)對高速、大容量DVB傳輸流的實時傳輸,實現(xiàn)了系統(tǒng)的目標(biāo)。選擇PCI總線可以保證在足夠的帶寬下進行數(shù)據(jù)傳輸。FPGA的應(yīng)用易于在線升級電路,擴充平臺的功能。核的使用使硬件電路更為簡潔、可靠。經(jīng)過驗證,本文設(shè)計的系統(tǒng)可以很好地實現(xiàn)DVB-ASI信號的功能,同時,也可以作為其它DVB-ASI應(yīng)用的基礎(chǔ)平臺,有著良好的應(yīng)用前景。



          上一頁 1 2 下一頁

          關(guān)鍵詞: 設(shè)計 接收 IP PCI 基于

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();