
第2章 TMS320C54xTMDSP硬件结构.ppt
229页第2章 TMS320C54xTM DSP硬件结构第2章 TMS320C54xTM DSP硬件结构2.1 概述概述 2.2 基本结构和引脚功能基本结构和引脚功能 2.3 中央处理单元中央处理单元(CPU) 2.4 存储器和存储器和I/O空间空间 2.5 流水线流水线2.6 片内外设片内外设 2.7 节电模式节电模式 2.8 外部总线及扩展外部总线及扩展习习 题题 第2章 TMS320C54xTM DSP硬件结构2.1 概概 述述 C54x DSP是TMS320C5000TM DSP平台中最为成熟的芯片,已在通信等领域得到了广泛应用本章介绍C54x DSP芯片的硬件结构重点介绍其中TMS320VC5402(以下简称VC5402)芯片的一些资源特点第2章 TMS320C54xTM DSP硬件结构2.2 基本结构和引脚功能基本结构和引脚功能2.2.1 基本结构基本结构 图2.1给出了C54x DSP的结构框图C54x DSP的基本结构围绕8条总线(4条程序/数据总线和4条地址总线),有中央处理器(CPU)、存储器及片内外设与专用硬件电路三类。
CPU包括算术逻辑单元(ALU)、累加器(ACC)、乘累加单元(MAC)、移位寄存器和寻址单元等存储器包括片内ROM、单访问RAM(SARAM)和双访问RAM(DARAM)片内外设与专用硬件电路包括片内各种类型的同步串口、主机接口、定时器、时钟发生器、锁相环及各种控制电路第2章 TMS320C54xTM DSP硬件结构图2.1 C54x DSP方框图第2章 TMS320C54xTM DSP硬件结构 C54x DSP系列芯片种类很多,但体系结构基本一致不同型号的C54x DSP芯片CPU结构与功能完全相同,其差异主要体现在存储器容量、片内外设、供电电压、速度以及封装上表2.1列出了不同型号C54x DSP系列芯片的主要特征其中,“*”表示该芯片有1个时分复用串口(TDM),“!”表示有1个缓冲串口(BSP)(C548/9有2个),“?”代表多通道缓冲串口(MCBSP),“#”代表不同的锁相环(PLL)选项,“ξ”表示每个核有6通道直接存储器访问(DMA)器件第2章 TMS320C54xTM DSP硬件结构表2.1 C54x DSP芯片的主要特征 第2章 TMS320C54xTM DSP硬件结构表2.1 C54x DSP芯片的主要特征 第2章 TMS320C54xTM DSP硬件结构 VC5402是目前最流行的低成本DSP芯片型号,其基本结构和主要特点包括: * 多总线结构。
片内三套16bit数据总线(CB、DB、EB)和一套程序总线(PB)以及对应的4套地址线(CAB、DAB,EAB、PAB(4套总线可同时操作)); * 40 bit算术逻辑单元ALU,包括40 bit桶形移位器和2个40 bit累加器A和B; * 17×l7 bit乘法器和一个40 bit专用加法器,可以在单周期内完成乘、加运算各一次; * 比较/选择/存储单元(CSSU)有助于实现Viterbi算法;第2章 TMS320C54xTM DSP硬件结构 * 指数译码功能单周期内从一个40 bit累加器中算出指数; * 两个地址产生器,8个辅助寄存器AR0~AR7; * 程序空间扩展到1 M,数据空间和I/O空间各64 K,20条地址线, 16条数据线; * 片内4 K×l6 bit ROM,包含压扩表、256点正弦表、引导程序等; * 片内16 K×16 bit的双存取RAM; * 单指令重复或指令块重复功能; * 程序空间和数据空间的数据块移动指令; * 可对32 bit的长字操作; * 一个指令内可以读2~3个操作数;第2章 TMS320C54xTM DSP硬件结构 * 6级流水完成一条指令操作:预取指、取指、译码、访问、读数、执行; * 运算指令和存取指令并行执行; * 条件存储指令; * 迟延跳转和快速返回; * 软件堆栈; * 片内设备; * 软等待产生器,数据组间切换可编程选项; * 片内锁相环,分频和倍频功能; * 2个多通道带缓冲同步串口; * 增强的8 bit主机接口(HPl);第2章 TMS320C54xTM DSP硬件结构 * 2个16 bit定时器; * 6通道DMA控制器; * IDLEl、IDLE2、IDLE3控制的3级低功耗等中断休闲状态,20 μA电流消耗; * 片上JTAG仿真口; * 3.3 V I/O电压,1.8 V核电压,工作电流平均值75 mA,其中核45 mA,I/O约30 mA; * 100MIPS,指令周期10 ns; * 144脚PQFP表贴封装或144脚BGA封装,体积小,成本低。
第2章 TMS320C54xTM DSP硬件结构2.2.2 引脚功能引脚功能 C54x DSP的制造工艺为CMOS,生产型号不同其引脚个数也不同,下面以VC5402为例介绍其引脚功能,如表2.2所示VC5402引脚按功能分为电源引脚、时钟引脚、控制引脚、地址引脚、数据引脚、外部中断引脚、通信端口引脚、通用I/O引脚等部分第2章 TMS320C54xTM DSP硬件结构表表2.2 VC5402引脚功能引脚功能第2章 TMS320C54xTM DSP硬件结构表表2.2 VC5402引脚功能引脚功能第2章 TMS320C54xTM DSP硬件结构表表2.2 VC5402引脚功能引脚功能第2章 TMS320C54xTM DSP硬件结构表表2.2 VC5402引脚功能引脚功能第2章 TMS320C54xTM DSP硬件结构表表2.2 VC5402引脚功能引脚功能第2章 TMS320C54xTM DSP硬件结构2.3 中央处理单元中央处理单元(CPU) C54x DSP系列芯片的CPU主要由控制部件和运算部件组成,其中控制部件是C54x DSP芯片的中枢神经系统。
C54x DSP的CPU的基本组成如下:* CPU的状态和控制寄存器;* 算术逻辑单元(ALU);* 2个40位累加器ACCA、ACCB;* 40位桶形移位寄存器;* 乘累加单元(MAC); * 16位的临时寄存器(T);* 16位的状态转移寄存器(TRN);* 比较、选择和存储单元(CSSU);* 指数编码器第2章 TMS320C54xTM DSP硬件结构2.3.1 CPU状态和控制寄存器状态和控制寄存器C54x DSP有三个状态和控制寄存器:* 状态寄存器0(ST0);* 状态寄存器1(ST1);* 处理器工作模式状态寄存器(PMST) 这些寄存器都是存储器映射寄存器,所以它们可以存放到数据存储器或者从数据存储器加载它们,ST0和ST1中包含各种工作条件和工作方式的状态,PMST中包含存储器的设置状态及控制信息第2章 TMS320C54xTM DSP硬件结构 (1) 状态寄存器ST0和ST1ST0和ST1寄存器的各位可以使用SSBX指令进行设置,使用RSBX指令进行清除ST0的位的详细描述见表2.3所示表表2.3 状态寄存器状态寄存器ST0第2章 TMS320C54xTM DSP硬件结构表表2.4 状态寄存器状态寄存器ST1第2章 TMS320C54xTM DSP硬件结构 (2) 处理器工作模式状态寄存器(PMST)。
PMST寄存器由存储器映射寄存器指令进行加载,例如STM指令表表2.5 状态寄存器状态寄存器PMST第2章 TMS320C54xTM DSP硬件结构表表2.5 状态寄存器状态寄存器PMST第2章 TMS320C54xTM DSP硬件结构表表2.5 状态寄存器状态寄存器PMST第2章 TMS320C54xTM DSP硬件结构表表2.5 状态寄存器状态寄存器PMST第2章 TMS320C54xTM DSP硬件结构2.3.2 算术逻辑单元算术逻辑单元 C54X DSP算术逻辑单元包括1个40位的ALU,1个比较、选择和存储单元CSSU(Compare Select Save Unit)和1个指数编码器 40位ALU可以实现绝大多数的算术和逻辑运算功能,且许多运算可以在1个周期内完成ALU有2个输入端,1个输出端当ALU进行算术运算时,分为两个16位的ALU使用,此时来自数据存储器、累加器或T 寄存器的数据分别进入两个ALU在这种情况下,1个周期内将同时完成两个16位的操作ALU的运算结果通常被送往累加器A或累加器B 第2章 TMS320C54xTM DSP硬件结构 CSSU单元是为实现数据通信与模式识别领域常用的快速加法/比较/选择ACS运算而专门设计的专用硬件电路。
CSSU中的比较电路将累加器中的高16位与低16位比较,其结果分别送入状态转移寄存器TRN和状态比较寄存器TC,同时,结果也送入选择器,选择较大的数,并存于指令指定的存储单元中 指数编码器是专门为支持单周期EXP指令而设计的硬件电路在定点运算中,经常涉及到整数的定标问题将EXP指令与NORM指令配合使用,可以使得累加器数据的标准化操作非常方便快捷第2章 TMS320C54xTM DSP硬件结构2.3.3 累加器累加器 C54x DSP芯片有2个独立的40位累加器ACCA和ACCB可以存放ALU或MAC单元的运算结果,也可以作为ALU的一个输入累加器结构如图2.2和图2.3所示,其中保护位可以防止迭代运算中(如自相关运算)产生的溢出第2章 TMS320C54xTM DSP硬件结构图2.2 C54x DSP累加器ACCA结构图2.3 C54x DSP累加器ACCB结构第2章 TMS320C54xTM DSP硬件结构 AG、BG、AH、BH、AL和BL是存储器映射寄存器(MMR),它们的值可以通过压入或弹出堆栈进行保存或恢复ACCA和ACCB 的差别在于ACCA的(31~16)位可以用作乘累加单元的一个输入。
这些寄存器还可用于寻址操作第2章 TMS320C54xTM DSP硬件结构2.3.4 移位寄存器移位寄存器 40位的桶形移位寄存器主要用于累加器或数据区操作数的定标: (1) 在ALU运算前,对来自数据存储器的操作数或者累加器的值进行定标; (2) 对累加器的值进行算术或逻辑移位; (3) 对累加器归一化处理; (4) 对累加器的值存储到数据存储器之前进行定标 移位位数范围为-16~31,移位位数为正对应于左移,移位位数为负则对应于右移40位的输出结果可以送到ALU的输入端第2章 TMS320C54xTM DSP硬件结构 移位数可以用一个立即数(-16~15)形式定义,或者用状态寄存器ST1的累加器移位模式(ASM)字段(共5位)定义,或者用T寄存器中最低6位的值来定义例如: SFTL A , +2 ;累加器A(ACCA)中的值逻辑左移2位 ADD A , ASM,B;累加器A中的值移位(位数由ASM值确定)后与累加器B的值 相加,结果放在累加器B(ACCB)中 NORM A ;标准化累加器A中的值(移位位数由T寄存器中最低6位的值确定)第2章 TMS320C54xTM DSP硬件结构2.3.5 乘累加单元乘累加单元 乘累加(MAC)单元包括1个17位×17位的乘法器和1个40位的专用加法器。
MAC单元具有强大的乘累加功能,在一个流水线周期内可以完成1次乘法运算和1次加法运算 MAC单元中,乘法器能够进行有符号数、无符号数以及有符号数与无符号数的相乘运算,依据不同情况作以下三种处理: (1) 如果是两个有符号数相乘,则每个16位操作数先进行符号扩展,在最高位前添加1个符号位(其值由最高位决定),扩展为17位有符号数后再相乘; (2) 如果是无符号数乘以无符号数,则在两个操作数的最高位前面添加“0”,扩展为17位的操作数再相乘;第2章 TMS320C54xTM DSP硬件结构 (3) 如果是有符号数与无符号数相乘,有符号数在最高位前添加1个符号位(其值由最高位决定),无符号数在最高位前面添加“0”,然后两个操作数相乘 两个16位的二进制补码相乘会产生两个符号位,为了提高计算精度,在状态寄存器ST1中设置小数相乘模式FRCT=1,乘法器结果左移1位以去掉1个多余的符号位 在MAC单元中,加法器的输入一个来自乘法器的输出,另一个来自累加器A或B中的某一个输出加法器的运算结果输出到累加器A或B中有关加法器的舍入和饱和逻辑详见第三章MAC等指令详解。
第2章 TMS320C54xTM DSP硬件结构2.4 存储器和存储器和I/O空间空间2.4.1 C54x DSP存储器概述存储器概述 C54x DSP总共具有192 K字16位的存储器空间这些空间可分为三种专门的存储器空间,即64 K字的程序空间、64 K字的数据空间和64 K字的I/O空间一些C54x DSP芯片采用了分页扩展方法可访问8 M的程序空间 C54x DSP体系结构的并行特性和片内RAM的双访问功能,允许C54x DSP器件在任何给定的机器周期内执行四个并行存储器操作:一次取指、两次读操作数和一次写操作数第2章 TMS320C54xTM DSP硬件结构 片外存储器具有寻址较大存储空间的能力,片内存储器寻址空间较小但片内存储器具有如下优点:不需插入等待状态、低成本和低功耗 C54x DSP包含随机存取存储器(RAM)和只读存储器(ROM)RAM可分为以下三种类型:双访问RAM(DARAM)、单访问RAM(SARAM)和两种方式共享的RAM在多CPU核心器件和子系统中,DARAM或SARAM可以被共享用户可以配置DARAM和SARAM为数据存储器或程序/数据存储器。
C54x DSP片内存储器容量见表2.6C54x DSP片内还有26个映射到数据存储空间的CPU寄存器和外设寄存器第2章 TMS320C54xTM DSP硬件结构表表2.6 各种各种C54x DSP片内各种存储器的容量片内各种存储器的容量 (单位:K字) 注:① 用户可以配置双访问RAM(DARAM)和单访问RAM(SARAM)位数据存储器或程序/数据存储器第2章 TMS320C54xTM DSP硬件结构2.4.2 存储器地址空间分配存储器地址空间分配 C54x DSP的存储器空间可以分为三个单独选择的空间,即程序、数据和I/O空间在任何一个存储空间内,RAM、ROM、EPROM、EEPROM或存储器映射外设都可以驻留在片内或者片外 根据芯片的型号不同,C54x DSP包含RAM(DARAM、SARAM和两种方式共享的RAM)和ROM C54x DSP具有三个CPU状态寄存器位,影响存储器的配置,这三个状态位是处理器模式状态寄存器(PMST)中的位: 、OVLY和DROM第2章 TMS320C54xTM DSP硬件结构 (1) 位:① 若 =0,则片内ROM映射到程序存储空间;② 若 =1,则片内ROM不映射到程序存储空间。
(2) OVLY位:① 若OVLY=1,则片内RAM映射到程序和数据存储空间;② 若OVLY=0,则片内RAM只映射到数据存储空间 (3) DROM位:① 若DROM=1,则部分片内ROM映射到数据存储空间; ② 若DROM=0,则片内ROM不映射到数据存储空间 第2章 TMS320C54xTM DSP硬件结构图2.4 VC5402的存储器映射第2章 TMS320C54xTM DSP硬件结构 VC5402可以采用分页扩展方法扩展程序存储空间其程序空间可扩展到1024 K(1 MB)字故VC5402有20根地址线,增加了一个额外的存储器映像寄存器——程序计数器扩展寄存器(XPC)以及6条寻址扩展程序空间的指令,VC5402的扩展程序空间分成16页,每页64 K字,如图2.5所示第2章 TMS320C54xTM DSP硬件结构注:① 当OVLY=0时,1~15页的低32 K字是可以获得的 ② 当OVLY=1时,则片内RAM映射到程序空间页面的低32 K字 图2.5 VC5402的扩展程序存储器映射 第2章 TMS320C54xTM DSP硬件结构图图2.6 C5410的存储器映射的存储器映射第2章 TMS320C54xTM DSP硬件结构 C5410可以扩展程序存储器空间。
C5410采用分页扩展方法,使其程序空间扩展到8192K(8M)字故它有23根地址线同VC5402一样,它也拥有一个XPC及6条寻址扩展程序空间的指令,C5410中的扩展程序空间分成128页,每页64K字,如图2.7和图2.8所示根据片内RAM是否映射到程序空间和数据空间以及OVLY的设置,可访问的外部扩展程序存储空间是不同的第2章 TMS320C54xTM DSP硬件结构图2.7 C5410的扩展程序存储器映射(OVLY=0时,片内RAM不映射到程序空间和数据空间) 第2章 TMS320C54xTM DSP硬件结构 注:当片内RAM在程序空间有效时,所有对xx 0000~xx7FFFh区的访问,无论其页面为多少,均被映射到00 0000~00 7FFFh的片内RAM 图2.8 C5410的扩展程序存储器映射(OVLY=1时,片内RAM映射到程序空间和数据空间) 第2章 TMS320C54xTM DSP硬件结构2.4.3 程序存储器程序存储器 C54x DSP的外部程序存储器可寻址64 K字的存储空间它们具有片内ROM、DARAM、SARAM和双访问单访问两种方式共享的RAM,这些存储器都是可以通过软件映射到程序空间。
当存储单元被映射到程序空间时,并且当地址处于片内存储器的范围之内时,处理器就能自动地对这些存储器单元进行访问当程序地址产生单元(PAGEN)产生的地址处在片内存储器范围之外,处理器就能自动地对外部寻址表2.7列出了C54x DSP几种可用的片内程序存储器的容量第2章 TMS320C54xTM DSP硬件结构表表2.7 C54x DSP可用的片内程序存储器的容量可用的片内程序存储器的容量 (单位:单位:K字字)第2章 TMS320C54xTM DSP硬件结构 1.程序存储器的可配置性.程序存储器的可配置性 MP/ 和OVLY位决定了哪个片内存储器在程序空间中可用 器件复位时,MP/ 引脚的逻辑状态被传送到PMST寄存器的MP/MC位MP/MC位决定了是否使用片内ROM (1) 如果MP/ =1,器件配置为微处理器,并且片内的ROM不可用 (2) 如果MP/ =0,器件被配置为微计算机,并且片内的ROM可用 DSP的MP/ 引脚仅仅在复位时被采样。
用户可以通过软件来设置或清除PMST寄存器的MP/MC位,以便禁止或使能片内ROM第2章 TMS320C54xTM DSP硬件结构 2.片内.片内ROM的组织的组织 为了增强处理的性能,片内ROM可以细分和组织为若干块例如,块组织可以让用户捕获来自于一个ROM块的指令,而不必牺牲来自不同块的数据访问(即可以同时在别的块中读取数据)图2.9所示为几种C54x DSP的片内ROM的块组织第2章 TMS320C54xTM DSP硬件结构图2.9 片内ROM的块组织 根据C54x DSP的不同,ROM可以组织成容量为2 K字、4 K字或8 K字的块第2章 TMS320C54xTM DSP硬件结构 3.程序存储器地址映射和片内.程序存储器地址映射和片内ROM的内容的内容 当DSP复位时,复位和中断向量都映射到起始地址为FF80h的第128页的程序空间首地址复位后,这些向量可以被重新映射到程序空间中任何一个128字页的开头这个特征使得很容易地将中断向量表从自举ROM中移出来,然后再从存储器映射中移去ROM 在C54x DSP的片内ROM中,128字被保留用于器件的测试。
写到片内ROM并且在片内ROM执行的应用程序代码必须保留128字(FF00h~FF7Fh)第2章 TMS320C54xTM DSP硬件结构 4.片内.片内ROM的代码内容和映射的代码内容和映射 C54x DSP提供了各种容量的ROM(2 K字、4 K字、16 K字、28 K字或48 K字)容量大的片内ROM可以把用户的程序代码编写进去,然而片内高2 K字ROM中的内容是由TI公司定义的这2 K字程序空间(F800h~FFFFh)中包含如下内容: (1) 自举加载程序从串行口、外部存储器、I/O端口或者主机接口(如果有的话,自举加载2) 256字μ律扩展表 (3) 256字A律扩展表4) 256字正弦函数值查找表5) 中断向量表第2章 TMS320C54xTM DSP硬件结构图2.10 片内ROM程序存储器映射(高2 K字的地址) 第2章 TMS320C54xTM DSP硬件结构2.4.4 数据存储器数据存储器 C54x DSP的数据存储器包含多达64 K×16位字除了SARAM和DARAM外,C54x DSP还可以通过软件将片内ROM映射为数据存储空间(DROM)。
表2.8列出了几种C54x DSP可用的片内数据存储器的容量表表2.8 各种各种C54x DSP可用的片内数据存储器的容量可用的片内数据存储器的容量 (单位:单位:K字字)第2章 TMS320C54xTM DSP硬件结构 1.数据存储器的可配置性.数据存储器的可配置性 数据存储器可以驻留在片内或者片外片内DARAM映射为数据存储空间对于C54x DSP,用户可以通过设置PMST寄存器的DROM位,将部分片内ROM映射到数据存储空间这一部分片内ROM既可以在数据存储空间使能(DROM位置1),也可以在程序空间使能(MP/ 清0)复位时,处理器将DROM位清0 通过使用单操作数寻址指令,包括32位长字操作数的指令,可以在单周期内完成对数据ROM的访问而在使用双操作数寻址时,如果两个操作数驻留在同一块内,则需要2个周期才能完成对数据ROM的访问;如果操作数驻留在不同的块内,则只需1个周期就可以了 第2章 TMS320C54xTM DSP硬件结构 2.片内的.片内的RAM的组织的组织 为了提高处理器的性能,片内RAM也可细分成若干块。
例如,分块组织可以让用户在同一个周期内从同一块DARAM中取出两个操作数,并将数据写入到另一块DARAM中几种C54x DSP内的RAM的分块组织见图2.11所示 所有C54x DSP上的DARAM的起始1 K字的块包括程序存储器映射CPU和外设寄存器,32位的暂存存储器DARAM和896个字的DARAM第2章 TMS320C54xTM DSP硬件结构图2.11 C5402/5410/5420的RAM分块组织 第2章 TMS320C54xTM DSP硬件结构 3.存储器映射寄存器.存储器映射寄存器 64 K字的数据存储器空间包括器件的存储器映射寄存器,这些寄存器驻留在数据页的第0页(数据地址0000h~007Fh)第0页数据存储空间包含如下内容: (1) CPU的寄存器(共26个),可以不需要插入等待周期进行访问,见表2.9 (2) 外设寄存器用于对外设电路进行控制和数据存放这些寄存器驻留在地址0020h~005F之间,并且具有一个专用的外设总线结构对C54x DSP的外设寄存器的讲解,请参见2.6节 (3) 暂存存储器RAM块(位于数据存储器的006h~007Fh)包括32个字的DARAM,用于存储变量,有助于避免对大RAM块进行分段。
第2章 TMS320C54xTM DSP硬件结构表表2.9 C54x DSP CPU寄存器寄存器第2章 TMS320C54xTM DSP硬件结构2.4.5 I/O空间空间 C54x DSP除了程序和数据存储器空间外,还有一个I/O存储器空间I/O存储器空间是一个64K的地址空间(0000h~FFFFh),并且在器件之外可以使用两条指令(输入指令PORTR和输出指令PORTW)对I/O空间进行寻址程序存储器和数据存储器空间的读取时序与I/O空间的读取时序不同,在于访问I/O是对I/O映射的器件进行访问,而不是访问存储器第2章 TMS320C54xTM DSP硬件结构 所有C54x DSP只有两个通用I/O,即 和XF为了访问更多的I/O,可以对主机通信并行接口和同步串行接口进行配置,以用作通用I/O另外,还可以扩展外部I/O,C54x DSP可以访问64K字的I/O,外部I/O必须使用缓冲或锁存电路,配合外部I/O读写控制时序构成外部I/O的控制电路DSP的I/O扩展的内容详见2.7节第2章 TMS320C54xTM DSP硬件结构2.5 流流 水水 线线 C54x DSP有一个6级深度的指令流水线。
这6级流水线是彼此独立的,允许指令的重叠执行在任何一个机器周期内,可以有1~6条不同的指令在同时工作,每条指令可工作在流水线的不同阶段这6级流水线结构的功能如下: (1) 程序预取值 加载一条获取的指令地址到程序地址总线(PAB) (2) 程序取值 一个指令字从程序总线(PB)获取,并且加载到指令寄存器(IR)这个过程完成一个由当前周期和上一次周期组成的取指序列 第2章 TMS320C54xTM DSP硬件结构 (3) 译码 对指令寄存器(IR)的内容进行译码,以确定何种类型的存储器访问操作及数据地址产生单元(DAGEN)和CPU的控制信号 (4) 寻址 DAGEN输出指令的读操作数地址到数据地址总线(DAB)如果指令具有第二个操作数,则也将相应的操作数地址加载到另一条数据总线(CAB)间接寻址模式下的辅助寄存器和堆栈指针(SP)也被更新这个功能是两阶段操作数读顺序的第一阶段第2章 TMS320C54xTM DSP硬件结构 (5) 读操作数 从数据总线(DB和CB)读数据操作数这个功能完成了两阶段操作数读顺序的第二阶段,即完成了操作数读。
同时,两阶段操作数写顺序开始写操作数的数据地址加载到数据写总线(EAB)对于存储器映射寄存器,读数据操作数通过DB总线从存储器中读取并写到所选定的存储器映射寄存器中 (6) 执行 操作数写序列通过使用数据写(EB)总线写数据来完成指令在该阶段执行第2章 TMS320C54xTM DSP硬件结构图2.12 流水线的6个阶段 C54x DSP的流水线允许多条指令同时访问CPU资源,但是CPU的资源毕竟是有限的,所以当某个CPU资源被多于1个流水线阶段所占用时,就会产生流水线冲突其中的一些流水线冲突可以由CPU自动插入延迟来解决,有些则需要程序员调整程序语句的次序或在两条有冲突的指令中间插入一定数量的NOP指令来解决第2章 TMS320C54xTM DSP硬件结构2.6 片片 内内 外外 设设 C54x DSP系列中的外设并不完全相同,C54x DSP完整的片内外设配置包括:* 通用输入输出(I/O)引脚;* 定时器;* 时钟发生器;* 主机接口(HPI);* 软件可编程的等待状态发生器;* 可编程的分区转换模块;第2章 TMS320C54xTM DSP硬件结构 * 串行接口,包括标准同步串行接口、带缓冲的串行接口(BSP)、多通道缓冲串行接口(McBSP)和时分复用串行接口(TDM); * 直接存储器访问(DMA)控制器。
目前只有C5402、C5410,C5420具有DMA控制器模块第2章 TMS320C54xTM DSP硬件结构 不同类型的C54x DSP芯片具有不同的外设,但若有某种外设,就一定有相应的控制该外设的外设寄存器,这些寄存器可以从外设取数据或者将数据传输到外设,通过访问这些寄存器来操作和控制外设外设寄存器映射在片内存储器20H~5FH地址中表2.10是VC5402的一些外设寄存器的地址映射表有关串口、DMA等的映射寄存器数目众多,不一一例举第2章 TMS320C54xTM DSP硬件结构表表2.10 VC5402的部分片内外设映射寄存器的部分片内外设映射寄存器第2章 TMS320C54xTM DSP硬件结构2.6.1 通用输入输出通用输入输出(I/O)引脚引脚 每种C54x DSP芯片都含有两个通用I/O引脚:XF和 XF是一个由软件控制的外部标志输出引脚通过对状态寄存器ST1中的XF位清零,可以使XF外部引脚输出低电平,通过对ST1中的XF位置位可以使XF外部引脚输出高电平 为转移控制输入引脚,用于监视外部器件的状态在汇编指令中,有判断 引脚状态并产生相应条件转移的指令。
一些C54x DSP芯片的多通道缓冲串口(McBSP)和主机接口(HPI)的一些引脚也可以作为通用I/O引脚第2章 TMS320C54xTM DSP硬件结构2.6.2 定时器定时器 C54x DSP有一个4 bit预分频器的16 bit的定时电路,可获得较大范围的定时器频率,定时器计数器在每一个时钟周期中减1,每当计数器减至0时产生一个定时中断通过设置特定的状态,可使定时器停止、恢复运行、复位或禁止 VC5402有两个片内定时器第2章 TMS320C54xTM DSP硬件结构 1.定时器寄存器.定时器寄存器 片内定时器由三个存储器映射寄存器组成,即定时器寄存器(TIM)、定时器周期寄存器(PRD)和定时器控制寄存器(TCR) (1) 定时器寄存器(TIM) 16位的存储器映射定时器寄存器(TIM)加载周期寄存器(PRD)的值,并随计数而减少 (2) 定时器周期寄存器(PRD) 16位的存储器映射定时器周期寄存器(PRD)用于重载定时器寄存器(TIM) (3) 定时器控制寄存器(TCR) 16位的存储器映射定时器控制寄存器(TCR)包含定时器的控制和状态位,如图2.13所示。
TCR各位的意义描述如表2.11所示第2章 TMS320C54xTM DSP硬件结构图2.13 TCR的各位第2章 TMS320C54xTM DSP硬件结构表表2.11 TCR各位的意义描述各位的意义描述第2章 TMS320C54xTM DSP硬件结构 2.定时器工作过程.定时器工作过程 C54x DSP定时器结构如图2.14所示它由两个基本功能块组成,即主定时器模块(PRD和TIM)、预定标器模块(TCR中的TDDR和PSC等)及相应的控制电路图2.14 C54x DSP定时器结构图第2章 TMS320C54xTM DSP硬件结构 定时器由CPU提供时钟,定时器的工作受三个寄存器(TIM、PRD、TCR)的控制CLKOUT时钟先经PSC预分频后,用分频的时钟对TIM作减1计数,当TIM减为0时,将产生定时器中断信号(TINT)TINT被送往CPU,并在定时器输出管脚TOUT上产生一个脉冲,脉宽为一个主时钟周期,同时PSC和TIM重新装入预设的值,即计数器重载周期值 VC5402两个定时器分别有三个寄存器和相应的输出管脚TOUT和TOUT1,其中TOUT1只有当主机接口(HPI-8)被禁止时才有效。
TOUT信号可为外设提供时钟第2章 TMS320C54xTM DSP硬件结构 在正常工作情况下,主定时模块中,当TIM减计数到0后,PRD中的内容自动地加载到TIM当系统复位(SRESET输入信号有效)或者定时器单独复位(TRB输入信号有效)时,PRD中的内容重新加载到TIM同样,预定标模块中当PSC减计数到0时,TDDR的内容加载到PSC当系统复位或者定时器单独复位时,TDDR的内容重新加载到PSC通过读TCR,可以读取PSC,但是它不能直接被写 每次当定时器计数器减少到0时,会产生一个定时器中断(TINT),定时器中断TINT的速率可由下式计算:第2章 TMS320C54xTM DSP硬件结构 式中,tc为CPU时钟周期 初始化定时器时,采用以下步骤: (1) TSS=1,停止定时器; (2) 载入PRD值; (3) 重新载入TCR初始化TDDR,设置TSS=0和TRB=1来重载定时器周期,启动定时器第2章 TMS320C54xTM DSP硬件结构 使能定时器中断的操作步骤如下(ST1的中断模式INTM=1情况下): (1) 设置中断标志寄存器(IFR)中的TINT=1,清除定时器中断; (2) 设置中断屏蔽寄存器(IMR)中的TINT=1,激活定时器中断; (3) 设置INTM=0,激活全部中断。
复位时,TIM和PRD被设置为最大值FFFFh,定时器的分频系数(TDDR)清0,并且启动定时器第2章 TMS320C54xTM DSP硬件结构2.6.3 时钟发生器时钟发生器 1.时钟发生器.时钟发生器 时钟发生器为C54x DSP提供时钟信号时钟发生器由一个内部振荡器和一个锁相环电路组成,可以通过晶振或外部的时钟驱动锁相环电路能使时钟电源乘上一个特定的系数,得到一个内部CPU时钟,故可以选择一个频率比CPU时钟低的时钟源时钟发生器可以由两种方法实现: (1) 使用具有内部振荡电路的晶体振荡器如图2.15所示晶体振荡器电路连接到C54x DSP的X1和X2/CLKIN引脚另外CLKMD引脚必须配置以使能内部振荡器第2章 TMS320C54xTM DSP硬件结构图2.15 外部晶体振荡器的连接 第2章 TMS320C54xTM DSP硬件结构图2.16 外部参考振荡器的连接 (2) 使用外部时钟如图2.16所示,将一个外部时钟信号直接连接到X2/CLKIN引脚,X1引脚悬空第2章 TMS320C54xTM DSP硬件结构 2.时钟模式.时钟模式 C54x DSP内部的锁相环(PLL)具有频率放大和时钟信号提纯作用,因此,PLL的外部频率源可以比CPU机器周期速度要低,这样可以降低因为高速开关时钟引起的高频噪声。
有些器件具有硬件可配置的PLL电路,而有些器件具有的是软件可编程的PLL电路C54x DSP的PLL硬件配置时钟模式是通过配置CLKMD1、CLKMD2和CLKMD3引脚来实现的对于不使用PLL的器件,其CPU时钟频率为晶体振荡频率(或外部时钟频率)的一半 第2章 TMS320C54xTM DSP硬件结构 软件可编程PLL具有高度的灵活性,并且包括提供各种时钟乘法器系数的时钟定标器、直接使能或禁止PLL的功能、用于延迟转换PLL时钟模式(直到锁定为止)的PLL锁定定时器具有软件可编程PLL的DSP器件可以选用以下两种时钟方式之一来配置: (1) PLL模式 输入时钟(CLKIN)乘以从0.25~15共31个系数之一这些系数通过使用PLL电路来获得 (2) DIV(分频器)模式 输入时钟(CLKIN)除以2或4当使用DIV方式时,所有的模拟电路,包括PLL电路都被禁止,以使功耗最小 紧接着复位后,时钟模式由3个外部引脚(CLKMD1、CLKMD2和CLKMD3)的状态所决定 与CLKMD引脚有关的模式见表2.12和表2.13。
C5420没有CLKMD引脚,复位后C5420工作在旁路模式(PLL关)第2章 TMS320C54xTM DSP硬件结构表表2.12 复位时时钟模式设置复位时时钟模式设置(C541B/C545A/C546A/C548/C549/C5410)第2章 TMS320C54xTM DSP硬件结构表2.13 复位时时钟模式设置(VC5402) 第2章 TMS320C54xTM DSP硬件结构 复位后,软件可编程PLL可以编程为任何期望的配置复位时,下面的始终模式引脚组合使能PLL:对于C5402,CLKMD(3~1)由000b变为110b,而对于其他C54x DSP,则变为101b当使用这些时钟模式引脚组合时,内部PLL锁定定时器不工作,因此系统必须延迟释放复位,以便允许PLL锁定时间的延迟 复位后,可以对16位存储器映射时钟模式寄存器(CLKMD,地址为58h)编程加载PLL,以配置所要求的时钟方式CLKMD是用来定义PLL时钟模块中的时钟配置,它的各位的功能见表2.14由CLKMD的PLLNDIV、PLLDIV和PLLMUL位所确定的PLL的乘法系数见表2.15。
第2章 TMS320C54xTM DSP硬件结构表表2.14 CLKMD寄存器各位的意义描述寄存器各位的意义描述第2章 TMS320C54xTM DSP硬件结构续表续表第2章 TMS320C54xTM DSP硬件结构表表2.15 CLKMD寄存器的寄存器的PLLNDIV、、PLLDIV和和PLLMUL位所确定的位所确定的PLL的乘法系数的乘法系数第2章 TMS320C54xTM DSP硬件结构 (3) 时钟模式寄存器(CLKMD),如图2.17所示16位存储器映射时钟模式寄存器(CLKMD)包含定时器的控制和状态位CLKMD各位的意义描述如表2.14所示 注:当工作在DIV模式时(PLLSTATUS为低),PLLMUL、PLLDIV、PLLCOUNT和PLLON/OFF是无关的,并且它们的内容是不确定的图2.17 CLKMD的各位第2章 TMS320C54xTM DSP硬件结构2.6.4 串行口串行口 1. 串行口概述串行口概述 各种C54x DSP的芯片有不同的串口,但主要有以下4种: (1) 标准同步串行口(SP) 是高速、全双工串口,提供与编码器、A/D转换器等串行设备之间的通信。
当一个C54x DSP芯片有多个同步串口时,它们是相互独立的同步串口为收发双向缓冲的,单独由可屏蔽的外部中断信号控制,数据可由字节或字传送 (2) 缓冲同步串口(BSP) 在标准同步串行口的基础上增加了一个自动缓冲单元,并以整CLKOUT频率计时它也是全双工和双缓冲的,能提供灵活的数据串长度,自动缓冲单元支持高速传送并降低服务中断开销第2章 TMS320C54xTM DSP硬件结构 (3) 时分多路同步串口(TDM) 是一个允许数据时分多路的同步串口,既能工作在普通同步串行口(SP)方式,也能工作在TDM方式下,在多处理器中得到广泛的应用 (4) 多通道带缓冲同步串行口(McBSP) 该种串行口具有通道数多,数据格式范围宽等特点目前C54x DSP系列中只有VC5402、C5410和C5420有此串口 下面以VC5402为例详细介绍其串口的特性、结构、功能和工作原理 第2章 TMS320C54xTM DSP硬件结构 2. VC5402串口串口 VC5402有两个高速多通道带缓冲串行接口McBSP。
1) McBSP特点 多通道带缓冲的串口McBSP的硬件部分是基于标准串口的引脚连接界面,具有如下特点: * 充分的双向通信; * 双缓冲的发送和三缓冲的接收数据存储器,允许连续的数据流; * 独立的接收、发送帧和时钟信号; * 可以直接与工业标准的编码器,模拟界面芯片(AICS),其他串行A/D,D/A器件连接与通信;第2章 TMS320C54xTM DSP硬件结构 * 具有外部移位时钟发生器及内部频率可编程移位时钟; * 可以直接利用多种串行协议接口通信,例如,T1/E1,MVIP,H100,SCSA,IOM-2,AC97,IIS,SPI等; * 发送和接收通道数多达128路; * 宽范围的数据格式选择,包括8,12,16,20,24,32位字长; * 利用μ律或A律的压缩扩展通信; * 8位数据发送,其高位、低位先发送可选; * 帧同步和时钟信号的极性可编程; * 可编程内部时钟和帧同步信号发生器。
第2章 TMS320C54xTM DSP硬件结构 2) McBSP结构及工作原理 McBSP结构如图2.18所示,包括数据通路和控制通路两部分,并且通过7个引脚与外部器件相连 DX 数据发送引脚 DR 数据接收引脚 CLKX 发送时钟引脚 CLKR 接收时钟引脚 FSX 发送帧同步引脚 FSR 接收帧同步引脚第2章 TMS320C54xTM DSP硬件结构图2.18 McBSP内部结构第2章 TMS320C54xTM DSP硬件结构 在时钟信号和帧同步信号控制下,接收和发送通过DR和DX引脚与外部器件直接通信C54x DSP内部CPU对McBSP的操作,利用16位控制寄存器,通过片内外设总线进行存取控制 数据发送过程为: ① 写数据与数据发送寄存器DXR[1,2]; ② 通过发送移位寄存器XSR[1,2],将数据经引脚DX移出发送 第2章 TMS320C54xTM DSP硬件结构 数据接收过程为: ① 通过引脚DR接收的数据移入接收移位寄存器RSR[1,2],复制这些数据到接收缓冲寄存器RBR[1,2]; ② 复制数据到DRR[l,2]; ③ 由CPU或DMA控制器读出。
这个过程允许内部和外部数据通信同时进行如果接收或发送字长R/XWDLEN被指定为8,12或16模式时,DRR2、RBR2、RSR2、DXR2、XSR2等寄存器不能进行写、读、移位操作CPU或DMA控制器可对其余的寄存器进行操作,这些寄存器列于表2.16第2章 TMS320C54xTM DSP硬件结构表表2.16 McBSP寄存器列表寄存器列表第2章 TMS320C54xTM DSP硬件结构第2章 TMS320C54xTM DSP硬件结构 McBSP的控制模块由内部时钟发生器、帧同步信号发生器、控制电路和多通道选择四部分构成两个中断和四个同步事件信号控制CPU和DMA控制器的中断,CPU和DMA事件同步图2.18中RINT、XINT分别为触发CPU的接收和发送中断;REVT、XEVT分别为触发DMA接收和发送同步事件;REVTA、XEVTA分别为触发DMA接收和发送同步事件A 第2章 TMS320C54xTM DSP硬件结构 3) McBSP串口配置 通过3个16位寄存器SPCR[1,2]和PCR进行McBSP串口配置。
串口接收控制寄存器SPCRl结构如图2.19所示 图2.19 串口接收控制寄存器SPCR1结构 图中,R为读,W为写,+0表示为复位值为0 第2章 TMS320C54xTM DSP硬件结构SPCR1的位详细描述如下: 第15位:DLB数字循环返回模式 DLB=0,废除;DLB=1,使能 第14~13位:RJUST接收符号扩展和判别模式 RJUST=00,右位判DRR[1,2]最高位为0; RJUST=01,右位判DRR[l,2]最高位为符号扩展位; RJUST=10,左位判DRR[l,2]最低位为0; RJUST=11,保留第2章 TMS320C54xTM DSP硬件结构 第12~11位:CLKSTP时钟停止模式 CLKSTP=0X,废除时钟停止模式,对于非SPI模式为正常时钟 SPI模式包括CLKSTP=10,CLKXP=0,时钟开始于上升沿,无延时; CLKSTP=10,CLKXP=1,时钟开始于下降沿,无延时; CLKSTP=11,CLKXP=0,时钟开始于上升沿,有延时; CLKSTP=11,CLKXP=1,时钟开始于下降沿,有延时。
第10~8位:保留 第2章 TMS320C54xTM DSP硬件结构 第7位:DXENA为DX使能位 DXENA=0,关断;DXENA=l,打开 第6位:ABIS模式 ABIS=0废除;ABIS=1使能 第5~4位:RINTM接收中断模式 RINTM=00,接收中断RINT由RRDY(字结束)驱动,在A-bis模式下由帧结束驱动; RINTM=01,多通道操作中,由块结束或帧结束产生接收中断RINT; RINTM=10,一个新的帧同步产生接收中断RINT; RINTM=11,由接收同步错误RSYNCERR产生中断RINT 第2章 TMS320C54xTM DSP硬件结构 第3位:RSYNCERR接收同步错误 RSYNCERR=0,无接收同步错误;RSYNCERR=1,探测到接收同步错误 第2位:RFULL接收移位寄存器RSR[l,2]满 RFULL=0,接收缓冲寄存器RBR[l,2]未越限; RFULL=1,接收缓冲寄存器RBR[l,2]满,接收移位寄存器RSR[1,2]移入新字满,而数据接收DRR[1,1]未读。
第1位:RRDY接收准备位 第2章 TMS320C54xTM DSP硬件结构 RRDY=0,接收器未准备好;RRDY=1,接收器准备好从DRR[1,2]读数据 第0位:接收器复位,可以复位和使能接收器 =0,串口接收器被废除,并处于复位状态; =1串口接收器使能 注意:所有的保留位都读为0如果写1到RSYNCERR就会设置一个错误状态,因此这位只能用于测试 第2章 TMS320C54xTM DSP硬件结构图2.20为串口发送控制寄存器SPCR2的结构 图2.20 串口发送控制寄存器SPCR2的结构 SPCR2的位详细描述如下: 第15~10位:保留 第9位:free全速运行模式 free=0,废除;free=1,使能 第8位:soft软件模式 soft=0,废除软件模式;soft=1,使能软件模式 第2章 TMS320C54xTM DSP硬件结构 第7位: 帧同步发送器复位 =0,帧同步逻辑电路复位,采样率发生器不会产生帧同步信号FSG; =1,在时钟发生器CLKG产生了(FPER+1)个脉冲后,发出帧同步信号FSG,例如,所有的帧同步计数器由它们的编程值装载。
第6位: 采样率发生器复位 =0,采样率发生器复位;GRST=1,采样率发生器启动 CLKG按照采样率发生器中的编程值产生时钟信号 第2章 TMS320C54xTM DSP硬件结构 第5~4位:XINTM发送中断模式 XINTM=00,由发送准备好位XRDY驱动发送中断; XINTM=01,块结束或多通道操作时的帧同步结束,驱动发送中断请求XINT; XINTM=10,新的帧同步信号产生XINT; XINTM=11,发送同步错误位XSYNCERR,产生中断 第3位:XSYNCERR发送同步错误位 XSYNCERR=0,无同步错误;XSYNCERR=1,探测到同步错误第2章 TMS320C54xTM DSP硬件结构 第2位: 发送移位寄存器XSR[1,2]空 =0,空; =1,不空 第1位:XRDY发送器准备 XRDY=0,发送器未准备好;XRDY=1,发送器准备好发送DXR[l,2]中的数据。
第0位: 发送器复位和使能位 =0,串口发送器废除,且处于复位状态; =1,串口发送器使能第2章 TMS320C54xTM DSP硬件结构图2.21 串口引脚控制寄存器PRC的结构 第2章 TMS320C54xTM DSP硬件结构 第15~14位:保留 第13位:XIOEN发送通用I/O模式,只有SPCR[1,2]中的 =0时才有效 XIOEN=0,DX,FSX,CLKX引脚配置为串口; XIOEN=1,引脚DX配置为通用输出,FSX,CLKX引脚配置为通用I/O此时,这些引脚不能用于串口操作 第12位:RIOEN接收通用I/O模式,只有SPCR[l,2]中的 =0时才有效 RIOEN=0,DR,FSR,CLKR,CLKS引脚配置为串口;第2章 TMS320C54xTM DSP硬件结构 XIOEN=0,DX,FSX,CLKX引脚配置为串口; XIOEN=1,引脚DX配置为通用输出,FSX,CLKX引脚配置为通用I/O。
此时,这些引脚不能用于串口操作 第12位:RIOEN接收通用I/O模式,只有SPCR[l,2]中的 =0时才有效 RIOEN=0,DR,FSR,CLKR,CLKS引脚配置为串口; RIOEN=1,引脚DR和CLKS配置为通用I/OCLKS受接收器信号 和RIOEN组合状态影响 第11位:FSXM帧同步模式 第2章 TMS320C54xTM DSP硬件结构 FSXM=0,帧同步信号由外部器件产生; FSXM=1,采样率发生器中的帧同步位FSGM决定帧同步信号 第10位:FSRM接收帧同步模式 FSRM=0,帧同步脉冲由外部器件产生,FSR为输入引脚; FSRM=1,帧同步由片内采样率发生器产生除SRGR中的GSYNC=1情况外,FSR为输出引脚 第9位:CLKXM发送器时钟模式 CLKXM=0,CLKX作为输入引脚输入外部时钟信号驱动发送器时钟; CLKXM=1,片上采样率发生器驱动CLKX引脚,此时,CLKX为输出引脚。
第2章 TMS320C54xTM DSP硬件结构 在SPI模式下(为非0值),CLKXM=0,McBSP为从器件,时钟CLKX由系统中的SPI主器件驱动,CLKR由内部CLKX驱动;CLKXM=1,McBSP为主器件,产生时钟CLKX驱动它的接收时钟CLKR 第8位:CLKRM接收时钟模式 SPCRl中DLB=0时,数字循环返回模式不设置CLKRM=0,外部时钟驱动接收时钟;CLKRM=1,内部采样发生器驱动接收时钟CLKR SPCRl中DLB=1时,数字循环返回模式设置CLKRM=0,由PCR中CLKXM确定的发送时钟驱动接收时钟(不是CLKR),CLKR为高阻CLKRM=1,CLKR设定为输出引脚,由发送时钟驱动,发送时钟由PCR中的CLKM位定义驱动第2章 TMS320C54xTM DSP硬件结构 第7位:保留 第6位:CLKS-STAT为CLKS引脚状态 当被选作为通用I/O输入时,反映CLKS引脚的电平值 第5位:DX-STAT为DX引脚状态 作为通用I/O输出时,DX的值 第4位:DR-STAT为DR引脚状态。
作为通用I/O输入时,DR的值 第3位:FSXP发送帧同步信号极性 FSXP=0,帧同步脉冲上升沿触发;FSXP=1,帧同步脉冲下降沿触发 第2位:FSRP接收帧同步极性第2章 TMS320C54xTM DSP硬件结构 FSRP=0,帧同步脉冲上升沿触发;FSRP=1,帧同步脉冲下降沿触发 第1位:CLKXP发送时钟极性 CLKXP=0,发送数据在CLKX的上升沿采样; CLKXP=1,发送数据在CLKX的下降沿采样 第0位:CLKRP发送时钟极性 CLKRP=0,接收数据在CLKR的下降沿采样; CLKRP=1,接收数据在CLKR的上升沿采样第2章 TMS320C54xTM DSP硬件结构 4) 接收和发送控制寄存器RCR[1,2],XCR[1,2] 接收和发送寄存器RCR[1,2],XCR[1,2]分别配置接收和发送操作的各种参数接收控制寄存器RCRl如图2.22所示图2.22 接收控制寄存器RCR1第2章 TMS320C54xTM DSP硬件结构RCR1的位详细描述如下:第15位:保留。
第14~8位:RFRLENl接收帧长度为1RFRLEN1=0000000,每帧1个字;RFRLEN1=0000001,每帧2个字;… … … … … … … … … …RFRLENl=1111111,每帧128个字第7~5位:RWDLENl接收字长为1RWDLEN1=000,8位;RWDLEN1=001,12位;RWDLEN1=010,16位;第2章 TMS320C54xTM DSP硬件结构RWDLEN1=011,20位;RWDLEN1=100,24位;RWDLEN1=101,32位;RWDLEN1=11X,保留第4~0位:保留接收控制寄存器RCR2如图2.23所示第2章 TMS320C54xTM DSP硬件结构图2.23 接收控制寄存器RCR2第2章 TMS320C54xTM DSP硬件结构 RCR2的位详细描述如下: 第15位:RPHASE接收相位 RPHASE=0,单相帧;RPHASE=1,双相帧 第14~8位:RFRLEN2接收帧长度为2 RFRLEN2=0000000,每帧1个字; RFRLEN2=0000001,每帧2个字; … … … … … … … … RFRLEN2=1111111,每帧128个字。
第7~5位:RWDLEN2接收字长为2 RWDLEN2=000,8位;第2章 TMS320C54xTM DSP硬件结构 RWDLEN2=001,12位; RWDLEN2=010,16位; RWDLEN2=011,20位; RWDLEN2=100,24位; RWDLEN2=101,32位; RWDLEN2=11X,保留 第4~3位:RCOMPAND接收扩展模式 除了00模式外,当相应的RWDLEN=000时,这些模式被使能,8位数据 RCOMPAND=00,无扩展,数据转换开始于最高位MSB; RCOMPAND=01, 8位数据,数据转换开始于最低位LSB;第2章 TMS320C54xTM DSP硬件结构 RCOMPAND=10,接收数据利用μ率扩展; RCOMPAND=11,接收数据利用A率扩展 第2位:RFIG接收帧忽略 RFIG=0,第一个帧同步接收脉冲之后重新开始转换; RFIG=1,第一个帧同步脉冲之后,忽略帧同步信号(连续模式) 第1~0位:RDATDLY接收数据延时。
RDATDLY=00,0位数据延时; RDATDLY=01,1位数据延时; RDATDLY=10,2位数据延时; RDATDLY=11,保留第2章 TMS320C54xTM DSP硬件结构图2.24 发送控制寄存器XCR1第2章 TMS320C54xTM DSP硬件结构 XCR1的位详细描述如下: 第15位:保留 第14~8位:XFRLEN1发送帧长度为1 XFRLEN1=0000000,每帧1个字; XFRLEN1=0000001,每帧2个字; … … … … … … … … XFRLEN1=1111111,每帧128个字第2章 TMS320C54xTM DSP硬件结构 第7~5位:XWDLENl接收字长为1 XWDLEN1=000,8位; XWDLEN1=001,12位; XWDLEN1=010,16位; XWDLEN1=01l,20位; XWDLEN1=100,24位; XWDLEN1=101,32位; XWDLEN1=11X,保留 第4~0位:保留。
第2章 TMS320C54xTM DSP硬件结构发送控制寄存器XCR2如图2.25所示图2.25 发送控制寄存器XCR2第2章 TMS320C54xTM DSP硬件结构XCR2的位详细描述如下:第15位:XPHASE发送相位XPHASE=0,单相帧;XPHASE=1,双相帧第14~8位:XFRLEN2发送帧长度为2XFRLEN2=0000000,每帧1个字;XFRLEN2=0000001,每帧2个字;… … … … … … … …XFRLEN2=1111111,每帧128个字第7~5位:XWDLEN2发送字长为2XWDLEN2=000,8位;XWDLEN2=001,12位;第2章 TMS320C54xTM DSP硬件结构 XWDLEN2=010,16位; XWDLEN2=01l, 20位; XWDLEN2=100,24位; XWDLEN2=101,32位; XWDLEN2=11X,保留 第4~3位:XCOMPAND发送扩展模式 除了00模式外,当相应的XWDLEN=000时,这些模式被使能,8位数据 XCOMPAND=00,无扩展,数据转换开始于最高位MSB; XCOMPAND=01,8位数据,数据转换开始于最低位LSB; XCOMPAND=10,发送数据利用μ率扩展; XCOMPAND=11,发送数据利用A率扩展。
第2章 TMS320C54xTM DSP硬件结构第2位:XFIG发送帧忽略XFlG=0,第一个帧同步发送脉冲之后重新开始转换;XFIG=1,第一个帧同步发送脉冲之后,忽略帧同步信号(连续模式)第1~0位:XDATDLY发送数据延时XDATDLY=00,0位数据延时;XDATDLY=01,1位数据延时;XDATDLY=10,2位数据延时;XDATDLY=11,保留第2章 TMS320C54xTM DSP硬件结构 5) 发送和接收工作步骤 (1) 复位McBSP串口 ① 芯片复位=0引发的串口发送器、接收器、采样率发生器复位当 芯片复位完成后,串口仍然处于复位状态, ② 串口的发送器和接收器可用串口控制寄存器中和位分别独立复位采样率发生器可用SPCR2中的位复位 第2章 TMS320C54xTM DSP硬件结构表表2.17 McBSP引脚复位状态引脚复位状态第2章 TMS320C54xTM DSP硬件结构 (2) 复位完成后,串口初始化 ① 设定串口控制寄存器SPCR[l,2]中的 。
如果刚刚复位完毕,不必进行这一步操作 ② 按照表2.17中串口复位要求,编成特定的McBSP寄存器配置 ③ 等待两个时钟周期,以保证适当的内部同步 ④ 按照写DXR的要求,给出数据 ⑤ 设定 =1, =1以使能串口注意此时对SPCR[l,2]所写的值应该仅将复位改变到1,寄存器中的其余位与步骤②相同 ⑥ 如果要求内部帧同步信号,则设定=1 ⑦ 等待两个时钟周期后,接收器和发送器被激活第2章 TMS320C54xTM DSP硬件结构 6) μ律/A律压缩扩展硬件操作 压缩和扩展硬件允许使用μ律和A律格式进行数据的压缩及扩展μ律和A律格式编码为8位码的字压缩扩展的数据总是8位宽,因此相应的(R/X)WDLEN[1,2]必须设置为0,表示8位宽的串行数据流如果压缩扩展功能被使能,而帧的任一相没有8位字长,然后就进行压缩扩展继续工作,字长如同为8位 第2章 TMS320C54xTM DSP硬件结构 当使用压缩扩展时,发送数据按照指定的压缩扩展律进行编码,而接收数据被解码为2补码格式。
为了使能压缩扩展和选择期望的格式,可以通过设置(R/X)CR2的(R/X)COMPAND位来实现(参见前面所述有关接收和发送控制寄存器RCR[1,2]和XCR[1,2]内容) 压缩数据发生在将数据从DXR1复制到XSR1的过程(发送数据的过程)扩展数据发生在将数据从RBR1复制到DRR1的过程(接收数据的过程)第2章 TMS320C54xTM DSP硬件结构 7) 可编程的时钟和帧 McBSP有多种为接收器和发送器选择时钟及帧的模式时钟及帧可以通过采样率发生器送到接收器和发送器接收器和发送器可以独立选择外部时钟或帧有关采样率发生寄存器SRGR[1,2]等的描述与设置,可从有关数据手册/文件或从CCS5000环境下的帮助中获得使用说明第2章 TMS320C54xTM DSP硬件结构 8) 多通道选择配置 用单相帧同步配置McBSP可以选择多通道独立的发送器和接收器工作模式,每一个帧代表一个时分多路(TDM)数据流,由(R/X)FRLENl指定的每帧的字数指明所选的有效通道数当用TDM数据流时,CPU仅需要处理少数通道。
为了节省内存和总线带宽,多通道选择总是独立地使能所选定的发送器和接收器 第2章 TMS320C54xTM DSP硬件结构图2.26 McBSP多通道寄存器MCR1第2章 TMS320C54xTM DSP硬件结构MCR1的位详细描述如下:第15~9位:保留第8~7位:RPBBLK接收区域B块划分RPBBLK=00,块1,对应通道16~31;RPBBLK=01,块3,对应通道48~63;RPBBLK=10,块5,对应通道80~95;RPBBLK=11,块7,对应通道112~127 第6~5位:RPABLK接收区域A块划分 RPABLK=00,块0,对应通道0~15; RPABLK=01,块2,对应通道32~47;第2章 TMS320C54xTM DSP硬件结构 RPABLK=10,块6,对应通道64~79; RPABLK=11,块8,对应通道96~111 第4~2位:RCBLK接收当前块 RCBLK=000,块0,通道0~15; RCBLK=001,块1,通道16~31; RCBLK=010,块2,通道32~47; RCBLK=011,块3,通道48~63; RCBLK=100,块4,通道64~79;第2章 TMS320C54xTM DSP硬件结构 RCBLK=101,块5,通道80~95; RCBLK=110,块6,通道96~111; RCBLK=111,块7,通道112~127。
第1位:保留 第0位:RMCM接收多通道选择使能 RMCM=0,所有128个通道使能; RMCM=1,默认废除所有通道由使能RP(A/B)BLK块和相应的RCER(A/B)选择所需要的通道第2章 TMS320C54xTM DSP硬件结构图2.27 McBSP多通道寄存器MCR2第2章 TMS320C54xTM DSP硬件结构 MCR2的位详细描述如下: 第15~9位:保留 第8~7位:XPBBLK发送区域B块划分 XPBBLK=00,块1,对应通道16~31; XPBBLK=01,块3,对应通道48~63; XPBBLK=10,块5,对应通道80~95; XPBBLK=11,块7,对应通道112~127 第6~5位:XPABLK发送区域A块划分 XPABLK=00,块0,对应通道0~15; XPABLK=01,块2,对应通道32~47; XPABLK=10,块6,对应通道64~79; XPABLK=11,块8,对应通道96~111 第2章 TMS320C54xTM DSP硬件结构 第4~2位:XCBLK发送当前块。
XCBLK=000,块0,通道0~15; XCBLK=001,块1,通道16~31; XCBLK=010,块2,通道32~47; XCBLK=011,块3,通道48~63; XCBLK=100,块4,通道64~79; XCBLK=101,块5,通道80~95; XCBLK=110,块6,通道96~111; XCBLK=111,块7,通道112~127 第1~0位:XMCM发送多通道选择使能第2章 TMS320C54xTM DSP硬件结构 XMCM=00,所有通道无屏蔽使能,数据发送期间DX总是被驱动的在下述情况下,DX被屏蔽呈高阻态:① 两个数据包之间的间隔内;② 当一个通道被屏蔽,无论这个通道是否被使能;③ 通道未使能 XMCM=01,所有通道被废除,因此,默认屏蔽所需的通道由使能XP(A/B)BLK和XCER(A/B)的相应位选择另外,这些选定的通道不能被屏蔽,因此,DX总是被驱动的 XMCM=10,除了被屏蔽的外,所有通道使能由XP(A/B)BLK和XCER(A/B)所选择的通道不可屏蔽。
第2章 TMS320C54xTM DSP硬件结构 XMCM=11,所有通道被废除,因此,默认为屏蔽状态利用置位RP(A/B)和RCEB(A/B)选择所需通道;利用置位RP(A/B)BLK和XCER(A/B)选择不可屏蔽通道,这个模式用于对称发送和接收操作 通道使能寄存器(R/X)CER(A/B)接收通道使能分A区和B区(RCER(A/B)),发送通道使能分A区和B区(XCER(A/B)),寄存器分别用于使能接收和发送的32个通道的任何一个,32个通道中A和B区分别有16个,分别如图2.28~图2.31所示第2章 TMS320C54xTM DSP硬件结构图2.28 A区接收通道使能寄存器RCERA第2章 TMS320C54xTM DSP硬件结构RCERA的位详细描述如下:第15~0位:RCEA接收通道使能RCEAn=0,在A区的相应块中,废除第n通道的接收;RCEAn=1,在A区的相应块中,使能第n通道的接收图2.29 B区接收通道使能寄存器RCERB第2章 TMS320C54xTM DSP硬件结构 RCERB的位详细描述如下:第15~0位:RCEB接收通道使能。
RCEBn=0,在B区的相应块中,废除第n通道的接收;RCEBn=1,在B区的相应块中,使能第n通道的接收图2.30 A区发送通道使能寄存器XCERA第2章 TMS320C54xTM DSP硬件结构XCERA的位详细描述如下:第15~0位:XCEA发送通道使能XCEAn=0,在A区的相应块中,废除第n通道的发送;XCEAn=1,在A区的相应块中,使能第n通道的发送B区发送通道使能寄存器XCERB如图2.31所示图2.31 B区发送通道使能寄存器XCER第2章 TMS320C54xTM DSP硬件结构XCER的位详细描述如下:第15~0位:XCEB发送通道使能XCEBn=0,在B区的相应块中,废除第n通道的发送;XCEBn=1,在B区的相应块中,使能第n通道的发送第2章 TMS320C54xTM DSP硬件结构 利用多通道选择特性,无需CPU干涉就可以使能32个一组静态的通信传输通道,除非需要重新分配通道一帧内随机选用通道数、通道组等,可在帧出现的时间内,相应块结束中断刷新块分配寄存器完成注意,当改变所需通道时,决不能影响当前所选择的块利用接收寄存器MCRl的RCBLK和发送寄存器MCR2的XCBLK可以分别读取当前所选块的内容。
如果MCR[1,2]中的(R/X)P(A/B)BLK位指向当前块,则辅助通道使能寄存器不可修改同样,当指向或被改变指向当前选择的块时,MCR[l,2]中的(R/X) P(A/B)BLK位也不能被修改如果选择的通道总数小于等于16,总是指向当前的区,只有串口复位才能改变通道使能状态第2章 TMS320C54xTM DSP硬件结构 如果SPCR[l,2]中RINT=01或XINT=01,在多通道操作期间,每个16通道块边界处,接收或发送中断RINT和XINT就向CPU发出中断申请这个中断表明一个区已经通过,如果相应的寄存器不指向该区,用户可以改变A或B区的划分这些中断的时间长度为两个时钟周期如果(R/X)MCM=0,则不会产生这个中断第2章 TMS320C54xTM DSP硬件结构2.6.5 主机接口主机接口 (HPI) 1..主机接口主机接口 (HPI) 主机接口(HPI,Host Port Interface)是C54x DSP系列定点芯片内部具有的一种并行接口部件,主要用于DSP与其他总线或CPU进行连接HPI接口通过HPI控制寄存器(HPIC)、地址寄存器(HPIA)、数据锁存器(HPID)和HPI内存块,实现与主机之间的通信。
主机和DSP可独立地对HPI接口操作,主机和DSP握手可通过中断方式来完成主机还可以通过HPI接口装载DSP应用程序、接收DSP运行结果或诊断DSP运行状态,为DSP芯片的接口开发提供了一种极为方便的途径第2章 TMS320C54xTM DSP硬件结构 C542、C545、C548和C549片内都有一个标准主机接口(HPI)信息在C54x DSP和主机间通过C54x DSP存储器进行交换,主机和C54x DSP均可以访问存储器对于C5402、C5410 (HPI-8) 和C5420(HPI-16)DSP器件,它们的主机接口是扩展的 图2.32所示为HPI接口框图主机是HPI的主控者,HPI作为一个外设与主机相连接,使主机的访问操作很容易主机通过以下单元与HPI通信:专用地址和数据寄存器、HPI控制寄存器以及使用外部数据和接口控制信号主机和C54x DSP都可以访问HPI控制寄存器第2章 TMS320C54xTM DSP硬件结构 HPI的外部接口为8位的总线,通过两个连续的8位字节组合在一起形成一个16位字,HPI就可为C54x DSP提供16位的数。
当主机使用HPI寄存器执行一个数据传输时,HPI控制逻辑自动执行对一个专用2K字的C54x DSP内部的双访问RAM的访问,以完成数据处理然后C54x DSP可以在它的存储器空间访问读写数据HPI RAM也可以用作通用目标双访问数据或程序RAM第2章 TMS320C54xTM DSP硬件结构图2.32 HPI接口框图第2章 TMS320C54xTM DSP硬件结构 HPI具有两种工作模式: (1) 共用访问模式(SAM)这是常用的操作模式在SAM模式下,主机和C54x DSP都能访问HPI存储器异步的主机访问可以在HPI内部重新得到同步如果C54x DSP与主机的周期(两个访问同时是读或写)发生冲突,则主机具有访问优先权,C54x DSP等待一个周期第2章 TMS320C54xTM DSP硬件结构 (2) 仅仅主机访问模式(HOM)在该模式下,只有主机可以访问HPI存储器,C54x DSP则处于复位状态或者处在所有内部和外部时钟都停止工作的IDLE2空闲状态(最小功耗)因此主机可以访问HPI RAM,而C54x DSP则处于最小功耗配置。
HPI支持主机与C54x DSP之间高速传输数据在SAM工作模式下,DSP运行在40 MHz CLKOUT时,HPI每经过5个CLKOUT周期传输一个字节(即64 Mb/s)主机可以充分利用高带宽,并且其运行频率达(Fd×n)/5其中Fd为C54x DSP的CLKOUT频率;n为主机每进行一次外部访问的周期数 因此对于40 MHz的C54x DSP和n为4(或3)的常数时,则主机可以运行在30(或24)MHz的速度下,而不要求插入等待状态 而在HOM方式下,HPI支持更快的主机访问速度——每50 ns寻址一个字节(即160 Mb/s),与C54x DSP的时钟速度无关第2章 TMS320C54xTM DSP硬件结构 1) 主机接口的基本功能描述 外部HPI包括8位的HPI数据总线,以及配置和控制接口的控制信号线HPI接口可以不需要任何附加逻辑来连接各种主机设备图2.33显示了HPI与主机之间的连接框图 8位数据总线(HD0~HD7)与主机之间交换信息因为C54x DSP的16位字的结构,所以主机与DSP之间数据传输必须包含两个连续的字节。
专用的HBIL引脚信号确定传输的是第一个还是第二个字节HPI控制寄存器HPIC的BOB位决定第一个或第二个字节放置在16位字的高8位,而主机不必破坏两个字节的访问顺序如果字节的传输顺序被破坏,则数据可能会丢失,产生不可预测的结果第2章 TMS320C54xTM DSP硬件结构图2.33 HPI与主机设备之间的连接框图第2章 TMS320C54xTM DSP硬件结构 两个控制输入(HCNTL0和HCNTL1)表示哪个HPI寄存器被访问,并且表示对寄存器进行哪种访问这两个输入与HBIL一起由主机地址总线位驱动使用HCNTL0/1输入,主机可以指定对三个HPI寄存器(见表2.18的描述)访问:HPI控制寄存器(HPIC)、HPI地址寄存器(HPIA)或HPI数据寄存器(HPID)HPIA寄存器也可以使用自动增寻址方式访问HPIA寄存器第2章 TMS320C54xTM DSP硬件结构表2.18 HPI用于主机和C54x DSP之间通信的寄存器第2章 TMS320C54xTM DSP硬件结构 自动增寻址特性为连续的字单元的读写提供了方便在自动增寻址模式下,一次数据读会使HPIA在数据读操作后增加1,而一个数据写操作会使HPIA操作前预先增加1。
通过写HPIC,主机可以中断C54x DSP,并且 输出可以被C54x DSP用来中断主机主机通过写HPIC来应答中断并清除 两个数据选通信号( 和 )、读写选通信号( )和地址选通信号( ),可以使HPI与各种工业标准主机设备进行连接第2章 TMS320C54xTM DSP硬件结构 HPI准备引脚(HRDY)允许为准备输入的主机插入等待状态,这样可以调整主机对HPI的访问速度当HRDY直接用于来自C54x DSP CPU,则它不必满足主机时序要求,该信号可以使用外部逻辑实现重新同步当C54x DSP CPU的操作频率是可见的,或者主机能够以更快的速度(比最大的SAM模式的访问速度更快)进行访问操作,HRDY很有用在这两种情况下,HRDY引脚为自动调整适应于更快速度的C54x DSP CPU或转换HPI模式提供了很灵活的方法 所有以上特性,使HPI为各种工业标准主机设备提供了灵活而有效的接口另外,HPI大大简化了主机和C54x DSP之间的数据交换。
一旦接口配置好了,就能够以最高速度最经济地实现数据的传输第2章 TMS320C54xTM DSP硬件结构2) HPI接口操作表表2.19 HPI外部接口引脚的详细功能描述外部接口引脚的详细功能描述第2章 TMS320C54xTM DSP硬件结构表表2.19 HPI外部接口引脚的详细功能描述外部接口引脚的详细功能描述第2章 TMS320C54xTM DSP硬件结构表表2.19 HPI外部接口引脚的详细功能描述外部接口引脚的详细功能描述第2章 TMS320C54xTM DSP硬件结构表表2.19 HPI外部接口引脚的详细功能描述外部接口引脚的详细功能描述第2章 TMS320C54xTM DSP硬件结构 两条控制引脚(HCNTL0和HCNTL1)表示哪个内部HPI寄存器正在被访问,并且对寄存器进行哪种访问这两条引脚的状态可以选择对HPIA、HPIC和HPID寄存器进行访问HPI地址寄存器(HPIA)用于指向HPI存储器;HPI控制寄存器(HPIC)包含用于数据传输的控制和状态位;HPID包含实际传输的数据另外,HPID寄存器可以使用自动增寻址方式进行访问。
第2章 TMS320C54xTM DSP硬件结构 对于C54x DSP,HPI存储器为2K字×16位的双访问 RAM块,其地址范围为数据存储空间的1000h~17FFh,不过根据OVLY位的值,也可以是位于程序存储器空间 从主机接口,2 K字的HPI存储器块可以很方便地从主机地址0~7FFh进行访问然后,存储器也可以由任何HPIA的低11位为0的主机地址值进行访问例如,对应地址为C54x DSP的数据存储器空间的1000h的HPI存储器块的第一个字,可以由具有如下HPIA值的主机访问:0000h、0800h、1000h、1800h、…、F800h第2章 TMS320C54xTM DSP硬件结构 HPI自动增寻址特性为访问连续的HPI存储器的字单元提供了很方便的手段在自动增寻址模式下,一次数据读会使操作后的HPIA增加1,一次数据写会使HPIA在操作前预增加1因此,如果要向具有自动增寻址功能的HPI存储器的第一个字写入,由于写操作的预增加的特性,HPIA将首先加载如下的值:07FFh、0FFFh、17FFh、…、FFFFh HPIA是一个16位的寄存器,并且所有16位都可以进行读和写,尽管HPI存储器具有2 K字,但只有HPIA的低11位被要求用来寻址HPI存储器。
HPIA的增加和减少影响到该寄存器的所有16位第2章 TMS320C54xTM DSP硬件结构 3) HPI控制寄存器(HPIC) HPIC共有4个位用于控制HPI操作这些位是BOB(选择第1或第2个字节作为最高位)、SMOD(选择主机或共享访问模式,即HOM或SAM模式)、DSPINT和HINT(分别用于产生C54x DSP和主机中断)关于这些控制位的详细描述见表2.20第2章 TMS320C54xTM DSP硬件结构表表2.20 HPIC寄存器的控制位描述寄存器的控制位描述第2章 TMS320C54xTM DSP硬件结构表表2.20 HPIC寄存器的控制位描述寄存器的控制位描述第2章 TMS320C54xTM DSP硬件结构 由于主机接口总是传输8位字节,而HPIC(通常是首先要访问的寄存器,用来设置配置位并初始化接口)是一个16位寄存器,在主机一侧就以相同内容的高字节与低字节来管理HPIC(尽管访问某些位受到一定的限制),而在C54x DSP这一侧高位是不用的控制/状态位都处在最低4位选择合适的HCNTL1和HCNTL0,主机可以访问HPIC和连续2个字节的8位HPI数据总线。
当主机要写HPIC时,第1个字节和第2个字节的内容必须是相同的值C54x DSP访问HPIC的地址为数据存储空间的002Ch第2章 TMS320C54xTM DSP硬件结构图2.34 主机和C54x DSP读写HPIC寄存器的结果第2章 TMS320C54xTM DSP硬件结构 如图2.34所示,对于读操作,如果指定为0,则该值总被读;如果指定为X,则读取的为一个未知的值对于写操作,如果指定为X,则任何值可以被写对于主机写,两个字节必须一致 因为C54x DSP可以写SMOD和HINT位,并且这些位在主机接口侧可以读两次,如果C54x DSP在两次读操作之间改变这些位的状态,则主机读取的第1个或第2个字节会产生不同的数据主机和C54x DSP的HPIC读/写周期的特性描述见表2.21第2章 TMS320C54xTM DSP硬件结构表表2.21 主机和主机和C54x DSP的的HPIC读读/写周期的特性描述写周期的特性描述第2章 TMS320C54xTM DSP硬件结构 4) DSPINT和HINT功能操作 主机和C54x DSP可以使用HPIC寄存器的DSPINT和HINT位相互产生中断,下面分别进行讲解。
(1) 主机使用DSPINT向C54x DSP产生中断当主机向DSPINT位写1时,会产生一个C54x DSP中断该中断可用来从IDLE状态唤醒C54x DSP的CPU主机和C54x DSP读该位总为0C54x DSP写该位无效一旦主机向DSPINT写入1,在产生下一个中断前不必向其写0,并且写0无任何效果当主机向BOB或HINT位写入数据值时,不能向DSPINT位写1,否则会产生一个不可预测的C54x DSP的CPU中断第2章 TMS320C54xTM DSP硬件结构 在C54x DSP,主机到C54x DSP中断向量地址为xx64h该中断位于IMR/IFR的第9位因为C54x DSP的CPU中断向量可以映射到HPI存储器,所以主机在使用位于地址xx64h的分支转移指令去中断C54x DSP的CPU之前,可以将函数的起始地址写到HPI存储器的地址xx65h处,这样就可以让C54x DSP执行预先编程的函数如果中断被重映射到主机可以寻址的片内RAM,用户必须使用SAMN模式,并且主机不能向地址单元xx00h~xx7Fh写数据,xx65h除外第2章 TMS320C54xTM DSP硬件结构 (2) C54x DSP的HPI使用HINT中断主机设备。
当C54x DSP向HPIC的HINT位写1时,输出信号变为低电平,C54x DSP或主机读HINT位的值为1信号用于向主机设备产生一个中断主机设备探测到中断信号后,会通过向HINT位写1应答和清除C54x CPU中断以及HINT位HINT位被清除,则读为0,并且引脚为高电平如果C54x DSP或主机向HINT写0,HINT位依然保持不变当访问SMOD位时,C54x DSP不能向HINT位写1,除非想中断主机第2章 TMS320C54xTM DSP硬件结构 2. 增强的增强的HPI 上一节讲述了C54x DSP的标准HPI,对于C542、C545、C548和C549,片内的HPI接口为一个标准主机接口而对于C5402、C5410 (HPI-8) 和C5420 (HPI-16) DSP器件,它们的主机接口是增强的HPI标准HPI和增强HPI接口主要功能类似,但是也存在很多不同点,总的来说,增强HPI接口具有更强的数据通信功能下面分别对这两种增强HPI进行介绍第2章 TMS320C54xTM DSP硬件结构 1) 增强的8位HPI(HPI-8) 增强的8位HPI,其主要操作方式与标准8位HPI一样,只是增加了一些改进的功能。
HPI-8只有C5402和C5410两种才具有 (1) HPI-8接口概述HPI-8是一个8位的并行接口,可以将主机设备或主机处理器和C54x DSP连接起来,通过C54x DSP的片内RAM实现主机设备和C54x DSP之间的信息交换增强的8位HPI和标准的8位HPI之间的区别见表2.22第2章 TMS320C54xTM DSP硬件结构表表2.22 增强的增强的8位位HPI(HPI-8)和标准的和标准的8位位HPI之间的区别之间的区别第2章 TMS320C54xTM DSP硬件结构 HPI-8可以起从属功能,并允许主机处理器对C54x DSP的片内存储器进行访问HPI-8接口包括一个8位双向数据总线和各种控制信号通过两个连续的8位字节组合在一起形成一个16位字传输,HBIL输入信号指定高或低字节主机与HPI-8通过专用的地址和数据寄存器进行通信,而C54x DSP不能直接访问这些寄存器HPI控制寄存器是可以为主机和C54x DSP所访问的,这些控制寄存器包括配置和控制通信的协议(握手),HPI-8的简单框图如图2.35所示第2章 TMS320C54xTM DSP硬件结构图2.35 HPI-8接口框图第2章 TMS320C54xTM DSP硬件结构 HPI-8为依然保持8位外部接口的C54x DSP提供16位的数据,两个连续的字节自动组合成16位的字。
当主机设备执行与HPI寄存器一个数据传输,则HPI-8控制逻辑自动执行对内部C54x DSP的RAM访问,且完成数据传输C54x DSP然后可以在它的存储器空间访问数据 C54x DSP和主机都可以对C54x DSP的整个片内RAM进行访问如果主机要访问RAM,那么C54x CPU时钟必须有效,并且在C54x DSP处于复位模式时,HPI-8是不可操作的主机访问与C54x CPU时钟是同步的,以确保片内RAM访问的正确仲裁当产生C54x CPU和主机周期同时访问相同的存储器单元时,主机具有访问优先权,而C54x CPU要等待一个时钟周期第2章 TMS320C54xTM DSP硬件结构 (2) HPI-8基本功能描述外部HPI-8接口可以使用较少的或不需要任何附加逻辑连接各种主机设备8位数据总线(HD0~HD7)与主机交换信息两个控制输入(HCNTL0和HCNTL1)表示访问哪个内部HPI-8寄存器这些输入信号和HBIL通常由地址总线位驱动HPI-8与主机设备之间连接框图和标准HPI接口一样 关于HPI-8的基本功能参见前面的有关标准HPI的介绍。
主机可以指定对三个HPI寄存器的访问:HPI控制寄存器(HPIC)、HPI地址寄存器(HPIA)或HPI数据寄存器(HPID)HPIA寄存器也可以使用自动增寻址方式访问HPIA寄存器第2章 TMS320C54xTM DSP硬件结构 (3) HPI-8接口操作C54x DSP的外部HPI-8接口信号可以很容易实现与各种主机设备之间的接口,关于HPI-8外部接口引脚与标准的HPI接口是一致的 ① HPI-8地址寄存器和存储器的映射主机使用HPIA寄存器作为指向C54x DSP的片内存储器的指针,并且所有片内RAM都可以通过HPI-8进行访问因为每种C54x DSP内部存储器的映射是不同的,所以HPI寻址的范围也不同例如C5410的片内存储器比C5402的片内存储器大图2.36所示为C5402和C5410的HPI-8存储器映射图 所有片内RAM块(程序RAM和数据RAM)都映射到HPI存储器映射图中一个连续的地址范围用户不能重映射该存储器映射图中的地址(也就是说,HPI-8存储器映射图不受任何可编程寄存器的影响)第2章 TMS320C54xTM DSP硬件结构图2.36 C5402和C5410的HPI-8存储器映射图第2章 TMS320C54xTM DSP硬件结构 ② 扩展的HPI-8寻址。
对于具有超过64K字常规地址的片内RAM的DSP,HPI-8包含一个扩展寻址功能7个扩展地址位可以让HIP-8寻址片内RAM的扩展页面主机使用HPIC寄存器的扩展HPI地址位(XHPIA)访问扩展地址当主机设置XHPIA位时,一个7位的寄存器表示扩展地址位(HPIA 16:22)可以代替HPIA寄存器被访问为了初始化扩展地址位,主机必须用指定HPIA 16:2值的每个字节低7位向HPIA寄存器执行一次写访问注意,在写访问时,第1和第2字节值均写到相同的寄存器因此,如果没有向两个字节写相同的值,则第2个字节值用于初始化扩展地址,第1个字节值被丢弃第2章 TMS320C54xTM DSP硬件结构 初始化扩展地址位后,主机必须清除XHIPA位,以便可以重新对HPIA寄存器的低16位UPI地址位进行访问对于地址自动增的功能,为了正确的操作,XHPIA位必须清除为0,因为当XHPIA位置为1时,自动增功能不能正确地工作 在C54x DSP复位后,XHPIA和扩展地址位都不会被初始化,因此主机在C54x DSP复位后应该对这些位进行初始化 第2章 TMS320C54xTM DSP硬件结构 ③ 地址自动增。
HPI-8地址自动增特性为访问连续的片内字单元提供了很方便的手段在自动增模式下,每次访问后HPIA寄存器会自动增加1即使访问次数不变,因为每次存储器访问期间主机不用更新HPIA寄存器,所以性能可以大大提高当HCNTL0为高电平而HCNTL1引脚为低电平时,系统具有地址自动增特性 对于具有扩展片内RAM的DSP器件,HPIC寄存器的XPHIA位必须置1,以便得到正确的地址自动增操作第2章 TMS320C54xTM DSP硬件结构 当自动增功能使能后,一次数据读会使操作后的HPIA增加1,一次数据写会使HPIA在操作前预增加1因此,如果要向具有自动增功能的HPI存储器的第一个字写入,由于写操作的地址预增加1的特性,因此HPIA寄存器应该初始化位目标地址减1自动增加功能影响HPIA寄存器的所有16位,对于具有扩展片内RAM的DSP芯片(C5410例外),自动增特性也影响扩展地址 例如,如果HPIA设置为FFFFh,并且自动增功能被使能,则下一次访问会改变HPI地址位010000h因为C5410的地址自动增不会影响扩展HPI地址,所以上面的例子改变C5410的HPI地址为000000h。
第2章 TMS320C54xTM DSP硬件结构 ④ HPI-8控制寄存器(HPIC)的位和功能描述HPIC共有5个位用于控制HPI操作这些位是BOB(选择第1或第2个字节作为最高位)、DSPINT和HINT(分别用于产生C54x DSP和主机中断)、XHPIA(主机用来访问扩展地址)和HPIENA(表示使能或禁止HPI-8)关于这些控制位的详细描述见表2.23,请注意HPI-8的HPIC寄存器与标准HPI的相应寄存器(见表2.19)的区别第2章 TMS320C54xTM DSP硬件结构表表2.23 HPI-8的的HPIC寄存器的控制位描述寄存器的控制位描述第2章 TMS320C54xTM DSP硬件结构表表2.23 HPI-8的的HPIC寄存器的控制位描述寄存器的控制位描述第2章 TMS320C54xTM DSP硬件结构 由于主机接口总是传输8位字节,而HPIC寄存器是一个16位寄存器,在主机一侧就以相同内容的高字节与低字节来管理HPIC寄存器(尽管访问某些位受到一定的限制),而在C54x DSP这一侧高8位是不用的选择合适的HCNTL1和HCNTL0,主机可以访问HPIC寄存器和连续两个字节的8位HPI-8数据总线。
当主机要写HPIC寄存器时,第1个字节和第2个字节的内容必须是相同的值C54x DSP访问HPIC寄存器的地址为数据存储空间的002Ch第2章 TMS320C54xTM DSP硬件结构 主机和C54x DSP读写HPI-8的HPIC寄存器的结果如图2.35所示图中,对于读操作,如果指定为0,则该值总被读;如果指定为X,则读取的为一个未知的值对于写操作,如果指定为X,则任何值可以被写对于主机写,两个字节必须一致 因为C54x DSP可以写HINT位,并且该位在主机接口侧可以读两次,如果C54x DSP在两次读操作之间改变这些位的状态,则主机读取的第1个或第2个字节会产生不同的数据对于HPI-8接口,主机和C54x DSP的HPIC读/写周期的特性与标准HPI类似(见表2.21) 对于HPI-8接口,其读/写时序与标准HPI接口相同,对中断(DSPINT和HINT)的处理也一样第2章 TMS320C54xTM DSP硬件结构 2) 增强的16位HPI(HPI-16) TI公司设计了多种HPI接口目前,8位HPI接口可以支持16位数据的读写操作,但是8位HPI需要两次连续传送才能完成16位数据的操作。
HPI-16是一种新的增强HPI,其功能与标准HPI和HPI-8一样,允许主机处理器访问内部存储器,而不需要DSP的CPU来干预HPI-16提供了一个完整地16位双向数据总线另外,只需要一个主机传送就可以完成访问操作HPI-16可以允许各种主机处理器与C54x DSP进行接口目前只有C5420具有HPI-16功能HPI-16的特征包括: * 允许直接与主机地址总线连接的16位地址总线(C5420为18位地址总线);第2章 TMS320C54xTM DSP硬件结构 * 16位数据总线,不要求任何字节排序; * 灵活的接口,包括多个选通和控制信号,使用于各种16位主机; * 附加接口的复用和非复用操作的灵活性; * 存储器访问可以通过直接存储器访问(DMA)控制来实现同步,可以对完整的内部存储器地址范围进行访问; * HRDY引脚的软件查询; * 数据捕获的软件控制; * 选通和控制信号 第2章 TMS320C54xTM DSP硬件结构2.6.6 软件可编程等待状态产生器软件可编程等待状态产生器 软件可编程等待状态产生器可以把外部总线周期扩展到7个机器周期,从速度上与较慢的片外存储器和I/O设备相匹配,它不需要任何外部硬件,只由软件控制。
第2章 TMS320C54xTM DSP硬件结构2.6.7 可编程块开关模块可编程块开关模块 可编程块开关模块在访问越过存储器块边界,或从程序存储器跨到数据存储器时,能自动插入一个周期,此额外的周期允许存储器器件在其他器件开始驱动总线之前释放总线,防止总线竞争用于存储器块切换的块大小由切换控制寄存器(BSCR)确定第2章 TMS320C54xTM DSP硬件结构2.7 节节 电电 模模 式式 C54x DSP可以工作在节电模式,此时,其进入睡眠状态,功耗比正常操作模式下要小,能保持CPU中的内容当节电工作模式结束时,CPU可以继续工作下去 可以通过执行IDLE1、IDLE2、IDLE3指令,或者使STI寄存器的HM状态位置1而驱动 信号为低电平,从而激活节电工作模式 节电模式概括见表2.24所示第2章 TMS320C54xTM DSP硬件结构表表2.24 节电模式概括节电模式概括第2章 TMS320C54xTM DSP硬件结构 1..IDLE1模式模式 除了系统的时钟外,IDLE1模式会暂时停止所有CPU活动,因为系统时钟要应用到外设模块,外设电路需要继续工作并且CLKOUT引脚依然起作用。
因此,串行接口和定时器这样的外设可以使CPU退出节电状态 使用IDLE1指令进入IDLE1模式要中止IDLE1模式,可以使用唤醒中断当唤醒中断发生时,如果INTM=0,IDLE1模式被中止并且C54x DSP会进入中断服务程序(ISR)如果INTM=1,C54x DSP会继续执行IDLE1指令后的指令不管INTM的值为多少,所有唤醒中断都会设置IMR的相应位,惟一例外的是非屏蔽中断 和 第2章 TMS320C54xTM DSP硬件结构 2..IDLE2模式模式 IDLE2模式会中止片内外设和CPU的活动,因为在该模式下会中止片内外设,所以片内外设不能用于产生唤醒处于IDLE2模式的C54x DSP因为器件完全被停止了,所以功耗会大大降低 使用IDLE2指令进入IDLE2模式要中止IDLE2模式,可以使用任何具有10 ns最小脉冲宽度的外部中断引脚( 、 和 )当唤醒中断发生时,如果INTM=0,IDLE2模式被中止,并且C54x DSP会进入中断服务程序(ISR)如果INTM=1,C54x DSP会继续执行IDLE2指令后的指令。
不管INTM的值为多少,所有唤醒中断都会设置IMR的相应位当IDLE2的模式中止时,将复位所有外设,即使外设被外部锁定第2章 TMS320C54xTM DSP硬件结构 3..IDLE3模式模式 IDLE3模式的功能与IDLE2模式一样,但是它还会中止PLL(锁相环)IDLE3用来完全关闭C54x DSP这种模式降低功耗比IDLE2模式要大此外,如果系统需要C54x DSP在较低速度下操作以节省功耗时,则IDLE3模式允许用户重新配置PLL 使用IDLE3指令进入IDLE3模式要中止IDLE3模式,可以使用任何具有10 ns最小脉冲宽度的外部中断引脚( 、 和 )当唤醒中断发生时,如果INTM=0,IDLE3模式被中止,并且C54x DSP会继续执行IDLE3指令后的指令不管INTM的值为多少,所有唤醒中断都会设置IMR的相应位当IDLE3的模式中止时,将复位所有外设,即使外设被外部锁定第2章 TMS320C54xTM DSP硬件结构 为了中止IDLE3,外部中断必须为10 ns最小的脉冲宽度,以激活唤醒顺序。
在唤醒顺序中,C54x DSP可以接受多个中断,在IDLE3模式结束后,将按最高优先级的顺序进入中断服务软件可编程的PLL只有在TMS320C545/546/548才有效 当 是IDLE3模式时的唤醒中断,具有10 ns最小脉冲宽度的 可以激活复位顺序另外, 应该保持50 有效,以便PLL可以为内部逻辑提供稳定的系统时钟第2章 TMS320C54xTM DSP硬件结构 4.保持.保持(Hold)模式模式 保持(Hold)模式是另一种节电模式,它可以将地址、数据和控制线置于高阻态根据ST1寄存器的HM位的值,用户也可以使用这种模式中止CPU 这种节电模式由 有效信号进行初始化 信号的效果取决于HM的值如果HM=1,CPU会停止执行,并且地址、数据和控制线进入高阻态如果HM=0,地址、数据和控制线进入高阻态,但是CPU继续内部执行当系统不要求外部存储器访问时,用户可以使用HM=0和 的信号如果没有指令要求片外存储器访问,C54x DSP会继续正常工作,处理器中止,直到 信号被释放。
第2章 TMS320C54xTM DSP硬件结构 这种模式不会停止片内外设的操作(如定时器和串行接口),不管 信号状态如何以及HM位的值为多少,片内外设继续工作当 信号变为无效时,该模式被中止第2章 TMS320C54xTM DSP硬件结构 5.其他节电性能.其他节电性能 C54x DSP还有另外两个影响节电操作的功能,即外部总线关和CLKOUT关 (1) 外部总线关允许C54x DSP禁止用于外部接口的内部时钟,因此会将接口置于较低功耗模式 通过设置分区转换控制寄存器(BSCR)的第0位的值为1,可以禁止外部接口时钟在复位时,该位被清0,并且使能外部时钟 (2) CLKOUT关允许C54x DSP禁止使用软件指令的CLKOUTPMST寄存器的CLKOFF位决定了CLKOUT是使能还是被禁止第2章 TMS320C54xTM DSP硬件结构2.8 外部总线及扩展外部总线及扩展 1.外部总线接口.外部总线接口 C54x DSP的外部接口包括数据总线、地址总线和一组用于访问片外存储器与I/O端口的控制信号。
C54x DSP的外部程序或数据存储器以及I/O扩展的地址和数据总数复用,完全依靠片选和读写选通配合时序控制完成外部程序存储器、数据存储器和扩展I/O的操作表2.25列出了C54x DSP的主要扩展接口信号第2章 TMS320C54xTM DSP硬件结构表表2.25 C54x DSP的主要扩展接口信号的主要扩展接口信号第2章 TMS320C54xTM DSP硬件结构 外部接口总线是一组并行接口它有两个互相排斥的选通信号和前者用于访问外部程序或数据存储器,后者用于访问I/O设备读/写信号R/则控制数据传送的方向 外部数据准备输入信号(READY)与片内软件可编程等待状态发生器一起,可以使处理器与各种速度的存储器以及I/O设备接口当与慢速器件通信时,CPU处于等待状态,直到慢速器完成了它的操作并发出READY信号后才继续运行 在某些情况下,只在两个外部存储器件之间进行转换时才需要等待状态在这种情况下,可编程的分区转换逻辑可以自动插入一个等待状态第2章 TMS320C54xTM DSP硬件结构 当外部器件需要访问C54x DSP的外部程序、数据和I/O存储空间时,可以利用 和 信号(保持工作模式),使外部器件可以控制C54x DSP外部总线,从而可以访问C54x DSP的外部资源。
保持工作模式有两种类型,即正常模式和并行DMA模式第2章 TMS320C54xTM DSP硬件结构 当CPU访问片内存储器时,数据总线置于高阻态然而地址总线以及存储器选择信号(程序空间选择信号 、数据空间选择信号 以及 I/O空间选择信号)均保持先前的状态,此外, 信号均保持在无效状态如果处理器工作模式状态寄存器(PMST)中的地址可见位(AVIS)置1,那么CPU执行指令时的内部程序存储器的地址就出现在外部地址总线上,同时 信号有效 当CPU寻址外部数据或I/O空间时,扩展地址线被驱动为逻辑状态0当CPU寻址片内存储器并且AVIS位置1,也会出现这种情况第2章 TMS320C54xTM DSP硬件结构 2.外部总线操作的优先级.外部总线操作的优先级 C54x CPU有1条程序总线(PB)、3条数据总线(CB、DB和EB)以及4条地址总线(PAB、CAB、DAB和EAB)由于片内是流水线结构,因此允许CPU同时访问它的这些总线但是,外部总线只能允许每个周期进行一次访问。
如果在一个机器周期内,CPU访问外部存储器两次(一次取指,一次取操作数),那么就会发生流水线冲突这种流水线冲突可以通过一个与定义的优先级来自动解决第2章 TMS320C54xTM DSP硬件结构 3.外部总线控制.外部总线控制 C54x DSP有两个控制外部总线的单元:等待状态发生器和分区转换逻辑单元这些单元有两个寄存器控制,即软件等待状态寄存器(SWWSR)和分区转换控制寄存器(BSCR)第2章 TMS320C54xTM DSP硬件结构 4.外部总线接口时序.外部总线接口时序 所有的外部总线访问操作都在整数个CLKOUT的周期内完成的,一个CLKOUT周期定义为从一个CLKOUT下降沿到相邻的下一个CLKOUT下降沿所需的时间间隔有些外部总线的访问操作不需要等待周期,例如,存储器写、I/O写和读等操作需要两个时钟周期;存储器读只要一个时钟周期然而,当一个存储器读紧跟一个存储器写或者相反时,存储器读需要一个附加的半个周期第2章 TMS320C54xTM DSP硬件结构 5.复位和节电模式的时序.复位和节电模式的时序 当扩展了外部存储器或I/O时,C54x DSP的特殊工作状态(例如,睡眠状态、复位状态、唤醒状态)的外部时序,直接影响到与其相连的外设的复位、节电工作。
当C54x DSP进入或退出IDLE1、IDLE2、复位或IDLE3等4种工作方式中的某一种时,CPU总是在工作和不工作之间交换由于在前两种方式(IDLE1和IDLE2)下,加到CPU和在片外围电路的时钟还在工作,因此不需要特别的注意而对于复位和IDLE3两种工作模式,需要考虑其时序关系:(1) 复位发生硬件初始化;(2) IDLE3CPU和片内外设从睡眠状态转换为有效工作状态第2章 TMS320C54xTM DSP硬件结构 6.保持模式.保持模式 C54x DSP有两个信号: (保持请求信号)和 (保持应答信号),允许外部器件控制处理器的程序、数据和I/O总线通过驱动 信号为低电平,处理器应接受一个来自外部器件的 信号,C54x DSP就进入保持模式,并将它的外部地址总线、数据总线和控制信号置于高阻态第2章 TMS320C54xTM DSP硬件结构习习 题题 1.C54x DSP芯片的CPU主要由哪几个部分组成? 2.简述VC5402的功能结构和主要特点。
3.处理器模式状态寄存器(PMST)中的MP/、OVLY和DROM比特位是如何影响DSP存储器结构的? 4.C54x DSP芯片采用了几级流水线的工作方式?完成一条指令分为哪几个阶段? 5.初始化C54x DSP定时器需要按照哪些步骤?定时器中断(TINT)的速率如何计算?第2章 TMS320C54xTM DSP硬件结构 6.C54x DSP的串口有哪几种类型?试画出McBSP串口与TLV320AIC10音频模块接口芯片的典型连接方法,并说明它们是如何实现数据收发的? 7.主机接口(HPI)有哪几种工作方式?增强型的8位HPI接口HPI-8与标准的8位HPI接口有什么区别? 8.简述主机接口(HPI)的工作原理和主要用途。
