您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第3章 TMS320F2812 DSP的内部资源
周鹏安徽工程大学电气工程学院第3章TMS320F2812DSP的内部资源3.1中央处理单元CPU3.1.1CPU的兼容性3.1.2CPU的组成及主要特性3.1.3CPU的结构及总线3.1.4CPU的寄存器3.2时钟和系统控制3.2.1时钟3.2.2晶体振荡器及锁相环PLL3.2.3低功耗模式3.2.4看门狗模块3.2.5CPU定时器周鹏安徽工程大学电气工程学院3.3存储器及外部扩展接口XINTF3.3.1TMS320F2812DSP的存储器结构3.3.2TMS320F2812DSP的存储器映射图3.3.3片内SARAM3.3.4片内Flash和OTP存储器3.3.5片内BootROM3.3.6代码安全模块(CSM)3.3.7外设帧PF3.3.8外部扩展接口XINTF3.4程序流3.4.1中断3.4.2分支、调用及返回3.4.3单个指令的重复执行3.4.4指令流水线周鹏安徽工程大学电气工程学院3.5中断系统及复位3.5.1TMS320F2812DSP中断概述3.5.2中断向量和优先级3.5.3可屏蔽中断3.5.4不可屏蔽中断3.5.5非法指令陷阱3.5.6硬件复位操作3.5.5片内外设中断扩展(PIE)周鹏安徽工程大学电气工程学院TMS320C28x定点系列DSP芯片内部资源有三个主要部分:中央处理单元(CPU)、存储器和片内外设。所有的C28x定点系列DSP芯片都采用同样的CPU、总线结构和指令集。不同的芯片具有各自不同的片内存储器配置和片内外设。本书中提到的32位C28x定点系列DSP芯片包括F281x和C281x,其中F281x包括F2810/1/2三款芯片,而本书主要讲述TMS320F2812芯片的相关内容。TMS320F2812是TI公司推出的功能强、性能优越、低功耗的32位定点DSP芯片,其时钟周期为6.67ns(时钟频率为150MHz),采用改进的哈佛总线结构,通过独立的数据总线和地址总线,很大程度上提高了运算速度。本章主要讲述TMS320F2812DSP芯片的内部资源,包括中央处理单元CPU、时钟和系统控制、存储器及外部扩展接口、程序流以及中断系统及复位等内容。周鹏安徽工程大学电气工程学院3.1中央处理单元CPUTMS320C28x系列的CPU是一个低成本的32位定点处理器。它集中了数字信号处理的最佳特征,包括精简指令集计算功能(RISC)、微控制器架构、固件和工具集、改进的哈佛结构以及循环寻址。中央处理单元(CPU)负责进行程序流的控制和指令的处理。它完成数据的传送,执行算数运算、布尔逻辑、乘法和移位操作等。当执行有符号的数学运算时,CPU采用二进制补码进行运算。改进的哈佛架构使CPU的指令和数据获取可并行执行。CPU可以在写入数据的同时进行读取指令和数据,还可以同时进行流水线中的单周期指令操作。CPU通过6组独立的地址和数据总线完成这些操作。周鹏安徽工程大学电气工程学院在TMS320C2000系列中,CPU内核为:C20x/C24x/C240x:C2xLP:C27x/C28x:C27x、C28x这些CPU的硬件结构有一定差别,指令集也不相同,但是,在C28x芯片中可以通过选择兼容特性模式,使C28xCPU与C27xCPU及C2xLPCPU具有最佳兼容性。可通过状态寄存器STl的位OBJMODE和位AMODE的组合,选定模式。3.1.1CPU的兼容性周鹏安徽工程大学电气工程学院C28x芯片具有3种操作模式:▲C28x模式:在该模式中,用户可以使用C28x的所有有效特性、寻址方式和指令系统,因此,一般应使C28x芯片工作于该种模式。▲C27x目标——兼容模式:在复位时,C28x的CPU处于C27x目标-兼容模式。在该模式下,目标码与C27xCPU完全兼容,且它的循环—计数也与C27xCPU兼容。▲C2xLP源——兼容模式:该模式允许用户运行C2xLP的源代码,这些源代码是用C28x代码生成工具编译生成的。周鹏安徽工程大学电气工程学院▲CPU内核——能够产生数据和地址存储地址,它的主要任务是编码和运行指令;执行算术、逻辑和移位操作;控制寄存器阵列内的数据转移、数据存储和程序存储等。▲仿真逻辑单元——监视和控制CPU以及DSP各个部分及其运行状态,并实现对设备的测试和调试。用户通过CCS的调试器工具以及硬件JTAG仿真器来访问和操作仿真逻辑单元。▲CPU信号——产生存储器和外围设备的接口信号以及CPU的时钟和控制信号,显示CPU状态、仿真逻辑信号以及正在使用的中断情况。内核组成:3.1.2CPU的组成及主要特性周鹏安徽工程大学电气工程学院▲存储器接口信号:这些信号在CPU、存储器和外设之间进行数据传输;进行程序存储器和数据存储器的访问;并根据不同的字段长度区分不同的存取操作(16位或32位)。▲时钟和控制信号:这些信号为CPU和仿真逻辑提供时钟,它们可以用来监视和控制CPU状态。▲复位和中断信号:这些信号用来产生硬件复位和中断轻轻,并用来监视中断的状态。▲仿真信号:这些信号用来测试和调试。CPU信号它主要包括有4种信号:周鹏安徽工程大学电气工程学院C28x系列CPU的主要特性:▲保护流水线:CPU具有8级流水线,可以避免同时对一个地址空间的数据进行读/写。▲独立寄存器空间:在CPU中含有一些被映像至数据空间的寄存器。这些寄存器可以作为系统控制寄存器、数学寄存器和数据指针。系统控制寄存器可由特殊的指令进行操作,而其他寄存器则通过特殊指令或寄存器寻址模式来操作。▲算术逻辑单元(ALU):32位的ALU完成二进制补码算术和布尔逻辑操作。▲地址寄存器算术单元(ARAU):ARAU产生数据存储地址以及与ALU并行操作的增量和减量指针。▲桶形移位器:执行最多16位的数据左移位和右移位操作。▲乘法器:执行32位x32位的二进制补码乘法运算,获得64位的乘积。乘法可以在有符号数和无符号数之间进行。周鹏安徽工程大学电气工程学院TMS320C2000系列内部结构芯片组成▲特点——32位定点改进哈佛结构循环的寻址方式。▲组成——内核存储器片内外设内部结构片内外设片内存储器中断处理程序和数据存储逻辑乘法器桶形移位器地址寄存器算术单元算术逻辑单元内核(红框)可视化的实时仿真预取队列指令译码程序和数据地址发生器3.1.3CPU的结构及总线周鹏安徽工程大学电气工程学院C28xDSP的CPU单元主要结构框图周鹏安徽工程大学电气工程学院C28x的CPU主要由总线、CPU寄存器、程序地址发生器和控制逻辑、地址寄存器算术单元(ARAU)、算术逻辑单元(ALU)、乘法器和移位器等逻辑部件组成,还包括指令队列和指令译码单元、中断处理逻辑等。ALU为32位的运算逻辑单元,主要执行算术运算和布尔运算。在运算之前,ALU从寄存器、数据存储器或程序控制逻辑单元接收数据,然后进行运算,最后把结果存入寄存器或数据存储器中。32位的乘法器,可执行32×32位的补码乘法,并产生64位的结果。乘法器采用32位乘数寄存器(XT,)、32位乘积寄存器(P)和32位累加器(ACC)。CPU的移位器实现对操作数的移位操作。周鹏安徽工程大学电气工程学院▲存储器接口有3组地址总线:1.PAB(ProgramAddressBus)程序地址总线:PAB用来传送来自程序空间的读写地址。PAB是一个22位的总线。2.DRAB(Data-ReadAddressBus)数据读地址总线:32位的DRAB用来传送来自数据空间的读地址。3.DWAB(Data-WriteAddressBus)数据写地址总线:32位的DWAB用来传送来自数据空间的写地址。▲存储器接口还有3组数据总线:1.PRDB(Program-ReadDataBus)程序读数据总线:PRDB在读取程序空间时用来传送指令或数据。PRDB是一个32位的总线。2.DRDB(Data-ReadDataBus)数据读数据总线:DRDB在读取数据空间时用来传送数据。DRDB是一个32位的总线。3.DWDB(Data/Program-WriteDataBus)数据/程序写数据总线:32位的DWDB在对数据空间和程序空间写数据时用来传送数据。地址和数据总线周鹏安徽工程大学电气工程学院表3-2给出了在访问数据空间和程序空间时如何使用这些总线。周鹏安徽工程大学电气工程学院▲注意:程序空间的读和写不能同时发生,因为它们都要使用程序地址总线PAB。程序空间的写和数据空间的写也不能同时发生,因为两者都要使用数据/程序写数据总线DWDB。而运用不同总线的传输是可以同时发生的。如:CPU可以在程序空间完成读操作(使用PAB和PRDB),在数据空间完成读操作(使用DRAB和DRDB),同时在数据空间进行写操作(使用DWAB和DWDB)。周鹏安徽工程大学电气工程学院•累加器(ACC、AH、AL)•乘数寄存器(XT、T、TL)和乘积寄存器(P、PH、PL)•数据页指针寄存器(DP)•堆栈指针(SP)•辅助寄存器(XAR0~XAR7、AR0~AR7)•程序计数器(PC)•返回PC指针寄存器(RPC)•中断控制寄存器(IFR、IER、DBGIER)•状态寄存器(ST0,STl)3.1.4CPU的寄存器周鹏安徽工程大学电气工程学院寄存器大小描述复位后结果ACC(AH,AL)32位累加器0x00000000XAR0~732位辅助寄存器0~70x00000000AR0~716位辅助寄存器XAR0~7的低16位0x0000DP16位数据页指针0x0000IFR16位中断标志寄存器0x0000IER16位允许中断寄存器0x0000DBGIER16位允许中断调试寄存器0x0000P(PH,PL)32位乘积结果寄存器0x00000000PC22位程序计数器0x3FFFC0PAB是22位的周鹏安徽工程大学电气工程学院寄存器大小描述复位后结果RPC22位返回程序计数器0x00000000SP16位堆栈指针0x400ST016位状态寄存器00x0000ST116位状态寄存器10x080BXT(T,TL)32位被乘数寄存器0x00000000周鹏安徽工程大学电气工程学院(1)累加器(ACC、AH、AL)周鹏安徽工程大学电气工程学院乘数寄存器XT的分半单独存取结构P寄存器的分半单独存取结构(2)乘数寄存器(XT、T、TL)和乘积寄存器(P、PH、PL)周鹏安徽工程大学电气工程学院被乘数寄存器(XT)被乘数寄存器(XT寄存器)主要用于在32位乘法操作之前,存放一个32位有符号整数值。XT寄存器的低16位部分是TL寄存器。该寄存器能装载一个16位有符号数,能自动对该数进行符号扩展,然后将其送人32位XT寄存器。XT寄存器的高16位部分是T寄存器。该寄存器主要用来存储16位乘法操作之前的16位整数值。T寄存器也可以为一些移位操作设定移位值,在这种情况下,根据指令,只可以使用T寄存器的一部分。周鹏安徽工程大学电气工程学院乘积结果寄存器(P、PH、PL)乘积寄存器P主要用来存放乘法运算的结果。它也可以直接装入一个16位常数,或者从一个16位/32位的数据存储器、16位/32位的可寻址CPU寄存器以及32位累加器中读取数据。P寄存器可以作为一个32位寄存器或两个独立的16位寄存器:PH(高16位)和PL(低16位)来使用。周鹏安徽工程大学电气工程学院(3)数据页指针寄存器(DP)在直接寻址方式中,操作数的地址由两部分组成:一个页地址(DataPage)和一个页内的偏移量。C28x的数据存储器每64个字构成一个数据页,这样,4MW的数据存储器共有65536个数据页,用0~65535进行标号。在直接寻址方式下,当前的页地址存放于16位的数据页指针寄存器(DP)中,可以通过给DP赋新值可改变数据页号。当CPU工作在C2xLP源兼容模式时,使用一个7位的偏移量,并忽略DP寄存器的最低位。周鹏安徽工程大学电气工程学院数据存储器的数据页周鹏安徽工程大学电气工程学院(4)堆栈指针(SP)堆栈指针(SP)允许在数据存储器中使用软件堆栈。堆栈指针为16位,可以对数据空间的低64K(数据存储器0000H~FFFFH
本文标题:第3章 TMS320F2812 DSP的内部资源
链接地址:https://www.777doc.com/doc-3836706 .html