TMS320C5402在电视数字传输复用器中的应用
摘要:首先简介传送流语法和TMS320C5402 DSP芯片,然后重点介绍该芯片在复用器中的应用,最后谈谈对象芯片进行软件编程的体会。
关键词:传送流 TMS320C5402 复用器
引言
随着信息技术的发展,电视信号的数字化编码、数字化存储、数字化处理已经越来越广泛。新开发的数字有限电视广播系统主要包括MPEG-2编码器、数字传输复用器、数字调制器以及机顶盒。复用器是该系统的重要组成部分,完成对多路符合MPEG-2系统层标准ITU-TREC.H.222.1ISO/IEC13818-1的TS流(Transport Stream)的复用,经过64 QAM调制后,以便在1路6MHx的带宽中传送多路数字化节目。考虑到处理的实时性,我们使用美国德州仪器公司(TI)的TMS320C5402(简称C5402)DSP作为主控芯片。本文首先介绍TS流的结构、C5402芯片、复有器的组成,然后重点介绍该芯片在复用器的应用,最后就利用CCS开发仿真器一经验介绍。
javascript:window.open(this.src);" style="cursor:pointer;"/>
1 TS流简介
主要包括分组方法、程序特殊信息(PSI)表以及程序参考时钟(PCR)的提取。
(1)分组方法
传送流分组长度固定为188字节,分组由分组首部及有效负载组成,如图1所示。
(2)PSI
PSI被分成4类表。如表1所示,每个表可被分成1段或多段置于传送流中。这4类表是:程序关联表PAT(Program Association Table)、程序映射表PMT(Program Map Table)、网络信表NIT(Network Information Table)、条件访问表CAT(Conditional Access Table)。这4类表中包含进行多路解调和显示程序的必要和足够的信息。
表1 程序特殊信息
结构名 | 流类型 | 保留的PID# | 描 述 |
程序关联表 | ITU-T Rec.H.222.0 ISO/IEC 13818-1 | 0x00 | 关联程序号与程序映射表PID |
程序映射表 | ITU-T Rec.H.222.0 ISO/IEC 13818-1 | 赋值的 | 说明1个或多个程序组成部分的PID值 |
网络信息表 | 私用 | 赋值的 | 物理网络参数:FDM频率、发送器号码等等 |
条件访问表 | ITU-TRec.H.222.0 ISO/IEC 13818-1 | 0x01 | 建立1个或多个(私用)EMM流与每个独立的PID值的联系 |
系统层解复用,首先要获取PAT表。PAT表中包含了该传送流中所有程序的一个清单。通过PAT表,就可获取该传送中所包含每个程序的PMT表。
在每个程序的PMT表中,就有该程序中各个原始流的信息,包括PID、原始流类型以及该程序中包含有效PCR字段的传送流中PID。通过PAT及PMT表,就可掌握传送流中每个程序以及每个程序中各原始之间的关系。
(3)PCR
在传送流中,解码的同步实现是靠相应的程序参考时间PCR值。PCR是将比特流本身的时序编码的时间标签,它可以由同一道程序的视频和音频的PTS所用的共同时间基点推出。由于每道程序都有自己的时间基点,所以含有多道程序的传送流的每一道程序都有独立的PCR字段。
javascript:window.open(this.src);" style="cursor:pointer;"/>
2 C5402介绍
C5402是TI公司1999年10月推出的性价比较高的定点数字信号处理器,其主要特点如下:
*先进的改造型哈佛结构,操作速率可达100MIPS;
*先进的多总线结构,3条16位数据存储器总线和1条程序存储器总线;
*40位算术逻辑单元(ALU),包括1个40位桶形移位器和2个40位累加器;
*1个17×17乘法器和1个40位专用加法器,允许16位带(或不带)符号的乘法;
*8个辅助寄存器及1个软件栈,允许使用业界最先进的定点DSP C语言编译器;
*数据/程序寻址空间1M×6bit,内置4K×16bit ROM和16K×16bit RAM。
*内置可编程等待状态发生器、锁相环时钟产生器、2个多通道缓冲串行口、1个8位并行与外部处理器通信的HPI口、2个16位定时器以及6通道DMA控制器;javascript:window.open(this.src);" style="cursor:pointer;"/>
*低功耗,工作电源有3V和1.8V(内核使用)。
3 复用器硬件框图及流程
复用器硬件框图如图2所示。
(1)合成控制卡(主卡)流程
主卡流程:主要完成6块卡处理的实施监控,生成PSI等信息并周期性发送。主卡的PSI信息:6个PMT的PID以及每个子卡输入来的视频、音频、PCR的PID号是事先规定好的。
(2)单路TS流处理卡(子卡)流程
子卡流程:TS流进入FIFO缓存,由DSP进行PSI信息的提取和码率的计算;将有关信息送入合成处理卡进行分析、综合;根据需要从输入的流中提取1路视频、1路音频和PCR包,并将它们的PID改为事先规定的。子卡的功能相当于一个简易的码流分析仪,而且可以提供1路单独的TS流。
4 C5402的几个典型应用
C5402在该系统中的应用:对输入的TS流进行分析;对6路码流进行均匀交织和PSI信息的重置;主卡与子卡之间通过C5402 HPI接口进行通信;利用C5402串口与计算机RS232串口相连。
4.1 输入的TS流分析
DSP从FIFO中读取TS流到内部RAM中去,如图3所示,根据13位的PID号0x000找到PAT表,在PAT表中获得PMT的ID号和NIT的ID号;根据PMT_PID获得视频、音频、PCR的PID号以及其它私有信息的PID号;根据PCR_PID和pcr_flag,找到PCR包;根据公式计算出码率:
javascript:window.open(this.src);" style="cursor:pointer;"/>
其中i'、i''为相邻2个PCR包,求得多个码率,然后求算术平均,获得平均码率。利用FIFO进行数据传输,速率在10~25MB/s之间。由于DSP处理能力为100MIPS,子卡中DSP传输数据量是大为2MB/s,约耦时0.1~0.2s,这样处理时间足够(0.8~0.9s)。子卡输入FIFO采用8KB大小,在其半满时,DSP等待时间最大为