首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
MPEG-2复用器PSI信息分析部分的FPGA实现
来源:本站整理  作者:佚名  2010-04-09 11:25:11




    (4)接下来两字节是传输流标识字段,再接下来的一个字节包含着版本号信息及当前段是否可用信息。保留当前版本号并与下一次的版本号对比以确定版本是否有更新。若当前段可用,则继续,否则返回(1)。
    (5)接下来的两个字节分别是当前分段号和最后分段号,由此信息可以得知是否提取了所有分段的信息,即对整个PAT表是否进行了一次完整的分析。
    (6)对循环字段的处理,每4字节一次循环,由前两字节的节目号可以得知后2字节的PID是PMTPID还是NIT—PID。在循环字段结束后立即停止CRC校验并把校验的结果和码流中的CRC四字节进行比较从而得知传输是否有误。
    (7)在TS包结尾处判断当前PAT分段是否结束,否则继续检测下一TS包,是则进一步判断是否分析了所有分段,若已经分析了所有分段则给出一个表示PAT分析全部结束的信号,否则转到(1)继续分析下一分段。


3 信息提取的硬件实现
    信息提取框图如图3所示。

    一路TS流首先经过芯片CY78933进行串并转换再进入同步模块进行同步锁定后,其他各模块才开始工作。由图3可看出,以上各检测模块是并行独立工作的,但是PMT检测模块、ELE检测模块、NIT检测模块和EMM检测模块要想进行有效工作,需要先接受其他模块提供的信息,具体为PMT和N1T检测模块要接受PAT检测模块提供的PID信息,ELE检测模块要接受PMT检测模块提供的PID信息,EMM检测模块要接受CAT检测模块提供的PID信息。
3.1 信息提取同步模块
    根据MPEG一2标准可知,一个有效的TS包长为188 B,且其同步头为8′h47,只有在有效地识别了包头,才能严格地按照MPEG一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包。使它也承载第二个分段,这就是一包多段的情况。对于一段单包、一段多包(包括三种情况)和一包多段等多种情况,在设计上无疑要充分发挥FPGA有限状态机的强大优势来进行处理。
    将以上各种情况恰当地对应于状态机的各个状态,根据包头提供的信息及表段信息可以进行逻辑判断,从而控制各个状态之间的转移。在代码实现上,逻辑判断后控制信号的是否准确及时,至关重要。举例来说,把对PAT表的CRC校验分析作为一个独立模块,在分析该表时就要给予该模块准确的控制,假如PAT有两个TS包,在第一个TS包的table_id字段就要使能该模块,第一个TS包结束时要禁止使能该模块,到第二个PAT包第五个字节再使能CRC校验模块,直到CRC校验字节前再关闭该模块,总之控制信号要确保CRC校验模块校验的是PSI表的所有有效信息。

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:359,335.90000 毫秒