DSPTMS320C54X系列芯片结构与基本特征精

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TMS32QC54x 的 基本结构和特征
TMS320C54X 系列有多种芯片型号,如表5.1,基本结构 相同,主要区别是片内存储器容量、片内外设、供电电压和封 装上
3.1 TMS32OC54X 的基本结构
4条程序/数据总线PB 、CB. DB 、EB
8个辅助寄存器 2个寻•址单.元
程序/数据RO
A(l5〜0) D(l5 〜0)
由CPU.存 储器和片内 外设组成。

V __________________
程数拥RAM
内部总线
I 17XI7乘法器 40bitALU 40bi (加法器
比较选抒中元 、丄舍入和饱和 (viterbi 加速器1 桶形移位器 指数编码器
40bit 桶形 C16.31)
寻址单元 4()bit || 4()bil ACCA ||ACCB
IEEE 1149-1 标准测
试/仿JX
CPU
MAC
ALU
3.2 CPU结构
TMS320C54X CPU包扌舌:40位算术逻辑运算单元ALU、40位累加器A 和B、移位-16-30位的40位柿形移位器、乘法器/加法器单元、寻址单元和状态和控制寄存器。

1、算术逻辑单元ALU
使用算术逻辑单元(ALU)和两个累加器(A、B)能够完成二进制的补码运算,同时,ALU还能够完成布尔运算。

算术逻辑单元的输入操作数可以來自:
• 16位的立即数;
•数据存储器中的16位字;
•暂存器T中的16位字;
•数据存储器屮读出的2个16位字;
•累加器A或B中的40位数;
•移位寄存器的输出。

•即町完成双16位运算(C16=l),也町进行40位运算。

2、比较选择存储单元CSSU
通信领域常常用到维持比(Viterbi)算法,该算法需要完成大量的加法/比较/选择(ACS)运算。

CSSU单元支持各种Viterbi 算法,其中加法由ALU单元完成,将ST1中的C16置1,所有的双字指令都会变成双16位算术运算指令,这样ALU就可以在一个机器周期内完成两个16位数的加/减法运算,其结果分别存放在累加器的高16位和低16位屮。

CSSU可以垠人限度地完成累加器高字与低字的比较操作,即选择累加器中较人的字,并存储在数据存储器中,且不改变状态寄存器ST0中的测试/控制位TC字段和状态转移寄存器TRN 的值。

CSSU利用优化的片内硬件加速Viterbi的蝶形运算。

3、指数编码器
指数编码器是一个专用硕件,它支持单周期指令EXP。

它可以求出累加器中的指数值,并以二进制补码形式存放于T 中。

用EXP 和NORM指令可以对累加器中的内容归一化,完成定点数和浮点数之间的转换。

4、累加器A 和B
累加器A 和B 都可以配置成乘法器/加法器或ALU 的日的寄存器。

40位的累加器A 、B 可以分成三部分分别映射在数据存储空间的0页: 39-32 31-16 15-0
AL : 8H, AH : 9H, AG :
AH BL : BH, BH : CH, BG : DH
累加器的作用:
累加器A 和B 都可以配置成乘法器/加法器或ALU 的FI 的寄存器。

提供ALU 的另一个输入。

可作为乘法器(只有A ) /加法器的输入、通过桶形移位器实现移 位和循环移位。

5、桶形移位器
40位桶形移位器的输入端來自: ©DB,取得16位输入数据;
② DB 和CB,取得32位输入数据; ③ 40位累加器A 或B 。

40位桶形移位器的输出端接至: ① ALU 的一个输入端; ② CSSU 单元输入端。

A B
安全位高字低字
桶形移位器(40位)用来为输入的数据进行定标,可以进行以下操作:①ALU运算前,对來自数据存储器的操作数或者累加器的值进行定
标;
②对累加器的值进行算术或逻辑移位;
③对累加器归一化处理;
④对累加器的值存储到数据存储器Z前进行定标。

桶形移位寄存器的控制:
①操作数带符号位/不带符号位扩展控制:ST1寄存器的SXM位:
当SXM=1时,执行符号位扩展。

②移位位数的控制:
指令中的移位数就是移位的位数。

正值表示左移,负值表示右移。

移位数可以用以下方式定义:
(1) 指令操作数中给定的一个4或5位的立即数值表示一个移位数值,范围为(・16〜15)。

⑵状态寄存器ST1的累加器移位方式(ASM)位,共5位,表示一个范围为・16〜15的移位数。

(3)T寄存器中最低6位的数值表示一个范围为・16〜31的移位数。

例如:
ADD A, -4, B :累加器A右移4位后加到累加器B
ADD A, ASM, B ;累加器A按ASM规定的移位数移位后加到累力II器B
NORM A ;按T寄存器中的数值对累加器归一化
6、乘法器/加法器单元
乘法器/加法器的控制:
(1) 乘法器工作控制:状态寄存器ST1中的FRCT位=1时,小数相乘方式,乘法结果左移1位,以消去多余的符号位。

FRCT二0时,整数相乘方式。

(2) 乘法运算的饱和处理:
当SMUL= 1时,在用MAC或MAS指令进行累加以前,对乘法结果作饱和处理。

(3) 加法运算的饱和处理:
当OVM=1时,在用MAC或MAS指令进行累加以后,对加法结果作饱和处理,然后保存到累加器A或B。

ALU运算发生正数溢出,目的累加器置成正的最人值
(OO7FFFFFFFH);发生负数溢出置成负的最人值(FF80000000H) 如果发生溢出则ST1的OVA位或OVB位置1。

⑷乘加结果的舍入(圆整)处理:
如MAC、MAS等指令,如果带后缀R,就对结果进行舍入处理,即加2】5至结果,并将目的累加器的低16位清0。

7、状态和控制寄存器
C54x有3个状态和控制寄存器:
①状态寄存器O(STO);
②状态寄存器1(STI);
③处理器工作方式状态寄存器(PMST)o
使川置位指令SSBX和复位指令RSBX可以单独设置和清除状态寄存器的各位。

⑴状态寄存器STO和ST1 :
STO主要反映寻址要求和计算的中间运行状态。

其各位定义如下:
b J P ・• I V • V r I #7 Z J 1 _•***>► J 7 I J *— J 口
bit 15-1312111098-0
位定义ARP TC C OVA OVB DP
bit15-1312111098-0
位定义ARP TC C OVA OVB DP
STO各位的含义
bit15-1312111098-0
位定义ARP TC C OVA OVB DP
ARP(AssistantRigisterPointer):辅助寄存器指针
TC(TestControlSignal):测试 / 控制标志。

C(Carry):进位标志。

加法进位时置1。

减法借位时清0。

OVA(OverflowA):累加器A的溢出标志。

OVB(OverflowB):累加器B的溢出标志。

DP(DataMemeryPagePointer):数据存储器页指针。

DP 的9位数作为高位将指令中的低7位作为低位结合,形成16位直接寻址方式下的数据存储器地址。

ST4各位含义
ST1主要反映寻址要求、计算的初始状态设置、I/O及中断控
bit1514131211109含义BRAF CPL XF HM INTM0OVM
I C
)
BRAF(Block Repeat Action Flag):块重复操作标志。

CPL(Compiler mode):直接寻址编辑方式标志位。

XF(External Flag): XF引脚状态控制位
HM(Hold Mode):芯片响应HOLD信号时,CPU保持工作方式标志。

INTM(lnterupt Mode);中断方式控制位。

OVM(Overflow Mode):溢出方式控制位。

SXM(Sign-extension Mode):符号位扩展方式控制位。

C16(Double precision Arithmatic Mode):双16位 / 双精度算术运算方式控制位。

FRCT(Fraction Mode):小数方式控制位。

CMPT(Compatibility Mode):间接寻址辅助寄存器修正方式控制位。

ASM(Accumulate Shift Mode):累加器移位方式控制位。

处理器工作模式状态寄存器PMS T
中断向量指针;
MP/MC:微处理器/微型计算机工作方式位
OVLY: RAM重复占位位。

AVSI:地址可见位。

DROM:数据ROM位。

CLKOFF: CLKOUT时钟输出关断位。

SMUL:乘法饱和方式位。

SST:存储饱和付
3.3 C54X片内存储器系统
1、读写总线
(1) 稈序总线:PB
(2) 数拯总线:CB、DB、EB
(3) 地址总线:PAB、CAB、DAB、EAB
2、片内存储器
(1)ROM:
(2)DARAM:双操作,CPU可在一个周期内两次读/写
(3)SARAM :单操作,每个机器周期只可被访问一次
3、存储器空间
(1) 程序空间:64 K字,要执行的指令和执行中要用到的系数表
(2) 数据空间:64 K字,各种数据
(3) 1/O空间:64 K字,映射外围设备接口
4、存储器的分配
(1)处理器工作方式状态寄存器(PMST)的3个状态位MP/MC、OVLY位、DROM位控制C54x片内存储器映射到程序或数据存储空间
MP/MCft =0/1 ,则片内ROM安排到程序空间(微计算机方式)/ 不安排到程序空间(微处理器方式),片内ROM16K,地址为
C000H—FFFFH(MP/MC位=0 ).
OVLY位=1/0,则片内RAM安排到程序和数据空间/只安州到数据仔储空间;OVLY位=1,片内DRAM nJ'作为程序存储器空
间,0000H— 7FFFH
DROM位=1/0,则部分片内ROM安排到/不安排到数据空间;
DROM位=1,片内ROM16K,其数据空间地址为C000H—FFFFH;
此时片内DRAM/SRA M在数据空间地址安排为OOOOH—
BFFFH
(2)在存储空间最后的2KROM (F800H—FFFFH)是由TI公司定义的,一般:参数表(口、A率压扩表、正弦函数查找表)、
自检程序(FFOOH—FF7FH)、中断向量表(FF80H— FFFFH)o
(3)在数据空间的前80H个地址单元是存储器映射寄存器, 其中::、26个CPU寄存器,见下表
•外设寄存器(20H—5FH)•高速暂存区(60H—7FH )
(4)对数据空间的RAM, C54X采川分块方式,这样在两个不同块的数据可在同一周期读写。

(5)C54X有一个独立编址的I/O设备空间。

它是一个64K 字的地址空间(OOOOh〜FFFFh),都在片外。

访问I/O是对I/O映射的外部器件进行访问,两条指令可以对其寻址:PORTR(读I/O设备)、PORTW (向I/O设备写),引脚MSTRB有效访问存储器,引脚IOTRB有效访问I/O设备。

(6)不同类型存储器访问时总线使用情况如表5.10, P85.
存储器映像CPU寄存器
3.4 C54X中断系统
1、中断类型
C54X中断系统有两种中断:软件中断(INTR、TRAP、RESET)和硬件中断硬件中断引发方式:
•通过中断引脚触发的外部硬件中断
•通过片内I/O设备接口中断信号触发的内部破件屮断
2、中断分类
可屏蔽中断和不可屏蔽中断。

可屏蔽屮断:可以用软件來屏蔽或使能的硬件和软件屮断
C54x DSP最多可以支持16个用户可屏蔽中断
非屏蔽中断:这些中断是不能够屏蔽的。

包括所有的软件中断,以及两个外部硕件中断(RS复位和NMI)
3、中断标志寄存器(IFR)
中断标志寄存器:是一个'C5402存储器映射的CPU寄存器,可以识别和清除有效的中断。

当一个屮断出现时,IFR屮的相应的屮断标志位置1,直
屮断标志清除:
①C54x DSP复位(RS引脚为低电平)。

②中断得到处理。

③将1写到I F R中的适当位,相应的诡未处理完的中断被清除。

④利用合适的中断号执行INT时旨令。

4、中断屏蔽寄存器(IMR)
中断屏蔽寄存器(IMR):是一个存储器映射的CPU寄存器,主要用來屏蔽外部和内部中断。

状态寄存器ST1中的INTM位=1, IMR无效。

当ST1中的INTM位=0时,IMR寄存器中的某一位为1,就使能相应的中断。

用户可以对IMR寄存器进行读写操作。

5、C54x DSP处理中断的步骤
⑴屮断请求。

通过软件(程序代码)或硬件(引脚或片内外设)请求挂起主程序。

如果中断源正在请求一个可屏蔽中断,则当中断被接收到时中断标志寄存器(IFR)的相应位被置1。

硬件中断由如下信号发出请求:
• INT3-INT 0弓I 脚。

•/RS和/NMI引脚。

•RINTO、XINTO、RINT1 和XINT1 (串行口中断)。

•TINT (定时器中断)。

软件中断请求:
•INTR K:指令操作数(K中断号)表示CPU分支转移到哪个中断向量地址。

ST1寄存器的中断模式位(INTM)被设置为1用以禁止可屏蔽中断。

•TRAP:该指令执行的功能与INTR指令一致,但不设置INTM位。

•RESET:该指令执行•个卄屛蔽软件复位,RESET指令影响ST0 和ST1
寄存器,但是不会影响PMST寄存器。

当应答RESET指令时,INTM位被设置为1用以禁止可屏蔽中断。

⑵应答中断。

软件中断和非屏蔽硬件中断会立刻被应答,可屏蔽中断仅仅在如下条件满足后才被应答:
•高优先级。

当超过一个硬件屮断同时被请求时,DSP按照中断优先级响应中断请求。

•INTM位为0。

当响应一个中断后,INTM位被置1。

如果程序使用RETE指令退出屮断服务程序后,从屮断返回后INTM重新为0。

使用硕件复位(RS)或执行SSBX INTM语句(禁止中断)会将INTM 位置1。

通过执行RSBX INTM语句(使能屮断),可以复位
INTM位。

INTM不会自动修改IMR或IFR寄存器。

• IMR屏蔽位为1。

每个可屏蔽中断在IMR寄存器中都冇自己的屏蔽位。

为了使能一个中断,可以将其屏蔽位置1。

⑶执行中断服务程序(ISR)
一旦中断被应答,发出中断响应信号IACK,清除IFR 屮的相应的屮断标志位,C54x DSP执行屮断向量地址所指向的分支转移指令,并执行中断服务程序(ISR) o
6、中断向量地址的计算
中断向量可以映射到除保留区域外程序存储器的任何128字页面的起始位置。

中断向量地址是由PMST寄存器中的IPTR (9位中断向量指针)和左移2位后的中断向量序号(中断向量序号为0-31,左移2
后变成7位)所组成。

例如,如果的中断向量号为16或10h,左移2位后变成40h,若IPTR=0001h,则中断向量的地址为OOCOh,中断示。

IPTR=0 0000 0001INT=40h(INT0)
7、中断操作流程
3.4 C54X引脚
1、地址和数据信号
A22. A21. ——、A0;输出/高阻,外部程序、数据和I/O空间复用地址引脚;保持状态或者IEEE1149测试时为高阻态。

D15、D14、——、DO;输入/输出/高阻,外部程序、数据祖I/O空间读写复用引脚;保持状态或者IEEE1149测试时为咼B且态。

2、初始化、中断和复位信号
LACK;输出/高阻,中断响应信号。

INTO、INT1、INT2、INT3:输入,外部可屏蔽中断请求信n NM1:输入,不可屏蔽中断请求信号。

RS:输入,复位信号
MP/MC :输入,微处理器/微型计算机方式选择。

CNT :输入,I/O 电平选择。

(CNT=1,5V; CNT =0,3V )
3、多处理器信号
BIO:输入,控制分支转移的信号。

XF:输出/高阻,CPU标志输出。

4、存储器控制信号
DS> PS、IS :输出/高阻,外部数据、程序、—170空同选择信号。

MSTRB:输出/高阻,CPU读写外部程序、数据空间。

^READY:输入,数据准备好信号。

R/W:输出/高阻,外部读写控制。

IOSTRB:输出/高阻,CPU读写I/O空间。

HOLD:输入,外部请求控制地址、数据和控制信号。

HOLDA:输出/高阻,CPU保持响应信号。

MSC:输出/高阻,CPU微状态完成信号,软件等待到最后一个状态时发出。

受到软件等待状态寄存器(S W W S R)的控制。

其它主要是关于各片内外设接口的引脚。

相关文档
最新文档