第 2章 TMS320C54x数字信号处理器硬件结构
? 2.1 TMS320C54x的特点和硬件组成框图
? 2.2 TMS320C54x的总线结构
? 2.3 TMS320C54x的存储器分配
? 2.4 中央处理单元( CPU)
? 2.5 TMS320C54x片内外设简介
? 2.6 硬件复位操作
? 2.7 TMS320VC5402引脚及说明
2.1 TMS320C54x的特点和硬件组成框图
? TMS320C54x的主要特性如下所示:
CPU
? 先进的多总线结构 。
? 40位算术逻辑运算单元 ( ALU) 。
? 17位 × 17位并行乘法器与 40位专用加法器相连 。
? 比较, 选择, 存储单元 ( CSSU) 。
? 指数编码器可以在单个周期内计算 40位累加器中数值的
指数 。
? 双地址生成器包括 8个辅助寄存器和两个辅助寄存器算术
运算单元 ( ARAU) 。
返回首页
存储器
? 64 K字程序存储器, 64 K字数据存储器以及 64 K
字 I/O空间 。 在 C548,C549,C5402,C5410和
C5420中程序存储器可以扩展 。
指令系统
? 单指令重复和块指令重复操作 。
? 块存储器传送指令 。
? 32位长操作数指令 。
? 同时读入两个或 3个操作数的指令 。
? 并行存储和并行加载的算术指令 。
? 条件存储指令 。
? 从中断快速返回指令 。
在片外围电路 ( 如图 2-1所示 )
? 软件可编程等待状态发生器 。
? 可编程分区转换逻辑电路 。
? 带有内部振荡器 。
? 外部总线关断控制, 以断开外部的数据总线, 地
址总线和控制信号 。
? 数据总线具有总线保持器特性 。
? 可编程定时器 。 并行主机接口 ( HPl) 。
电源
? 可用 IDLEl,IDLE2和 IDLE3指令控制功耗, 以工
作在省电方式 。
? 可以控制关断 CLKOUT输出信号 。
在片仿真接口
? 具 有 符 合 IEEEll49.1 标 准 的 在 片 仿 真 接 口
( JTAG) 。
速度
? 单周期定点指令的执行时间为 25/20/15/12.5/10-
ns(40 MIPS/50 MIPS/66 MIPS/80 MIPS/100
MIPS)。
返回本节
图 2-1 TMS320C54x DSP的内部硬件组成框图 1
图 2-1 TMS320C54x DSP的内部硬件组成框图 2
2.2 TMS320C54x的总线结构
? TMS320C54x DSP采用先进的哈佛结构并具有八
组总线,其独立的程序总线和数据总线允许同时
读取指令和操作数,实现高度的并行操作。
? 采用各自分开的数据总线分别用于读数据和写数
据,允许 CPU在同一个机器周期内进行两次读操
作数和一次写操作数。独立的程序总线和数据总
线允许 CPU同时访问程序指令和数据。
返回首页
2.3 TMS320C54x的存储器分配
? 2.3.1 存储器空间
? 2.3.2 程序存储器
? 2.3.3 数据存储器
? 2.3.4 I/O存储器
返回首页
2.3.1 存储器空间
? TMS320C54x存储器由 3个独立的可选择空间组
成:程序空间、数据空间和 I/O空间。
? 程序存储器空间包括程序指令和程序中所需的常
数表格;数据存储器空间用于存储需要程序处理
的数据或程序处理后的结果; I/O空间用于与外部
存储器映象的外设接口,也可以用于扩展外部数
据存储空间。
保留 ( OVLY = 1 )
外部 ( OVLY = 0 )
0000 H
007 FH
0080 H
片内 DR AM,
16 K
( OVLY = 1 )
外部 ( OVLY = 0 )3 FFFH
4000 H
保留 ( OVLY = 1 )
外部 ( OVLY = 0 )
0000 H
007 FH
0080 H
片内 DR AM,
16 K
( OVLY = 1 )
外部 ( OVLY = 0 )3 FFFH
4000 H
程序空间, 页 0 程序空间, 页 0
FF 7 FH
FF 80 H
FFFFH
FF 7 FH
FF 80 H
FFFFH
EF F F H
F 000 H
F EF F H
FF 00 H
片外
中断矢量
( 外部 )
中断矢量
( 片内 )
片外
片内 R OM, 4 K
保留
存储器映象
寄存器
0000 H
005 FH
0080 H
片内 DR AM,
16 K
3 FFFH
4000 H
数据空间
FF 7 FH
FF 80 H
FFFFH
片外
EF F F H
F 000 H
F EF F H
FF 00 H
片内
R OM ( DR OM = 1 )
外部 ( DR OM = 0 )
保留
( DR OM = 1 )
外部 ( DR OM = 0 )
0060 H
007 FH
暂存器 S P R AM
MP / MC = 1
( 微处理器模式 )
MP / MC = 0
( 微型计算机模式 )
图 2-2 TMS320VC5402存储器分配图
Pa ge 0
64 K
Pa ge 1,
低 16 K
外部
Pa ge 1,
高 48 K
外部
1 00 00 H
1 3 FFFH
1 40 00 H
0 00 00 H
0 FFFFH 1 FFFFH
Pa ge 2,
低 16 K
外部
Pa ge 2,
高 48 K
外部
2 00 00 H
2 3 FFFH
2 40 00 H
2 FFFFH
...
...
...
...
Pa ge 15,
低 16 K
外部
Pa ge 15,
高 48 K
外部
F 0000 H
F 3 FFFH
F 4000 H
F FFFFH
XPC = 0 XPC = 1 XPC = 2 XPC = 15
图 2-3 C5402扩展程序存储器图
返回本节
2.3.2 程序存储器
? 通过 MP/和 OVLY位的设置,可以实现对片内存储
器( ROM,RAM) 的配置,即哪些片内存储器
映象在程序存储器空间。
? 器件复位时,复位、中断和陷阱中断的向量映象
在地址 FF80H开始的程序存储器空间。然而,复
位后这些向量可以被重新映象在程序存储器空间
任何 128字页的开始。这样,可以把向量表移出
引导 ROM,并重新配置其地址。
返回本节
2.3.3 数据存储器
? 通过对处理器方式状态寄存器 PMST的 DROM位
的设置, 将片内 ROM配置在数据存储器空间
( DROM=1), 这样, 可以用指令将片内 ROM作
为数据存储器中的数据 ROM来读取 。 复位时,
DROM位被清 0。
? 64K字的数据存储器空间包括数据存储器映象寄
存器, 0000H~ 001FH是常用的 CPU寄存器地址,
0020H~ 005FH是片内外设寄存器的地址 。 表 2-1
表 2-1 存储器映象寄存器
名称 地址 说明
IMR 0 中断屏蔽寄存器
IFR 1 中断标志寄存器
STO 6 状态寄存器 0
STl 7 状态寄存器 1
名称 地址 说明
AL 8 累加器 A低 16位
AH 9 累加器 A高 16位
AG AH 累加器 A最高 8位
BL BH 累加器 B低 16位
BH CH 累加器 B高 16位
BG DH 累加器 B最高 8位
TREG EH 暂存器
TRN FH 状态转移寄存器
AR0~ 7 10H~ 17H 辅助寄存器
SP 18H 堆栈指针
BK 19H 循环缓冲大小
BRC 1AH 块重复计数器
RSA 1BH 块重复起始地址寄存器
名称 地址 说明
REA 1CH 块重复终止地址寄存器
PMST 1DH 处理器方式状态寄存器
XPC 1EH 扩展程序计数器
TIM 24H 定时器 0寄存器
PRD 25H 定时器 0周期寄存器
TCR 26H 定时器 0控制寄存器
SWWSR 28H 软件等待状态寄存器
BSCR 29H 分区转换控制寄存器
SWCR 2BH 软件等待状态控制寄存器
HPIC 2CH 主机接口控制寄存器
TIM1 30H 定时器 1寄存器
PRD1 31H 定时器 1周期寄存器
TCR1 32H 定时器 1控制寄存器
GPIOCR 3CH 通用 I/O控制寄存器, 控制主机接口和 TOUTl
GPIOSR 3DH 通用 I/O状态寄存器, 主机接口作通用 I/O时有用
返回本节
2.3.4 I/O存储器
? 除程序存储器空间和数据存储器空间外,C54x系
列器件还提供了 I/O存储器空间,利用 I/O空间可
以扩展外部存储器。 I/O存储器空间为 64K字
( 0000h~ FFFFh),有两条指令 PORTR和
PORTW可以对 I/O存储器空间操作,读写时序与
程序存储器空间和数据存储器空间有很大不同。
返回本节
2.4 中央处理单元( CPU)
? CPU的基本组成如下:
? CPU状态和控制寄存器
? 40位算术逻辑单元 ( ALU)
? 40位累加器 A和 B
? 桶形移位寄存器
? 乘法器 /加法器单元
? 比较, 选择和存储单元 ( CSSU)
? 指数编码器
返回首页
1,算术逻辑单元 ( ALU) 和累加器
? TMS320C54x使用 40位算术逻辑单元 ( ALU) 和
两个 40位累加器 ( ACCA和 ACCB) 来完成算术
运算和逻辑运算, 且大多数都是单周期指令 。
ALU功能框图如图 2-4所示 。
图 2-4 ALU功能框图
2,桶形移位寄存器
? 如图 2-5所示为桶形移位寄存器的功能框图 。 桶形
移位寄存器的输入可以为,① 从 DB获得的 16位
操作数; ② 从 DB和 CB获得的 32位操作数; ③ 从
累加器 A或 B获得的 40位操作数 。 桶形移位寄存
器的输出连到 ALU或经过 MSW/LSW( 最高有效
字 /最低有效字 ) 写选择单元至 EB总线 。
图 2-5 桶形移位器的功能框图
3,乘法器 /加法器单元
? C54x CPU有一个 1717位的硬件乘法器, 与 40位
的专用加法器相连, 可以在单周期内完成一次乘
法累加运算 。 其功能框图如图 2-6所示 。 乘法器的
输出经小数 /整数乘法 ( FRCT) 输入控制后加到
加法器的一个输入端, 加法器的另一个输入端来
自累加器 A或 B。
? 加法器还包括零检测器, 舍入器 ( 二进制补码 )
及溢出 /饱和逻辑电路 。
图 2-6 乘法器 /加法器单元功能框图
4,比较, 选择和存储单元 ( CSSU)
? 比较, 选 择和 存储单 元 ( CSSU) 是 专门 为
Viterbi算法设计的加法 /比较 /选择 ( ACS) 操作
的硬件单元, 其功能框图如图 2-7所示 。
? CSSU 支持均衡器和信道译码器所用的各种
Viterbi算法 。 Viterbi算法示意图如图 2-8所示 。
图 2-7 比较、选择和存储单元
( CSSU) 功能框图
图 2-8 Viterbi算法示意图
5,指数编码器
? 指数编码器用于支持单周期指令 EXP的专用硬件 。
在 EXP指令中, 累加器中的指数值能以二进制补
码的形式 ( -8~31) 存储在 T寄存器中 。 指数值定
义为前面的冗余位数减 8的差值, 即累加器中为
消除非有效符号位所需移动的位数 。 当累加器中
的值超过 32位时, 指数为负值 。
6,CPU状态和控制寄存器
? TMS320C54x有三个状态和控制寄存器, 分别为
状态寄存器 ST0,状态寄存器 ST1和处理器方式
状态寄存器 PMST。 ST0和 ST1包括各种工作条件
和工作方式的状态, PMST包括存储器配置状态
和控制信息 。
? 状态寄存器 ST0的位结构如图 2-9所示, 表 2-2所
示是 ST0的说明 。
图 2-9 状态寄存器 ST0位结构
15~ 13 12 11 10 9 8~ 0
ARP TC C OV
A
OV
B
DP
表 2-2 状态寄存器 ST0
15 14 13 12 11 10 9 8 7 6 5 4~
0
BR
AF
CP
L
XF HM INT
M
0 OV
M
SX
M
C16 FR
CT
CM
PT
AS
M
图 2-10 状态寄存器 ST1的位结构
表 2-3 状态寄存器 ST1(1)
表 2-3 状态寄存器 ST1(2)
15~ 7 6 5 4 3 2 1 0
IPTR MP/
MC
OV
LY
AV
IS
DRO
M
CLKO
FFt
SMU
Lt
SS
Tt
图 2-11 处理器方式状态寄存器
PMST的位结构
表 2-4 状态寄存器 PMST
返回本节
2.5 TMS320C54x片内外设简介
1,通用 I/O引脚
2,定时器
3,时钟发生器
4,主机接口 ( HPI)
5,串行口
6,软件可编程等待状态发生器
7,可编程分区转换逻辑
返回首页
2.6 硬件复位操作
复位期间, 处理器进行以下操作:
? PMST中的中断向量指针 IPTR设置成 1FFH。
? PMST中的 MP/位设置成与引脚 MP/状态相同的值 。
? PC设置为 FF80H。
? 扩展程序计数器 XPC清 0。
? 无论 MP/状态如何, 将 FF80H加到地址总线 。
返回首页
? 数据线变为高阻态, 控制线处于无效状态 。
? 产生信号 。
? ST1中的中断方式位 INTM置 1,关闭所有可屏蔽
中断 。
? 中断标志寄存器 IFR清 0。
? 产生同步复位信号 ( ), 初始化外围电路 。
下列状态位置成初始值
? ARP=0 CLKOFF=0 HM=0 SXM=1
? ASM=0 CMPT=0 INTM =1 TC= 1
? AVIS =0 CPL=0 OVA=0 XF=1
? BRAF=0 DP=0OVB=0
? C=1 DROM=0 OVLY= 0
? C16=0 FRCT=0 OVM=0
? 如果 MP/=0,程序从片内 ROM开始执行, 否则, 从片外
程序存储器开始执行 。
返回本节
2.7 TMS320VC5402引脚及说明
图 2-12 TMS320VC5402的引脚 1
返回首页
图 2-12 TMS320VC5402的引脚 2
表 2-5 TMS320VC5402引脚说明 1
表 2-5 TMS320VC5402引脚说明 2
表 2-5 TMS320VC5402引脚说明 3
表 2-5 TMS320VC5402引脚说明 4
表 2-5 TMS320VC5402引脚说明 5
表 2-5 TMS320VC5402引脚说明 6
表 2-5 TMS320VC5402引脚说明 7
返回本节
表 2-5 TMS320VC5402引脚说明 8