《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種基于PCI IP核的碼流接收卡的設計
一種基于PCI IP核的碼流接收卡的設計
摘要: 本系統采用FPGA加PCI IP核的模式實現對高速、大容量DVB傳輸流的實時傳輸,實現了系統設計的目標。選擇PCI總線可以保證在足夠的帶寬下進行數據傳輸。FPGA的應用易于在線升級電路,擴充平臺的功能。IP核的使用使硬件電路更為簡潔、可靠。經過驗證,本文設計的系統可以很好地實現DVB-ASI信號的接收功能,同時,也可以作為其它DVB-ASI應用的基礎平臺,有著良好的應用前景。
Abstract:
Key words :

摘 要:本文介紹了一種基于Altera公司的PCI接口IP核DVB碼流接收系統的硬件設計方案及設計要點的分析。該設計采用Altera公司的新一代FPGA芯片EP1C12和PCI IP核以及高速串行數據通信接收芯片,實現DVB-ASI信號的接收。
關鍵詞:DVB;異步串行接口;PCI;IP核

前言
       隨著數字化廣播電視技術的迅速發展和基于MPEG-2標準的圖像壓縮和復用技術的完善,利用PC對大容量信息的處理變得日益重要,如基于PC的軟復用器的實現,使得通過PC接收DVB(數字視頻廣播)碼流已逐漸成為一項不可替代的多媒體數據接收技術。因此,設計基于PC平臺的DVB 碼流接收卡是數字廣播電視發展的需要。
由于DVB-ASI信號的平均傳輸速率為270 Mbps,而DVB傳輸流又要求保證接收的實時性,因此本文選擇了PCI總線。33MHz、32位的PCI總線的數據傳輸速率最高可達133MBps, 完全可以滿足高速實時傳輸的需求。選擇了Altera公司的PCI編譯器軟件包來實現PCI接口控制電路。該軟件包為PCI接口提供了一個完整的解決辦法,包含了PCI控制電路的所有功能。用戶可以通過修改參數生成所需的IP核模塊,以設計自己的外部設備接口邏輯。本文選擇了其生成的PCI_MT32功能模塊。

系統硬件模塊設計
        系統的硬件電路設計要求:能將傳輸速率為270 Mbps的串行DVB—ASI碼流實時、無損地通過PCI接口傳輸到PC,以供PC上的應用程序做進一步處理。在操作和使用上要方便,在設計上要求結構緊湊、接口簡單、性能可靠、易于升級。系統硬件框圖如圖1所示。

        從圖中可以看出,由于使用了FPGA及PCI IP核,使整個硬件電路顯得特別簡潔。它主要由DVB碼流輸入模塊和核心控制模塊組成。串行DVB傳輸流經同軸電纜進入DVB碼流輸入模塊,轉換為8位并行輸出。核心控制模塊對并行數據進行緩存,并采用DMA方式傳輸給PCI總線,完成本地總線和PCI總線的可靠通信。

DVB碼流輸入模塊
        本文選用ASI接口。ASI信號由同軸電纜經BNC接頭輸入,經過互感(用PE65508芯片)轉換為PECL(正向發射極耦合邏輯)差分電平信號,再經過耦合電路,到達CY7B933的差分線輸入端。 CY7B933是Cypress公司的一種用于點對點高速串行數據通信的接收芯片,它完成碼流輸入模塊的核心功能。它有三種工作模式,這里選用它的解碼模式對輸入信號進行8B/10B解碼和串并轉換。最后輸出經過字節對齊的8位并行TLL信號,輸出的信號包括 MPEG-2傳輸流和作為同步字使用的逗號字符(在8B/10B傳輸碼規則中定義為 K28.5專用字符),其輸出速率恒定為27MBps。


圖1 系統硬件框圖

核心控制模塊
        核心控制模塊由FPGA控制電路和異步FIFO組成。主要完成對輸入ASI信號的緩存和對PCI總線信號的控制的功能。其中最主要的部分是FPGA控制電路。基于整個系統的性能的考慮,選擇Altera公司的EP1C12。這款芯片有12060個邏輯單元,52個RAM塊等資源,完全可以支持本設計的要求。

         FPGA控制電路內部框圖如圖2所示,它是本設計的核心部分,對輸入的ASI信號保留有效的DVB傳輸流,發送到FIFO輸入端進行緩存。并將FIFO緩存后輸出的數據用DMA傳輸方式通過PCI總線實現對PC內存的存取,同時利用FIFO的標志信號控制DMA傳輸過程。下面對FPGA控制電路的各模塊進行介紹。

PCI_MT32功能模塊
        本文在選擇PCI接口芯片時,選擇了Altera公司的PCI 編譯器軟件包,它可以參數化地生成用于PCI接口的IP核----MegaCore。這個可編譯和綜合的MegaCore有以下4種宏功能模塊:PCI_MT64、PCI_MT32、PCI_T64和PCI_T32。它們都可以完成總線協議的轉換,將復雜的、電氣和時序要求高的PCI總線邏輯轉換為易于操作的本地接口邏輯,遵循PCI總線協議2.2版,經過嚴格的工業級驗證并支持多款優化FPGA。其中,PCI_MT32是支持33/66MHz工作頻率、32位PCI總線、支持主/從模式的PCI IP功能模塊。考慮到市場的需求,通常的PC主板都支持32位PCI,且在主模式下DMA控制器才能工作,因此選擇了PCI_MT32。 本地信號都以l (local)開頭,其中以lt_開頭的是從控信號,以lm_開頭的是主控信號。

        要使用PCI_MT32功能模塊就要了解其配置寄存器,配置寄存器中的基址寄存器最為重要,PCI_MT32共提供了6個基址寄存器,可以映射6個存儲器或I/O 空間。在操作系統啟動前后,基址寄存器分別起到兩個作用。在操作系統啟動前,基址寄存器存放定義的空間長度。以使加電軟件以確定在系統中有多少存儲器以及系統中的 I/O 控制器要求多少地址空間,然后才可以把 I/O 控制器映射到合理的地址空間并引導系統。在操作系統啟動后,基址寄存器又要起到存放基地址的作用,通過對要存取的基址寄存器用配置寫操作寫入基地址,再通過基地址加偏移量就可以訪問想要存取的空間。


圖2 FPGA控制電路內部框圖

主控邏輯模塊
        當PCI_MT32作為PCI總線主設備進行主模式操作時,主控邏輯模塊對PCI_MT32本地側信號進行控制以執行PCI主模式寫事務,將FIFO的數據傳送給從設備。同時還為DMA引擎提供PCI總線所處的狀態,如總線是否處于數據階段,是否有從設備終止等。

        模塊的主要設計思路:當PCI總線仲裁器允許PCI_MT32成為總線主設備時,PCI_MT32功能模塊在本地側輸出lm_adr_ackn信號,表明地址階段開始,此時主控邏輯模塊應在l_adi線提供PCI地址,并在l_cbeni線提供PCI命令。在接下來的數據階段,如果本地側數據已準備好,就使lm_rdyn(本地側主設備準備好)信號有效,并在l_adi線提供數據,在l_cbeni線提供字節使能。如果從設備被選中且準備好,數據傳輸就開始了。最后,通過通知PCI總線當前周期是本地側最后的數據階段,在完成這次數據傳輸后就進入總線空閑狀態,PCI_MT32不再是總線主設備,一次數據傳輸也就結束了。

從控邏輯模塊
       當PCI_MT32作為PCI總線從設備進行目標事務操作時,從控邏輯模塊對PCI_MT32本地側信號進行控制。PC通過讀本地側相應寄存器,了解當前狀態,通過對相應DMA寄存器的寫操作,來啟動DMA引擎。由于對寄存器的讀寫只用到目標單周期事務,且大部分信號由主機控制,從控邏輯相對簡單。主要是保證在要存取的目標地址命中,且frame信號有效時,trdyn(從設備準備好)信號有效。


圖3 DMA狀態機流程圖


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

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


圖4 PCI DMA傳輸仿真波形圖


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

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

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

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

參考文獻:
1 Altera Corporation. PCI Compiler User Guide. October 2005
2 李貴山,戚德虎. PCI局部總線開發者指南[M].西安:西安電子科技大學出版社,1997
3 紀獻永,黃皆雨等. DVB-ASI信號接收與發送系統的研究. 北京:電視技術,2004(11): 87-88

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产欧美一区二区精品忘忧草| 亚洲黄色一区| 欧美精品www| 男人的天堂亚洲| 久久五月激情| 久久久久久久欧美精品| 欧美在线视频一区| 性亚洲最疯狂xxxx高清| 亚洲一区二区视频| 亚洲一区二区在线免费观看视频| 99re热精品| 艳妇臀荡乳欲伦亚洲一区| 日韩视频免费观看高清完整版| 亚洲国产精品t66y| 亚洲欧洲一区二区在线播放| 亚洲人成人一区二区在线观看| 亚洲激情在线激情| 亚洲激情校园春色| 亚洲精品日本| 在线视频欧美精品| 亚洲制服丝袜在线| 性做久久久久久久免费看| 欧美一区二区三区四区在线 | 日韩亚洲欧美成人| 99国产麻豆精品| 在线亚洲欧美视频| 亚洲综合成人在线| 久久成人精品一区二区三区| 久久久久久欧美| 欧美成人免费播放| 欧美日韩视频在线观看一区二区三区 | 亚洲视频香蕉人妖| 午夜激情亚洲| 久久久久久久欧美精品| 麻豆精品精华液| 欧美伦理a级免费电影| 欧美色中文字幕| 国产视频久久| 尤物yw午夜国产精品视频| 亚洲日本久久| 亚洲综合视频一区| 久久精品人人做人人综合 | 欧美高清视频一二三区| 欧美日韩精品综合| 国产精品亚洲а∨天堂免在线| 国产亚洲欧美日韩精品| 在线欧美日韩| 这里只有精品视频| 久久国产成人| 一本大道av伊人久久综合| 亚洲欧美日韩精品综合在线观看| 久久激情五月丁香伊人| 免费人成精品欧美精品| 欧美日韩在线观看视频| 国产亚洲精品激情久久| 亚洲精品一区在线| 午夜亚洲视频| 99成人精品| 欧美与欧洲交xxxx免费观看| 免费的成人av| 国产精品裸体一区二区三区| 极品尤物av久久免费看| 一区二区三区欧美成人| 久久国产精品一区二区| 亚洲无人区一区| 看欧美日韩国产| 欧美视频中文字幕| 永久91嫩草亚洲精品人人| 日韩午夜在线| 久久精品国产2020观看福利| 亚洲自拍电影| 欧美激情2020午夜免费观看| 国产精品视区| 亚洲日本va午夜在线影院| 午夜在线精品| 亚洲视频专区在线| 男人天堂欧美日韩| 国产一级揄自揄精品视频| 99re66热这里只有精品4| 亚洲第一精品夜夜躁人人爽| 亚洲一区二区三区在线观看视频| 狼狼综合久久久久综合网| 国产精品高潮呻吟久久| 亚洲国产美女| 欧美在线视频网站| 香蕉久久a毛片| 欧美另类久久久品| 极品尤物一区二区三区| 亚洲欧美另类中文字幕| 夜夜夜久久久| 欧美成人精品一区二区| 韩日精品中文字幕| 亚洲欧美文学| 亚洲免费一在线| 欧美日本一道本| 在线观看国产精品网站| 久久福利一区| 久久精品国产第一区二区三区| 欧美色综合天天久久综合精品| 亚洲国产婷婷| 亚洲欧洲一区二区天堂久久| 久久精品视频导航| 国产精品婷婷午夜在线观看| 一二三四社区欧美黄| 亚洲精品久久久蜜桃| 久热国产精品| 精品va天堂亚洲国产| 欧美伊人影院| 久久人人97超碰精品888| 国产欧美一区二区三区在线老狼| 一道本一区二区| 亚洲视频欧洲视频| 欧美日韩理论| 夜夜爽99久久国产综合精品女不卡| 日韩午夜剧场| 欧美黄色日本| 亚洲日本电影在线| 一本色道久久综合狠狠躁的推荐| 欧美大片一区二区| 亚洲国产成人午夜在线一区| 亚洲日本va午夜在线电影| 女同一区二区| 亚洲国产高清一区二区三区| 亚洲经典在线看| 欧美国产乱视频| 亚洲国产日韩在线| 一道本一区二区| 欧美视频日韩视频| 亚洲视频图片小说| 羞羞色国产精品| 国产日韩欧美二区| 欧美一区二区三区视频在线观看| 久久精品官网| 影视先锋久久| 亚洲美女黄色片| 欧美三级在线视频| 亚洲免费在线视频一区 二区| 欧美主播一区二区三区| 国产婷婷色综合av蜜臀av| 欧美在线视频日韩| 麻豆精品视频在线| 亚洲国产毛片完整版| 在线亚洲一区| 国产精品免费看| 性感少妇一区| 免费在线看一区| 日韩视频不卡中文| 新67194成人永久网站| 国产亚洲精品自拍| 亚洲精品影院| 国产精品久久久久久久久久久久| 亚洲欧美自拍偷拍| 免费在线欧美黄色| 这里只有精品视频| 久久久久久香蕉网| 最新精品在线| 欧美在线观看你懂的| 精品动漫3d一区二区三区免费| 日韩一级免费| 国产精品丝袜久久久久久app| 久久精品国产99精品国产亚洲性色| 欧美成人精品一区二区三区| 在线亚洲高清视频| 久久免费观看视频| 亚洲免费av片| 欧美伊人久久| 亚洲国产精品久久久久婷婷884 | 国产精品久久久久久av下载红粉 | 欧美女人交a| 亚洲欧美中文日韩v在线观看| 欧美aⅴ99久久黑人专区| 亚洲精品中文字幕有码专区| 欧美一区二区视频免费观看| 在线电影一区| 亚洲欧美日韩在线观看a三区| 黄色另类av| 亚洲综合导航| 亚洲二区视频| 欧美一区二区在线免费观看| 亚洲国产精品悠悠久久琪琪| 欧美一区二区三区免费看 | 香蕉久久a毛片| 欧美日本簧片| 久久av资源网站| 国产精品成人免费视频 | 亚洲欧洲日本国产| 久久成人一区| 99国产精品久久| 裸体歌舞表演一区二区| 在线亚洲美日韩| 免费观看在线综合| 亚洲欧美视频在线观看| 欧美激情中文字幕一区二区 | 亚洲电影欧美电影有声小说| 国产精品激情偷乱一区二区∴| 亚洲国产欧美日韩| 国产午夜精品一区二区三区欧美| aⅴ色国产欧美| 在线成人黄色| 久久久7777|