<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è) > 嵌入式系統 > 設計應用 > 基于PCI IP核的碼流接收卡的設計

基于PCI IP核的碼流接收卡的設計

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


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

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


圖4 PCI DMA傳輸仿真波形圖


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

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

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

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



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

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

評論


相關(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>