TMS320C5402在电视数字传输复用器中的应用

发布于:2007/4/20 9:01:19 | 161 次阅读

      摘要:首先简介传送流语法和TMS320C5402 DSP芯片,然后重点介绍该芯片在复用器中的应用,谈谈对象芯片进行软件编程的体会。
      关键词:传送流 TMS320C5402 复用器
      引言
      随着信息技术的发展,电视信号的数字化编码、数字化存储、数字化处理已经越来越广泛。新开发的数字有限电视广播系统主要包括MPEG-2编码器、数字传输复用器、数字调制器以及机顶盒。复用器是该系统的重要组成部分,完成对多路符合MPEG-2系统层标准ITU-TREC.H.222.1|ISO/IEC13818-1的TS流(Transport Stream)的复用,经过64 QAM调制后,以便在1路6MHx的带宽中传送多路数字化节目。考虑到处理的实时性,我们使用美国德州仪器公司(TI)的TMS320C5402(简称C5402)DSP作为主控芯片。本文首先介绍TS流的结构、C5402芯片、复有器的组成,然后重点介绍该芯片在复用器的应用,就利用CCS开发仿真器一经验介绍。

      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字段。

        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控制器;
*低功耗,工作电源有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包;根据公式计算出码率:
其中i'、i''为相邻2个PCR包,求得多个码率,然后求算术平均,获得平均码率。利用FIFO进行数据传输,速率在10~25MB/s之间。由于DSP处理能力为100MIPS,子卡中DSP传输数据量是大为2MB/s,约耦时0.1~0.2s,这样处理时间足够(0.8~0.9s)。子卡输入FIFO采用8KB大小,在其半满时,DSP等待时间为(188/10 000)×6=0.1128ms,期间FIFO的填充量为0.112 8×1=0.112 KB,远不能输入码流将子卡的输入FIFO填充满而导致溢出。
      4.2 码流交织和PSI信息配置
      为了将6块子卡输入的TS流复合成1路TS流,主卡DSP的功能就是将6路TS流均匀交织。主卡数据通过HPI送到主卡的DSP内部RAM中,再写到外部FIFO中。由于各种码流的PID叫可能相同,需要对各路TS流的ID号进行重新设置。主卡根据预先设置的所有PID生成新的PSI表,并按照一定时间间隔发送到外部的FIFO中去。主卡的CPU以100MHz运行,输出FIFO的大小为8KB,以固定5MHz的码率发送,子卡填写的数据不会导致主卡上溢。当主卡的输出FIFO没有达半满时,填充空包,使FIFO不会下溢。
      在子卡中根据分析得到的PSI信息,可以提取1路或者多路的节目流,并将PID号改为事先规定的,通过HPI通信接口传送到主卡。
      4.3 HPI接口
       HPI(Host Port Interface)接口可以方便地实现主卡与子卡之间的通信,而不需要额外的器件。C5402的HPI操作是8位的。当C5402运行在100MHz主频时,通信速度可达到25MB/s。HPI接口具有3个16bit寄存器:HPIA(地址寄存器)、HPID(数据寄存器)、HPIC(控制寄存器)。主卡与子卡的DSP芯片之间的连接如图4所示:HD0~HD7是8位数据线,直接接到主设备的数据线上;HCS为选通信号;HDS1~HDS2为数据锁存信号,在主设备的存取周期控制数据的传输,一般连到设备的数据选通;HR/W是读写信号;HCNTL0/HCNL1用于主设备选择存取HPI的哪一个寄存器和对寄存器的存取类型,连至主设备的地址线。由于HPI寄存器是16位的,而HPI与主设备仅以8位数据线相连,因而用HBIL决定当前存取的是1个字的第1个字节还是第2个字节,连到主设备地址线。
       对HPI操作首先将控制字写入HPIC,然后将要存取的地址写入HPIA,丰取HPID,就可从HPI存储块或将数据写入HPI存储块。此外,还可选择HPIA自动增加方式,将初始地址写入HPIA,可不再操作HPIA,每存取1次数据,地址都会自动加1,因而加快了存取速度。
       4.4 主卡DSP与计算机接口
为了实现系统自检、码率以及节目信息提取、输出,我们通过DSP的串口与计算机的串口进行通信。如图5所示,采用的是异步通信方式。其中75C189和75C188为电平转换芯片,C5402有2个McBSP(多通道缓冲串行口)。McBSP提供了全双工的通信制以及双缓存的发送寄存器和三级存的接收寄存器,允许连续的数据流传输,数据长度可以为8、12、16、20、24、32;同时还提供了A-律和μ-律压扩,多达128个通道的发送和接收。数据经McBSP与外设的通信通过DR和DX引脚相连。控制信号则由CLKX、CLKR、FSX、FSR四条引脚来实现。
      4.5 DSP程序BOOTL0ADER的实现
      BOOTLOADER是为了在上电时,将用户代码从外部加载到内部的存储器以加快运行速度。我们使用C5402外部8位并行I/O口实现BOOTLOADER程序。C5402读I/O口0xffff,这里面存放着外部存储器的首地址(数据区)。若在这个首地址内读到了关键字08 AA,就进行8位加载;若是10AA则表示16位加载。硬件系统就是加了1片3.3V的Flash,程序用编程器烧入Flash。
      5 C5402的软件编程体会
     (1)C语言与汇编混合编程
在运算能力不是十分紧张的情况下,用C语言开发DSP程序不仅使DSP开发的速度大大加快,而且开发出来的DSP程序的可读性和可移植性大大加强,程序修改也极为方便。采用C编译器的优化功能可以增加C代码的效率。
一般情况下,采用C语言和汇编混合编程方法有3种:①独立编写C程序和汇编程序;②直接在C语言程序的相应位置嵌入汇编语句;③对C程序进行编译生成相应汇编程序,然后对汇编程序进行手工优化和修改。可以从C程序中访问汇编程序的变量和常量,也可以在汇编程序中访问C程序变量。
(2)预防流水线冲突
流水线操作是DSP实现高速度、高效率的关键技术之一。在TMS320C54X中采用了深度与6级的流水线操作,因此流水线冲突不可避免的。一般情况下,当发生流水线冲突时,由DSP自动插入延迟解剖冲突问题,但有时需要程序员通过调整程序语句的次序或在程序中插入一定量的NOP来解决。例如:
STLM A,BRC
NOP
RPTB LOOP
语句
LOOP
(3)存储空间要正确分配
C5402总共有192K字大小存储空间,64K字的程序区、64K字的数据区和64K字的I/O区。当寄存器PMST的OVLY=0时,片内RAM在数据区内可访问,在程序区不可访问;当OVLY=1时,片内RAM映射到程序区和数据区,但数据页(地址从0H~7FH)不映射到程序空间。我们在程序编程中选用后种模式。程序和数据同一块片内RAM,在编写CMD文件时程序和数据区间不能发生重叠。
       (4)指令的使用
        ①TMS320C54X的汇编有算术指令和程序指令,2种指令可以互换。当外部端口操作时使用端口指令PORTW和PORTR。
②利用DADST和DSADT指令,可以同时在1个累加器中进行2次运算。
③利用DADD和DSUB可实现32的加减法。
④利用CMPS、SACCD、SRCCD、STRCD四个条件存储指令,以减少条件判断指令的开销;利用MAX、MIN、FIRS、LMS可以减少运算所需的指令周期;利用C54的并行指令可以省去多次数据存储,提高编程的效率。
⑤充分利用*(IK)寻址(在数据区内指明所要访问的地址),可以减少辅助寄存器的使用。
       (5)少用函数和子程序调用
       虽然结构化程序给软件和调试带来方便,但一个函数和子程序的调用和返回都将使C5402产生1次流水线刷新,增加了指令周期,因而在存储空间足够时,应多使用宏结构;但在编程时又必须考虑程序的大小,所以在对设备处理速度影响不大的情况下,也可以使用函数和子程序。
       (6)关于中断服务程序的编写
        中断有软中断和硬中断。在编写中断服务程序时,最重要的是将中断向量表放置正确。首先在PMST寄存中设置IPTR,然后把INT放到规定的位置,将中断模式INTM=0;将中断使能寄存器的对应位置1。
参与讨论
后参与讨论

//评论区

推荐阅读

智能网联汽车国际标准法规协调专家组(HEAG)召开工作会议

近年来智能网联汽车快速发展,新技术不断涌现,与相关产业融合度持续提升,正在推动全球汽车产业发生深刻变革。为应对此种形势,欧、美、日等汽车工业发达国家和地区都加大了智能网联汽车的国际标准法规协调的参与力度,在联合国世界车辆法规论坛(UN/WP.29)和国际标准化组织(ISO)层面,智能网联汽车相关国际标准法规协调活动正快速推进。 为更有效地支撑上述组织的国际标准法规协调活动,2017年全国汽车标准

0215jiejie | 发布于:2022-12-01 0评论 0赞

苹果推出搭载M2芯片的新款iPad Pro 799美元起售

据苹果官网,苹果推出搭载M2芯片的新款iPadPro。 11英寸wifi版起售价为799美元,wifi+蜂窝网络版起售价为999美元;12.9英寸wifi版起售价为1099美元,wifi+蜂窝网络版起售价为1299美元。

0215jiejie | 发布于:2022-10-19 0评论 0赞

新能源汽车领衔 “中国智造”加速登陆欧洲市场

全球五大车展之一巴黎车展时隔四年再度启幕。在这场被视为“全球汽车行业风向标”的盛会上,国内外汽车品牌云集,长城汽车、比亚迪等再次领衔中国汽车出海。 长城汽车欧洲区域总裁孟祥军表示:“欧洲是长城汽车最重要的海外市场之一,巴黎车展是长城汽车向欧洲市场展示GWM品牌和产品的最佳机会。长城汽车正在研究汽车行业碳排放的整个生命周期,到2025年,将推出50多款新能源产品,全力支持可再生能源使用,为全球用户

0215jiejie | 发布于:2022-10-19 0评论 0赞

严监管时代来临,电子烟“通配”大战走向何方?

针对通配烟弹厂商的一系列诉讼的结果,将对生产通配烟弹的品牌未来在电子烟行业的发展产生深远影响。 10月1日,《电子烟强制性国家标准》正式实施,中国电子烟监管全面生效。而在电子烟行业进入规范化、法治化阶段前夕,一场围绕着通配烟弹的争论在行业里发酵。 “通配”是电子烟从业者约定俗成的概念。换弹式电子烟由烟杆和烟弹组成,“通配”烟弹指的是非品牌商生产、可与品牌烟杆匹配使用的烟弹。多位业内人士表示,被

0215jiejie | 发布于:2022-10-19 0评论 0赞

Bourns 全新大功率分流电阻器

采用金属感应引脚,专用于大电流应用中进行精确测量 全新分流电阻器专为电池管理系统、大电流工业控制和电动汽车充电站 提供高可靠性、高成本效益的解决方案 美国柏恩Bourns全球知名电子组件领导制造供货商,宣布新增12款CSM2F系列功率分流电阻器,扩展其产品组合。全新系列采用铆接通孔金属传感引脚,可满足大电流应用中对电压测试点精确定位日益增长的需求。最新型Bourns?CSM2F系列分流电阻器

0215jiejie | 发布于:2022-10-18 0评论 0赞

请尊重元宇宙“这个筐”

元宇宙是个筐,啥都往里装,但区别在于有的像聚宝盆,有的像垃圾桶。国庆假期刚结束,中青宝“90后”董事长李逸伦便亲自上阵,玩起了元宇宙婚礼。靠着老板首秀和代言,中青宝顺势推出“MetaLove元囍”App,正式进军元宇宙婚礼赛道。 就产品而言,如同其他元宇宙产品,李逸伦的元宇宙婚礼“新奇与吐槽齐飞”:有人说是有趣的尝试,有人则认为像QQ炫舞结婚系统。要知道,QQ炫舞是一款推出了十余年的老游戏。

0215jiejie | 发布于:2022-10-13 0评论 0赞

边缘计算:突围商业模式痛点

截至8月末,中国5G基站总数达210.2万个,中国5G发展已经进入下半场。随着5G加速融入千行百业,互动直播、vCDN、安防监控等场景率先大规模落地,车联网、云游戏、工业互联网、智慧园区、智慧物流等场景也快速走向成熟,这些更大流量、更低时延、更高性能的场景涌现,对边缘计算的刚性需求势必爆发。 GrandViewResearch预测,即使在新型冠状病毒肺炎疫情肆虐全球的背景下,边缘计算和5G网络市

0215jiejie | 发布于:2022-10-13 0评论 0赞

商务部回应美商务部升级半导体等领域对华出口管制并调整出口管制“未经验证清单”

商务部新闻发言人10日就美商务部升级半导体等领域对华出口管制并调整出口管制“未经验证清单”应询答记者问。 有记者问:近日,美国商务部在半导体制造和先进计算等领域对华升级出口管制措施。同时,在将9家中国实体移出“未经验证清单”过程中,又将31家中国实体列入,请问中方对此有何回应? 对此,商务部新闻发言人回应称,中方注意到相关情况。首先,通过中美双方前一阶段共同努力,9家中国实体zui终

0215jiejie | 发布于:2022-10-13 0评论 0赞

TCL华星官宣与奔驰合作:推出全球首款横贯A柱的车载显示屏

今年1月,奔驰带来了VISIONEQSS概念车,其中控台采用了一块完全无缝的47.5英寸曲面显示屏,横贯整个A柱,令人印象深刻。今天,TCL华星正式官宣与奔驰达成合作,并认领了VISIONEQSS上这块全球首款横贯整个A柱曲面的车载显示屏。 根据TCL介绍,这款显示屏采用了完全无缝的超薄一体化设计,将仪表盘、中控与副驾娱乐显示融为一体,并能够与3D实时导航系统相辅相成。 同时,这块显示屏还采用

0215jiejie | 发布于:2022-10-12 0评论 0赞

半导体板块暴跌 谁最受伤

国庆假期后首日开盘,上证综指时隔5个月再次失守3000点,与此同时,半导体板块也再度走低,其中,北方华创、雅克科技等个股跌停。10月11日早盘期间,半导体板块持续下挫,北方华创、雅克科技再度跌停。截至下午收盘,北方华创、雅克科技维持跌停状态,华海清科、拓荆科技-U、盛美上海、清溢光电、海光信息的跌幅则超10%。同日,半导体板块中的119只个股中超五成呈现下跌趋势。 在半导体板块遭遇下挫的同时,北

0215jiejie | 发布于:2022-10-12 0评论 0赞