新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > MPEG-2復用器PSI信息分析部分的FPGA實現

        MPEG-2復用器PSI信息分析部分的FPGA實現

        作者: 時間:2009-12-29 來源:網絡 收藏

        (4)接下來兩字節是傳輸流標識字段,再接下來的一個字節包含著版本號信息及當前段是否可用信息。保留當前版本號并與下一次的版本號對比以確定版本是否有更新。若當前段可用,則繼續,否則返回(1)。
        (5)接下來的兩個字節分別是當前分段號和最后分段號,由此信息可以得知是否提取了所有分段的信息,即對整個PAT表是否進行了一次完整的分析。
        (6)對循環字段的處理,每4字節一次循環,由前兩字節的節目號可以得知后2字節的PID是PMTPID還是NIT―PID。在循環字段結束后立即停止CRC校驗并把校驗的結果和碼流中的CRC四字節進行比較從而得知傳輸是否有誤。
        (7)在TS包結尾處判斷當前PAT分段是否結束,否則繼續檢測下一TS包,是則進一步判斷是否分析了所有分段,若已經分析了所有分段則給出一個表示PAT分析全部結束的信號,否則轉到(1)繼續分析下一分段。

        本文引用地址:http://www.104case.com/article/191830.htm


        3 信息提取的硬件實現
        信息提取框圖如圖3所示。

        一路TS流首先經過芯片CY78933進行串并轉換再進入同步模塊進行同步鎖定后,其他各模塊才開始工作。由圖3可看出,以上各檢測模塊是并行獨立工作的,但是PMT檢測模塊、ELE檢測模塊、NIT檢測模塊和EMM檢測模塊要想進行有效工作,需要先接受其他模塊提供的信息,具體為PMT和N1T檢測模塊要接受PAT檢測模塊提供的PID信息,ELE檢測模塊要接受PMT檢測模塊提供的PID信息,EMM檢測模塊要接受CAT檢測模塊提供的PID信息。
        3.1 信息提取同步模塊
        根據一2標準可知,一個有效的TS包長為188 B,且其同步頭為8′h47,只有在有效地識別了包頭,才能嚴格地按照一2標準對數據包的每一位進行分析。在同步模塊檢測中,當找到8′h47時,必須連續3~5次(可通過參數設置)隔188 B都找到8′h47,才能認為實現了同步。另外考慮到TS包可附加16 B的前向糾錯碼,故該模塊做成188/204 B自適應,這樣可以提高通用性。
        3.2 檢測模塊
        由于PAT,CAT,PMT,NIT等檢測模塊在硬件設計上都很類似,故本文重點探討PAT檢測模塊的硬件設計,其他檢測模塊的設計將不再贅述。
        PAT檢測模塊按照PAT提取流程進行工作,若發現PAT分段并且CRC校驗正確后,提取里面的PMT―PID和NIT-PID并分別送到PMT檢測模塊和NIT檢測模塊。對PAT表全部分段都分析完后啟動PMT、檢測模塊和NIT檢測模塊對TS流進行實時檢測,若PAT表有更新,則將新的信息再送給此兩模塊,以確保實時跟蹤TS流的最新變化。
        在硬件實現上,從實用的角度出發,考慮到實際碼流中可能出現的各種情況,將其歸為三類處理:
        (1)一個分段只由一個TS包來承載。
        (2)一個分段由多個TS包來承載。
        對于此類情況(即該分段的長度使得一個TS包無法完全承載此分段),要考慮的是第一個TS包在該分段的什么位置結束。又可以分為三種情況:
        ①第一個TS包結束在該分段的table_id字段到last_sectiOn_number字段這一區間。這也就是第一個TS包大部分為調整字段占據時的情況;
        ②第一個TS包結束在循環字段中的某個字節的情況;
        ③第一個TS包結束在四個CRC校驗字節中的某個字節處,考慮到有三個以上TS包時更確切地說應該是最后一個TS包只承載了CRC校驗字節的某幾個。
        (3)一個TS包承載多個分段
        此類情況是第(2)類中③情況的延伸。比如一個PAT表有兩個分段,第一個分段由第一個TS包承載后只剩下一個CRC校驗字節需要第二個TS包來承載。那么第二個TS包只承載這一個CRC校驗字節無疑將是很大的浪費,此時可以充分利用第二個TS包。使它也承載第二個分段,這就是一包多段的情況。對于一段單包、一段多包(包括三種情況)和一包多段等多種情況,在設計上無疑要充分發揮有限狀態機的強大優勢來進行處理。
        將以上各種情況恰當地對應于狀態機的各個狀態,根據包頭提供的信息及表段信息可以進行邏輯判斷,從而控制各個狀態之間的轉移。在代碼實現上,邏輯判斷后控制信號的是否準確及時,至關重要。舉例來說,把對PAT表的CRC校驗分析作為一個獨立模塊,在分析該表時就要給予該模塊準確的控制,假如PAT有兩個TS包,在第一個TS包的table_id字段就要使能該模塊,第一個TS包結束時要禁止使能該模塊,到第二個PAT包第五個字節再使能CRC校驗模塊,直到CRC校驗字節前再關閉該模塊,總之控制信號要確保CRC校驗模塊校驗的是表的所有有效信息。

        p2p機相關文章:p2p原理




        關鍵詞: MPEG FPGA PSI 復用器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 随州市| 雷山县| 潼南县| 贵阳市| 新宁县| 突泉县| 赫章县| 浦东新区| 谢通门县| 牡丹江市| 漯河市| 红原县| 安顺市| 永济市| 务川| 民丰县| 和田县| 田东县| 益阳市| 沛县| 泊头市| 靖边县| 德兴市| 东港市| 清涧县| 进贤县| 安国市| 灵山县| 万荣县| 麟游县| 丹东市| 宁津县| 朝阳区| 杭州市| 恩平市| 台江县| 大同县| 邯郸市| 海盐县| 五常市| 南汇区|