一种宽带复接器的设计与实现
数据并将数据送给输出ASI接口。
e.输出模块:由CPLD提供控制信号,将数据从发送FIFO读出来,同时写入发送ASI接口。
f.命令通信接口:复接器通过串口与播控服务器通信,从服务器接收系统复位、状态查询、PID置换、PSI/SI插入和提取等命令,并向服务器反馈必要的信息。
为保证数据信号接收端解码器能正确解码,缓冲区不会上溢或下溢,解码输出信号平稳,要求复接器输入的各路TS包均匀分布在输出数据流中,所以必须在发送之前对输入的各路TS包做交织。采用实时交织的方法,FPGA能够在每次帧切换的时候记录各路TS包的数目,然后计算交织表。交织表依照如下方式计算:
设数据流共有K路MPTS流,数据流的一个数据帧有M个TS包,每路MPTS有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(nM)
{
p(i,n)=[m(i) * n/M]+1; [ ]表示取整
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+FPGA的结构,便于以后的升级与扩展。同时,所设计的复接器除了应用在DVB-C数据广播系统外,凡是输入符合DVB-C的TS流标准均可以使用。
实现 设计 宽带 DVB-C数据广播 TS复接器 DSP FPGA 网络 相关文章:
- 基于光纤到户技术实现智能小区三网融合(05-14)
- 基于DDC和DUC的大带宽DRFM设计与实现(04-24)
- 电子引信检测设备实现通用化应用(04-17)
- 融合是实现新一代门禁及电脑桌面登录安全性的关键(02-26)
- 基于基站定位和 GPS 的双定位跟踪系统架构和实现(12-19)
- 利用RF预失真实现功放线性化(12-14)