2024年3月25日发(作者:念荫)
维普资讯
鬟 |羹警l ll_一 l l√'|_0 譬 ÷ 囊|蠢j0ill_0 警
THS320C5402在电视数字传输复用器中的应用
●空军工程大学 马时平张重阳肖卫华毕笃彦
引 言
随着信息技术的发展,电视信号的数字化编
码、数字化存储、数字化处理已经越来越广泛。新
开发的数字有线电视广播系统主要包括MPEG.2编
表PMT(Program Map Table)、网络信息表NIT
(Network Information Table)、条件访问表CAT
(Conditional Access Table)。这4类表中包含进行多
路解调和显示程序的必要和足够的信息。
表1程序特殊信息
码器、数字传输复用器、数字调制器以及机
顶盒。复用器是该系统的重要组成部分,完
成对多路符合MPEG.2系统层标准ITU—T
REC.H.222 0[ISO/IEC13818—1的TS流(Transport
结构名 流类型 保留的PID# 描述
程序关联表 ⅡU-T Rec.H.222.0 l
ISo/正C l38l8一l
0x00
赋值的
赋值的
表PI关联程序号与程序映射 D
成部分的PI说明1个或多个程序组 D值
物理网络参数:FDM频
率、发送器号码等等
建立1个或多个(私用)
EMM流与每个独立的
PID值的联系
TU—T Rec.H.222.0 l
Stream)的复用,经过64 QAM调制后,以
程序映射表 I
ISo/正C 13818—1
便在1路6 MHz的带宽中传送多路数字化节
网络信息表 私用
目。考虑到处理的实时性,我们使用美国德
州仪器公司(TI)的TMS32OC5402 f简称
条件访问表
C5402)DSP作为主控芯片。本文首先介绍TS
ⅡU—T Rec.H.222.0 l
ISo/正C l38l8
l
一
0x0l
流的结构、C5402芯片、复用器的组成,然后重点
介绍该芯片在复用器中的应用,最后就利用CCS开
发仿真做一经验介绍。
系统层解复用,首先要获取PAT表。PAT表中
包含了该传送流中所有程序的一个清单。通过PAT
表,就可获取该传送流中所包含每个程序的PMT
表。
1 TS流简介
主要包括分组方法、程序特殊信息(PSI)表以
及程序参考时钟(PCR)的提取。
(1)分组方法
在每个程序的PMT表中,就有该程序中各个原
始流的信息,包括PID、原始流类型以及该程序中
包含有效PCR字段的传送流中PID。通过PAT及PMT
表,就可掌握传送流中每个程序以及每个程序中各
原始流之间的关系。
(3)PCR
传送流分组长度固定为1 8 8字节,分组由分组
首部及有效负载组成,如图1所示。
I88字节
在传送流中,解码的同步实现是靠相应的程序
首部 有效负载 首部 有效负载 首部 有效负载
参考时钟PCR值。PCR是将比特流本身的时序编码
的时间标签,它可以由同一道程序的视频和音频的
图1传送流分组
(2)PSI
PTS所用的共同时间基点推出。由于每道程序都有
自己的时间基点,所以含有多道程序的传送流的每
一
PSI被分成4类表。如表1所示,每个表可被分
成1段或多段置于传送流中。这4类表是:程序关
联表PAT(Program Association Table)、程序映射
道程序都有独立的PCR字段。
2 05402介绍
C5402是TI公司1999年10月推出的性价比较高
圈啊皿Mic II&E beddedSysle 。63
维普资讯
应用天地
的定点数字信号处理器,其主要特点如下:
◇先进的改进型哈佛结构,操作速率可达100
MIPS;
改为事先规定的。子卡的功能相当于一个简易的码
流分析仪,而且可以提供I路单独的TS流。
◇先进的多总线结构,3条16位数据存储器总
线和1条程序存储器总线;
4 C5402的几个典型应用
C5402在该系统中的应用:对输入的TS流进行
◇40位算术逻辑单元(ALu),包括1个40位
桶形移位器和2个4 0位累加器;
◇1个17×17乘法器和1个40位专用加法器,
允许1 6位带(或不带)符号的乘法;
分析;对6路码流进行均匀交织和PSI信息的重置;
主卡与子卡之间通过C5402 HPI接口进行通信;利
用C5402串口与计算机RS232串口相连。
4.1 输入的TS流分析
DSP从FIFO中读取TS流到内部RAM中去,如
◇8个辅助寄存器及1个软件栈,允许使用业
界最先进的定点DSP C语言编译器;
◇数据/程序寻址空间1M×6 bit,内置4K×
16 bitROM和16K×16 bitRAM;
图3所示,根据13位的PID号0x000找到PAT表,
FIFO通道
◇内置可编程等待状态发生器、锁相环时钟
产生器、2个多通道缓冲串行口、1个8位并行与外
部处理器通信的HPI口、2个1 6位定时器以及6通
道DMA控制器;
◇低功耗,工作电源有3 v和1.8 v(内核使
用)。
图3子卡原理图
3 复用器硬件框图及流程
复用器硬件框图如图2所示。
在PAT表中获得PMT的ID号和NIT的ID号;根据
PMT
PID获得视频、音频、PCR的PID号以及其它
——
私有信息的PID号;根据PCR
PID和pcrflag,找
到PC R包;根据公式计算出码率:
=
单路Ts流 单路Ts流
单路Ts流
单路TS流 单路TS流
单路Ts流
处理卡
处理卡 处理卡
处理卡 处理卡
处理卡
(DSP)
篇
(DSP) (DSP) (DSP)
(DSP) (DSP)
其中,、厂为相邻2个PCR包,求得多个
码率,然后求算术平均,获得平均码率。利
用FIFO进行数据传输,速率在10-25 MB/s
数据总线
路Ts
输出
.
之间。由于DSP处理能力为1 00 MIPS,子
查询控制总线
合成控制卡
(DSP)
卡中DSP传输数据量最大为2 MB/s,约耗
时0.1--43.2 S,这样处理时间足够(0.8~0.9 S)。
子卡输入FIFO采用8 KB大小,在其半满时,
图2复用器硬件框图
DSP等待n,-Jl'-.J最大为(188/10 000)×6=0.1 128 ms,
(1)合成控制卡(主卡)流程
主卡流程:主要完成6块卡处理的实施监控,
生成PSI等信息并周期性发送。主卡的PSI信息:
6个PMT的PID以及每个子卡输入来的视频、音频、
PCR的PID号是事先规定好的。
(2)单路TS流处理卡(子卡)流程
子卡流程:TS流进入FIFO缓存,由DSP进行
PSI信息的提取和码率的计算;将有关信息送入合
成处理卡进行分析、综合;根据需要从输入的流中
期间FIF0的填充量为0.1 12 8×1=0.1 12 8 KB,远不
能输入码流将子卡的输入FIFO填充满而导致溢出。
4.2 码流交织和PS I信息配置
为了将6块子卡输入的TS流复合成1路TS流,
主卡DSP的功能就是将6路TS流均匀交织。主卡
对子卡进行查询,当子卡有准备好的数据时,就将
数据通过HPI送到主卡的DSP内部RAM中,再写
到外部FIFO中。由于各路码流的PID号可能相同,
提取1路视频、1路音频和PCR包,并将它们的PID
需要对各路Ts流的ID号进行重新设置。主卡根据
预先设置的所有PID生成新的PSI表,并按照一定
64 丰时^J・入式毒健矗甩量圃匝皿
维普资讯
_l _ lz
时间间隔发送到外部的FIFO中去。主卡的CPU以
100 MHz运行.输出FIFO的大小为8 KB,以固定5
MHz的码率发送,子卡填写的数据不会导致主卡上
慧麓 黧黧 硼
McBSP(多通道缓冲串行口)。McBSP提供了全双
工的通信机制以及双缓存的发送寄存器和三缓存的
接收寄存器,允许连续的数据流传输,数据长度可
以为8、12、16、20、24、32;同时还提供了A.律
和 .律压扩,多达1 2 8个通道的发送和接收。数
据经McBSP与外设的通信通过DR和DX引脚相连。
控制信号则由CLKX、CLKR、FSX、FSR四条引脚
来实现。
DR FSX
溢。当主卡的输出FIFO没有到达半满时,填充空
包,使FIF0不会下溢。
在子卡中根据分析得到的PSI信息,可以提取
1路或者多路的节目流,并将PID号改为事先规定
的,通过HPI通信接口传送到主卡。
4.3 HPI接口
HPI(Host Port Interface)接口可以方便地实现
主卡与子卡之间的通信,而不需要额外的器件。
C5402的HPI操作是8位的。当C5402运行在100MHz
主频时,通信速度可达到25 MB/s。HPI接口具有
3个16 bit寄存器:HPIA(地址寄存器)、HPID(数据
FSR CLKX
DX CLKR
图5异步串口
寄存器)、HPIC(控制寄存器)。主卡与子卡的DSP芯
片之间的连接如图4所示:HD ~HD 是8位数据线,
直接接到主设备的数据线上;HC S为选通信号;
4.5 DSP程序BOOTLOADER的实现
BOOTLOADER是为了在上电时,将用户代码
从外部加载到内部的存储器以加快运行速度。我们
使用C5402外部8位并行I/O口实现BOOTLOADER
程序。C5402读I/O口0xffff,这里面存放着外部存
HDS.~HDS,为数据锁存信号,在主设备的存取周期
控制数据的传输,一般连到主设备的数据选通;
HR/W是读写信号;HCNTL0/HCNL 1用于主设备选
储器的首地址(数据区)。若在这个首地址内读到
择存取HPI的哪一个寄存器和对寄存器的存取类
型,连至主设备的地址线。由于HPI寄存器是1 6位
的,而HPI与主设备仅以8位数据线相连,因而用
了关键字08 AA,就进行8位加载;若是1 0 AA则
表示16位加载。硬件系统就是加了1片3.3 v的Flash,
程序用编程器烧入F1ash。
HBIL决定当前存取的是1个字的第1个字节还是第
2个字节,连到主设备的地址线。
5 C5402的软件编程体会
(1)C语言与汇编混合编程
D D7 ● HD _HD7
A AI ●
HCS.A7~A4 ■
MSTRB,W/R ●
HCNTL0/1(address)
HCS
HR,W
在运算能力不是十分紧张的情况下,用C语言
开发DSP程序不仅使DSP开发的速度大大加快,而
且开发出来的DSP程序的可读性和可移植性大大加
强,程序修改也极为方便。采用C编译器的优化功
能可以增加C代码的效率。
一
Ready.A7~A4 ●
MSTRB,A7,Al5,DS ●
HRDY
HDSl-HDS2
图4主卡与子卡的DSP芯片接口
般情况下,采用C语言和汇编混合编程方法
对HPI操作首先将控制字写入HPIC,然后将要
存取的地址写入HPIA,最后存取HPID,就可从HPI
存储块或将数据写入HPI存储块。此外,还可选择
HPIA自动增加方式,将初始地址写入HPIA,可不
有3种:①独立编写C程序和汇编程序;②直接
在C语言程序的相应位置嵌入汇编语句;③对C程
序进行编译生成相应的汇编程序,然后对汇编程序
进行手工优化和修改。可以从C程序中访问汇编程
序的变量和常量,也可以在汇编程序中访问C程序
变量。
再操作HPIA,每存取1次数据,地址都会自动加1,
因而加快了存取速度。
4.4主卡DSP与计算机接口
为了实现系统自检、码率以及节目信息提取、
(2)预防流水线冲突
流水线操作是DSP实现高速度、高效率的关键
技术之一。在TMS320C54X中采用了深度为6级的
流水线操作,因此流水线冲突不可避免。一般情况
输出,我们通过DSP的串口与计算机的串口进行通
信。如图5所示,采用的是异步通信方式。其中
75C 1 89和75C1 88为电平转换芯片,C5402有2个
下,当发生流水线冲突时,由DSP自动插入延迟解
决冲突问题,但有时需要程序员通过调整程序语句
囡皿皿Microcontron 。&Emb。dde sle 。65
i 1r了
维普资讯
|囊§ 《藿|ll| 甏譬誊 _誓誊誊甍誊。
Il 番《尊强。 -- 0| £
ll器裳鏊鼍一毫 蘩|毪鼍零霪等0誊|薯矗 一 鼍 ≮誊簿。霉囊 餮《鬓笺 嚣t薯登0 l≯ 一 _
尊§ 一一 嚣 、曩= l
。 曩| |童鼍 ‰鼋蠹薯尊 。
的次序或在程序中插入一定量的NOP来解决。例
如:
STLM A,BRC
NOP
RPTB L00P
访问的地址),可以减少辅助寄存器的使用。
(5)少用函数和子程序调用
虽然结构化程序给软件和调试带来方便,但每
一
个函数和子程序的调用和返回都将使C5402产生
1次流水线刷新,增加了指令周期,因而在存储空
间足够时,应多使用宏结构;但在编程时又必须考
虑程序的大小,所以在对设备处理速度影响不大的
语句
L00P
(3)存储空间要正确分配
C5402总共有1 92K字大小存储空间,64K字的
程序区、64K字的数据区和64K字的I/O区。当寄
存器PMST的OVLY=O时,片内RAM在数据区内可
访问,在程序区不可访问;当OVLY=1时,片内RAM
情况下,也可以使用函数和子程序。
(6)关于中断服务程序的编写
中断有软中断和硬中断。在编写中断服务程序
时,最重要的是将中断向量表放置正确。首先在
PMST寄存中设置IPTR,然后把INT放到规定的位
置,将中断模式INTM=0;将中断使能寄存器的对
映射到程序区和数据区,但数据页(地址从
OH~7FH)不映射到程序空间。我们在程序编程中选
用后一种模式。程序和数据同一块片内RAM,在
编写CMD文件时程序和数据区间不能发生重叠。
应位置1。雎
参考文献
1 钟玉琢,等.运动图像及其伴音通用编码国 (4)指令的使用
①TMS320C54X的汇编有算术指令和程序指
令,2种指令可以互换。当外部端口操作时使用端
口指令PORTW和PORTR。
际标准一MPEG.2.北京:清华大学出版社,1997
2 王剑,王红卫等.基于E1接口的DVB流的
发射/接收设备软件编程.电视技术,2000(7):19~23
3 张雄伟,曹铁勇.DSP芯片的原理与开发应
用.北京:电子工业出版社,2000
4 Texas Instruments.TM¥320C54X DSP CPU and
Peripherals.1 999
5 Texas Instruments.TM¥320C54X C Source
②利用DADST和DSADT指令,可以同时在1
个累加器中进行2次运算。
③利用DADD和DSUB可实现32的加减法。
④利用CMPS、SACCD、SRCCD、STRCD四个
条件存储指令,以减少条件判断指令的开销;利用
MAX、MIN、FIRS、LMS可以减少运算所需的指令
Debugger.1 999
6 Texas Instruments.TMS320C54X Assembly
周期;利用C 5 4的并行指令可以省去多次数据存
储,提高编程的效率。
Language Tools.1 999
⑤充分利用 (IK)寻址(在数据区内指明所要
近日,美国国家半导体公司宣布该公司已成功并购美
国加JJ1、I Campbell的数字显示器厂商DigitalQuake公司。美
国国家半导体显示产品部副总裁David Handorf表示:“美
国国家半导体通过并购方式成功引进DigitalQuake的几项
重要技术,其中包括先进的第四代影像缩放解决方案、三
通道模拟数字转换器以及采用最新加密/解密技术的先进数
字视频接口。DigitalQuake这些已注册专利的技术有助加强
我们在数字显示技术上的领导地位,也确保我们可以为平
开发了一款专为数字显示器而设计的,具有创新性的缩放
器芯片。影像缩放技术是改变显示器的清晰度及画面大小
的必要功能之一。DigialtQuake原有的专业设计工程师会继
续获得美国国家半导体聘用,他们可以继续在美国国家半
导体的显示器部门发挥他们的才华。自2002年2月以来,
DigialtQuake便一直与美国国家半导体的设计工程师紧密合
作,致力将该公司的影像缩放技术与美国国家半导体的高
集成度定时控制技术结合在一起。这个合作项目已取得了
面显示器提供全方位的解决方案。”美国国家半导体一直致
力为生产笔记本电脑显示器及台式电脑监视器的厂商提供
各种半导体解决方案。
Digital Quake创办于2002年2月,开业仅两年便成功
丰硕的成果,两家公司成功地推出了一款先进的混合信号
系统芯片(system.on.chip)解决方案,并已得到客户的广
泛采用。
66 丰哼-j-入 冬健 两雹田匝啊
2024年3月25日发(作者:念荫)
维普资讯
鬟 |羹警l ll_一 l l√'|_0 譬 ÷ 囊|蠢j0ill_0 警
THS320C5402在电视数字传输复用器中的应用
●空军工程大学 马时平张重阳肖卫华毕笃彦
引 言
随着信息技术的发展,电视信号的数字化编
码、数字化存储、数字化处理已经越来越广泛。新
开发的数字有线电视广播系统主要包括MPEG.2编
表PMT(Program Map Table)、网络信息表NIT
(Network Information Table)、条件访问表CAT
(Conditional Access Table)。这4类表中包含进行多
路解调和显示程序的必要和足够的信息。
表1程序特殊信息
码器、数字传输复用器、数字调制器以及机
顶盒。复用器是该系统的重要组成部分,完
成对多路符合MPEG.2系统层标准ITU—T
REC.H.222 0[ISO/IEC13818—1的TS流(Transport
结构名 流类型 保留的PID# 描述
程序关联表 ⅡU-T Rec.H.222.0 l
ISo/正C l38l8一l
0x00
赋值的
赋值的
表PI关联程序号与程序映射 D
成部分的PI说明1个或多个程序组 D值
物理网络参数:FDM频
率、发送器号码等等
建立1个或多个(私用)
EMM流与每个独立的
PID值的联系
TU—T Rec.H.222.0 l
Stream)的复用,经过64 QAM调制后,以
程序映射表 I
ISo/正C 13818—1
便在1路6 MHz的带宽中传送多路数字化节
网络信息表 私用
目。考虑到处理的实时性,我们使用美国德
州仪器公司(TI)的TMS32OC5402 f简称
条件访问表
C5402)DSP作为主控芯片。本文首先介绍TS
ⅡU—T Rec.H.222.0 l
ISo/正C l38l8
l
一
0x0l
流的结构、C5402芯片、复用器的组成,然后重点
介绍该芯片在复用器中的应用,最后就利用CCS开
发仿真做一经验介绍。
系统层解复用,首先要获取PAT表。PAT表中
包含了该传送流中所有程序的一个清单。通过PAT
表,就可获取该传送流中所包含每个程序的PMT
表。
1 TS流简介
主要包括分组方法、程序特殊信息(PSI)表以
及程序参考时钟(PCR)的提取。
(1)分组方法
在每个程序的PMT表中,就有该程序中各个原
始流的信息,包括PID、原始流类型以及该程序中
包含有效PCR字段的传送流中PID。通过PAT及PMT
表,就可掌握传送流中每个程序以及每个程序中各
原始流之间的关系。
(3)PCR
传送流分组长度固定为1 8 8字节,分组由分组
首部及有效负载组成,如图1所示。
I88字节
在传送流中,解码的同步实现是靠相应的程序
首部 有效负载 首部 有效负载 首部 有效负载
参考时钟PCR值。PCR是将比特流本身的时序编码
的时间标签,它可以由同一道程序的视频和音频的
图1传送流分组
(2)PSI
PTS所用的共同时间基点推出。由于每道程序都有
自己的时间基点,所以含有多道程序的传送流的每
一
PSI被分成4类表。如表1所示,每个表可被分
成1段或多段置于传送流中。这4类表是:程序关
联表PAT(Program Association Table)、程序映射
道程序都有独立的PCR字段。
2 05402介绍
C5402是TI公司1999年10月推出的性价比较高
圈啊皿Mic II&E beddedSysle 。63
维普资讯
应用天地
的定点数字信号处理器,其主要特点如下:
◇先进的改进型哈佛结构,操作速率可达100
MIPS;
改为事先规定的。子卡的功能相当于一个简易的码
流分析仪,而且可以提供I路单独的TS流。
◇先进的多总线结构,3条16位数据存储器总
线和1条程序存储器总线;
4 C5402的几个典型应用
C5402在该系统中的应用:对输入的TS流进行
◇40位算术逻辑单元(ALu),包括1个40位
桶形移位器和2个4 0位累加器;
◇1个17×17乘法器和1个40位专用加法器,
允许1 6位带(或不带)符号的乘法;
分析;对6路码流进行均匀交织和PSI信息的重置;
主卡与子卡之间通过C5402 HPI接口进行通信;利
用C5402串口与计算机RS232串口相连。
4.1 输入的TS流分析
DSP从FIFO中读取TS流到内部RAM中去,如
◇8个辅助寄存器及1个软件栈,允许使用业
界最先进的定点DSP C语言编译器;
◇数据/程序寻址空间1M×6 bit,内置4K×
16 bitROM和16K×16 bitRAM;
图3所示,根据13位的PID号0x000找到PAT表,
FIFO通道
◇内置可编程等待状态发生器、锁相环时钟
产生器、2个多通道缓冲串行口、1个8位并行与外
部处理器通信的HPI口、2个1 6位定时器以及6通
道DMA控制器;
◇低功耗,工作电源有3 v和1.8 v(内核使
用)。
图3子卡原理图
3 复用器硬件框图及流程
复用器硬件框图如图2所示。
在PAT表中获得PMT的ID号和NIT的ID号;根据
PMT
PID获得视频、音频、PCR的PID号以及其它
——
私有信息的PID号;根据PCR
PID和pcrflag,找
到PC R包;根据公式计算出码率:
=
单路Ts流 单路Ts流
单路Ts流
单路TS流 单路TS流
单路Ts流
处理卡
处理卡 处理卡
处理卡 处理卡
处理卡
(DSP)
篇
(DSP) (DSP) (DSP)
(DSP) (DSP)
其中,、厂为相邻2个PCR包,求得多个
码率,然后求算术平均,获得平均码率。利
用FIFO进行数据传输,速率在10-25 MB/s
数据总线
路Ts
输出
.
之间。由于DSP处理能力为1 00 MIPS,子
查询控制总线
合成控制卡
(DSP)
卡中DSP传输数据量最大为2 MB/s,约耗
时0.1--43.2 S,这样处理时间足够(0.8~0.9 S)。
子卡输入FIFO采用8 KB大小,在其半满时,
图2复用器硬件框图
DSP等待n,-Jl'-.J最大为(188/10 000)×6=0.1 128 ms,
(1)合成控制卡(主卡)流程
主卡流程:主要完成6块卡处理的实施监控,
生成PSI等信息并周期性发送。主卡的PSI信息:
6个PMT的PID以及每个子卡输入来的视频、音频、
PCR的PID号是事先规定好的。
(2)单路TS流处理卡(子卡)流程
子卡流程:TS流进入FIFO缓存,由DSP进行
PSI信息的提取和码率的计算;将有关信息送入合
成处理卡进行分析、综合;根据需要从输入的流中
期间FIF0的填充量为0.1 12 8×1=0.1 12 8 KB,远不
能输入码流将子卡的输入FIFO填充满而导致溢出。
4.2 码流交织和PS I信息配置
为了将6块子卡输入的TS流复合成1路TS流,
主卡DSP的功能就是将6路TS流均匀交织。主卡
对子卡进行查询,当子卡有准备好的数据时,就将
数据通过HPI送到主卡的DSP内部RAM中,再写
到外部FIFO中。由于各路码流的PID号可能相同,
提取1路视频、1路音频和PCR包,并将它们的PID
需要对各路Ts流的ID号进行重新设置。主卡根据
预先设置的所有PID生成新的PSI表,并按照一定
64 丰时^J・入式毒健矗甩量圃匝皿
维普资讯
_l _ lz
时间间隔发送到外部的FIFO中去。主卡的CPU以
100 MHz运行.输出FIFO的大小为8 KB,以固定5
MHz的码率发送,子卡填写的数据不会导致主卡上
慧麓 黧黧 硼
McBSP(多通道缓冲串行口)。McBSP提供了全双
工的通信机制以及双缓存的发送寄存器和三缓存的
接收寄存器,允许连续的数据流传输,数据长度可
以为8、12、16、20、24、32;同时还提供了A.律
和 .律压扩,多达1 2 8个通道的发送和接收。数
据经McBSP与外设的通信通过DR和DX引脚相连。
控制信号则由CLKX、CLKR、FSX、FSR四条引脚
来实现。
DR FSX
溢。当主卡的输出FIFO没有到达半满时,填充空
包,使FIF0不会下溢。
在子卡中根据分析得到的PSI信息,可以提取
1路或者多路的节目流,并将PID号改为事先规定
的,通过HPI通信接口传送到主卡。
4.3 HPI接口
HPI(Host Port Interface)接口可以方便地实现
主卡与子卡之间的通信,而不需要额外的器件。
C5402的HPI操作是8位的。当C5402运行在100MHz
主频时,通信速度可达到25 MB/s。HPI接口具有
3个16 bit寄存器:HPIA(地址寄存器)、HPID(数据
FSR CLKX
DX CLKR
图5异步串口
寄存器)、HPIC(控制寄存器)。主卡与子卡的DSP芯
片之间的连接如图4所示:HD ~HD 是8位数据线,
直接接到主设备的数据线上;HC S为选通信号;
4.5 DSP程序BOOTLOADER的实现
BOOTLOADER是为了在上电时,将用户代码
从外部加载到内部的存储器以加快运行速度。我们
使用C5402外部8位并行I/O口实现BOOTLOADER
程序。C5402读I/O口0xffff,这里面存放着外部存
HDS.~HDS,为数据锁存信号,在主设备的存取周期
控制数据的传输,一般连到主设备的数据选通;
HR/W是读写信号;HCNTL0/HCNL 1用于主设备选
储器的首地址(数据区)。若在这个首地址内读到
择存取HPI的哪一个寄存器和对寄存器的存取类
型,连至主设备的地址线。由于HPI寄存器是1 6位
的,而HPI与主设备仅以8位数据线相连,因而用
了关键字08 AA,就进行8位加载;若是1 0 AA则
表示16位加载。硬件系统就是加了1片3.3 v的Flash,
程序用编程器烧入F1ash。
HBIL决定当前存取的是1个字的第1个字节还是第
2个字节,连到主设备的地址线。
5 C5402的软件编程体会
(1)C语言与汇编混合编程
D D7 ● HD _HD7
A AI ●
HCS.A7~A4 ■
MSTRB,W/R ●
HCNTL0/1(address)
HCS
HR,W
在运算能力不是十分紧张的情况下,用C语言
开发DSP程序不仅使DSP开发的速度大大加快,而
且开发出来的DSP程序的可读性和可移植性大大加
强,程序修改也极为方便。采用C编译器的优化功
能可以增加C代码的效率。
一
Ready.A7~A4 ●
MSTRB,A7,Al5,DS ●
HRDY
HDSl-HDS2
图4主卡与子卡的DSP芯片接口
般情况下,采用C语言和汇编混合编程方法
对HPI操作首先将控制字写入HPIC,然后将要
存取的地址写入HPIA,最后存取HPID,就可从HPI
存储块或将数据写入HPI存储块。此外,还可选择
HPIA自动增加方式,将初始地址写入HPIA,可不
有3种:①独立编写C程序和汇编程序;②直接
在C语言程序的相应位置嵌入汇编语句;③对C程
序进行编译生成相应的汇编程序,然后对汇编程序
进行手工优化和修改。可以从C程序中访问汇编程
序的变量和常量,也可以在汇编程序中访问C程序
变量。
再操作HPIA,每存取1次数据,地址都会自动加1,
因而加快了存取速度。
4.4主卡DSP与计算机接口
为了实现系统自检、码率以及节目信息提取、
(2)预防流水线冲突
流水线操作是DSP实现高速度、高效率的关键
技术之一。在TMS320C54X中采用了深度为6级的
流水线操作,因此流水线冲突不可避免。一般情况
输出,我们通过DSP的串口与计算机的串口进行通
信。如图5所示,采用的是异步通信方式。其中
75C 1 89和75C1 88为电平转换芯片,C5402有2个
下,当发生流水线冲突时,由DSP自动插入延迟解
决冲突问题,但有时需要程序员通过调整程序语句
囡皿皿Microcontron 。&Emb。dde sle 。65
i 1r了
维普资讯
|囊§ 《藿|ll| 甏譬誊 _誓誊誊甍誊。
Il 番《尊强。 -- 0| £
ll器裳鏊鼍一毫 蘩|毪鼍零霪等0誊|薯矗 一 鼍 ≮誊簿。霉囊 餮《鬓笺 嚣t薯登0 l≯ 一 _
尊§ 一一 嚣 、曩= l
。 曩| |童鼍 ‰鼋蠹薯尊 。
的次序或在程序中插入一定量的NOP来解决。例
如:
STLM A,BRC
NOP
RPTB L00P
访问的地址),可以减少辅助寄存器的使用。
(5)少用函数和子程序调用
虽然结构化程序给软件和调试带来方便,但每
一
个函数和子程序的调用和返回都将使C5402产生
1次流水线刷新,增加了指令周期,因而在存储空
间足够时,应多使用宏结构;但在编程时又必须考
虑程序的大小,所以在对设备处理速度影响不大的
语句
L00P
(3)存储空间要正确分配
C5402总共有1 92K字大小存储空间,64K字的
程序区、64K字的数据区和64K字的I/O区。当寄
存器PMST的OVLY=O时,片内RAM在数据区内可
访问,在程序区不可访问;当OVLY=1时,片内RAM
情况下,也可以使用函数和子程序。
(6)关于中断服务程序的编写
中断有软中断和硬中断。在编写中断服务程序
时,最重要的是将中断向量表放置正确。首先在
PMST寄存中设置IPTR,然后把INT放到规定的位
置,将中断模式INTM=0;将中断使能寄存器的对
映射到程序区和数据区,但数据页(地址从
OH~7FH)不映射到程序空间。我们在程序编程中选
用后一种模式。程序和数据同一块片内RAM,在
编写CMD文件时程序和数据区间不能发生重叠。
应位置1。雎
参考文献
1 钟玉琢,等.运动图像及其伴音通用编码国 (4)指令的使用
①TMS320C54X的汇编有算术指令和程序指
令,2种指令可以互换。当外部端口操作时使用端
口指令PORTW和PORTR。
际标准一MPEG.2.北京:清华大学出版社,1997
2 王剑,王红卫等.基于E1接口的DVB流的
发射/接收设备软件编程.电视技术,2000(7):19~23
3 张雄伟,曹铁勇.DSP芯片的原理与开发应
用.北京:电子工业出版社,2000
4 Texas Instruments.TM¥320C54X DSP CPU and
Peripherals.1 999
5 Texas Instruments.TM¥320C54X C Source
②利用DADST和DSADT指令,可以同时在1
个累加器中进行2次运算。
③利用DADD和DSUB可实现32的加减法。
④利用CMPS、SACCD、SRCCD、STRCD四个
条件存储指令,以减少条件判断指令的开销;利用
MAX、MIN、FIRS、LMS可以减少运算所需的指令
Debugger.1 999
6 Texas Instruments.TMS320C54X Assembly
周期;利用C 5 4的并行指令可以省去多次数据存
储,提高编程的效率。
Language Tools.1 999
⑤充分利用 (IK)寻址(在数据区内指明所要
近日,美国国家半导体公司宣布该公司已成功并购美
国加JJ1、I Campbell的数字显示器厂商DigitalQuake公司。美
国国家半导体显示产品部副总裁David Handorf表示:“美
国国家半导体通过并购方式成功引进DigitalQuake的几项
重要技术,其中包括先进的第四代影像缩放解决方案、三
通道模拟数字转换器以及采用最新加密/解密技术的先进数
字视频接口。DigitalQuake这些已注册专利的技术有助加强
我们在数字显示技术上的领导地位,也确保我们可以为平
开发了一款专为数字显示器而设计的,具有创新性的缩放
器芯片。影像缩放技术是改变显示器的清晰度及画面大小
的必要功能之一。DigialtQuake原有的专业设计工程师会继
续获得美国国家半导体聘用,他们可以继续在美国国家半
导体的显示器部门发挥他们的才华。自2002年2月以来,
DigialtQuake便一直与美国国家半导体的设计工程师紧密合
作,致力将该公司的影像缩放技术与美国国家半导体的高
集成度定时控制技术结合在一起。这个合作项目已取得了
面显示器提供全方位的解决方案。”美国国家半导体一直致
力为生产笔记本电脑显示器及台式电脑监视器的厂商提供
各种半导体解决方案。
Digital Quake创办于2002年2月,开业仅两年便成功
丰硕的成果,两家公司成功地推出了一款先进的混合信号
系统芯片(system.on.chip)解决方案,并已得到客户的广
泛采用。
66 丰哼-j-入 冬健 两雹田匝啊