新聞中心

EEPW首頁 > 網絡與存儲 > 設計應用 > 因特網視頻的解決方案(07-100)

因特網視頻的解決方案(07-100)

—— 因特網視頻的解決方案
作者: 時間:2009-03-02 來源:電子產品世界 收藏

  并行成幀器接收10位未成幀數據字,輸出10位成幀數據。按照規(guī)范,成幀器在5字節(jié)窗口中尋找2個逗號特征字符,若能檢測到第2個逗號特征字符,數據成幀并設定已成幀標志。成幀數據送入10b/8b譯碼器。10b/8b碼是直流平衡的,有較好的電纜均衡性,并提供0或1的最短運行長度。譯碼器具有8路10位編碼輸入通道,因而最多可恢復8個數據流。

本文引用地址:http://2s4d.com/article/91925.htm

  多流數據存儲/捕獲:譯碼器輸出送入stream-in(1:8)模塊。較低級stream-in模塊從單一數據流串行地接納4個順序的有效8位并行數據,并將它轉換為32位并行輸出數據,只有有效的(非零)字節(jié)加以存儲。每個輸入數據是以27MHz(37ns)裝載的,因而每個stream-in模塊輸出32位字的準備就緒時間為148ns。輸出的讀出速率為100MHz,stream-in模塊總共有8塊,分別從模塊1掃描至模塊8,這樣8個數據流可在80ns內處理完畢,小于上述的148ns。當掃描器發(fā)現32位字已可使用,就將它送入512×32位塊RAM。倘若模塊輸出未有32位準備就緒,則掃描下一個模塊,如此往復循環(huán)??刂七壿嫗槊總€數據流生成讀指針和寫指針。當每個stream-in模塊在輸出寄存器準備好32位字,寫指針就加1。某個數據流讀指針是否加1則取決于512×32位塊RAM的后端要讀取該數據,事實上,每個數據流的讀指針是較大地址的一個子集,也就是指示較大DDR存儲器的當前數據流,下一個單元將會用到這個地址。

  多流數據裝入DDR存儲器:塊RAM分成8節(jié),每節(jié)256個字節(jié)。每節(jié)保留來自上面每個模塊的數據。控制邏輯掃描塊RAM,看8節(jié)存儲器中任何一個是否是半滿的,換句話說,至少有128字節(jié)。如果是半滿的,表示數據已準備就緒可以從該節(jié)讀出,并寫入DDR存儲器。在此之前,32位數據是以管線字和非管線字讀出的,共同組成64位字。64位字先寫入CORE Generator FIFO??刂七壿嬒鄳乇O(jiān)視所有8節(jié)塊RAM以及送入FIFO的輸出數據。當FIFO含有128字節(jié)數據,就向仲裁器發(fā)送一個請求,要求輸入數據流進入DDR內存。一旦從DDR多端口內存控制器接收到確認信號,FIFO以16個連續(xù)周期成組地輸出64位數據,進入多端口存儲器控制器,最后移入較大的DDR存儲器。寫入地址就是上節(jié)已描述的擴展指針所指示的地址。

  發(fā)送器接口

  發(fā)送器實現視頻的回放,圖2簡要地列出了從存儲器回放ASI流所需的物理層方框,包括回放速率控制、回放地址生成器、以及多數據流并—串化。

  回放速率控制:存儲在DDR存儲器中的數據是通過多端口存儲器控制器(MPMC2)的讀接口讀出的。速度控制邏輯掃描8個數據流,以確定哪個輸出已準備就緒來送出數據,回放速率控制內置8個48位累加器(更精細的速率控制),速率是從處理器程序裝載的。每個累加器的溢出速率是由累加的值確定的。當數據流溢出時,溢出標志記錄在一個寄存器中。掃描器監(jiān)視8個寄存器的輸出,以確定計數器是否已達到最大計數值。一旦發(fā)現某個數據流已變成“1”,就激活輸出流數據請求。

  回放地址生成器和回放緩沖器:請求寄存器的非零值將流地址與存儲器請求控制塊中的回放流地址指針加1。該地址和讀請求一起送到DDR存儲器。仲裁器最終確定是否從DDR存儲器讀取數據。經仲裁器允許后,一個讀請求標志發(fā)送至MPMC2。當接收到來自MPMC2的確認信號后,則從DDR存儲器的地址處取出數據,送至輸出FIFO,數據是以連續(xù)的16個64位字發(fā)送的。當流地址與存儲器請求控制塊接收到DDR存儲器的確認信號,該數據流的請求計數器減1。然后,請求掃描器繼續(xù)掃描下一個數據流,如此往復循環(huán)。每個輸出流具有一個單獨的16×16 FIFO,當數據流請求時,由DDR存儲器填充。

  仲裁邏輯

  仲裁邏輯是一個獨立的、少位數邏輯單元。它跟蹤stream-ill邏輯與DDR存儲器之間的數據以及DDR存儲器與stream-out邏輯之間的數據。該控制塊接收來自strean-in的寫請求、寫數據和寫地址;也接收stream-out送來的讀請求、讀數據和讀地址。在未發(fā)現讀或寫請求時,仲裁邏輯通知MPMC2中的DDR存儲器,從存儲器讀出數據或將數據寫入存儲器。寫和讀請求同時發(fā)生時,寫請求有更的優(yōu)先權。由于MPMC2是每個端口單地址結構,該控制邏輯還起到DDR存儲器地址的多路開關作用,共享讀出與寫入。

  千兆位系統(tǒng)參改設計()

  是實現IP基傳輸協(xié)議(如ICP或UDP)的一個高性能設計。它的內部設置了高性能的嵌入式三態(tài)以太網MAC和嵌入式處理器。該設計充分利用MPMCP功能,在PPC 405處理器指令和PLB數據接口與兩個端口之間分配存儲器帶寬。每個端口都內置了雙通道動態(tài)存儲器存取(DMA)引擎來重新調整數據,的一個端口連接千兆位MAC或三態(tài)以太網MAC外設,以太網外設和DMA引擎兩者都是由PPC 405處理器的設備控制寄存器(DCR)控制的。其余的DMA端口供參改系統(tǒng)的附加外設使用。

  事實表明,GSRD可進行高性能的UDP處理。設計特性讓處理器僅執(zhí)行協(xié)議和控制功能,但不參與有效負載數據路徑,而讓DMA引擎完成數據傳送。數據調整和校驗及有效負載為軟件實現零拷貝功能提供了必要的支持,讓設計實現在IP基協(xié)議與用戶數據接口之間的高性能橋接。

  MPMC2

  MPMC2內核是GSRD的一個重要部件(圖3)。MPMC2通過實現跨端口并行處理,減少了總線仲裁,提高了系統(tǒng)級業(yè)務流量。此外,與之緊密相關的DMA引擎實現了對存儲器高帶寬訪問,并降低了資源利用率。

  本設計中,MPMC2允許32位DDR存儲器資源共亨5個以上的獨立接口(最多可達8個)。3個MPMC2端口通過PLB至MPMC2接口模塊連接至PP405處理器的PLB口,完成MPMC2與高速緩存之間的數據交易,MMC處理兩者之間的交換信號和時鐘同步;一個端口連接出端口接口模塊(PIM),實現進/出視頻流之間的數據傳送;另一個接口連接至通信直接存儲器訪問控制器(CDMAC),訪問以太網MAC和本地數據。這樣,通過訪問同一個共享的存儲器資源來實現:

  數據的快速寫入與讀出;

  •   多個ADI輸入流送至多個輸出流;
  •   在TCP連接時,多個ASI輸入送至IP目的地;
  •   IP上多個數據流鏈接至ASI輸出;
  •   多個IP鏈接輸入流在重新映射后送至IP輸出流;
  •   基于Pro-MPEG COP 7的FEC支持。


關鍵詞: Xilinx VOIP ASI GSRD

評論


相關推薦

技術專區(qū)

關閉