《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于ARM和FPGA的DVB-S2数据分类系统研究
基于ARM和FPGA的DVB-S2数据分类系统研究
郭 通,黄 焱,张白愚
解放军信息工程大学,河南 郑州450002
摘要: 研究了基于PSI分析的卫星DVB数据分类方法中存在的问题,设计并实现了一种基于ARM和FPGA的DVB-S2数据分类系统,解决了对接收到的DVB-S2承载的数据进行自动识别分类的问题。
Abstract:
Key words :

摘  要: 研究了基于PSI分析的卫星DVB数据分类方法中存在的问题,设计并实现了一种基于ARMFPGADVB-S2数据分类系统,解决了对接收到的DVB-S2承载的数据进行自动识别分类的问题。
关键词: DVB-S2;数据分类;PSI分析;ARM;FPGA

  广播电视数字化带来了节目与数据业务在传输流程上的统一,新的数字卫星广播标准不再局限于广播电视领域,而是面向更广阔的业务领域。准确地说,DVB-S2是服务于宽带卫星应用的新一代DVB系统,服务范围包括广播业务(BS)、数字新闻采集(DSNG)、数据分配/中继以及Internet接入等交互式业务[1]。尽管目前市场上已有部分DVB-S2信号接收设备投入使用,但针对DVB-S2承载的各种数据进行识别分类的相关技术的研究还处于初级阶段。本文研究了使用基于节目专用信息(PSI)分析法进行数据分类时出现的一些问题,并提出了改进措施;在此基础上设计并实现了一种基于ARM和FPGA的DVB-S2数据分类系统,解决了对接收到的DVB-S2承载的各种数据自动识别分类的问题,为后续数据的进一步处理打下基础。
1 DVB-S2传输系统复用概述
  研究DVB-S2传输系统复用方式及技术特点,有助于对接收到的各种数据进行识别、分类,为后续的相应数据处理工作奠定基础。
  通过传输流包多路复用,DVB-S2可以兼容采用MPEG-2和MPEG-4编码业务。由于大量的DVB-S收发设备尚在使用中,在很长一段时期内需要采用后向兼容模式[2],新的DVB-S2接收机需要兼容接收DVB-S和DVB-S2两种信号。考虑到设备更新换代的成本和复杂性,DVB-S2传输系统采用在MPEG-2传输流中携带MPEG-2 码流或MPEG-4码流的方式来传输数据,在传统的接收设备中,解复用器将丢弃这些数据,这使得携带MPEG-4数据的比特流向后完全兼容。在接收机中,从解复用器输出的MPEG-2或MPEG-4码流分别送到相应的解码器中,按MPEG-2/ MPEG-4语法恢复出视频和音频信息[3]。可见,DVB-S2传输系统在传输层协议上遵从MPEG-2标准,只是在应用层上采用了MPEG-2与MPEG-4两种不同的编码方式而已。
  MPEG-2系统是将视频、音频及其他数据基本流组合成一个或多个适宜于存储或传输的数据流的规范,系统框图如图1所示。MPEG-2系统中PES(Packetized Elementary Stream)不允许直接传输,只允许传输PS(Program Stream)包和TS(Transport Stream)。PES只是PS转换为TS或TS转换为PS的中间步骤或桥梁,是MPEG数据流互换的逻辑结构,本身不能参与交换和互操作[4]。

  PS包长度比较长且可变,用于无误码环境,适合于节目信息的软件处理及交互多媒体应用。TS是面向数字化分配媒介(如有线、卫星、地面网)的传输层接口。卫星信道是较容易发生错误的环境,需着重研究TS数据结构。MPEG-2通过使用节目专用信息(PSI)描述并传递多路视频、音频和其他数据与相应节目的从属关系。
2 基于PSI的DVB数据分类方法
  根据MPEG-2多路复用的原理,TS包具有分层复用的特点。目前,对卫星上传送的DVB的各种业务数据进行识别、分类都是从对传输流的PSI分析入手。根据这种分层复用的特点,可以得到一种基于PSI的数据分类。
2.1 传输流数据检验
  由于在实际使用中常常出现传输流数据错误的现象,因此,在进行传输流数据处理时首先要确认传输流是否符合MPEG-2标准。
  传输流数据包具有固定结构,其长度固定为188 B,可以分为包头和有效负载。传输流包头长度4 B,具有特定的结构,限于篇幅,本文不作详细介绍。具体来说,包头对TS包具有同步、识别、检错及加密指示功能。针对包头数据,可通过同步丢失错误、同步字节错误、连续计数错误、数据传输错误的检查判断传输流是否符合MPEG-2标准[5]。
2.2 PAT、PMT的提取和解析
  MPEG-2通过使用节目专用信息(PSI)描述并传递多路视频、音频和其他数据与相应节目的从属关系。接收端通过PSI提取、解析,获取解复用必需的信息。PSI 包括4个表单:节目关联表(PAT)、节目映射表(PMT)、条件接收表(CAT)、网络信息表(NIT)[6]。其中,PAT列出了传输流中存在的节目流,指定了所有节目映射表(PMT)数据包的PID,而其本身具有特定的PID(0x0000);PMT用于说明每个节目,即将每个节目的各个基本流ES(Elementary Stream)及其对应的PID信息、数据的性质、数据流之间关系列在一个表里[7]。实际上,有了PAT及PMT两种表,接收端就可以根据PID将TS上从不同的ES来的TS包分辨出来,并明确ES的业务类型。
2.3 实际操作中存在的问题
  根据PAT、PMT的解析获取业务数据相关信息,方法简单易行。对大部分数据而言,使用该方法可以得到较好的处理结果。然而,在实际操作中会发现很多特殊现象,本文通过对采集到的332个卫星DVB数据样本进行分析处理,将其中出现的特殊现象总结归纳为7个问题:PSI插入周期偏长、PSI表单偏长、适应字段影响、多个PMT使用同一PID、PAT、PMT数据错误、PSI内容与传输流数据不一致、无PSI。
2.4 解决方案
  针对上述问题,提出以下改进措施:对于第一个问题,在进行数据实时分析时,需要适当放宽PAT、PMT检索时间。对于第二个问题,可通过分段信息描述表中的长度来判断该分段信息能否由一个传输流数据包封装,若可以则直接正常处理,否则将数据缓存,继续检索,直至把所有后续数据都提取完毕,然后进行解析。对于第三个问题,则只需在解析时加入适应字段的处理即可。对于第四个问题,则需要在处理PMT数据时,处理完PMT中长度字段所描述的长度后,继续检查后面的数据是否为另一个PMT分段,直至检查到填充字段0xFF 0xFF 0xFF 0xFF。对于第五个问题,考虑到PAT、PMT数据为周期发送的,可以通过多组数据的对比发现并避免偶发干扰造成的错误。所以,以上5个问题都可通过对PSI解析法的改进实现业务数据的有效分类。然而,对于第6、第7个问题,仅仅通过原有方法上的改进是无法对数据实施有效分类,可考虑使用其他方法进行处理。
3 DVB-S2数据分类系统
   以上针对传统PSI分析法中存在的问题提出了改进后的PSI分析法。在此基础上,提出使用由ARM、FPGA、一体化调谐解调器以及PC机构建的DVB-S2接收处理系统来实现DVB-S2数据的分类,其系统构成框图如图2所示。


3.1 系统各部分的工作机制
 系统主要由接收模块、过滤模块、控制与处理模块三部分构成。下面介绍系统各部分的工作机制。
3.1.1 接收模块
  接收模块主要由一体化调谐解调器构成,用以完成对DVB-S2信号的接收,并输出TS流。本系统选用LG公司生产的型号为TDQR-C005F的一体化调谐解调器。该型号一体化调谐解调器可对DVB-S2信号进行解调解码,具体调谐解调器情况请参见相关资料[8]。
3.1.2 过滤模块
  过滤模块主要由FPGA构成,其主要功能是对接收模块输出的TS流进行过滤。通过对PSI分析法的详细描述,可以得知PSI分析法实际上是对节目关联表(PAT)与节目映射表(PMT)的解析,通过对这两种表的解析获取承载的各种DVB-S2数据的类型信息。PAT数据包与PMT数据包在整个TS流中占的比重比较小,若是全码流通过则会占用大量系统资源,这对于PSI分析工作毫无必要,而FPGA的任务正是提取出码流中PAT、PMT及用户感兴趣的数据包。
  接收模块传递给过滤模块字节型数据流,以及与数据满足一定时序关系的时钟信号CLK、同步信号START、有效数据信号VALID等。并行数据与时钟信号、START信号和VALID信号之间存在图3所示时序关系。

   数据变化为时钟下降沿有效,时钟在校验字段一直输出,即整个TS包204个字节都有时钟输出。
 START信号在每个TS包的同步字节的位置对应输出一个高脉冲,指示一个TS包的开始。
  VALID信号在有效数据输出的188个时钟周期内保持高电平,16个校验数据字节输出时保持低电平。
 在时钟上升沿时刻数据输出最稳定,START指示一个传送包的起始位置,VALID信号在有效数据输出期间保持高电平。因此,实际过滤过程并不需要控制TS数据通过与否,而只需控制指示数据包有效载荷的VALID信号。数据、时钟和包头指示信号仍是按照原来的方式通过,但是VALID信号并不是全部通过。对于不需要的PID包,则在该包传递期间将VALID信号保持在0电平。在FPGA内设置的存储单元中,用数据的VALID信号来控制FIFO的写信号。若VALID为高电平,则将整个TS包188 B写入缓存区;反之则不将该包的数据写入缓存。控制模块最终从FIFO读取TS数据。可见,通过对VALID信号的控制,符合条件的PID包数据被保留,用户不关心的数据被滤除掉。
3.1.3 控制与处理模块
  ARM作为控制与处理模块核心,主要任务有:通过串口与主机通信以获取用户设置的各种参数信息,将分析结果通过串口传递给主机;通过I2C总线控制一体化调谐解调器对指定DVB信号进行锁定;设置需要过滤的TS包的PID值;通过对滤出的PAT、PMT包进行解析来获取整个PSI信息。
3.2 基于ARM和FPGA的PSI分析法的实现
   以上对改进的PSI分析法及系统各部分的工作机制进行了说明。根据以上说明,通过4步进行数据分类:(1)设定载波参数;(2)滤出PAT包并对其分析;(3)滤出PMT包并对其分析;(4)将分析结果通过串口传给主机。具体流程见图4。

  ARM通过串口获取用户设定的载波参数信息并控制一体化调谐解调器对载波进行锁定。若不能锁定需要重新设定参数,反之则将PAT的PID(0x0000)设置到过滤模块。ETR 290建议PAT、PMT插入周期小于0.5 s,便于接收端快速提取和解析。但实际上,常常存在PAT、PMT插入周期较长的问题。因此在实际操作中应根据信号的符码率值设定不同的搜索时间。若在搜索时间内可以搜索到PAT包,则对其进行解析并统计出PMT总数及各个PMT的PID;若没有搜索到PAT包,则应通过串口给出提示。在得到所有PMT的PID后,选定一个PMT的PID并设置到过滤模块,滤出PMT包后对其进行解析,解析完毕后将解析结果(数据的类型及其PID)通过串口传给主机。依照此过程,分多次循环完成对所有PMT的解析,在解析完所有PMT后应通过串口给出提示。
  以上就是PSI分析法的实现方法,在实际操作中应注意以下3个问题:首先,在得到PAT或PMT包后应先进行数据预处理,数据预处理包括:通过检查滤出的TS包的传输误码指示位是否为“1”,判断有无传输错误;通过检查滤出的TS包的传输加密指示器,判断数据是否加密,当加密数据无法进一步分类,可给出提示;检查滤出的TS包的适应字段指示,无则继续,有则从TS包载荷中剔出适应字段并继续;其次,在对PMT进行解析时,需考虑2.3节中问题4;再次,在FPGA中所设置的FIFO大小应合适,若FIFO设置太大将会影响分析速度。
4 系统性能测试
   为了便于人机交互,编写了PSI信息分析界面,如图5所示。

  该界面具有以下功能:允许用户设置载波的相关参数;在载波锁定后,显示ARM通过串口发至主机的PSI分析结果;显示TS流中PID统计结果;允许用户设置需要过滤的TS包的PID值,最多可同时过滤8种PID的TS包。
  在实现系统所有功能后,对系统整体性能进行测试。针对5颗卫星上12个不同的载波承载的DVB-S2数据,作者使用本系统进行分类处理:从其中11个载波中识别出25个PID分别承载视、音频数据及多协议封装IP数据,其余载波承载的传输流(TS)数据中因为没有传送PSI而无法对其进行识别分类。检测结果汇总参见表1。

  通过数据分类的结果可以看出:视、音频业务目前在DVB-S2业务中所占份额最多(超过86%),且设备的实现和使用相当符合规范(PSI符合标准的占绝大多数);数据传输业务中又以多协议封装IP形式为主(占总数的10%,其他形式不超过2%),这一现象说明DVB-S2信道承载数据业务的方法相当灵活,表现形式多样化。
  实验结果表明,使用基于PSI分析法的数据分类系统能有效地对DVB-S2数据进行分类。
  本文讨论了目前使用PSI分析法进行卫星DVB数据分类工作中存在的一些问题,并针对这些问题提出了相应的改进措施,在此基础上设计并实现了一种基于ARM和FPGA的DVB-S2数据分类系统。通过对不同DVB承载的DVB-S2信号数据进行实验并对实验结果分析,证明使用该系统能对DVB-S2数据有效地分类。
参考文献
[1] Draft ETSI EN 302 307,Second generation framing struc ture,channel coding and modulation systems for broadcasting,interactive services,news gathering and other broadband satellite applications[S].2004.
[2] 刘修文.卫星数字电视直播接收技术[M].北京:机械工业 出版社,2006.
[3] 余兆明,李晓飞,陈来春.MPEG标准及其应用[M].北京:北京邮电大学出版社,2002.
[4] 钟玉琢.运动图像及其伴音通用编码国际标准-MPEG-2标准[M].北京:清华大学出版社,1997.
[5] ISO/IEC 13818-1-1996.Generic coding of moving pictures  and associated audio,MPEG-2 International Standard[S].
[6] EN 300 421 V.1.1.2-1993.Digital Video Broadcasting(DVB)    Framing structure,channel coding and modulation for 11/ 12 GHz satellite services[S].
[7] TR 101 290 V 1.2.1-2001,Digital Video Broadcasting  (DVB);Measurement guidelines for DVB systems[S].
[8] CONEXANT CX24116 databook Advanced Modulation DVB-S2 Demodulator and FEC Decoder.CONEXANT 2006.
 

此内容为AET网站原创,未经授权禁止转载。