第2章 TMS320C54xTMDSP硬件结构.ppt

上传人:文库蛋蛋多 文档编号:2962595 上传时间:2023-03-05 格式:PPT 页数:229 大小:4.07MB
返回 下载 相关 举报
第2章 TMS320C54xTMDSP硬件结构.ppt_第1页
第1页 / 共229页
第2章 TMS320C54xTMDSP硬件结构.ppt_第2页
第2页 / 共229页
第2章 TMS320C54xTMDSP硬件结构.ppt_第3页
第3页 / 共229页
第2章 TMS320C54xTMDSP硬件结构.ppt_第4页
第4页 / 共229页
第2章 TMS320C54xTMDSP硬件结构.ppt_第5页
第5页 / 共229页
点击查看更多>>
资源描述

《第2章 TMS320C54xTMDSP硬件结构.ppt》由会员分享,可在线阅读,更多相关《第2章 TMS320C54xTMDSP硬件结构.ppt(229页珍藏版)》请在三一办公上搜索。

1、第2章 TMS320C54xTM DSP硬件结构,2.1 概述 2.2 基本结构和引脚功能 2.3 中央处理单元(CPU)2.4 存储器和I/O空间 2.5 流水线2.6 片内外设 2.7 节电模式 2.8 外部总线及扩展习 题,2.1 概 述,C54x DSP是TMS320C5000TM DSP平台中最为成熟的芯片,已在通信等领域得到了广泛应用。本章介绍C54x DSP芯片的硬件结构。重点介绍其中TMS320VC5402(以下简称VC5402)芯片的一些资源特点。,2.2 基本结构和引脚功能,2.2.1 基本结构 图2.1给出了C54x DSP的结构框图。C54x DSP的基本结构围绕8条总

2、线(4条程序/数据总线和4条地址总线),有中央处理器(CPU)、存储器及片内外设与专用硬件电路三类。CPU包括算术逻辑单元(ALU)、累加器(ACC)、乘累加单元(MAC)、移位寄存器和寻址单元等。存储器包括片内ROM、单访问RAM(SARAM)和双访问RAM(DARAM)。片内外设与专用硬件电路包括片内各种类型的同步串口、主机接口、定时器、时钟发生器、锁相环及各种控制电路。,图2.1 C54x DSP方框图,C54x DSP系列芯片种类很多,但体系结构基本一致。不同型号的C54x DSP芯片CPU结构与功能完全相同,其差异主要体现在存储器容量、片内外设、供电电压、速度以及封装上。表2.1列出

3、了不同型号C54x DSP系列芯片的主要特征。其中,“*”表示该芯片有1个时分复用串口(TDM),“!”表示有1个缓冲串口(BSP)(C548/9有2个),“?”代表多通道缓冲串口(MCBSP),“#”代表不同的锁相环(PLL)选项,“”表示每个核有6通道直接存储器访问(DMA)器件。,表2.1 C54x DSP芯片的主要特征,表2.1 C54x DSP芯片的主要特征,VC5402是目前最流行的低成本DSP芯片型号,其基本结构和主要特点包括:*多总线结构。片内三套16bit数据总线(CB、DB、EB)和一套程序总线(PB)以及对应的4套地址线(CAB、DAB,EAB、PAB(4套总线可同时操作

4、);*40 bit算术逻辑单元ALU,包括40 bit桶形移位器和2个40 bit累加器A和B;*17l7 bit乘法器和一个40 bit专用加法器,可以在单周期内完成乘、加运算各一次;*比较选择存储单元(CSSU)有助于实现Viterbi算法;,*指数译码功能。单周期内从一个40 bit累加器中算出指数;*两个地址产生器,8个辅助寄存器AR0AR7;*程序空间扩展到1 M,数据空间和I/O空间各64 K,20条地址线,16条数据线;*片内4 Kl6 bit ROM,包含压扩表、256点正弦表、引导程序等;*片内16 K16 bit的双存取RAM;*单指令重复或指令块重复功能;*程序空间和数据

5、空间的数据块移动指令;*可对32 bit的长字操作;*一个指令内可以读23个操作数;,*6级流水完成一条指令操作:预取指、取指、译码、访问、读数、执行;*运算指令和存取指令并行执行;*条件存储指令;*迟延跳转和快速返回;*软件堆栈;*片内设备;*软等待产生器,数据组间切换可编程选项;*片内锁相环,分频和倍频功能;*2个多通道带缓冲同步串口;*增强的8 bit主机接口(HPl);,*2个16 bit定时器;*6通道DMA控制器;*IDLEl、IDLE2、IDLE3控制的3级低功耗等中断休闲状态,20 A电流消耗;*片上JTAG仿真口;*3.3 V I/O电压,1.8 V核电压,工作电流平均值75

6、 mA,其中核45 mA,IO约30 mA;*100MIPS,指令周期10 ns;*144脚PQFP表贴封装或144脚BGA封装,体积小,成本低。,2.2.2 引脚功能 C54x DSP的制造工艺为CMOS,生产型号不同其引脚个数也不同,下面以VC5402为例介绍其引脚功能,如表2.2所示。VC5402引脚按功能分为电源引脚、时钟引脚、控制引脚、地址引脚、数据引脚、外部中断引脚、通信端口引脚、通用I/O引脚等部分。,表2.2 VC5402引脚功能,表2.2 VC5402引脚功能,表2.2 VC5402引脚功能,表2.2 VC5402引脚功能,表2.2 VC5402引脚功能,2.3 中央处理单元

7、(CPU),C54x DSP系列芯片的CPU主要由控制部件和运算部件组成,其中控制部件是C54x DSP芯片的中枢神经系统。C54x DSP的CPU的基本组成如下:*CPU的状态和控制寄存器;*算术逻辑单元(ALU);*2个40位累加器ACCA、ACCB;*40位桶形移位寄存器;*乘累加单元(MAC);*16位的临时寄存器(T);*16位的状态转移寄存器(TRN);*比较、选择和存储单元(CSSU);*指数编码器。,2.3.1 CPU状态和控制寄存器C54x DSP有三个状态和控制寄存器:*状态寄存器0(ST0);*状态寄存器1(ST1);*处理器工作模式状态寄存器(PMST)。这些寄存器都是

8、存储器映射寄存器,所以它们可以存放到数据存储器或者从数据存储器加载它们,ST0和ST1中包含各种工作条件和工作方式的状态,PMST中包含存储器的设置状态及控制信息。,(1)状态寄存器ST0和ST1。ST0和ST1寄存器的各位可以使用SSBX指令进行设置,使用RSBX指令进行清除。ST0的位的详细描述见表2.3所示。,表2.3 状态寄存器ST0,表2.4 状态寄存器ST1,(2)处理器工作模式状态寄存器(PMST)。PMST寄存器由存储器映射寄存器指令进行加载,例如STM指令。,表2.5 状态寄存器PMST,表2.5 状态寄存器PMST,表2.5 状态寄存器PMST,表2.5 状态寄存器PMST

9、,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。,CSSU单元是为实现数据通信与模式识别领域常用的快速加法/比较/选择ACS运算而专门设计

10、的专用硬件电路。CSSU中的比较电路将累加器中的高16位与低16位比较,其结果分别送入状态转移寄存器TRN和状态比较寄存器TC,同时,结果也送入选择器,选择较大的数,并存于指令指定的存储单元中。指数编码器是专门为支持单周期EXP指令而设计的硬件电路。在定点运算中,经常涉及到整数的定标问题。将EXP指令与NORM指令配合使用,可以使得累加器数据的标准化操作非常方便快捷。,2.3.3 累加器 C54x DSP芯片有2个独立的40位累加器ACCA和ACCB可以存放ALU或MAC单元的运算结果,也可以作为ALU的一个输入。累加器结构如图2.2和图2.3所示,其中保护位可以防止迭代运算中(如自相关运算)

11、产生的溢出。,图2.2 C54x DSP累加器ACCA结构,图2.3 C54x DSP累加器ACCB结构,AG、BG、AH、BH、AL和BL是存储器映射寄存器(MMR),它们的值可以通过压入或弹出堆栈进行保存或恢复。ACCA和ACCB 的差别在于ACCA的(3116)位可以用作乘累加单元的一个输入。这些寄存器还可用于寻址操作。,2.3.4 移位寄存器 40位的桶形移位寄存器主要用于累加器或数据区操作数的定标:(1)在ALU运算前,对来自数据存储器的操作数或者累加器的值进行定标;(2)对累加器的值进行算术或逻辑移位;(3)对累加器归一化处理;(4)对累加器的值存储到数据存储器之前进行定标。移位位

12、数范围为-1631,移位位数为正对应于左移,移位位数为负则对应于右移。40位的输出结果可以送到ALU的输入端。,移位数可以用一个立即数(-1615)形式定义,或者用状态寄存器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.3.5 乘累加单元 乘累加(MAC)单元包括1个17位17位的乘法器和1

13、个40位的专用加法器。MAC单元具有强大的乘累加功能,在一个流水线周期内可以完成1次乘法运算和1次加法运算。MAC单元中,乘法器能够进行有符号数、无符号数以及有符号数与无符号数的相乘运算,依据不同情况作以下三种处理:(1)如果是两个有符号数相乘,则每个16位操作数先进行符号扩展,在最高位前添加1个符号位(其值由最高位决定),扩展为17位有符号数后再相乘;(2)如果是无符号数乘以无符号数,则在两个操作数的最高位前面添加“0”,扩展为17位的操作数再相乘;,(3)如果是有符号数与无符号数相乘,有符号数在最高位前添加1个符号位(其值由最高位决定),无符号数在最高位前面添加“0”,然后两个操作数相乘。

14、两个16位的二进制补码相乘会产生两个符号位,为了提高计算精度,在状态寄存器ST1中设置小数相乘模式FRCT=1,乘法器结果左移1位以去掉1个多余的符号位。在MAC单元中,加法器的输入一个来自乘法器的输出,另一个来自累加器A或B中的某一个输出。加法器的运算结果输出到累加器A或B中。有关加法器的舍入和饱和逻辑详见第三章MAC等指令详解。,2.4 存储器和I/O空间,2.4.1 C54x DSP存储器概述 C54x DSP总共具有192 K字16位的存储器空间。这些空间可分为三种专门的存储器空间,即64 K字的程序空间、64 K字的数据空间和64 K字的I/O空间。一些C54x DSP芯片采用了分页

15、扩展方法可访问8 M的程序空间。C54x DSP体系结构的并行特性和片内RAM的双访问功能,允许C54x DSP器件在任何给定的机器周期内执行四个并行存储器操作:一次取指、两次读操作数和一次写操作数。,片外存储器具有寻址较大存储空间的能力,片内存储器寻址空间较小。但片内存储器具有如下优点:不需插入等待状态、低成本和低功耗。C54x DSP包含随机存取存储器(RAM)和只读存储器(ROM)。RAM可分为以下三种类型:双访问RAM(DARAM)、单访问RAM(SARAM)和两种方式共享的RAM。在多CPU核心器件和子系统中,DARAM或SARAM可以被共享。用户可以配置DARAM和SARAM为数据

16、存储器或程序/数据存储器。C54x DSP片内存储器容量见表2.6。C54x DSP片内还有26个映射到数据存储空间的CPU寄存器和外设寄存器。,表2.6 各种C54x DSP片内各种存储器的容量(单位:K字),注:用户可以配置双访问RAM(DARAM)和单访问RAM(SARAM)位数据存储器或程序/数据存储器,2.4.2 存储器地址空间分配 C54x DSP的存储器空间可以分为三个单独选择的空间,即程序、数据和I/O空间。在任何一个存储空间内,RAM、ROM、EPROM、EEPROM或存储器映射外设都可以驻留在片内或者片外。根据芯片的型号不同,C54x DSP包含RAM(DARAM、SARA

17、M和两种方式共享的RAM)和ROM。C54x DSP具有三个CPU状态寄存器位,影响存储器的配置,这三个状态位是处理器模式状态寄存器(PMST)中的位:、OVLY和DROM。,(1)位:若=0,则片内ROM映射到程序存储空间;若=1,则片内ROM不映射到程序存储空间。(2)OVLY位:若OVLY=1,则片内RAM映射到程序和数据存储空间;若OVLY=0,则片内RAM只映射到数据存储空间。(3)DROM位:若DROM=1,则部分片内ROM映射到数据存储空间;若DROM=0,则片内ROM不映射到数据存储空间。,图2.4 VC5402的存储器映射,VC5402可以采用分页扩展方法扩展程序存储空间。其

18、程序空间可扩展到1024 K(1 MB)字。故VC5402有20根地址线,增加了一个额外的存储器映像寄存器程序计数器扩展寄存器(XPC)以及6条寻址扩展程序空间的指令,VC5402的扩展程序空间分成16页,每页64 K字,如图2.5所示。,注:当OVLY=0时,115页的低32 K字是可以获得的。当OVLY=1时,则片内RAM映射到程序空间页面的低32 K字。,图2.5 VC5402的扩展程序存储器映射,图2.6 C5410的存储器映射,C5410可以扩展程序存储器空间。C5410采用分页扩展方法,使其程序空间扩展到8192K(8M)字。故它有23根地址线。同VC5402一样,它也拥有一个XP

19、C及6条寻址扩展程序空间的指令,C5410中的扩展程序空间分成128页,每页64K字,如图2.7和图2.8所示。根据片内RAM是否映射到程序空间和数据空间以及OVLY的设置,可访问的外部扩展程序存储空间是不同的。,图2.7 C5410的扩展程序存储器映射(OVLY=0时,片内RAM不映射到程序空间和数据空间),注:当片内RAM在程序空间有效时,所有对xx 0000 xx7FFFh区的访问,无论其页面为多少,均被映射到00 000000 7FFFh的片内RAM。,图2.8 C5410的扩展程序存储器映射(OVLY=1时,片内RAM映射到程序空间和数据空间),2.4.3 程序存储器 C54x DS

20、P的外部程序存储器可寻址64 K字的存储空间。它们具有片内ROM、DARAM、SARAM和双访问单访问两种方式共享的RAM,这些存储器都是可以通过软件映射到程序空间。当存储单元被映射到程序空间时,并且当地址处于片内存储器的范围之内时,处理器就能自动地对这些存储器单元进行访问。当程序地址产生单元(PAGEN)产生的地址处在片内存储器范围之外,处理器就能自动地对外部寻址。表2.7列出了C54x DSP几种可用的片内程序存储器的容量。,表2.7 C54x DSP可用的片内程序存储器的容量(单位:K字),1程序存储器的可配置性 MP/和OVLY位决定了哪个片内存储器在程序空间中可用。器件复位时,MP/

21、引脚的逻辑状态被传送到PMST寄存器的MP/MC位。MP/MC位决定了是否使用片内ROM。(1)如果MP/=1,器件配置为微处理器,并且片内的ROM不可用。(2)如果MP/=0,器件被配置为微计算机,并且片内的ROM可用。DSP的MP/引脚仅仅在复位时被采样。用户可以通过软件来设置或清除PMST寄存器的MP/MC位,以便禁止或使能片内ROM。,2片内ROM的组织 为了增强处理的性能,片内ROM可以细分和组织为若干块。例如,块组织可以让用户捕获来自于一个ROM块的指令,而不必牺牲来自不同块的数据访问(即可以同时在别的块中读取数据)。图2.9所示为几种C54x DSP的片内ROM的块组织。,图2.

22、9 片内ROM的块组织,根据C54x DSP的不同,ROM可以组织成容量为2 K字、4 K字或8 K字的块。,3程序存储器地址映射和片内ROM的内容 当DSP复位时,复位和中断向量都映射到起始地址为FF80h的第128页的程序空间首地址。复位后,这些向量可以被重新映射到程序空间中任何一个128字页的开头。这个特征使得很容易地将中断向量表从自举ROM中移出来,然后再从存储器映射中移去ROM。在C54x DSP的片内ROM中,128字被保留用于器件的测试。写到片内ROM并且在片内ROM执行的应用程序代码必须保留128字(FF00hFF7Fh)。,4片内ROM的代码内容和映射 C54x DSP提供了

23、各种容量的ROM(2 K字、4 K字、16 K字、28 K字或48 K字)。容量大的片内ROM可以把用户的程序代码编写进去,然而片内高2 K字ROM中的内容是由TI公司定义的。这2 K字程序空间(F800hFFFFh)中包含如下内容:(1)自举加载程序。从串行口、外部存储器、I/O端口或者主机接口(如果有的话,自举加载。(2)256字律扩展表。(3)256字A律扩展表。(4)256字正弦函数值查找表。(5)中断向量表。,图2.10 片内ROM程序存储器映射(高2 K字的地址),2.4.4 数据存储器 C54x DSP的数据存储器包含多达64 K16位字。除了SARAM和DARAM外,C54x

24、DSP还可以通过软件将片内ROM映射为数据存储空间(DROM)。表2.8列出了几种C54x DSP可用的片内数据存储器的容量。,表2.8 各种C54x DSP可用的片内数据存储器的容量(单位:K字),1数据存储器的可配置性 数据存储器可以驻留在片内或者片外。片内DARAM映射为数据存储空间。对于C54x DSP,用户可以通过设置PMST寄存器的DROM位,将部分片内ROM映射到数据存储空间。这一部分片内ROM既可以在数据存储空间使能(DROM位置1),也可以在程序空间使能(MP/清0)。复位时,处理器将DROM位清0。通过使用单操作数寻址指令,包括32位长字操作数的指令,可以在单周期内完成对数

25、据ROM的访问。而在使用双操作数寻址时,如果两个操作数驻留在同一块内,则需要2个周期才能完成对数据ROM的访问;如果操作数驻留在不同的块内,则只需1个周期就可以了。,2片内的RAM的组织 为了提高处理器的性能,片内RAM也可细分成若干块。例如,分块组织可以让用户在同一个周期内从同一块DARAM中取出两个操作数,并将数据写入到另一块DARAM中。几种C54x DSP内的RAM的分块组织见图2.11所示。所有C54x DSP上的DARAM的起始1 K字的块包括程序存储器映射CPU和外设寄存器,32位的暂存存储器DARAM和896个字的DARAM。,图2.11 C5402/5410/5420的RAM

26、分块组织,3存储器映射寄存器 64 K字的数据存储器空间包括器件的存储器映射寄存器,这些寄存器驻留在数据页的第0页(数据地址0000h007Fh)。第0页数据存储空间包含如下内容:(1)CPU的寄存器(共26个),可以不需要插入等待周期进行访问,见表2.9。(2)外设寄存器用于对外设电路进行控制和数据存放。这些寄存器驻留在地址0020h005F之间,并且具有一个专用的外设总线结构。对C54x DSP的外设寄存器的讲解,请参见2.6节。(3)暂存存储器RAM块(位于数据存储器的006h007Fh)包括32个字的DARAM,用于存储变量,有助于避免对大RAM块进行分段。,表2.9 C54x DSP

27、 CPU寄存器,2.4.5 I/O空间 C54x DSP除了程序和数据存储器空间外,还有一个I/O存储器空间。I/O存储器空间是一个64K的地址空间(0000hFFFFh),并且在器件之外。可以使用两条指令(输入指令PORTR和输出指令PORTW)对I/O空间进行寻址。程序存储器和数据存储器空间的读取时序与I/O空间的读取时序不同,在于访问I/O是对I/O映射的器件进行访问,而不是访问存储器。,所有C54x DSP只有两个通用I/O,即 和XF。为了访问更多的I/O,可以对主机通信并行接口和同步串行接口进行配置,以用作通用I/O。另外,还可以扩展外部I/O,C54x DSP可以访问64K字的I

28、/O,外部I/O必须使用缓冲或锁存电路,配合外部I/O读写控制时序构成外部I/O的控制电路。DSP的I/O扩展的内容详见2.7节。,2.5 流 水 线,C54x DSP有一个6级深度的指令流水线。这6级流水线是彼此独立的,允许指令的重叠执行。在任何一个机器周期内,可以有16条不同的指令在同时工作,每条指令可工作在流水线的不同阶段。这6级流水线结构的功能如下:(1)程序预取值 加载一条获取的指令地址到程序地址总线(PAB)。(2)程序取值 一个指令字从程序总线(PB)获取,并且加载到指令寄存器(IR)。这个过程完成一个由当前周期和上一次周期组成的取指序列。,(3)译码 对指令寄存器(IR)的内容

29、进行译码,以确定何种类型的存储器访问操作及数据地址产生单元(DAGEN)和CPU的控制信号。(4)寻址 DAGEN输出指令的读操作数地址到数据地址总线(DAB)。如果指令具有第二个操作数,则也将相应的操作数地址加载到另一条数据总线(CAB)。间接寻址模式下的辅助寄存器和堆栈指针(SP)也被更新。这个功能是两阶段操作数读顺序的第一阶段。,(5)读操作数 从数据总线(DB和CB)读数据操作数。这个功能完成了两阶段操作数读顺序的第二阶段,即完成了操作数读。同时,两阶段操作数写顺序开始。写操作数的数据地址加载到数据写总线(EAB)。对于存储器映射寄存器,读数据操作数通过DB总线从存储器中读取并写到所选

30、定的存储器映射寄存器中。(6)执行 操作数写序列通过使用数据写(EB)总线写数据来完成。指令在该阶段执行。,图2.12 流水线的6个阶段,C54x DSP的流水线允许多条指令同时访问CPU资源,但是CPU的资源毕竟是有限的,所以当某个CPU资源被多于1个流水线阶段所占用时,就会产生流水线冲突。其中的一些流水线冲突可以由CPU自动插入延迟来解决,有些则需要程序员调整程序语句的次序或在两条有冲突的指令中间插入一定数量的NOP指令来解决。,2.6 片 内 外 设,C54x DSP系列中的外设并不完全相同,C54x DSP完整的片内外设配置包括:*通用输入输出(I/O)引脚;*定时器;*时钟发生器;*

31、主机接口(HPI);*软件可编程的等待状态发生器;*可编程的分区转换模块;,*串行接口,包括标准同步串行接口、带缓冲的串行接口(BSP)、多通道缓冲串行接口(McBSP)和时分复用串行接口(TDM);*直接存储器访问(DMA)控制器。目前只有C5402、C5410,C5420具有DMA控制器模块。,不同类型的C54x DSP芯片具有不同的外设,但若有某种外设,就一定有相应的控制该外设的外设寄存器,这些寄存器可以从外设取数据或者将数据传输到外设,通过访问这些寄存器来操作和控制外设。外设寄存器映射在片内存储器20H5FH地址中。表2.10是VC5402的一些外设寄存器的地址映射表。有关串口、DMA

32、等的映射寄存器数目众多,不一一例举。,表2.10 VC5402的部分片内外设映射寄存器,2.6.1 通用输入输出(I/O)引脚 每种C54x DSP芯片都含有两个通用I/O引脚:XF和。XF是一个由软件控制的外部标志输出引脚。通过对状态寄存器ST1中的XF位清零,可以使XF外部引脚输出低电平,通过对ST1中的XF位置位可以使XF外部引脚输出高电平。为转移控制输入引脚,用于监视外部器件的状态。在汇编指令中,有判断 引脚状态并产生相应条件转移的指令。一些C54x DSP芯片的多通道缓冲串口(McBSP)和主机接口(HPI)的一些引脚也可以作为通用I/O引脚。,2.6.2 定时器 C54x DSP有

33、一个4 bit预分频器的16 bit的定时电路,可获得较大范围的定时器频率,定时器计数器在每一个时钟周期中减1,每当计数器减至0时产生一个定时中断。通过设置特定的状态,可使定时器停止、恢复运行、复位或禁止。VC5402有两个片内定时器。,1定时器寄存器 片内定时器由三个存储器映射寄存器组成,即定时器寄存器(TIM)、定时器周期寄存器(PRD)和定时器控制寄存器(TCR)。(1)定时器寄存器(TIM)16位的存储器映射定时器寄存器(TIM)加载周期寄存器(PRD)的值,并随计数而减少。(2)定时器周期寄存器(PRD)16位的存储器映射定时器周期寄存器(PRD)用于重载定时器寄存器(TIM)。(3

34、)定时器控制寄存器(TCR)16位的存储器映射定时器控制寄存器(TCR)包含定时器的控制和状态位,如图2.13所示。TCR各位的意义描述如表2.11所示。,图2.13 TCR的各位,表2.11 TCR各位的意义描述,2定时器工作过程 C54x DSP定时器结构如图2.14所示。它由两个基本功能块组成,即主定时器模块(PRD和TIM)、预定标器模块(TCR中的TDDR和PSC等)及相应的控制电路。,图2.14 C54x DSP定时器结构图,定时器由CPU提供时钟,定时器的工作受三个寄存器(TIM、PRD、TCR)的控制。CLKOUT时钟先经PSC预分频后,用分频的时钟对TIM作减1计数,当TIM

35、减为0时,将产生定时器中断信号(TINT)。TINT被送往CPU,并在定时器输出管脚TOUT上产生一个脉冲,脉宽为一个主时钟周期,同时PSC和TIM重新装入预设的值,即计数器重载周期值。VC5402两个定时器分别有三个寄存器和相应的输出管脚TOUT和TOUT1,其中TOUT1只有当主机接口(HPI-8)被禁止时才有效。TOUT信号可为外设提供时钟。,在正常工作情况下,主定时模块中,当TIM减计数到0后,PRD中的内容自动地加载到TIM。当系统复位(SRESET输入信号有效)或者定时器单独复位(TRB输入信号有效)时,PRD中的内容重新加载到TIM。同样,预定标模块中当PSC减计数到0时,TDD

36、R的内容加载到PSC。当系统复位或者定时器单独复位时,TDDR的内容重新加载到PSC。通过读TCR,可以读取PSC,但是它不能直接被写。每次当定时器计数器减少到0时,会产生一个定时器中断(TINT),定时器中断TINT的速率可由下式计算:,式中,tc为CPU时钟周期。初始化定时器时,采用以下步骤:(1)TSS=1,停止定时器;(2)载入PRD值;(3)重新载入TCR初始化TDDR,设置TSS=0和TRB=1来重载定时器周期,启动定时器。,使能定时器中断的操作步骤如下(ST1的中断模式INTM=1情况下):(1)设置中断标志寄存器(IFR)中的TINT=1,清除定时器中断;(2)设置中断屏蔽寄存

37、器(IMR)中的TINT=1,激活定时器中断;(3)设置INTM=0,激活全部中断。复位时,TIM和PRD被设置为最大值FFFFh,定时器的分频系数(TDDR)清0,并且启动定时器。,2.6.3 时钟发生器 1时钟发生器 时钟发生器为C54x DSP提供时钟信号。时钟发生器由一个内部振荡器和一个锁相环电路组成,可以通过晶振或外部的时钟驱动。锁相环电路能使时钟电源乘上一个特定的系数,得到一个内部CPU时钟,故可以选择一个频率比CPU时钟低的时钟源。时钟发生器可以由两种方法实现:(1)使用具有内部振荡电路的晶体振荡器。如图2.15所示。晶体振荡器电路连接到C54x DSP的X1和X2/CLKIN引

38、脚。另外CLKMD引脚必须配置以使能内部振荡器。,图2.15 外部晶体振荡器的连接,图2.16 外部参考振荡器的连接,(2)使用外部时钟。如图2.16所示,将一个外部时钟信号直接连接到X2/CLKIN引脚,X1引脚悬空。,2时钟模式 C54x DSP内部的锁相环(PLL)具有频率放大和时钟信号提纯作用,因此,PLL的外部频率源可以比CPU机器周期速度要低,这样可以降低因为高速开关时钟引起的高频噪声。有些器件具有硬件可配置的PLL电路,而有些器件具有的是软件可编程的PLL电路。C54x DSP的PLL硬件配置时钟模式是通过配置CLKMD1、CLKMD2和CLKMD3引脚来实现的。对于不使用PLL

39、的器件,其CPU时钟频率为晶体振荡频率(或外部时钟频率)的一半。,软件可编程PLL具有高度的灵活性,并且包括提供各种时钟乘法器系数的时钟定标器、直接使能或禁止PLL的功能、用于延迟转换PLL时钟模式(直到锁定为止)的PLL锁定定时器。具有软件可编程PLL的DSP器件可以选用以下两种时钟方式之一来配置:(1)PLL模式 输入时钟(CLKIN)乘以从0.2515共31个系数之一。这些系数通过使用PLL电路来获得。(2)DIV(分频器)模式 输入时钟(CLKIN)除以2或4。当使用DIV方式时,所有的模拟电路,包括PLL电路都被禁止,以使功耗最小。紧接着复位后,时钟模式由3个外部引脚(CLKMD1、

40、CLKMD2和CLKMD3)的状态所决定。与CLKMD引脚有关的模式见表2.12和表2.13。C5420没有CLKMD引脚,复位后C5420工作在旁路模式(PLL关)。,表2.12 复位时时钟模式设置(C541B/C545A/C546A/C548/C549/C5410),表2.13 复位时时钟模式设置(VC5402),复位后,软件可编程PLL可以编程为任何期望的配置。复位时,下面的始终模式引脚组合使能PLL:对于C5402,CLKMD(31)由000b变为110b,而对于其他C54x DSP,则变为101b。当使用这些时钟模式引脚组合时,内部PLL锁定定时器不工作,因此系统必须延迟释放复位,以

41、便允许PLL锁定时间的延迟。复位后,可以对16位存储器映射时钟模式寄存器(CLKMD,地址为58h)编程加载PLL,以配置所要求的时钟方式。CLKMD是用来定义PLL时钟模块中的时钟配置,它的各位的功能见表2.14。由CLKMD的PLLNDIV、PLLDIV和PLLMUL位所确定的PLL的乘法系数见表2.15。,表2.14 CLKMD寄存器各位的意义描述,续表,表2.15 CLKMD寄存器的PLLNDIV、PLLDIV和PLLMUL位所确定的PLL的乘法系数,(3)时钟模式寄存器(CLKMD),如图2.17所示。16位存储器映射时钟模式寄存器(CLKMD)包含定时器的控制和状态位。CLKMD各

42、位的意义描述如表2.14所示。,注:当工作在DIV模式时(PLLSTATUS为低),PLLMUL、PLLDIV、PLLCOUNT和PLLON/OFF是无关的,并且它们的内容是不确定的。,图2.17 CLKMD的各位,2.6.4 串行口 1.串行口概述 各种C54x DSP的芯片有不同的串口,但主要有以下4种:(1)标准同步串行口(SP)是高速、全双工串口,提供与编码器、A/D转换器等串行设备之间的通信。当一个C54x DSP芯片有多个同步串口时,它们是相互独立的。同步串口为收发双向缓冲的,单独由可屏蔽的外部中断信号控制,数据可由字节或字传送。(2)缓冲同步串口(BSP)在标准同步串行口的基础上

43、增加了一个自动缓冲单元,并以整CLKOUT频率计时。它也是全双工和双缓冲的,能提供灵活的数据串长度,自动缓冲单元支持高速传送并降低服务中断开销。,(3)时分多路同步串口(TDM)是一个允许数据时分多路的同步串口,既能工作在普通同步串行口(SP)方式,也能工作在TDM方式下,在多处理器中得到广泛的应用。(4)多通道带缓冲同步串行口(McBSP)该种串行口具有通道数多,数据格式范围宽等特点。目前C54x DSP系列中只有VC5402、C5410和C5420有此串口。下面以VC5402为例详细介绍其串口的特性、结构、功能和工作原理。,2.VC5402串口 VC5402有两个高速多通道带缓冲串行接口M

44、cBSP。1)McBSP特点 多通道带缓冲的串口McBSP的硬件部分是基于标准串口的引脚连接界面,具有如下特点:*充分的双向通信;*双缓冲的发送和三缓冲的接收数据存储器,允许连续的数据流;*独立的接收、发送帧和时钟信号;*可以直接与工业标准的编码器,模拟界面芯片(AICS),其他串行AD,DA器件连接与通信;,*具有外部移位时钟发生器及内部频率可编程移位时钟;*可以直接利用多种串行协议接口通信,例如,T1E1,MVIP,H100,SCSA,IOM-2,AC97,IIS,SPI等;*发送和接收通道数多达128路;*宽范围的数据格式选择,包括8,12,16,20,24,32位字长;*利用律或A律的

45、压缩扩展通信;*8位数据发送,其高位、低位先发送可选;*帧同步和时钟信号的极性可编程;*可编程内部时钟和帧同步信号发生器。,2)McBSP结构及工作原理 McBSP结构如图2.18所示,包括数据通路和控制通路两部分,并且通过7个引脚与外部器件相连。DX 数据发送引脚。DR 数据接收引脚。CLKX 发送时钟引脚。CLKR 接收时钟引脚。FSX 发送帧同步引脚。FSR 接收帧同步引脚。,图2.18 McBSP内部结构,在时钟信号和帧同步信号控制下,接收和发送通过DR和DX引脚与外部器件直接通信。C54x DSP内部CPU对McBSP的操作,利用16位控制寄存器,通过片内外设总线进行存取控制。数据发

46、送过程为:写数据与数据发送寄存器DXR1,2;通过发送移位寄存器XSR1,2,将数据经引脚DX移出发送。,数据接收过程为:通过引脚DR接收的数据移入接收移位寄存器RSR1,2,复制这些数据到接收缓冲寄存器RBR1,2;复制数据到DRRl,2;由CPU或DMA控制器读出。这个过程允许内部和外部数据通信同时进行。如果接收或发送字长RXWDLEN被指定为8,12或16模式时,DRR2、RBR2、RSR2、DXR2、XSR2等寄存器不能进行写、读、移位操作。CPU或DMA控制器可对其余的寄存器进行操作,这些寄存器列于表2.16。,表2.16 McBSP寄存器列表,McBSP的控制模块由内部时钟发生器、

47、帧同步信号发生器、控制电路和多通道选择四部分构成。两个中断和四个同步事件信号控制CPU和DMA控制器的中断,CPU和DMA事件同步。图2.18中RINT、XINT分别为触发CPU的接收和发送中断;REVT、XEVT分别为触发DMA接收和发送同步事件;REVTA、XEVTA分别为触发DMA接收和发送同步事件A。,3)McBSP串口配置 通过3个16位寄存器SPCR1,2和PCR进行McBSP串口配置。串口接收控制寄存器SPCRl结构如图2.19所示。,图2.19 串口接收控制寄存器SPCR1结构,图中,R为读,W为写,+0表示为复位值为0。,SPCR1的位详细描述如下:第15位:DLB数字循环返

48、回模式。DLB=0,废除;DLB=1,使能。第1413位:RJUST接收符号扩展和判别模式。RJUST=00,右位判DRR1,2最高位为0;RJUST=01,右位判DRRl,2最高位为符号扩展位;RJUST=10,左位判DRRl,2最低位为0;RJUST=11,保留。,第1211位:CLKSTP时钟停止模式。CLKSTP=0X,废除时钟停止模式,对于非SPI模式为正常时钟。SPI模式包括CLKSTP=10,CLKXP=0,时钟开始于上升沿,无延时;CLKSTP=10,CLKXP=1,时钟开始于下降沿,无延时;CLKSTP=11,CLKXP=0,时钟开始于上升沿,有延时;CLKSTP=11,CL

49、KXP=1,时钟开始于下降沿,有延时。第108位:保留。,第7位:DXENA为DX使能位。DXENA=0,关断;DXENA=l,打开。第6位:ABIS模式。ABIS=0废除;ABIS=1使能。第54位:RINTM接收中断模式。RINTM=00,接收中断RINT由RRDY(字结束)驱动,在A-bis模式下由帧结束驱动;RINTM=01,多通道操作中,由块结束或帧结束产生接收中断RINT;RINTM=10,一个新的帧同步产生接收中断RINT;RINTM=11,由接收同步错误RSYNCERR产生中断RINT。,第3位:RSYNCERR接收同步错误。RSYNCERR=0,无接收同步错误;RSYNCER

50、R=1,探测到接收同步错误。第2位:RFULL接收移位寄存器RSRl,2满。RFULL=0,接收缓冲寄存器RBRl,2未越限;RFULL=1,接收缓冲寄存器RBRl,2满,接收移位寄存器RSR1,2移入新字满,而数据接收DRR1,1未读。第1位:RRDY接收准备位。,RRDY=0,接收器未准备好;RRDY=1,接收器准备好从DRR1,2读数据。第0位:接收器复位,可以复位和使能接收器。=0,串口接收器被废除,并处于复位状态;=1串口接收器使能。注意:所有的保留位都读为0。如果写1到RSYNCERR就会设置一个错误状态,因此这位只能用于测试。,图2.20为串口发送控制寄存器SPCR2的结构。,图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号