当前位置:文档之家› 一种宽带复接器的设计与实现.

一种宽带复接器的设计与实现.

一种宽带复接器的设计与实现
摘要:DVB-C数据广播系统的基本结构,详细分析了 TS复接器在整个 系
统中的重要性与功能,提出一种 DSP与FPGA相结合的实现方案,及其设计方 法和系
统结构。
信息时代的到来使人们需要共享越来越多的信息。随着信息及其需求的爆 炸性
增长,信息的选择及传输速率成为一个重要问题。有线电视网络有其固有 的高带宽
特性,适合大容量的数据传输和实时性要求,使宽带数字接入成为可 能。在我国由
于有线电视网是一个已经存在的接入网络,成本低、可维护性 强、频率资源丰富、
覆盖面广、用户量大,因而通过有线电视网进行数据广播 是目前国内应用领域的一
大热点。 DVB-C是 ETSI (European Telecommunications Standards Institute )提
供的基于 Cable 上数据广播的 一整套标准[1,2,3],本文首先介绍DVB-C数据广播
系统的基本结构,接着详细 分析TS复接器在整个系统中的重要性与功能,然后详细
说明利用 DSP(数字信
号处理器)与FPGA(现场可编程门阵列)相结合的一个实现方案,阐明了其中 的设
计方法和系统结构。

1 DVB-C
数字广播系统简介
一个实用的DVB-C广播系统的结构如图1所示[3-6],整个系统可以大致分为三 个
部分:( 1)信息前端,包括视频服务器、播控服务器、通信控制服务器、用

>'http://lu nwen .freekaoya n.com/gua nlilu nwen/' target='_bla nk'

class='infotextkey'>
管理工作站、节目采集工作站、节目 编排工作站等;
(2)传输网络,利用现有的HFC网络巨大的频带资源实现数据传输;(3)用 户终
端,用户利用机顶盒或者Cable-Modem接收和浏览信息。
从图1可以看到,在DVB-C数字广播系统中,一个通道上传输的数据可能包含 多路
节目或来自多个节目源,因此需要对多路多节目 TS流(MPTS进行复合转
接,生成一个符合DVB-C标准的MPTS再经调制后在一个通道上传输。由
TS

复接器来完成这个功能。TS复接器在前端系统中相当于一个交换机,它负责对 多个
MPTS4行转换和复合,生成一个 MPTS
在复合过程中,要完成服务信息
(PSI/SI )、多路MPTS勺交织等工作[4,5]。从中可以看出复接器在整个系统
中的重要性,TS复接器工作是否稳定可靠,直接影响整个系统的正常运作。
2 TS
复接器勺设计方法
在该系统中需要对6路数字卫星电视节目进行复接。各路有效速率为 0〜
15Mbps的异步串行接口( ASI)输入,6路总速率不超过36Mbps
输出为恒定 速率
38.1Mbps的ASI输出,输出的MPTS为符合DVB-C标准的传送流;复接器 度同PID

包括将输入MPT卿的PSI/SI等不需要的信息过滤掉以及对有效 TS 包重新分配PID。
新的PSI/SI信息作为复接器的输入按一定速率插入到 MPIS 中,插入的PSI/SI信息
包括节目关联表(PAT、节目映射表(PMT、网络信 息表(NIT)、服务描述表(
SDT

等[4,5],复接器还能接受来自播控系统的数 据信息,作为复接器输出流的一部
分。系统的功能模块结构如图 2 所示。
由图 2 可以看到,由于需要处理的数据速率快、数据量大、要求实时性,一般 的处
理芯片无法完成。为了达到上述目的,采用高速 DSP和FPGA一起来完成。
整个系统基于DSP和FPGA配以CPLD高速SRAM异步FIFO等。DSP具有运 算速度快、
计算能力哟、可用资源比较丰富的特点,尤其适合于实现各种数字 信号的处理功
能,在各种领域具有广泛的应用。但由于所要处理的数量太大, 仅靠DSP片内
RAM

是远远不够的,所以还必须要有大容量、访问速度快的缓冲 区对接收到的数据进行
缓冲,以便于 DSP进行处理。基本思想是FPGA完成TS 包过滤和PID置换、
PSI/SI

提取等工作,系统的控制工作、TS包交织算法则由 DSP完成,整个控制逻辑则由
CPLD
完成。

3 TS
复接器的一种实现方案
针对上述分析,采用DSP与 FPGA相结合的方法成功实现了 TS复接器,该实现 方案
如图3所示。图3中的DSP采用TI公司的TMS320VC5410-100它具有 100MIPS的快速
处理能力,以及片内64K的RAM和多个串口等资源,其片外寻 址空间可以多达
8M

Word FPGA则采用了 Xilinx 公司的XCV300
笔者为DSP扩展了 2M Word的高速SRAM作缓冲,分为两个1M Word的双缓冲, 处理
时以帧为单位,DSP和FPGAR能访问其中一个1M Word的SRAM 一般情况 下,FPGA从
输入接口把一帧数据存入其中一个缓冲区, DSP对另外一个缓冲区
进行操作,根据交织表把数据送到 FIFO,再输出到输出接口,两者的总线切换 由
FPGA
负责完成。
图 3 可以分为以下几个模块:
a. 输入模块:使用ASI接口将270M串行编码数据转换成27M
并行数据,并提供 接收
时钟、数据有效等控制信号。
b. FPGA模块:接收ASI接口输出的并行数据,实现同步、PID置换、PSI/SI
提 取
等,并将数据写入SRAM中,跟踪记录每路的TS包数;产生帧切换脉冲,控 制双缓
冲区的切换。
c. DSP主控模块:DSP
完成整个系统的控制功能,计算交织表,负责与播控系统 的通
信等。
d. CPLD模块:根据DSP
提供的 地址和数据进行译码,对总线上 的各设备进行互斥
片选;产生中 断申请信号;对发送FIFO的全 空信号进行采样,控制从发送
FIF 0

读数据并将数据送给输出
ASI
接口。
e. 输出模块:由CPLD提供控制 信号,将数据从发送FIFO
读出 来,同时写入发送
ASI
接口。
f.
命令通信接口:复接器通过串 口与播控服务器通信,从服务器 接收系统复位、
状态查询、PID 置换、PSI/SI插入和提取等命 令,并向服务器反馈必要的信 息。
为保证数据信号接收端解码器能 正确解码,缓冲区不会上溢或下 溢,解码输出信号
平稳,要求复 接器输入的各路TS包均匀分布在输出数据流中,所以必须在发送之前
对输入的 各路TS包做交织。采用实时交织的方法,FPGA能够在每次帧切换的时候记
录 各路TS包的数据目,然后计算交织表。交织表依照如下方式计算: 设数据流共
有K路MPTS流,数据流的一个数据帧有 M个TS包,每路
MPTSt m(i)(i=0,1,...k-1)

个TS包,假设各路TS包由大到小排序,m(0)最大,否则 首先排序。根据M K、
m(i)

对输入的TS流进行交织,对第i路有:用p(i,n) 指示第i路是否将一个TS包输出
到MPTS^的第n个TS包,q(i)表示第i路中 已输出到MPTS^的TS包数,初值为0;
i=0,n=0; while( n表示取整
if (P(i, n)-q(i)>=1)
{ 将第i路的第q(i)个TS包输出到MPTS^的第n个TS包; q(i)++;
n++; }
i++;
if(i=K) i=0;
}
最后在 Xilinx 的 Xilinx Foundation Series 先对所设计的逻辑进行仿真,利 用

DSP的simulation
进行程序的仿真,仿真结束后在单板上进行调试。由于选 用的
FPGA的容量限制,门数有限,能够进行 PID
置换的个数受到限制,但是可 以根据估
算出的各种TS包数对每一路能够置换的PID数目进行动态调整;由于 采用了交织算
法,能够对突发数据进行很好的平滑作用,利用后级进行处理。 把复接器接到图
1

所示的系统中去,通过复接器处理的节目流在 STB(机顶
盒)上能够接收到稳定清晰的节目,并且系统稳定工作,说明本文所设计的复 接器达
到了预期目的。
本文详细分析了 DVB-C数据广播系统中的关键部件--复接器的一种实现方法, 该方
法基于DSP+FPG的结构,便于以后的升级与扩展。同时,所设计的复接器 除了应用
在DVB-C数据广播系统外,凡是输入符合 DVB-C的TS流标准均可以使 用。

相关主题