DVB-H

2024-10-07

DVB-H(共4篇)

DVB-H 篇1

1 引言

随着人们对多媒体信息需求的增长和通信技术的发展,用手机看电视已不再是什么稀奇事了。继利用蜂窝移动网络或卫星广播方式实现手机电视业务之后,欧洲数字电视标准组织(DVB)最近又推出了一种新的多媒体移动标准———DVB-H,它是DVB组织为通过地面数字广播网络向便携/手持终端提供多媒体业务所制定的传输标准。该标准被认为是DVB-T标准的扩展应用,但是和DVB-T相比,DVB-H终端具有更低的功耗、可移动接收和更为优越的抗干扰性能,因此该标准适用于移动电话、手持计算机等小型便携设备通过地面数字电视广播网络接收信号。随着生活的日益移动化,移动电话电视满足了人们了解和接入新闻、娱乐及信息服务的愿望。除了广播形式的传统电视服务,探索移动电话电视如何能够提供更多的媒体和在线服务已成为全球日益关注的热点。DVB-H有什么特点、采用了哪些新技术?本文通过对DVB-H标准的解析,回答了上述问题,并且对其现状进行了分析,同时对发展前景进行了预测。

2 DVB-H标准解析

DVB-H标准全称为Digital Video Broadcasting Handheld,它利用数字视频广播网络DVB向手持终端传送多媒体业务,是DVB-T标准的扩展应用。虽然汽车接收DVB-T广播信号等早期实验已经证实了DVB-T标准适合于便携式电视,但如果DVB-T用于手机接收地面DTV信号,功耗、性能(特别是在脉冲噪声干扰区的性能)和移动网络设计的灵活性这3个问题仍待解决。DVB-H项目组给DVB-T增加了一些选项,使广播业者能继续利用它作为DVB-T基础的同时支持手持接收所要求的众多关键特点。新的DVB-H标准增加的选项包括用于节能的时间分片、用于增强移动性的新的前向纠错编码、用于移动性和网络设计灵活性的4k模式,以及增强的物理层信号。

2.1 DVB-H的系统描述

DVB-H系统前端由封装模块和DVB-H调制器构成,如图1所示。IP数据分组由DVB-H封装模块封装成MPEG-2系统传输流,在封装过程中采用了MPE(Multi-Protocol Encapsulation,多协议封装)前向纠错技术,同时还采用了时间分片(time slicing)技术。封装完成的数据流交由DVB-H调制器进行信道编码和调制,在TPS(Transmission Parameter Signaling,传输参数信令)比特中增加了DVB-H信令,用于提高业务接入速度,并且增加4k模式以适应移动接收特性和单频网蜂窝的大小,提高网络设计、规划的灵活性。系统终端由DVB-H解调器和DVB-H去封装模块构成,DVB-H解调器负责信道解调、解码,DVB-H去封装模块负责相关业务显示、处理。整个过程如图1所示,其中的阴影方块代表了DVB-H提供的新特性[1]。

2.2 DVB-H的技术特点

如前所述,为了满足手持终端无线接入多媒体业务的需求,DVB-H标准还必须在DVB-T标准之上作一些改善和技术上的突破,这些DVB-H的特点包括:

1.时间分片Time-Slicing技术

时间分片是DVB-H标准中最为突出的一项新技术,它不但能够有效降低手持终端的平均功耗,并且还是不同网络间实现平稳、无缝业务交换的基础。其基本思想是采用突发方式传送数据,在突发的瞬时具有非常高的数据速率,其瞬时带宽一般可以达到固定带宽的10倍,而平均功率将近减小90%[2]。如果接收端必须进行连续速率方式的恒定码率处理的话,接收机可以对接收到的突发数据首先进行缓冲,然后再对数据流进行恒速处理。

当手持终端处于业务空闲周期时,时间分片技术还可以对相邻的蜂窝进行监视,扫描其他频率成分的信号并测试其强度,通过比较相同业务的不同传输流之间的切换,实现准最优、无缝的业务交换。

2.多协议封装中的前向纠错MPE-FEC技术

DVB-H标准在数据链路层为IP数据包引入了额外的了RS(Reed-Solomon)编码,因为RS码有良好的抗突发错误的能力,因此这一措施改善了移动信道中的C/N,提高了抗多普勒扩展性能以及抗脉冲干扰能力。MPE-FEC功能在DVB-H标准中并不是必须的,因此没有MPE-FEC功能的接收终端可以简单地略过FEC段完成业务接收。

实验证明即使在非常糟糕的接收环境中,适当的使用MPE-FEC仍可以准确无误地恢复出IP数据。MPE-FEC的编码校验比特载荷可以灵活配置,如果校验载荷达到整个系统吞吐率的25%的话,MPE-FEC手持终端只需要在和使用天线分集接收时相同的C/N上就能正常工作[1]。

尽管引入额外的编码会降低系统的吞吐率,但这种不利因素可以通过选择纠错性能稍弱一点的高码率来补偿。实际上,在保持相同的系统吞吐率情况下,DVB-H能够获得比DVB-T好的多的性能,特别是在脉冲噪声干扰明显的地区[1,3]。

3.4k模式和深度交织

由于移动性能和SFN(Single Frequency Network,单频网)的大小是一对矛盾,处于2k模式和8k模式之间的4k模式为移动性和SFN大小的选择提供了一种灵活的折中方案,其参数的选取可以通过对2k模式和8k模式参数的内插得到,从而提高了网络设计和规划的灵活性。同时,为了进一步增强系统的顽健性和抗脉冲干扰的能力,DVB-H在原有的2k模式和4k模式中还引入了深度符号交织。交织的原理是打乱原有发送数据的顺序,利用深度符号交织器对2k和4k模式进行交织,就使得二者能够具有接近8k模式的抗脉冲干扰性能,进而提高了系统的抗脉冲噪声干扰能力。

4.DVB-H信令技术

DVB-H开发出了一套具有强顽健性、易于访问的传输参数信令TPS(Transmission Parameter Signaling),它可以工作在极低的C/N环境中。通过TPS信令来标识DVB-H的特有参数,如时间分片、MPE-FEC、深度符号交织等等,从而提高了系统同步和业务访问速度,并可以支持移动接收时的快速信号扫描和频率交换。

3现状和前景

DVB-H标准在今年2月份已经得到TDVB Technical Module的批准,这标志着DVB成员公司走过了最后一个阶段,接下来就可以利用该标准设计产品和服务。同时,DVB-H现场实验(field trial)已从2003年底在芬兰赫尔辛基启动,附加试验也分别于4月在美国匹兹堡和6月在德国开始,而意义重大的商业服务将于2005年推出。DVB项目技术模块主席兼德国Braunschweig技术大学教授Ulrich Reimers在今年年初表示,DVB-H已经处于“实现阶段”。多个移动运营商和手机供应商也对DVB-H产生了浓厚的兴趣,并对新兴的DVB-H市场非常乐观。2003年后期,作为DVB-H坚定支持者的Nokia和NEC相继完成了第一代DVB-H便携终端的研制,他们认为通过对DVB-H技术的使用必定能够吸引更多的用户,为手机工业创造出更多的利润回报。不久前,诺基亚、MediaCorp Technologies、M1和新加坡媒体开发组织(MDA)在新加坡举行的“Nokia Connection”大会上联手演示了基于DVB-H网络的实时端到端移动电话电视广播。诺基亚还开发出了DVB-H原型手机,型号为Nokia 7700,而韩国三星和日本的多家调谐器厂商也正在开发支持DVB-H的调谐器。无疑,这将是一个非常成功的市场!

4 结束语

DVB-H是一种支持多媒体业务的标准,除了电视业务外它还可以开展电子报纸、电子拍卖、旅游向导、游戏、视频点播和交互等多种综合性业务。虽然目前的2.5G和3G等标准也能够完成这类业务,但是与DVB-H相比显然它们都较为昂贵。电视是最大的媒体,也是手机中缺少的最后一个内容,而移动电话电视能够让用户随时直观地收看最新的新闻事态发展,DVB-H又提供开发互动活动等其他内容的机会,从而为接收者带来丰富的多媒体体验。考虑到电视的普及性,我们有理由相信移动广播多媒体业务具有无穷魅力。只要采取恰当的策略,可移动性、扩充的带宽和新型的交互功能带给广播媒体的组合效应将是非常可观的。

参考文献

[1]Final Draft ESTI EN302304V1.1.1,Digital Video Broadcasting(DVB);Transmission System for Handheld Terminals(DVB-H),2004

[2]解伟,全子一.新一代多媒体移动标准DVB-H.中国多媒体视讯,2004

[3]www.dvb.org.

[4]www.etsi.org.

DVB-H 篇2

关键词:CMMB,数据广播,IPDC,FLUTE

0 引言

在移动多媒体广播系统中, 最为广泛应用的数据广播方案是基于DVB-H的IPDC, 采用的是FLUTE协议作为其内容传输协议。FLUTE (File Delivery over Unidirectional Transport) 协议是大规模可扩展条件下IP多播传输协议的首选方案。以下将分别介绍DVB-H的IPDC与CMMB数据广播标准, 并对重点技术环节进行对比分析。

1 DVB-H IPDC技术介绍

1.1 协议模式

DVB-H IPDC解决方案采用的是FLUTE协议。FLUTE协议是在RTC3926中定义的面向多播的单向文件传输协议。此协议的目的是在Internet上或其他单向数据传输系统中 (如DVB-H) , 基于多播 (同时也支持单播) 实现由一个或多个发送端向一个或多个接收端可靠地传输文件。FLUTE协议继承了ALC (Asyn-chronous Layered Coding) 协议的会话管理、拥塞控制及可靠传输等特点, 并在ALC协议基础上引入了文件描述表 (File Delivery Table, FDT) 概念, 从而实现了文件相关属性与文件自身的映射机制。

FLUTE在DVB-H IPDC规范的协议栈中所处的位置如图1所示。IPDC规范基于IP协议, 在网络层实现了全IP化, 应用层通过IP多播技术向大量用户发送数据内容, FLUTE协议位于传输层协议UDP (User Datagram Protocol) 之上, 适用于IP多播系统中文件及ESG元数据的单向大规模可靠传输。

1.2 文件分发

在FLUTE/ALC传输会话中, 待传送的文件也成为“传输对象”。在一次会话中可传输多个对象, 同一会话中的不同对象由TOI (Transport Object Identifi er) 进行区分。同一会话中, 待传送文件需经过文件分块发送出去, 文件的分块过程如图2所示。

IPDC中, 描述文件属性信息的格式是文件描述表, 即为FDT (File Delivery Table) 。FDT提供了在文件输出会话内传送与文件有关的各种属性信息的机制, 包括文件名、文件ID、文件类型、文件大小等。

1.3 封装

IPDC中, FLUTE数据分组首先经过IP封装, 再封装到MPE数据段中, 见图3所示。MPE (Multi Protocol Encapsulation) 是基于DVB在将IP数据包封装成SNDU时普遍采用MPE方式实现。该协议在1996年被提出, 作为通用的封装方式, 进行上层协议的封装, 可实现对IP数据包传递的支持。MPE是基于DVB标准中的私有数据分段扩展而成, 当分段表类型标识 (Table ID) 值为0x3E时, 表示进行的是数据广播业务。MPE首部中没有标识载荷类型的字段, 因此默认的是IPv4协议。

2 CMMB数据广播技术介绍

2.1 协议模式

数据广播协议层次包括数据业务、流模式/文件模式、可扩展协议封装 (XPE/XPE-FEC) 、复用、广播信道, 见图4所示。

数据业务按流模式和文件模式进行可扩展协议封装。

流模式直接对数据流进行可扩展协议封装;文件模式先对文件进行分割生成文件模式传输包, 再进行可扩展协议封装。可扩展协议封装生成XPE包和XPE-FEC包。XPE/XPE-FEC包适配在复用子帧的数据段中, 见图5。

2.2 文件分发

数据广播文件的分割示意见图6。

一个数据文件分割成多个等长的文件片, 多个文件片组成一个文件块, 根据组成文件块的文件片数量的不同将文件块分为A、B两种类型。

数据文件进行纠删编码时按文件块进行, 得到的校验数据称之为纠删校验块, 纠删校验块与文件块具有相同的块序号。纠删校验块划分成若干片, 称之为纠删校验片, 长度与文件片相等, 纠删校验片应与文件片连续编号。

对文件片和纠删校验片进行封装, 生成文件片传输包和纠删校验片传输包, 语法结构见图7。其中纠删校验算法使用LDGC纠删编码。

数据广播中, 文件片的属性信息, 包括文件路径、编码参数、版本号等属性信息, 生成FAT文件, 相对应于IPDC中的FDT文件, 其作用和工作方式与FDT类似。

2.3 封装

数据广播中, 文件数据和流模式数据需要经过XPE/XPE-FEC封装。流模式可扩展协议封装处理流程见图8。数据流直接进行XPE语法封装, 生成XPE包。数据流的纠错校验数据经过XPE-FEC语法封装, 生成XPE-FEC包。

文件模式可扩展协议封装处理流程见图9。文件模式先对文件进行分片生成文件模式传输包, 再进行可扩展协议封装。文件模式传输包进行XPE语法封装, 生成XPE包。文件模式传输包的纠错校验数据经过XPE-FEC语法封装, 生成XPE-FEC包语法结构分别见图10, 图11。

3 结论

综上所述, CMMB数据广播与基于DVB-H的IPDC在协议层次、文件分发方式、协议封装方式、纠删算法、前向纠错算法等方面都有不同。

DVB-H中的IPDC是对文件进行分块, 每个文件块分别进行FEC编码, 生成FLUTE数据分组 (属性描述文件为FDT) , 封装进IP报文, 再封装进MPE/MPE-FEC段, 进行发送;而CMMB数据广播是对整个文件块进行纠删编码, 纠删校验块与文件块一起进行数据分片 (属性描述文件为FAT) , 之后直接进行XPE/XPE-FEC封装, 进行发送。

通过对两种数据广播方案的对比研究, 相对来说更为简洁的CMMB数据广播方案对于CMMB系统的尽快推进更为有利。

参考文献

[1]IP Datacast over DVB-H:Content Delivery Protocols (CDP) (DVB Document A101) .

[2]IP Datacast over DVB-H:PSI/SI (DVB Document A079 Rev.1) .

[3]移动多媒体广播第5部分:数据广播GY/T220.5-2008.

DVB-H 篇3

DVB-H标准是在DVB-T标准基础上针对移动手持终端的数据和多媒体服务而制定的新一代数字地面广播标准。它将电视广播、移动通信及互联网IP技术相结合,可开展移动手机电视业务。为了使数字节目在传输过程中避免出现因受到各种信道噪声干扰而出现失真的现象,DVB-H标准采用了包括RS码在内的多种编码技术来保护传输数据。其中,RS(204,188)码被用作为DVB-H标准的外码解决方案。本文将针对DVB-H标准规定的RS(204,188)码给出译码算法分析、基于FPGA的译码器实现以及译码器性能的仿真与测试结果。

1 RS(204,188)码及译码算法

1.1 RS(204,188)码参数

RS(204,188)码是在有限域GF(28)上运算得到的,属于RS(255,239)的缩短码。根据DVB组织发布的《手持终端传输系统(DVB-H)》[2]规定,其具体参数如下:

1.2 译码算法

假设传输的码字多项式为,接收到的码字多项式为,错误图样多项式为则有R(x)=C(x)+E(x)。所以译码过程就是找到码字发生错误的位置和错误值,进而得到错误图样多项式,完成译码。RS译码过程主要分为以下3步:

(1)伴随式计算,由接收到的码字R(x)计算伴随式S(x);

(2)求解关键方程,确定错误位置多项式∧(x)和错误值多项式Ω(h)(x);

(3)计算错误位置和对应错误值,确定E(x)。由C(x)=R(x)-E(x)计算译码器输出码字C(x)。

译码器的实现框图如图1所示。

其中第(2)步求解关键方程是决定译码器复杂程度与速度的关键。常见的关键方程求解算法主要有Euclidean算法、BM算法及其改进形式。BM算法译码延时较Euclidean算法小,实现电路较简单,所以在工程中较为常用。针对传统BM算法需要进行求逆运算的不足,Blahut和Berlekamp分别提出了无需求逆的BM算法,即i BM算法。文献[3]在i BM算法的基础上提出了一种改进型i BM算法,即RiBM(Reformulated inversionless BM)算法。表1给出了各译码算法关键路径时延和复杂度比较。

注:Tmult、Tadd、Tmux分别表示乘法器、加法器、二选一器的时延。

表1中“加法器、乘法器、锁存器、二选一器”的数量代表算法实现时的硬件开销大小,时钟周期决定译码过程所需的总时间,而关键路径时延决定译码器能够工作的最高时钟频率,三者综合在一起决定译码算法能够达到的最高译码速率。译码器实现时,乘法器使用的最多,可见RiBM算法的硬件开销大约是折叠Euclidean算法(Folded Euclidean)的3倍,但求解关键方程的时间是它的1/6,而且关键路径时延也较短,付出的代价也在可接受范围之内。RiBM算法在关键路径延时和资源使用等方面与传统的BM和Euclid算法及其改进算法相比,做到了更好的折中,因此本文采用RiBM算法进行关键方程求解。

2 译码器的FPGA设计

2.1 伴随式计算

伴随式定义为,计算伴随式的过程实际上就是进行离散Fourier变换。考虑到硬件译码算法的数据输入情况,译码器采用了Horner算法计算伴随式。

其中n=204,i=1,2…2t,a为x8+x4+x3+x2+1=0所生成的GF(28)域中的本原元。其实现结构如图2所示。

2.2 求解关键方程

这样就得到了错误位置多项式系数λi(2t)和错误值多项式系数。RiBM算法求解关键方程的实现结构如图3所示。

2.3 求解错误位置和错误值

使用Chien搜索算法计算发生错误的位置,使用Forney公式计算对应位置的错误值。由关键方程求出错误位置多项式为,其中e为码字中发生错误的个数。Chien搜索法实际就是在有限域对错误位置多项式进行验根,根的倒数即为错误位置,即将a-j(0≤j≤203)带入∧(x),若∧(a-j)=0,则aj是一个错误位置。

错误值多项式为,根据Forney公式,错误值为。获得错误位置和错误值后,就可确定E(x),然后由C(x)=R(x)-E(x)计算译码器输出码字C(x)。

在计算错误值过程中,求逆运算使用ROM查找表法。Chien搜索电路和Forney算法电路作为一个整体实现,电路结构如图4所示。

3 实现与验证

本文设计的RS(204,188)译码器选择ALTERA公司StratixII系列的EP2S15F484C3芯片作为目标器件,在QuartusII 9.1集成环境中,使用Verilog HDL语言编写。综合工具为Synplify Pro 9.6.1,综合结果在QuartusII中进行布局布线,使用Modelsim 6.5进行仿真。结果表明该译码器最高工作频率可达117.32MHz,译码延迟仅为358个时钟周期。译码仿真结果如图5、图6所示。

使用Matlab对译码器性能进行测试。首先在Matlab中实现RS(204,188)编码器,对伪随机码发生器产生的随机数据进行编码,仿真BPSK调制解调方式和高斯白噪声(AWGN)对编码数据进行加噪,加噪后的编码数据存储在文本文档中。然后编写testbench测试程序,读入加噪后的编码数据,经译码器处理后,将结果写入另一文本文档[4]。对比未加噪的原始数据和译码结果从而得到误码率曲线如图7所示。

本文介绍了用FPGA实现基于DVB-H标准的RS(204,188)码译码器的方法。译码过程采用了改进型无逆BM算法—RiBM。通过计算机仿真以及测试分析,证明该译码器可以稳定可靠地实现译码功能,在尽可能节约硬件资源的同时满足了高速处理的需要。

摘要:介绍了符合DVB-H标准的RS(204,188)码的参数与译码算法,给出了一种用于求解关键方程的改进型无逆BM算法,使用Verilog语言完成了基于该算法的译码器设计与实现。测试结果表明,该译码系统性能优良,在节约硬件资源的同时满足了高速处理的需要。

关键词:reed-solomon码,DVB-H,FPGA

参考文献

[1]王新梅,肖国镇.纠错码-原理与方法[M].西安:西安电子科技大学出版社,2001.

[2]DVB Documents A081.Transmission System for handheldTerminal(DVB-H),2004(6).

[3]Sarwate D V,Shanbhag N R.High-speed architectures forReed-Solomon decoders.IEEE Transactions on Very LargeIntegration(VLSI)System.2001,9(5):641-655.

DVB-H 篇4

关键词:DVB-H,数字电视,E语言,功能验证

1 引 言

欧洲无线通信标准组织(ETSI)在2004年10月发布了数字电视手机标准——DVB-H (Digital Video Broadcasting for Handheld Terminals)。该标准是地面数字电视标准DVB-T的扩展应用,能够在移动环境下为便携式或手持终端提供高品质和可靠的多媒体服务。DVB-H传输系统除了物理层基于DVB-T(Terrestrial Digital Video Broadcasting)系统之外,在数据链路层增加了时间分片技术(Time-slicing)和多协议封装和前向纠错(MPE-FEC)功能,从而极大地节省了手机功耗并提供了更好的移动接收鲁棒性。本文针对DVB-H的系统的特点,选择基于E语言搭建验证环境来验证数据链路层的功能,同时通过验证测试对该验证方法进行了一定的研究。

2 DVB-H数字电视传输系统数据链路层

DVB-H系统包括两个主要的部分:物理层和数据链路层。图1描述了DVB-H接收系统概念上的基本结构。接收端的DVB-T解调器通过RF接收DVB-H模拟信号,经过解调后的TS流传输到数据链路层,链路层通过解封装和前向纠错得到正确的IP包,并且连同其他TS服务信息包输出到终端。同时,数据链路层通过时间参数控制工作模式的开关状态,降低接收系统的平均功耗。

物理层 在DVB-T的基础上进行了补充,增加了4k传输模式和深度符号交织,在传输参数信令(TPS)比特中增加了DVB-H专有信令比特,用于支持DVB-H业务发展。在TPS中蜂窝标识指示用于支持移动接收时的快速信号扫描和频率交换。增加4k模式可以适应移动接收特性和单频网蜂窝的大小,提高网络设计、规划的灵活性。2k和4k模式进行深度符号交织,以进一步提高在移动环境和冲击噪声环境下系统的鲁棒性[1]。

数据链路层 主要包括时间分片技术和MPE- FEC(多协议封装-前向纠错)。

时间分片技术:由于DVB-H系统的发送端采用突发式数据传送,在每个突发时间内集中的发送DVB-H数据流业务,并且该业务独占全部带宽。在两个时间片之间没有所选的DVB-H数据流传输,在这段时间,为了提高系统的兼容性,其他数据流,例如DVB-T数据流业务可以以非时间分片的方式传输。接收端在所选业务所在的时间片接收信息,在两个时间片之间作节能处理,从而有效地降低接收端平均功耗。此外,在业务传送时间片内,系统可以从经过多协议封装的TS码流中提取时间参数信息,计为Delta-T时间,这个相对时间指出了当前业务分片到下一个具有相同业务的时间片到来的相对时间。因此,系统可以根据该参数在下一个时间片到来时从节能状态转换到工作状态。图2表示了时间分片技术的工作原理。

MPE-FEC:DVB-H标准在数据链路层为IP包增加了RS(Reed-Solomon)纠错编码,作为MPE的前向纠错编码,校验信息将在指定的FEC段中传送,称为MPE-FEC。如图3所示MPE-FEC表的格式,左边191列是应用数据部分,右边为RS数据校验部分。帧的行数是可变参数,最大行数为1 024。DVB-H系统发送端把音视频的数据封装成IP包的格式,这些IP包依次按列被填充到MPE-FEC表的左边191列,如未填满,以0填充剩余的部分。然后按行通过RS(255,191)编码得到右边64列的奇偶校验数据。

每一个IP包将在MPE Section 中发送,RS数据将紧跟在最后一个MPE Section后,通过MPE-FEC Section 传送,所有的MPE 和MPE-FEC Section 都有12 B的头部信息,和数据负载部分(IP数据或RS数据),在最后有4 B的CRC32校验数据。其中在头信息中有4 B的时间参数域,包括12个比特的开始地址,该地址表明了每个IP包或RS数据开始数据在MPE-FEC表中的位置,18 个比特的Delta-T 时间参数,以及1个比特的标志位表示最后一个IP包所在的Section和最后整个帧的结束,通常是最后一个MPE-FEC Section。所有的Section 将被拆分为184 B作为TS包的有效负载部分,特殊情况是当作为Section的第一个TS包,将加上一个点(point)字节,该字节指名Section的第一个字节在TS包中的位置,然后加上183 B作为TS包的有效负载部分,并加上TS包的4 B的头信息,通过复用后发送到信道中传输,如图4所示。

接收端将在所选的业务的时间片内,从复用的TS码流中得到所有的Section,通过计算Section的CRC32和接收数据的CRC32对比,如果一致,表明该IP包正确接收,反之,该IP数据包将整个被丢掉,并且按照头部信息中的开始地址域,将正确的IP包保存在MPE-FEC数据表中,没有正确接收的IP包,将不出现在表中,且相应位置将被标记为不可靠位,然后通过RS(255,191)解码,得到所有的正确的IP包。这种RS纠错方法称为擦除表RS纠错,最大纠错能力每行可达到两倍的错误字节数,即64 B。如果每行的不可靠字节数超过这个最大限制,RS纠错将失败,MPE-FEC的整个帧将被丢弃。

3 基于E语言的DVB-H系统验证环境的构建

目前的IC设计中,由于SoC(System on Chip)设计的日益复杂化以及芯片规模的日益扩大,系统级验证成为最具挑战的环节,据估计从系统结构设计,子模块设计,子模块验证,系统级验证到FPGA测试,到最终的IC的投产,60% ~ 70%的时间会花费在功能验证方面。选择高性能的验证工具将极大地缩短验证时间,从而降低设计的开发周期。当前的EDA行业最推崇的主要是System C 和E 两种验证语言。其中E语言是Verisity 公司开发的专用于其Specman验证工具上的一种面向对象的验证语言。用E语言来搭建系统测试环境有很多优点:自动生成基于约束条件的测试矢量,通过描述约束条件产生验证计划中期望的验证场景,能够根据DUV(Design Under Verification)当前的状态动态地产生测试场景,这样便有可能产生一些很难碰到的边缘案例;自动完成数据和时序的检查;自动进行功能覆盖率的分析找出漏洞;提供所有主流的Verilog和VHDL仿真器接口;此外扩展性强,可以在分开的测试文件中修改若干数据对象,这些测试文件在分层的基础验证环境中处于顶部,这种扩展特性允许不牺牲模块化或可读性的同时更好地迎合系统和测试说明的要求[4]。此外在本文的第二部分的分析中,DVB-H数据链路层的功能主要基于一系列的协议层,E语言可以通过简单的描述实现各种复杂协议测试激励的生成,十分符合DVB-H系统功能验证要求。

3.1 构建DVB-H验证环境

基于E语言的DVB-H验证环境如图5所示,dvbh_env 是用E语言搭建的验证环境,dvbh_dut作为DVB-H系统数据链路层的系统模型被例化到验证环境中。由于DVB-H数据链路层要处理各种符合协议要求的TS包,同时负责对错包和丢包情况作纠错处理,并需要管理时间分片从而有效地将低功耗,因此对这些事务处理过程的验证离不开各种复杂测试激励的生成,然而传统的手工编写的激励很难覆盖到各种场景,采用E语言的验证平台通过在满足约束的条件下,随机自动生成测试矢量,达到了高效的验证需要。同时和传统的手工编写测试激励的相比,E语言中有各种函数可供利用,可以方便地实现各种算法,例如:各种协议包中都有CRC32校验字节,调用E语言CRC_32()函数就可以实现。此外,各种协议包都有固定的结构,通过E语言中的struct可以构建各种协议包,并在产生协议包的过程中可以对结构中的域值重新指定或者限定范围,也可以通过定义不符合协议要求的包及有错误值的包来达到验证系统鲁棒性的要求。扩展性强的优点可以节省编写各种测例的时间,E语言很类似于HDL语言编写的系统,在一个系统顶层模块中有各种例化的子模块组成,E语言的这些子模块为unit,可以通过extend uinit_name {}方式在不改变基本结构基础上的对子模块作扩展,也可以覆盖原有的内容重新定义。E语言验证环境也提供了数据一致性检查的机制,称为记分板方法。具体是通过将原始测试激励与从系统输出的数据作比较,提供报告验证系统的功能。在DVB-H链路层系统中,RS纠错模块对收到的IP包做纠错处理,因此记分板方法可以很好的验证数据纠错功能。

3.2 验证步骤及代码具体实现

验证环境搭建完成后,就可以将DVB-H接收系统的链路层例化到功能验证环境中进行验证。以下各步需要通过E语言来完成。

第一步,验证环境需要产生符合DVB-H标准的TS流,码流的基本结构如图4所示。在Host ref 模块中产生IP数据包并记录到计分板,为数据检查提供参考数据。然后在MPE-FEC handle模块,产生RS编码数据,并封装成Section格式,随后在时间分片模块中在MPE Section的头信息的相应位中插入时间分片信息,由TS_gen模块打包成TS流的格式通过BB_driver将测试激励输入已例化到测试环境中的DVB-H链路层系统。以上部分的工作实际上是模拟数字电视发送端的工作,产生符合协议要求的传输包。

第二步,在测试环境中Host driver模块模拟系统驱动的工作,主要负责和DVB-H传输系统的接口交互,包括对系统的中断响应,寄存器读写,接收IP数据包(即从Buffer中读出数据),同时通过将接收的IP数据包报告给计分板,验证数据的一致性。DVB-H系统的接口采用PCI仅用于测试需要,实际可以采用各种移动设备流行的接口,包括SDIO,USB2.0等。

第三步,模拟实际环境中的场景,扩展测例,增加覆盖率,主要包括两个方面:

第一,在数字电视中,发送端将各种节目信息表(SI/PSI表)和视音频数据流复用后发送,因此测试激励不仅要产生DVB-H协议要求的封装视音频数据的IP包,还需要插入各种服务信息包,包括NIT(Network Information Table),INT(IP/MAC Notification Table),PAT(Program Association Table),PMT(Program Map Table),EIT(Event Information Table),SDT(Service Description Table),信息表的结构可参照DVB的相关协议。第二,在移动环境中通过DVB-H物理层解调后,误码率依然存在,同时还会有丢包的情况发生,测试环境必须模拟该种场景,在数据包中随机插入错误数据,同时产生丢包的情况。

第四步,测试环境中注意合理的插入断言,不仅可以跟踪仿真进度,同时利于快速定位错误位置,缩短验证周期。此外为了测试环境利于维护和重用,对所有的参数和寄存器地址变量,用名称关联的方式引用。

第五步,用监视器来收集和分析仿真对DVB-H链路层模块的覆盖情况。根据各种功能点的覆盖率要求,设定一些触发事件,触发事件发生时通过采集相关数据,可以了解验证的进度,以便及时根据覆盖率报告修改随机测试矢量的约束条件,以覆盖这些验证中存在的空洞,直到覆盖率达到要求。此外也可以通过设置断点,了解功能模块的工作进度,同时能更好地定位错误位置,即时地完善系统功能。

4 验证结果及分析

DVB-H数据链路层功能验证的参数选择如表1所示。

测试环境根据上述参数条件,共产生了3个时间片,共计180个IP数据包,在第一个时间片内控制产生6个字节错误随机分布在每个时间片内的60个IP包中,随机产生2个TS包丢弃情况,根据记分板测试报告,接收到全部的60个IP数据包并且所有错误通过MPE-FEC模块被纠正。通过修改约束条件,增加误码率,在第二个时间片内使每个MPE-FEC帧中13个IP数据包存在错误比特,由于误码率超过了MPE-FEC模块的纠错容限,结果分析,RS纠错失败,该时间片内的所有IP包被丢弃。第三个时间片主要增加了服务信息表PAT,PMT,测试系统对TS流解析的能力。对时间参数Delta-T选择为当前时间分片到下一个时间分片开始的间隔设定100 ms,根据系统时间,每个Section需要根据相对时间偏移,选取不同的Delta-T值插入头信息中,如果DN为当前时间片的第N个Section的Delta-T值,DN-1为前一个Section的Delta-T值:DN= DN-1 -M,其中M为时间偏移量,且第一个Section的D1= 10。验证同时对主要模块的状态机,中断响应,Buffer读写,寄存器读写作了测试覆盖率分析,功能验证的覆盖率报告如图6所示,其中MPE-FEC模块的状态机(mpe_fec_state),中断响应(datagram_statrt_int,datagram_finish_int,power_off_int,power_on_int,buffer_int),Buffer读写(buffer_rd,buffer_wr),寄存器读写(cfg_reg_rd,cfg_reg_wr) 功能覆盖率均为100%,TS流解析模块状态机(tsp_state) 覆盖率达到83%。由以上结果分析发现,对于测试激励,由于产生过程没有覆盖所有的服务信息表,主要集中选取PAT、PMT,因此TS流解析对于其他服务信息表的解析功能没有完全测试,可以通过修改测例,增加各种在DVB-H协议中包括的服务信息表的激励生成,进一步完善对TS解析功能的测试。在测试过程中,笔者发现TS流解析模块不仅需要提取包含在MPE Section头信息中的各种关键内容,并输出控制信号给MPE-FEC纠错模块和时间分片模块,同时还负责将正确接收的IP数据包通过buffer写入数据存储器。如果任何解析错误都将影响其他模块的正确工作。在测试中实际TS解析模块经过一定修改完善,最终对于错误TS包和丢包的情况,和其他边缘情况达到了功能要求。此外,通过后续对DVB-H数据链路层的FPGA硬件测试结果证明了基于E语言的功能验证结果的可靠性和优越性。

5 结 语

该研究通过DVB-H数据链路层的基于E语言的验证环境的构建。利用E语言完成测试环境的编写,并采用Specman作为功能验证平台。针对DVB-H数据链路层的协议分析,通过产生符合协议的测试激励及模拟实际场景的情况,充分验证了系统的功能,同时通过计分板报告和覆盖率测试报告,完善了系统的边缘测试情况。总之,采用E语言的功能验证不仅能提高验证效率,同时调试方便,而且重用性和可扩展性强。

参考文献

[1]Digital Video Broadcasting(DVB);Transmission SystemforHandheld Terminals(DVB-H),ETSI EN 302 304 V1.1.1(2004-11),European Telecommunications Standards Institu-te.

[2]Digital Video Broadcasting(DVB);Specification for ServiceInformation(SI)in DVB Systems,ETSI EN300 468 V1.6.1(2004-11),European Telecommunications Standards Insti-tute.

[3]Eerenberg O,Koppelaar A,Stuivenwold A M,et al.IP-re-coveryinthe DVB-HLink Layer for TVon Mobile[J].Pro-ceedings of ICCE,2006:411-412.

[4]须自明,刘战,王国章,等.各种验证技术在SoC设计中的应用[J].微机算机信息,2006(Z1):120-121,142.

【DVB-H】推荐阅读:

上一篇:清单价格下一篇:应用主机

本站热搜

    相关推荐