《武汉工程大学学报》
2008年04期
99-102
出版日期:
2008-04-30
ISSN:
1674-2869
CN:
42-1779/TQ
一种无线嵌入式数字卫星接收系统的模块化设计
0引言DVB(Digital Video Broadcast) 标准是一套适用于不同媒介的数字电视广播系统规范,它定义了如何利用卫星、有线、地面、SMATV、MNDSD 等线路进行数字广播传输媒体信息,其中DVBS(ETS 300 421)为数字卫星直播系统标准[1].该标准以卫星作为传输介质对电视信号进行传播,有系统传输覆盖面广、节目量大、点对多点广播特性以及一次投递到户等优点[2].根据卫星传输的特性,标准中定义了信号调制采用四相相移键控调制(QPSK,Quadrature Phase Shift Keying)方式[3],工作频率为11/12 GHz.目前,多数卫星直播数字电视均采用该标准,我国的数字卫星广播传输系统也选用了DVBS标准.由于卫星接收要求接收天线必须对准所接收的卫星,因此卫星接收天线必须安装在空旷开阔,无遮挡的户外,天线高频头会使用有线线缆接入室内的DVBS的机顶盒中.这样,用户安装必须预先为有线预留安装空间,而且有线线缆过长则会引起系统衰减,造成信号接收效果差.本文给出了在ST7100平台下,使用无线局域网络来将接收到的DVBS电视节目传送到IPTV的嵌入式DVBS接收系统模块化设计和实现方法,可以避免有线安装的麻烦,提高系统的接收效果,对该系统的进-步改进则能够让一个小区或公司都能够无线共享接收卫星直播数字电视信号.1DVBS接收系统的基本流程DVBS接收系统和普通的DVBS机顶盒类似,图1给出了该接收系统接收节目的基本流程.图1DVBS接收端的系统流程
Fig.1The system flow of the DVBS receiver在图1中,①卫星天线从卫星接收多节目传输流数据,将接收信号传送给DVBS接收系统.②DVBS接收系统对节目传输流进行过滤出用户需要的单节目传输流,并以无线的方式将节目数据流以IP包转发.③无线AP接入点接收无线信号,并将数据引入IP(Internet Protocol, 网际协议)网络.④IP机顶盒(STB, Set Top Box)则通过IP网络控制并接收电视节目,并将接入后TS流(Transport Stream,传输流)进行解码,解码后的视频和音频信号送入电视.在该流程中,DVBS接收端负责DVBS节目的信号接入,并进行DVB数据流的解调制,负责EPG(Electronic Program Guide,电子节目指南)[4]节目的传送,TS数据流的过滤,并将过滤后的节目流以RTP(Realtime Transport Protocol,实时传输协议)的数据包进行转发.机顶盒则对网络中的RTP节目数据包进行解码,通过对EPG信息的分析,将用户需要观看节目的扩展信息以RTSP(RealTime Streaming Protocol,实时流协议)的控制信息包返回给DVBS接收端,并对接收端的高频头和解调器进行实时控制.2DVBS接收系统的硬件模块结构DVBS接收系统由前端接收解调和后端网络接口模块二个模块组合,前端接收解调由高频头和解调器组成,DVBS数字电视信号通过卫星高频头接收,卫星高频头将中频信号传送给QPSK解调器.解调器电路主要包括解调和前向纠错两个部分, 其原理如图2所示,在调谐器中, 经过二次变频处理的480 MHz中频信号经QPSK正交相干解调, 产生I和Q基带模拟信号.调谐器内一般采用载波跟踪锁相环技术, 以保证480 MHz载波频率的精确性.此模拟信号经模数变换产生基带I和Q信号样本并送人QPSK数字解调器.数字解调器主要完成载波恢复、载波相位跟踪、时钟同步、自动增益控制及对基带数字信号的处理(内插及抽样滤波、平方根升余弦滚降滤波等).抽样滤波器的抽样率、增益及抽样模式选择与所接收信号的符号率有关.前向纠错控制主要包括Viterbi译码、同步及卷积解交织、RS解码及解扰等部分组成[5,6].DVBS信号经过信道解码就能够得到MPEG2 TS传输流数据.TS流通过并行或串行方式输入Sti7710,进入MPEG2 TS流数据转发部分.这种前端接收解调有时也称为NIM模块,本文中采用THOMSON 公司生产的8910 型卫星高频头,其DVBS 高频头的 MPEG 接口都是 TS 流接口,控制方式都是采用 I2C 总线驱动,THOMSON8910 将调谐模块和解调模块集成在一起,并封装成一个一体化高频头模块,为主控芯片提供相同的接口,所以大大简化了卫星接收端 NIM 模块的电路设计.图2DVBS信道解码框图
Fig.2The framework of DVBS channel decoder第4期刘军,等:一种无线嵌入式数字卫星接收系统的模块化设计
武汉工程大学学报第30卷
图3给出了后端网络控制和前端DVBS组成框架原理图.首先,采用ST公司的7710为主CPU,由32位RISC CPU ST20和MPEG2 A/V解码器组成,A/V解码器是
MP@HL
规格的,这样能够方便系统调试;其次,THOMSON 8910所用调谐PLL芯片是TSA5059,解调芯片是STV0299.CPU 通过I2C 总线对这两块芯片的寄存器进行读写.TSA5059 的I2C写地址是0XC2,读地址是0XC3,ST0299 的I2C写地址是0XD0,读地址是0XD1.最后,7710能够支持网络,可以接入无线网卡,这样CPU可以通过无线网络接收系统控制命令,并对接收到的TS传输流向无线网络进行转发.图3接收系统硬件原理框图
Fig.3The framework of the receiver3DVBS接收系统的软件模块结构3.1软件模块框架根据DVBS接收系统流程,将DVBS接收系统在软件框架上分割成客户/服务器模式,客户端由三个模块组成:(1)节目接收模块,主要负责实现RTP协议中规定的接收功能、MPEG2解码功能和播放管理功能.(2)节目选择模块,主要负责从服务器端获取节目信息,以用户友好的界面实现反馈点播信息.(3)用户认证模块,负责向服务器注册用户信息,便于服务器提供个性化服务.服务器端由三个模块组成:(1)请求处理模块,负责通过开放接口的方式处理用户请求.(2)认证管理模块,负责用户信息的管理和认证处理.(3)广播内容管理模块,针对用户请求选择的节目流,调整接收参数,管理播出的节目,并对每一接收传输流数据流进行过滤PID操作,以减轻网络传送的压力.图4DVBS接收端的信息交互模型
Fig.4The information interactive model of the DVBS receiver其中,客户端是在IPTV机顶盒中设计和开发,DVBS接收系统则主要完成嵌入式服务器端的设计和开发.图4给出了该框架模型下的信息传递过程.在这个交互模型中,服务器开启三个服务,第一个是RTP/RTSP服务,用来进行视频、音频和数据的传送,这个服务专门负责节目数据方面的处理;第二个服务是针对用户进行节目选择而自定义的节目控制协议,在机顶盒用户界面设计基础上给了DVBS的EPG信息解析之后的节目单,并根据该节目单给服务器传送节目的点播信息数据;第三个服务是认证管理服务,针对用户进行安全认证和个性化服务的实现,也包括对加密界面的解码服务等操作(目前暂时不支持含CA的节目流).3.2软件层次模型根据图4所示的交互模型,IPTV机顶盒是通过三种协议向DVBS接收系统服务器传递信息以控制服务器的行为.为此,在软件层次中分离出以下三个层次模型.
3.2.1访问传输层该层主要功能是对IP数据包进行传输和控制.在DVBS接收系统服务器中,将所有的视频、音频数据的RTP协议的封包进行IP包封装,在无线网络中传输给IPTV机顶盒.该层对上层屏蔽网络传输细节,能够实现有线和无线的IP包传输.
3.2.2流控制层该层主要功能是由对RTP/RTSP协议的实现,负责基本的音、视频数据传输,包括流控制和差错纠正.IPTV机顶盒可以通过RTCP协议要求服务器对传输速率进行调整.
3.3.3应用层应用层主要进行用户点播操作和节目播放管理.与传统的VOD系统设计类似,该层涉及到UI设计和控制协议的制定.在使用IP网络的情况下,将自定义消息封装到IP包中,传送至DVBS接收系统服务器.服务器则对这些命令进行解析,并给谐调器相应的控制.3.3流控制层模块在软件层次模型中,流控制层是最为重要的模块,在软件模块设计中,针对音、视频及信息数据的两层封装码流,需要提取流控制层来负责网络数据接收和RTP数据包控制处理.而为了降低系统实现的难度,还需要对访问传输层中传输流进行控制处理.由此,码流解析系统模块可细分为RTP解析层、RTCP控制和传输流控制等三层.如图5所示.首先,将RTP解析层设计成一个处理RTP协议的状态机.该状态机将payload数据从网络接收缓存中剥离出来,连同其它必要信息如序列号(sequence number)和时间戳(timestamp),交给去抖动缓冲层.图5码流解析模框图
Fig.5The framework of the stream parser 然后,去拉动缓冲层通过建立一个合适的数据结构,即能快速将数据送达下层,又能方便的对错序包进行重排,同时选取一个有效的调度算法,尽可能让所有的数据包都能有效.实际使用中,去拉动缓冲层需要通过RTCP协议控制服务器端的数据发送.在具体实现中,是将卫星接收端的传输流进行过滤,得到单节目流传输数据,并封包在RTP流中,然后在网络处理部分,充分利用RTP包本身所带的时戳信息来消除网络传输的可能造成的错序问题,从而使得下层的解复用器可按照顺序进行传输流TS包的查找,加快其处理速度并减少网络延迟的问题.最后,传输流缓冲区保存着经过处理的传输流,通过抽象IP网络带来的不确定性,并将网络传输的数据流进行去抖动处理,从而形成稳定的视频和音频数据流.传输流处理模块能够以模块化的方式去适应系统的调用,专注于网络中数据处理的去抖动处理,有助于减小去抖动缓冲层的大小.结果显示,这种分层设计能够很好地实现程序代码模块化,降低错误代码定位成本,提高代码开发效率.4单节目流传送视频数据在网络传输中占用了大量的的网络传输带宽.经过解调和和信道解码处理的DVBS的传输流数据大部分为多节目传输流数据(Multiple Programs Transport Stream, MPTS),而用户实际只需要看其中的一个节目.为了减少视频数据占用网络资源,要从复用多路电视节目的数据传输流中抽出一个节目的已打包的视音频基本流(Packetized Elementary Stream, PES)数据,包括视频PES,音频PES和辅助数据PES.解复用器中包含一个解扰引擎,可在传输流层和PES层对加扰的数据进行解扰,解复用器输出的是已解扰的视音频PES,因此在DVBS接收系统中使用解复用器.而每套节目的相应信息都存储在相应的服务信息(Service Information, SI)表中,将其中的EPG信息解析出来传输至IPTV机顶盒,让用户选择其需要的节目来提取单节目传输流(Single Programs Transport Stream, SPTS).单节目传输流的使用节省了网络的带宽,提高节目的播放质量.其次单节目传输流数据,在接收端的处理相对简单,不需要解复用操作,也降低了网络接收端设备的处理能力,易于应用的实现;此外,单节目传输流数据的传输控制操作简单,而且对于多节目传输流数据,可以在服务器端对相应的节目号进行过滤就可以将其解复用组织为单节目传输流数据,易于实现RTP数据包的打包处理.为了实现单节目传输流在网络中的传输,DVBS接收系统首先需要利用现有的TS传输流中SI信息解析引擎,将EPG信息解析出来,并在此基础上建立一个节目信息数据库来存放所有的节目信息.对于IPTV机顶盒,可根据网络传送流量大小,在网络数据传送空闲时段逐步更新节目数据库,从而减轻网络的数据流量.5结语以上给出了一种利用无线网络进行数据传送的DVBS接收方案,其特点是安装不受有线的限制,并且还可以通过扩展多个谐调器使得接收端能够在小区范围内多户共享.同时,给出了接收方案的系统框架和接收端的软件硬件原理设计,通过对接收系统流程和IP网络的特点进行分析,按照模块分层设计的原则对服务器端和接收客户端的模块进行了划分.特别针对IP网络的特点,给出了使用单节目传输流传输方法,减少了IP网络中数据传输负载,提供系统的稳定和可靠性.为读者提供了一个较好的机顶盒参照方案.当然,该方案还将从以下几个方向进行后期研究:(1)分层视图将一般的GUI接口转换为HTML接口模式,使得系统分层更加趋于合理;(2)可以考虑多个高频头接入,使得接入的节目更多,将其用途从家庭扩展至小区;(3)对IP网络中TS传输流的抖动和乱序问题还需要进一步的验证,以引入高清数字电视的节目播放的实现.