基于FPGA和RTOS的嵌入式碼流分析設計方案
發布時間:2007/4/23 0:00:00 訪問次數:852
針對傳統數字視頻廣播系統MPEG-2">MPEG-2/FPGA和RTOS為基礎、基于嵌入式硬件平臺的設計方法,該模塊可以實現穩定和長期的可靠工作,具有很好的性價比,可以在現實應用場合廣泛應用。
碼流分析功能設計
功能設計將完全符合以下標準:MPEG-2;ISO/IEC 13818-2(System);DVB;ETS 300 468( DVB SI);EN 50083-9(DVB SPI,ASI);ETR 154(Implementation guidelines for MPEG2 systems);ETR 290(Measurement Guidelines);ETR 211( DVB SI Recommendation)。
作為一種測試儀器,無論是軟件還是硬件都要保證穩定可靠。同時考慮采用網絡通信技術,容許用戶通過任何一臺計算機的網絡瀏覽器訪問圖形化的用戶界面,將碼流分析結果以最直觀的方式顯示給用戶。嵌入式測試設備的設計目標根據實際需要提出,設計目的是TS碼流系統監測設備,在操作和使用的問題上要方便,故障的監測和定位要快速準確,模塊化的設計要求結構緊湊,接口簡單。針對這種需要,設計目標至少要實現以下功能:
1.對碼流數據進行同步字節提取和包序錯誤檢查,并進一步對數據根據ETR290標準進行三個優先級別的語法錯誤的檢查;對數據流進行實時監測,及時紀錄出錯的時間和錯誤的情況;同時還可根據用戶的需要制訂硬件觸發模式,選擇不同的監測項目。
2.實時統計各路PID的當前帶寬占用情況,當前的TS包的總數量和傳輸碼率。
3.將TS包中的PSI/SI信息提取并拼接成段,分析段頭部的信息并存儲在特定的數據結構中。
4.提取TS流中的PCR信息,計算其傳輸的間隔,同時作PCR抖動的分析,出現錯誤及時報錯。
5.從PES 段中提取PES頭信息以及各路視音頻的基本信息。
6.分析視音頻數據,根據TS流中的PCR、PTS和視音頻數據來分析其解碼時各路視音頻傳輸流標準目標解碼器中緩沖器模型的情況,當緩沖器出現排空和上溢的錯誤時及時報錯。
這些功能將滿足運營環境的現場監測要求。實際應用中這些分析的結果需要以某種方式提交給用戶觀察。因此,以下的信息顯示是必須的。
1.基本信息:主要向用戶提供關于TS流的最基本的信息,如TS流的傳輸速率、同步錯誤、TS包長度、視音頻比例、PSI表的簡要信息等。
2.實時監測:本界面按照DVB ETR290標準規定的3級檢錯內容而設計。
3.節目信息:顯示描述一個節目內容的PMT、SDT和EIT的具體信息。
4.帶寬信息:基于PID的帶寬統計信息。
5.復用結構:TS流中最基本的節目復用信息。
6.PSI/SI信息:將2進制形式的PSI/SI信息翻譯成文字,以樹的形式顯示,TS流的層次結構一目了然。
7.PCR分析:分析PCR傳送的間隔和抖動。
硬件結構
如圖2所示,本設計方案選用Altera公司的FPGA——根據實際的設計容量可以選擇具體的型號和系列。這里我們將討論輸入輸出、過濾邏輯和控制系統的設計思想。
FPGA與TS接口連接的2個數據總線接口TS IN 和TS OUT都是標準的DVB_SPI(EN 50083-9)接口。TS IN 接收外部的TS碼流,送入碼流過濾邏輯系統做進一步處理。TS OUT接口將從TS IN收到的碼流環出,這樣在進行碼流分析的同時就不會對傳輸碼流造成任何影響。DVB_SPI接口是LVDS電平信號,可在FPGA上直接接入(參考ALTERA的硬件手冊)。
如果采用DVB_ASI接口,也可以通過Altera提供的IP核來實現串/并和并/串轉換。所以,原則上除去傳輸變壓器和保護電路無需其他接口邏輯芯片。DVB標準的輸入接口有ASI和SPI兩種,兩者的定義和標準不盡相同。針對輸入接口的不同需要對輸入信號進行調整和統一。要從ASI接口的信息中提取TS碼流同步信號,調整信號脈沖的占空比使ASI的輸出接口信號和SPI的相類似。另外,ASI接口輸出有平滑和突發2種數據串數模式。為了滿足突發模式的工作需要,可以將FPGA片內的RAM BLOCK定義成FIFO進行高速緩存,使接口滿足不同速率的突發輸入,最高應該可以滿足27MHZ并行突發方式(ASI接口216MHz)的輸入要求。
在FPGA的碼流過濾邏輯單元部分需要設計一些重要的硬件控制模塊。MPEG2標準規定了各壓縮級別TS碼流的速率。經過TS碼流復用后實際應用中傳輸的串行碼流速率可能>200MHz。因此考慮到NIOS的工作主頻和加載操作系統后的實際工作效率,我們需要將輸入碼流降低后輸入分析系統。故而硬件中設計多種硬件觸發機制和硬件過濾器來滿足這種需求。
根據ETR290的標準定義,碼流分析功能不是并行處理的模式,而是有先后次序的相對關系。根據不同的優先級,先完成同步和連續性的分析,然后提取PSI信息,最后根據解析后的PSI信息對不同PID的節目TS流進行解碼,分析詳細的PES流信息。輸入信息量的控制可以通過軟件控制的方式實現。FPGA過濾邏輯設計了各種TS流的PID過濾器,將這些豐富的PID過濾器有
針對傳統數字視頻廣播系統MPEG-2">MPEG-2/FPGA和RTOS為基礎、基于嵌入式硬件平臺的設計方法,該模塊可以實現穩定和長期的可靠工作,具有很好的性價比,可以在現實應用場合廣泛應用。
碼流分析功能設計
功能設計將完全符合以下標準:MPEG-2;ISO/IEC 13818-2(System);DVB;ETS 300 468( DVB SI);EN 50083-9(DVB SPI,ASI);ETR 154(Implementation guidelines for MPEG2 systems);ETR 290(Measurement Guidelines);ETR 211( DVB SI Recommendation)。
作為一種測試儀器,無論是軟件還是硬件都要保證穩定可靠。同時考慮采用網絡通信技術,容許用戶通過任何一臺計算機的網絡瀏覽器訪問圖形化的用戶界面,將碼流分析結果以最直觀的方式顯示給用戶。嵌入式測試設備的設計目標根據實際需要提出,設計目的是TS碼流系統監測設備,在操作和使用的問題上要方便,故障的監測和定位要快速準確,模塊化的設計要求結構緊湊,接口簡單。針對這種需要,設計目標至少要實現以下功能:
1.對碼流數據進行同步字節提取和包序錯誤檢查,并進一步對數據根據ETR290標準進行三個優先級別的語法錯誤的檢查;對數據流進行實時監測,及時紀錄出錯的時間和錯誤的情況;同時還可根據用戶的需要制訂硬件觸發模式,選擇不同的監測項目。
2.實時統計各路PID的當前帶寬占用情況,當前的TS包的總數量和傳輸碼率。
3.將TS包中的PSI/SI信息提取并拼接成段,分析段頭部的信息并存儲在特定的數據結構中。
4.提取TS流中的PCR信息,計算其傳輸的間隔,同時作PCR抖動的分析,出現錯誤及時報錯。
5.從PES 段中提取PES頭信息以及各路視音頻的基本信息。
6.分析視音頻數據,根據TS流中的PCR、PTS和視音頻數據來分析其解碼時各路視音頻傳輸流標準目標解碼器中緩沖器模型的情況,當緩沖器出現排空和上溢的錯誤時及時報錯。
這些功能將滿足運營環境的現場監測要求。實際應用中這些分析的結果需要以某種方式提交給用戶觀察。因此,以下的信息顯示是必須的。
1.基本信息:主要向用戶提供關于TS流的最基本的信息,如TS流的傳輸速率、同步錯誤、TS包長度、視音頻比例、PSI表的簡要信息等。
2.實時監測:本界面按照DVB ETR290標準規定的3級檢錯內容而設計。
3.節目信息:顯示描述一個節目內容的PMT、SDT和EIT的具體信息。
4.帶寬信息:基于PID的帶寬統計信息。
5.復用結構:TS流中最基本的節目復用信息。
6.PSI/SI信息:將2進制形式的PSI/SI信息翻譯成文字,以樹的形式顯示,TS流的層次結構一目了然。
7.PCR分析:分析PCR傳送的間隔和抖動。
硬件結構
如圖2所示,本設計方案選用Altera公司的FPGA——根據實際的設計容量可以選擇具體的型號和系列。這里我們將討論輸入輸出、過濾邏輯和控制系統的設計思想。
FPGA與TS接口連接的2個數據總線接口TS IN 和TS OUT都是標準的DVB_SPI(EN 50083-9)接口。TS IN 接收外部的TS碼流,送入碼流過濾邏輯系統做進一步處理。TS OUT接口將從TS IN收到的碼流環出,這樣在進行碼流分析的同時就不會對傳輸碼流造成任何影響。DVB_SPI接口是LVDS電平信號,可在FPGA上直接接入(參考ALTERA的硬件手冊)。
如果采用DVB_ASI接口,也可以通過Altera提供的IP核來實現串/并和并/串轉換。所以,原則上除去傳輸變壓器和保護電路無需其他接口邏輯芯片。DVB標準的輸入接口有ASI和SPI兩種,兩者的定義和標準不盡相同。針對輸入接口的不同需要對輸入信號進行調整和統一。要從ASI接口的信息中提取TS碼流同步信號,調整信號脈沖的占空比使ASI的輸出接口信號和SPI的相類似。另外,ASI接口輸出有平滑和突發2種數據串數模式。為了滿足突發模式的工作需要,可以將FPGA片內的RAM BLOCK定義成FIFO進行高速緩存,使接口滿足不同速率的突發輸入,最高應該可以滿足27MHZ并行突發方式(ASI接口216MHz)的輸入要求。
在FPGA的碼流過濾邏輯單元部分需要設計一些重要的硬件控制模塊。MPEG2標準規定了各壓縮級別TS碼流的速率。經過TS碼流復用后實際應用中傳輸的串行碼流速率可能>200MHz。因此考慮到NIOS的工作主頻和加載操作系統后的實際工作效率,我們需要將輸入碼流降低后輸入分析系統。故而硬件中設計多種硬件觸發機制和硬件過濾器來滿足這種需求。
根據ETR290的標準定義,碼流分析功能不是并行處理的模式,而是有先后次序的相對關系。根據不同的優先級,先完成同步和連續性的分析,然后提取PSI信息,最后根據解析后的PSI信息對不同PID的節目TS流進行解碼,分析詳細的PES流信息。輸入信息量的控制可以通過軟件控制的方式實現。FPGA過濾邏輯設計了各種TS流的PID過濾器,將這些豐富的PID過濾器有