1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第3章,*,系列内部结构,优
2、选系列内部结构,1/31/2026,3.1 基本结构和引脚功能,TMS320C54x系列DSP芯片种类很多,但结构基本相同,主要由中央处理器CPU、内部总线控制、特殊功能寄存器、数据存储器RAM、程序存储器ROM、I/O功能扩展接口、串行口、主机通信接口HPI、定时器、中断系统等部分组成,其内部结构如图2.1所示。,1/31/2026,图2.1 TMS320C54x的内部结构图,1/31/2026,优化核,JTAG TEST/EML CONTROL,ROM,RAM,电源管理,程序/数据总线,外设总线,D(15-0),A(15-0),外设,1/31/2026,图2.2 VC5402引脚分布图,1
3、/31/2026,常用封装 Package,四边扁平封装(TQFP),球格阵列(BGA)封装,SOIC,LQFP,28PLCC,1/31/2026,VC5402采用CMOS制造工艺,共有144个引脚,引脚分布如图2.2所示。引脚按功能分为电源引脚、时钟引脚、控制引脚、地址引脚、数据引脚、外部中断引脚、通信端口引脚、通用I/O引脚等部分,其引脚名称及功能如表2.2所示。,表2.2 TMS320VC5402引脚名称及功能,1/31/2026,表2.2 TMS320VC5402引脚名称及功能(续),1/31/2026,表2.2 TMS320VC5402引脚名称及功能(续),1/31/2026,1.程
4、序总线(PB),主要用来传送取自程序存储器的指令代码和立即操作数。,2.3组数据总线(CB、DB和EB),3组数据总线分别与不同功能的内部单元相连接,如将CPU、程序地址产生逻辑PAGEN、数据地址产生逻辑DAGEN、片内外设和数据存储器等连接在一起。其中,CB和DB传送读自数据存储器的操作数,EB传送写到存储器的数据。,3.4组地址总线(PAB、CAB、DAB和EAB),地址总线用来提供执行指令所需的地址。TMS320C54x可以利用两个辅助寄存器算术运算单元(ARAU0和ARAU1),在每个周期内产生两个数据存储器地址。,1/31/2026,3.2 中央处理单元(CPU),CPU是DSP器
5、件的核心部件,它的性能直接关系到DSP器件的性能。,对所有的TMS320C54x器件来说,中央处理单元(CPU)是通用的。CPU的基本组成如下:,(1)40位算术逻辑运算单元(ALU);,(2)2个40位累加器;,(3)一个40位的桶形移位寄存器;,(4)乘法器/加法器单元(MAC);,(5)CPU状态和控制寄存器;,(6)寻址单元。,1/31/2026,C54x中央处理单元,到总线,MAC,ALU,17 X 17 MPY,40 BIT ADDER,RND,SAT,40 BIT ALU,CMPS OPERATOR(VITERBI),EXP ENCODER,桶式移位寄存器,累加器,40 BIT
6、BARREL,(-16,31),40 BIT ACC A,40 BIT ACC B,寻址单元,8 辅助寄存器,2 寻址单元,1/31/2026,TMS320C54x有3个状态和控制寄存器;,(1)状态寄存器0(ST0),(2)状态寄存器1(ST1),(3)处理器工作方式状态寄存器(PMST)。,ST0和ST1中包含各种工作条件和工作方式的状态;PMST中包含存储器的设置状态及其它控制信息。由于这些寄存器都是存储器映像寄存器,所以都可以快速地存放到数据存储器,或者由数据存储器对它们加载,或者用于程序或者中断服务程序保存和恢复处理器的状态。,1/31/2026,1.状态寄存器 ST0和ST1,ST
7、0主要反映处理器的寻址要求和计算机的运行状态。ST1主要反映处理器的寻址要求、计算初始状态的设置、I/O及中断的控制等。ST0、ST1各位的定义如图2.3所示。,图2.3 ST0、ST1各位的定义,1/31/2026,2.处理器工作模式状态寄存器(PMST),PMST寄存器主要设定和控制处理器的工作方式和存储器的配置,反映处理器的工作状态。PMST寄存器由存储器映射寄存器指令进行加载,例如STM指令。PMST各位的定义如图2.4所示。,图2.4 PMST各位的定义,1/31/2026,40位ALU结构如图2.5所示,大多数的逻辑算术运算指令都是单周期指令。除存储操作指令(ADDM、ANDM、O
8、RM和XORM)外,ALU的算术结果通常都被传输到目的累加器(A或B)中。,图2.5 40位ALU结构,1/31/2026,C54x有两个独立的40位累加器A和B,可以作为ALU或MAC的目标寄存器,存放运算结果,也可以作为ALU或MAC的一个输入。,累加器A和B都可以分为三部分,如图2.6所示。它们之间的惟一区别是累加器A的3216位能被用做乘法一累加单元中的乘法器输入,而累加器B则不能。,保护位(AG、BG)用做算术计算时的数据位余量,以防止迭代运算中的溢出,如自动校正时的某些溢出。,图2.6 累加器A和B的结构,1/31/2026,(a)双宽度输入转为单宽度输出,(b)单宽度输入转为双宽
9、度输出,1/31/2026,1/31/2026,1/31/2026,输入,DB(16位数),DB、CB(32位数),累加器A或B(40位数),输出,ALU的一个输入端(40位数),EB(16位数),1/31/2026,在ALU运算前,对来自数据存储器的操作数或者累加器的值进行定标,对累加器的值进行算术或逻辑移位,对累加器归一化处理,对累加器的值存储到数据存储器之前进行定标,1/31/2026,DB 15:0,CB 15:0,PB 15:0,A 39:0,B 39:0,A,B,XMYM,乘法器,17 X 17,小数/整数,有符号/无符号,有符号/无符号,MUX,MUX,T,FRCT,XAYA,加
10、法器,零检,测器,舍入,饱和,MUX,0,OVA,OVB,ZA,ZB,MUX,1/31/2026,1717位硬件乘法器,乘法器与40位专用加法器相连(在1个周期内完成乘法累加运算),小数相乘(FRCT1),乘积左移一位,零检测器,舍入电路,溢出/饱和电路,乘法器输出,加法器的,XA,累加器A或B,加法器的,YA,乘法累加结果,累加器A或B,1/31/2026,3.3 存储器,C54x DSP包含随机存取存储器(RAM)和只读存储器(ROM)。RAM可分为以下三种类型:双访问RAM(DARAM)、单访问RAM(SARAM)和两种方式共享的RAM。在多CPU核心器件和子系统中,DARAM或SARA
11、M可以被共享。用户可以配置DARAM和SARAM为数据存储器或程序/数据存储器。C54x DSP片内还有26个映射到数据存储空间的CPU寄存器和外设寄存器。,C54x DSP体系结构的并行特性和片内RAM的双访问功能,允许C54x DSP器件在任何给定的机器周期内执行四个并行存储器操作:一次取指、两次读操作数和一次写操作数。,1/31/2026,C54x DSP的存储器空间可以分为三个单独选择的空间,即64K字的程序空间、64K字的数据空间和64K字的I/O空间。一些C54x DSP芯片采用了分页扩展方法可访问8M的程序空间。在任何一个存储空间内,RAM、ROM、EPROM、EEPROM或存储
12、器映射外设都可以驻留在片内或者片外。,C54x DSP具有三个CPU状态寄存器位,影响存储器的配置,这三个状态位是处理器模式状态寄存器(PMST)中的位:MP/、OVLY和DROM。,1/31/2026,(1)位:,若 =0,则片内ROM映射到程序存储空间;,若 =1,则片内ROM不映射到程序存储空间。,(2)OVLY位:,若OVLY=1,则片内RAM映射到程序和数据存储空间;,若OVLY=0,则片内RAM只映射到数据存储空间。,(3)DROM位:,若DROM=1,则部分片内ROM映射到数据存储空间;,若DROM=0,则片内ROM不映射到数据存储空间。,1/31/2026,图2.7 TMS32
13、0C5416存储器映射图,1/31/2026,程序存储空间用来存放要执行的指令和执行中所需的系数表。C5402共有20条地址线,可寻址1M字的外部程序存储器。它的内部ROM和DARAM可通过软件映射到程序空间。当存储单元映射到程序空间时,CPU可自动地按程序存储器对它们进行寻址。如果程序地址生成器(PAGEN)产生的地址处于外部存储器,CPU可自动地对外部存储器寻址。,1/31/2026,1.程序存储空间的配置,(1)MP/MC控制位用来决定程序存储空间是否使用内部存储器。,当MP/MC=0时,称为微计算机模式。,4000HEFFFH程序存储空间定义为外部存储器;,F000HFEFFH程序存储
14、空间定义为内部ROM;,FF00HFFFFH程序存储空间定义为内部存储器。,当MP/MC=1时,称为微处理器模式。,4000HFFFFH程序存储空间定义为外部存储器。,程序存储空间可通过PMST寄存器的状态位MP/和OVLY来设置内部存储器的映射地址。,(2)OVLY控制位用来决定程序存储空间是否使用内部RAM。,当OVLY=0时,程序存储空间不使用内部RAM。,0000H3FFFH全部定义外部程序存储,此时内部RAM只作数据存储器。,当OVLY=1时,程序存储空间使用内部RAM。,内部RAM同时被映射到程序存储空间和数据存储空间。,0000H007FH保留,程序无法占用;0080H3FFFH
15、定义为内部DARAM。,1/31/2026,2.程序存储空间的分页扩展,在C54x系列芯片中,有些芯片采用分页扩展的方法,使程序存储空间可扩展到1M8M。TMS320VC5402中的程序空间分成16页,每页64K字,如图2.8所示。,图2.8 TMS320VC5402的扩展程序存储器映射,1/31/2026,4片内ROM的组织及代码内容,C54x DSP提供了各种容量的ROM(2 KB、4 KB、8 KB、28 KB或48 KB)。容量大的片内ROM可以把用户的程序代码编写进去,然而片内高2 KB ROM中的内容是由TI公司定义的。这2 KB程序空间(F800hFFFFh)中包含如下内容:,(
16、1)自举加载程序。,从串行口、外部存储器、I/O端口或者主机接口自举加载。,(2)256B律扩展表。,(3)256B A律扩展表。,(4)256B正弦函数值查找表。,(5)中断向量表。,1/31/2026,图2.9 TMS320C54x片内高2K字地址ROM的分块图,1/31/2026,TMS320C54x的数据存储器的容量最多可64K字。除了单寻址和双寻址RAM(SARAM和DARAM)外,TMS320C54x还可以通过软件将片内ROM映像为数据存储空间。,当处理器发出的地址处在片内存储器的范围内时,就对片内的RAM或数据ROM(当ROM设为数据存储器时)寻址。当数据存储器地址产生器发出的地
17、址不在片内存储器的范围内时,处理器就会自动地对外部数据存储器寻址。,1/31/2026,1数据存储器的可配置性,数据存储器可以驻留在片内或者片外。片内DARAM都是数据存储空间。对于某些TMS320C54x,用户可以通过设置PMST寄存器的DROM位,将部分片内ROM映像到数据库存储空间。这一部分片内ROM既可以在数据库空间使能(DROM=1),也可以在程序空间使能(MP/=0)。复位时,处理器将DROM位清0。,对数据ROM的单操作数寻址,包括32位长字操作数寻址,单个周期就可完成。而在双操作数寻址时,如果操作数驻留在同一块内,则要2个周期;若操作数驻留在不同块内,则只需一个周期就可以了。,
18、1/31/2026,2片内RAM的组织,为了提高处理器的性能,片内RAM也可细分成若干块。分块组织可以让用户在同一个周期内从同一块DARAM中取出两个操作数,并将数据写入到另一块DARAM中。,所有C54x DSP上的DARAM的起始1 KB块包括程序存储器映射CPU和外设寄存器,32B暂存存储器DARAM和896B DARAM。,3.存储器映射寄存器,寻址存储器映像CPU寄存器,不需要插入等待周期。片内外设寄存器用于对片内外设的控制和存放数据,对它们寻址需要2个机器周期。下表列出了存储器映像CPU寄存器的名称及地址。,1/31/2026,表2.9 C54x DSP CPU寄存器,1/31/2
19、026,TMS320C54x除了程序和数据存储器空间外,还有一个I/O存储器空间。I/O是一个64KB的地址空间(0000HFFFFH),都在片外。可以用两条指令(输入指令PORTR和输出指令PORTW)对I/O空间寻址。,所有TMS320C54x DSP只有两个通用I/O,即 和XF。为了访问更多的通用I/O,可以对主机通信并行接口和串行接口进行配置,以用作通用I/O。另外还可以扩展外部I/O,外部I/O必须使用缓冲或锁存电路,配合外部I/O读写控制构成外部I/O的控制电路。,1/31/2026,3.4 TMS320C54x的系统控制,数据地址发生器为存取数据存储器的信息操作产生地址。包括A
20、R0AR7八个辅助寄存器、ARAU0和ARAU1两个辅助寄存器算术单元、DP数据存储器指针寄存器、BK循环缓冲寄存器和ARP用于选择辅助寄存器AR0AR7。其中DP/SP用于直接寻址方式,其它用于间接寻址方式。,1/31/2026,图2.10 直接寻址数据地址形成框图,1/31/2026,图2.11 间接寻址数据地址形成框图,1/31/2026,PAGEN,的组成:,程序计数器PC,重复计数器RC,块重复计数器BRC,块重复起始地址寄存器RSA,块重复结束地址寄存器REA,1程序存储器地址生成器PAGEN,存储器,映像寄存器,1AH,1BH,1CH,PAGEN,的组成框图,程序地址生成器,PA
21、GEN,重复操作寄存器,程序计数器,PC,重复计数器,RC,块重复计数器,BRC,块重复起始地址,寄存器,RSA,块重复结束地址,寄存器,REA,1/31/2026,2程序计数器PC,程序计数器是一个16位计数器,用来保存某个内部或外部程序存储器的地址。,对PC加载的方法:,当进行复位操作时,将地址FF80H加载PC;,当程序是顺序执行时,则PC被增量加载,即PC=PC+1;,当分支转移发生时,用紧跟在分支转移指后面的16位立即数加载PC;,当执行块重复指令时,若PC+1等于块重复结束地址REA+1,则将块重复起始地址RSA加载PC;,1/31/2026,下面对以下片内外设进行介绍:,除存储操
22、作指令(ADDM、ANDM、ORM和XORM)外,ALU的算术结果通常都被传输到目的累加器(A或B)中。,保护位(AG、BG)用做算术计算时的数据位余量,以防止迭代运算中的溢出,如自动校正时的某些溢出。,将PMST中的IPTR位置为1FFH,MP/MC位与,块重复结束地址寄存器REA,DB 15:0,复位期间,不对其余的状态位和堆栈指针SP初始化;,重复计数器RC,1717位硬件乘法器,乘法器与40位专用加法器相连(在1个周期内完成乘法累加运算),当数据存储器地址产生器发出的地址不在片内存储器的范围内时,处理器就会自动地对外部数据存储器寻址。,2 VC5402引脚分布图,SSBX指令对状态寄存
23、器进行置位1;,乘法累加结果累加器A或B,(a)双宽度输入转为单宽度输出,2程序计数器PC,对PC加载的方法:,当执行子程序调用时,将PC+2的值压入堆栈,然后将调用指令下一个长立即数加载至PC;,当执行返回指令时,将压入堆栈的值从栈顶取出,加载到PC,回到原来的程序处继续执行;,当进行硬件中断或软件中断时,将PC值压入堆栈,并将适当的中断向量地址加载PC;,当执行中断返回时,将压入堆栈的值从栈顶取出,加载到PC,继续执行被中断了的程序。,1/31/2026,流水线操作是指各条指令以机器周期为单位,相差一个时间周期而连续并行工作的情况。,TMS320C54x的CPU流水线共分为6级,如图2.1
24、3所示。这6级流水线是相互独立的,允许指令的不同周期重叠执行。在任何一个给定的周期内,流水线各级上都有16条指令的不同操作在运行,加速了指令执行速度。,1/31/2026,C54x设有复位输入引脚,RS,,通过,RS,可对,芯片进行复位,使程序从,FF80H,单元开始执行。,复位期间,处理器将进行如下操作:,将PMST中的IPTR位置为1FFH,MP/MC位与,MP/MC引脚状态相同;,状态寄存器ST0=1800H;,将ST1中的INTM位置1,关闭所有可屏蔽中断;,1/31/2026,(续),复位期间,处理器将进行如下操作:,使程序计数器PC=FF80H;,使扩展程序计数器XPC=0000H
25、使中断标志寄存器IFR=0000H;,使数据总线处于高阻状态;,控制线均处于无效状态;,将地址总线置为,FF80H,;,使IACK引脚产生中断响应信号;,产生同步复位信号,对外围电路初始化;,1/31/2026,TMS320VC5402中的程序空间分成16页,每页64K字,如图2.,1717位硬件乘法器,当MP/MC=1时,称为微处理器模式。,将ST1中的INTM位置1,关闭所有可屏蔽中断;,乘法累加结果累加器A或B,(3)处理器工作方式状态寄存器(PMST)。,保护位(AG、BG)用做算术计算时的数据位余量,以防止迭代运算中的溢出,如自动校正时的某些溢出。,引脚按功能分为电源引脚、时钟引
26、脚、控制引脚、地址引脚、数据引脚、外部中断引脚、通信端口引脚、通用I/O引脚等部分,其引脚名称及功能如表2.,2 TMS320VC5402引脚名称及功能,当数据存储器地址产生器发出的地址不在片内存储器的范围内时,处理器就会自动地对外部数据存储器寻址。,1程序存储器地址生成器PAGEN,F000HFEFFH程序存储空间定义为内部ROM;,处理器工作模式状态寄存器(PMST),若 =1,则片内ROM不映射到程序存储空间。,地址总线用来提供执行指令所需的地址。,(续),复位期间,处理器将进行如下操作:,将下列状态位置为初始值:,注意:,复位期间,不对其余的状态位和堆栈指针SP初始化;,若MP,/,M
27、C=0,则CPU从内部程序存储器开始执行,,否则将从外部程序存储器开始执行程序。,ARP=0 ASM=0 AVIS=0 BRAF=0,C=1 C16=0 CLKOFF=0 CMPT=0,CPL=0 DP=0 DROM=0 FRCT=0,HM=0 INTM=1 OVA=0 OVB=0,OVLY=0 OVM=0 SXM=1 TC=1,XF=1,1/31/2026,根据DSP器件的配置不同,一般最多有6种原因可引起器件复位,如图2.14所示,其中有4个原因是DSP内部产生的,另外有2个原因由外部引脚和控制。,图2.14 DSP复位信号,1/31/2026,*串行外设接口SPI,40位ALU结构如图2
28、1程序存储器地址生成器PAGEN,4000HFFFFH程序存储空间定义为外部存储器。,乘法器输出加法器的XA,累加器A或B加法器的YA,由于这些寄存器都是存储器映像寄存器,所以都可以快速地存放到数据存储器,或者由数据存储器对它们加载,或者用于程序或者中断服务程序保存和恢复处理器的状态。,若操作数驻留在不同块内,则只需一个周期就可以了。,4片内ROM的组织及代码内容,FF00HFFFFH程序存储空间定义为内部存储器。,4组地址总线(PAB、CAB、DAB和EAB),用户可以配置DARAM和SARAM为数据存储器或程序/数据存储器。,4000HFFFFH程序存储空间定义为外部存储器。,保护位(
29、AG、BG)用做算术计算时的数据位余量,以防止迭代运算中的溢出,如自动校正时的某些溢出。,7 TMS320C5416存储器映射图,4组地址总线(PAB、CAB、DAB和EAB),C54x DSP系列中的外设并不完全相同,完整的片内外设配置包括通用I/O端口、定时器、时钟发生器、主机接口HPI、A/D、D/A转换器、串行通信接口SCI、串行外设接口和中断系统等。下面对以下片内外设进行介绍:,*通用I/O端口,*定时器,*时钟发生器,*主机接口(HPI),*串行通信接口SCI,*串行外设接口SPI,*中断系统,3.5 TMS320C54x的集成外设,1/31/2026,每种C54x DSP芯片都含有两个通用I/O引脚:和XF。,1.跳转控制输入引脚,用于监视外部接口器件的状态。特别是在不允许打断,并且时间要求十分严格的程序中,程序可以根据 的输入状态,有条件地跳转,这种方法可以代替中断。,2.外部标志输出引脚XF,外部标志输出引脚XF可以用于与外部接口器件的衔接信号,XF信号可以由软件控制。通过对外部ST1中的XF位置1得到高电平。SSBX指令对状态寄存器进行置位1;RSBX指令对状态寄存器进行复位0。,1/31/2026,






