第3章 TMS320F2812 DSP的内部资源_第1页
第3章 TMS320F2812 DSP的内部资源_第2页
第3章 TMS320F2812 DSP的内部资源_第3页
第3章 TMS320F2812 DSP的内部资源_第4页
第3章 TMS320F2812 DSP的内部资源_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院3.1 中央处理单元中央处理单元CPU 3.1.1 CPU的兼容性的兼容性 3.1.2 CPU的组成及主要特性的组成及主要特性 3.1.3 CPU的结构及总线的结构及总线 3.1.4 CPU的寄存器的寄存器3.2 时钟和系统控制时钟和系统控制 3.2.1 时钟时钟 3.2.2 晶体振荡器及锁相环晶体振荡器及锁相环PLL 3.2.3 低功耗模式低功耗模式 3.2.4 看门狗模块看门狗模块 3.2.5 CPU定时器定时器周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院3.3 存储器及外部扩展接口存储器及外部扩展接口XINTF 3.

2、3.1 TMS320F2812 DSP的存储器结构的存储器结构 3.3.2 TMS320F2812 DSP的存储器映射图的存储器映射图 3.3.3 片内片内SARAM 3.3.4 片内片内Flash和和OTP存储器存储器 3.3.5 片内片内Boot ROM 3.3.6 代码安全模块(代码安全模块(CSM) 3.3.7 外设帧外设帧PF 3.3.8 外部扩展接口外部扩展接口XINTF3.4 程序流程序流 3.4.1 中断中断 3.4.2 分支、调用及返回分支、调用及返回 3.4.3 单个指令的重复执行单个指令的重复执行 3.4.4 指令流水线指令流水线周鹏周鹏 安徽工程安徽工程大学大学电气工程

3、电气工程学院学院3.5 中断系统及复位中断系统及复位 3.5.1 TMS320F2812 DSP中断概述中断概述 3.5.2 中断向量和优先级中断向量和优先级 3.5.3 可屏蔽中断可屏蔽中断 3.5.4 不可屏蔽中断不可屏蔽中断 3.5.5 非法指令陷阱非法指令陷阱 3.5.6 硬件复位操作硬件复位操作 3.5.5 片内外设中断扩展(片内外设中断扩展(PIE)周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 TMS320C28x定点系列定点系列DSP芯片内部资源有三个主要部分:中央处理芯片内部资源有三个主要部分:中央处理单元(单元(CPU)、存储器和片内外设。所有的)、存储器和片内

4、外设。所有的C28x定点系列定点系列DSP芯片都采芯片都采用同样的用同样的CPU、总线结构和指令集。不同的芯片具有各自不同的片内存、总线结构和指令集。不同的芯片具有各自不同的片内存储器配置和片内外设。储器配置和片内外设。 本书中提到的本书中提到的32位位C28x定点系列定点系列DSP芯片包括芯片包括F281x和和C281x,其中,其中F281x包括包括F2810/1/2三款芯片,而本书主要讲述三款芯片,而本书主要讲述TMS320F2812芯片的相芯片的相关内容。关内容。TMS320F2812是是TI公司推出的功能强、性能优越、低功耗的公司推出的功能强、性能优越、低功耗的32位定点位定点DSP芯

5、片,其时钟周期为芯片,其时钟周期为6.67ns(时钟频率为(时钟频率为150MHz),采用改),采用改进的哈佛总线结构,通过独立的数据总线和地址总线,很大程度上提高进的哈佛总线结构,通过独立的数据总线和地址总线,很大程度上提高了运算速度。了运算速度。 本章主要讲述本章主要讲述TMS320F2812 DSP芯片的内部资源,包括中央处理单芯片的内部资源,包括中央处理单元元CPU、时钟和系统控制、存储器及外部扩展接口、程序流以及中断系、时钟和系统控制、存储器及外部扩展接口、程序流以及中断系统及复位等内容。统及复位等内容。 周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院3.1 中央处理单元

6、中央处理单元CPU TMS320C28x系列的系列的CPU是一个低成本的是一个低成本的32位定点处理位定点处理器。它集中了数字信号处理的最佳特征,包括精简指令集计器。它集中了数字信号处理的最佳特征,包括精简指令集计算功能(算功能(RISC)、微控制器架构、固件和工具集、改进的)、微控制器架构、固件和工具集、改进的哈佛结构以及循环寻址。哈佛结构以及循环寻址。 中央处理单元(中央处理单元(CPU)负责进行程序流的控制和指令的)负责进行程序流的控制和指令的处理。它完成数据的传送,执行算数运算、布尔逻辑、乘法处理。它完成数据的传送,执行算数运算、布尔逻辑、乘法和移位操作等。当执行有符号的数学运算时,和

7、移位操作等。当执行有符号的数学运算时,CPU采用二采用二进制补码进行运算。改进的哈佛架构使进制补码进行运算。改进的哈佛架构使CPU的指令和数据的指令和数据获取可并行执行。获取可并行执行。CPU可以在写入数据的同时进行读取指可以在写入数据的同时进行读取指令和数据,还可以同时进行流水线中的单周期指令操作。令和数据,还可以同时进行流水线中的单周期指令操作。CPU通过通过6组独立的地址和数据总线完成这些操作。组独立的地址和数据总线完成这些操作。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 在在TMS320C2000系列中,系列中,CPU内核为:内核为:C20 x/C24xC240 x:C

8、2xLP:C27x/C28x:C27x、C28x 这些这些CPU的硬件结构有一定差别,指令集也不相同,但的硬件结构有一定差别,指令集也不相同,但是,在是,在C28x芯片中可以通过选择兼容特性模式,使芯片中可以通过选择兼容特性模式,使C28xCPU与与C27xCPU及及C2xLPCPU具有最佳兼容性。具有最佳兼容性。 可通过可通过状态寄存器状态寄存器STl的位的位OBJMODE和位和位AMODE的的组合,选定模式。组合,选定模式。 3.1.1 CPU的兼容性的兼容性周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院C28x芯片具有芯片具有3种操作模式:种操作模式: C28x模式:模式:在

9、该模式中,用户可以使用在该模式中,用户可以使用C28x的所有有效特性、寻址方式的所有有效特性、寻址方式 和指令系统,因此,一般应使和指令系统,因此,一般应使C28x芯片工作于该种模式。芯片工作于该种模式。 C27x目标目标兼容模式:兼容模式:在复位时,在复位时,C28x的的CPU处于处于C27x目标目标-兼兼 容模式。在该模式下,目标码与容模式。在该模式下,目标码与C27xCPU完全兼容,且它的完全兼容,且它的 循环循环计数也与计数也与C27xCPU兼容。兼容。 C2xLP源源兼容模式:兼容模式:该模式允许用户运行该模式允许用户运行C2xLP的源代码,这的源代码,这 些源代码是用些源代码是用C

10、28x代码生成工具编译生成的。代码生成工具编译生成的。 周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 CPUCPU 内核内核能够产生数据和地址存储地址,它的主要任务是编码和运行指令;能够产生数据和地址存储地址,它的主要任务是编码和运行指令;执行算术、逻辑和移位操作;控制寄存器阵列内的数据转移、数据存储和程序存储等。执行算术、逻辑和移位操作;控制寄存器阵列内的数据转移、数据存储和程序存储等。 仿真逻辑单元仿真逻辑单元监视和控制监视和控制CPU以及以及DSP各个部分及其运行状态,并实现各个部分及其运行状态,并实现对设备的测试和调试。用户通过对设备的测试和调试。用户通过CCS的调试器工

11、具以及硬件的调试器工具以及硬件JTAG仿真器来访问和操作仿真器来访问和操作仿真逻辑单元。仿真逻辑单元。 CPU信号信号 产生存储器和外围设备的接口信号以及产生存储器和外围设备的接口信号以及CPU的时钟和控的时钟和控制信号,显示制信号,显示CPU状态、仿真逻辑信号以及正在使用的中断情况。状态、仿真逻辑信号以及正在使用的中断情况。内核组成:内核组成:3.1.2 CPU的组成及主要特性的组成及主要特性周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 存储器接口信号:存储器接口信号:这些信号在这些信号在CPU、存储器和外设之间进行数据传、存储器和外设之间进行数据传 输;进行程序存储器和数据存

12、储器的访问;并输;进行程序存储器和数据存储器的访问;并 根据不同的字段长度区分不同的存取操作根据不同的字段长度区分不同的存取操作(16位或位或32位位)。 时钟和控制信号:时钟和控制信号:这些信号为这些信号为CPU和仿真逻辑提供时钟,它们可以用来和仿真逻辑提供时钟,它们可以用来 监视和控制监视和控制CPU状态。状态。 复位和中断信号:复位和中断信号:这些信号用来产生硬件复位和中断轻轻,并用来监视中这些信号用来产生硬件复位和中断轻轻,并用来监视中 断的状态。断的状态。 仿真信号:仿真信号:这些信号用来测试和调试。这些信号用来测试和调试。CPU信号它主要包括有信号它主要包括有4种信号:种信号: 周

13、鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院C28x系列系列CPU的主要特性:的主要特性: 保护流水线:保护流水线:CPU具有具有8级流水线,可以避免同时对一个地址空间的数据进级流水线,可以避免同时对一个地址空间的数据进 行读行读/写。写。 独立寄存器空间:独立寄存器空间:在在CPU中含有一些被映像至数据空间的寄存器。这些中含有一些被映像至数据空间的寄存器。这些 寄存器可以作为系统控制寄存器、数学寄存器和数据寄存器可以作为系统控制寄存器、数学寄存器和数据 指针。指针。系统控制寄存器可由特殊的指令进行操作,而系统控制寄存器可由特殊的指令进行操作,而 其他寄存器则通过特殊指令或寄存器寻

14、址模式来操作其他寄存器则通过特殊指令或寄存器寻址模式来操作。 算术逻辑单元算术逻辑单元(ALU):32位的位的ALU完成二进制补码算术和布尔逻辑操作。完成二进制补码算术和布尔逻辑操作。 地址寄存器算术单元地址寄存器算术单元(ARAU):ARAU产生数据存储地址以及与产生数据存储地址以及与ALU 并行操作的增量和减量指针。并行操作的增量和减量指针。 桶形移位器:桶形移位器:执行最多执行最多16位的数据左移位和右移位操作。位的数据左移位和右移位操作。 乘法器:乘法器:执行执行32位位x32位的二进制补码乘法运算,获得位的二进制补码乘法运算,获得64位的乘积。乘法可位的乘积。乘法可 以在有符号数和无

15、符号数之间进行。以在有符号数和无符号数之间进行。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院TMS320C2000系列内部结构系列内部结构芯片组成芯片组成 特特 点点 32位位 定点定点 改进哈佛结构改进哈佛结构 循环的寻址方式。循环的寻址方式。 组组 成成 内核内核 存储器存储器 片内外设片内外设内部结构内部结构片片 内内 外外 设设片内存储器片内存储器中断处理中断处理程序和数据存储逻辑程序和数据存储逻辑乘法器乘法器 桶形移位器桶形移位器地址寄存器算术单元地址寄存器算术单元算术逻辑单元算术逻辑单元内核内核(红框)(红框)可视化的实时仿真可视化的实时仿真预取队列预取队列 指令译码

16、指令译码程序和数据地址发生器程序和数据地址发生器3.1.3 CPU的结构及总线的结构及总线周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院C28x DSP的的CPU 单元主要结构框图单元主要结构框图周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 C28x的的CPU主要由总线、主要由总线、CPU寄存器、程序地址发寄存器、程序地址发生器和控制逻辑、地址寄存器算术单元生器和控制逻辑、地址寄存器算术单元(ARAU)、算术逻、算术逻辑单元辑单元(ALU)、乘法器和移位器等逻辑部件组成,还包括、乘法器和移位器等逻辑部件组成,还包括指令队列和指令译码单元、中断处理逻辑等。指令队列和指令

17、译码单元、中断处理逻辑等。 ALU为为32位的运算逻辑单元,主要执行算术运算和位的运算逻辑单元,主要执行算术运算和布尔运算。在运算之前,布尔运算。在运算之前,ALU从寄存器、数据存储器或从寄存器、数据存储器或程序控制逻辑单元接收数据,然后进行运算,最后把结果程序控制逻辑单元接收数据,然后进行运算,最后把结果存入寄存器或数据存储器中。存入寄存器或数据存储器中。 32位的乘法器,可执行位的乘法器,可执行3232位的补码乘法,并产生位的补码乘法,并产生64位的结果。乘法器采用位的结果。乘法器采用32位乘数寄存器位乘数寄存器(XT,)、32位乘积位乘积寄存器寄存器(P)和和32位累加器位累加器(ACC

18、)。CPU的移位器实现对操作的移位器实现对操作数的移位操作。数的移位操作。 周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 存储器接口有存储器接口有3组地址总线:组地址总线: 1PAB(Program Address Bus)程序地址总线:程序地址总线:PAB用来传送来自用来传送来自程序空间程序空间的的读读写写地址。地址。PAB是一个是一个22位的总线。位的总线。 2DRAB(Data-Read Address Bus)数据读地址总线数据读地址总线:32位的位的DRAB用来传送来自用来传送来自数据空间数据空间的的读读地址。地址。 3DWAB(Data-Write Address B

19、us)数据写地址总线数据写地址总线:32位的位的DWAB用来传送来用来传送来自自数据空间数据空间的的写写地址。地址。 存储器接口还有存储器接口还有3组数据总线:组数据总线: 1PRDB(Program-Read DataBus)程序读数据总线:程序读数据总线:PRDB在在读取读取程序空间程序空间时用来时用来传送指令或数据。传送指令或数据。PRDB是一个是一个32位的总线。位的总线。 2DRDB(Data-ReadDataBus)数据读数据总线数据读数据总线:DRDB在在读取读取数据空间数据空间时用来传时用来传送数据。送数据。DRDB是一个是一个32位的总线。位的总线。 3DWDB(DataPr

20、ogram-WriteDataBus)数据程序写数据总线数据程序写数据总线:32位的位的DWDB在对在对数据空间数据空间和和程序空间程序空间写写数据时用来传送数据。数据时用来传送数据。地址和数据总线地址和数据总线周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 表表3-2给出了在访问数据空间和程序空间时如何使用这给出了在访问数据空间和程序空间时如何使用这些总线些总线。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 注意:注意:程序空间的读和写不能同时发生,因为它们都要使程序空间的读和写不能同时发生,因为它们都要使用程序地址总线用程序地址总线PAB。程序空间的写和数据空间的

21、写也不能同。程序空间的写和数据空间的写也不能同时发生,因为两者都要使用数据程序写数据总线时发生,因为两者都要使用数据程序写数据总线DWDB。而。而运用不同总线的传输是可以同时发生的。运用不同总线的传输是可以同时发生的。如:如:CPU可以在程序空间完成读操作可以在程序空间完成读操作(使用使用PAB和和PRDB), 在数据空间完成读操作在数据空间完成读操作(使用使用DRAB和和DRDB), 同时同时在数据空间进行写操作在数据空间进行写操作(使用使用DWAB和和DWDB)。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院累加器累加器(ACC(ACC、AHAH、AL)AL)乘数寄存器乘数寄存

22、器(XT(XT、T T、TL)TL)和乘积寄存器和乘积寄存器(P(P、PHPH、PL) PL) 数据页指针寄存器数据页指针寄存器(DP) (DP) 堆栈指针堆栈指针(SP) (SP) 辅助寄存器辅助寄存器(XAR0(XAR0XAR7XAR7、AR0AR0AR7) AR7) 程序计数器程序计数器(PC) (PC) 返回返回PCPC指针寄存器指针寄存器(RPC) (RPC) 中断控制寄存器中断控制寄存器(IFR(IFR、IERIER、DBGIER) DBGIER) 状态寄存器状态寄存器(ST0(ST0,STlSTl) ) 3.1.4 CPU的寄存器的寄存器周鹏周鹏 安徽工程安徽工程大学大学电气工程

23、电气工程学院学院寄存器寄存器大小大小描述描述复位后结果复位后结果ACC(AH,AL)32位位累加器累加器0 x00000000XAR0732位位辅助寄存器辅助寄存器070 x00000000AR0716位位辅助寄存器辅助寄存器XAR0XAR07 7的的低低1616位位0 x0000DP16位位数据页指针数据页指针0 x0000IFR16位位中断标志寄存器中断标志寄存器0 x0000IER16位位允许中断寄存器允许中断寄存器0 x0000DBGIER16位位允许中断调试寄存器允许中断调试寄存器0 x0000P(PH,PL)32位位乘积结果寄存器乘积结果寄存器0 x00000000PC22位位程序

24、计数器程序计数器0 x3F FFC0PAB是是22位的位的周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院寄存器寄存器大小大小描述描述复位后结果复位后结果RPC22位位返回程序计数器返回程序计数器0 x00000000SP16位位堆栈指针堆栈指针0 x400ST016位位状态寄存器状态寄存器00 x0000ST116位位状态寄存器状态寄存器10 x080BXT(T,TL)32位位被乘数寄存器被乘数寄存器0 x00000000周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院(1) 累加器累加器(ACC、AH、AL)周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院乘数

25、寄存器乘数寄存器XT的分半单独存取结构的分半单独存取结构 P寄存器的分半单独存取结构寄存器的分半单独存取结构 (2) 乘数寄存器乘数寄存器(XT、T、TL)和乘积寄存器和乘积寄存器(P、PH、PL) 周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院被乘数寄存器被乘数寄存器(XT) 被乘数寄存器被乘数寄存器(XT寄存器寄存器)主要用于在主要用于在32位乘法操作之前,位乘法操作之前,存放一个存放一个32位有符号整数值。位有符号整数值。XT寄存器的低寄存器的低16位部分是位部分是TL寄存器。该寄存器能装载一个寄存器。该寄存器能装载一个16位有符号数,能自动位有符号数,能自动对该数进行符号扩

26、展,然后将其送人对该数进行符号扩展,然后将其送人32位位XT寄存器。寄存器。XT寄存器的高寄存器的高16位部分是位部分是T寄存器。该寄存器主要用来寄存器。该寄存器主要用来存储存储16位乘法操作之前的位乘法操作之前的16位整数值。位整数值。T寄存器也可以为寄存器也可以为一些移位操作设定移位值,在这种情况下,根据指令,一些移位操作设定移位值,在这种情况下,根据指令,只可以使用只可以使用T寄存器的一部分。寄存器的一部分。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院乘积结果寄存器乘积结果寄存器(P、PH、PL) 乘积寄存器乘积寄存器P主要用来存放乘法运算的结果。它也可以主要用来存放乘法运

27、算的结果。它也可以直接装入一个直接装入一个16位常数,或者从一个位常数,或者从一个16位位32位的数据位的数据存储器、存储器、16位位32位的可寻址位的可寻址CPU寄存器以及寄存器以及32位累加位累加器中读取数据。器中读取数据。P寄存器可以作为一个寄存器可以作为一个32位寄存器或两个位寄存器或两个独立的独立的16位寄存器:位寄存器:PH(高高16位位)和和PL(低低16位位)来使用。来使用。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院(3) 数据页指针寄存器数据页指针寄存器(DP) 在直接寻址方式中,操作数的地址由两部分组成:一在直接寻址方式中,操作数的地址由两部分组成:一个页地

28、址个页地址(Data Page)和一个页内的偏移量。和一个页内的偏移量。C28x的数据的数据存储器每存储器每64个字构成一个数据页,这样,个字构成一个数据页,这样,4MW的数据存的数据存储器共有储器共有65536个数据页,用个数据页,用065535进行标号。在直接寻进行标号。在直接寻址方式下,当前的页地址存放于址方式下,当前的页地址存放于16位的数据页指针寄存器位的数据页指针寄存器(DP)中,可以通过给中,可以通过给DP赋新值可改变数据页号。当赋新值可改变数据页号。当CPU工作在工作在C2xLP源兼容模式时,使用一个源兼容模式时,使用一个7位的偏移量,并位的偏移量,并忽略忽略DP寄存器的最低位

29、。寄存器的最低位。 周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院数据存储器的数据页数据存储器的数据页 周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院(4) 堆栈指针堆栈指针(SP) 堆栈指针堆栈指针(SP)允许在数据存储器中使用软件堆栈。堆栈指针为允许在数据存储器中使用软件堆栈。堆栈指针为16位,可位,可以对数据空间的低以对数据空间的低64K (数据存储器数据存储器0000HFFFFH)进行寻址。当使用进行寻址。当使用SP时,将时,将32位地址的高位地址的高16位置为位置为0。复位后。复位后SP指向地址指向地址00000400h。堆栈。堆栈操作说明如下:操作说明如下:

30、(1)堆栈从低地址向高地址增长。)堆栈从低地址向高地址增长。(2)SP总是指向堆栈中的下一个空域。总是指向堆栈中的下一个空域。(3)复位时,)复位时,SP被初始化,它指向地址被初始化,它指向地址0000 0400h。(4)将)将32位数值存入堆栈时,先存入低位数值存入堆栈时,先存入低16位,然后将高位,然后将高16位存入下一个位存入下一个高地址中。高地址中。(5)当读写)当读写32位的数值时位的数值时,C28x CPU期望存储器或外设接口逻辑把读写期望存储器或外设接口逻辑把读写排成偶数地址。例如,如果排成偶数地址。例如,如果SP包含一个奇数地址包含一个奇数地址0000 0083h,那么,进,那

31、么,进行一个行一个32位的读操作时,将从地址位的读操作时,将从地址0000 0082h和和0000 0083h中读取数值。中读取数值。(6)如果增加)如果增加SP的值,使它超过的值,使它超过FFFFh,或者减少,或者减少SP的值,使它低于的值,使它低于0000h,则表明,则表明SP已经溢出。如果增加已经溢出。如果增加SP的值使它超过了的值使它超过了FFFFh,它就,它就会从会从0000h开始计数。例如,如果开始计数。例如,如果SP=FFFFh而而个指令又向个指令又向SP加加3,则,则结果就是结果就是00001h。当减少。当减少SP的值使它到达的值使它到达0000h,它就会重新从,它就会重新从F

32、FFFh计数。例如,如果计数。例如,如果SP=0002h而一个指令又从而一个指令又从SP减减4,则结果就是,则结果就是FFFFh。 (7)当数值存入堆栈时,)当数值存入堆栈时,SP并不要求排成奇数或偶数地址。排列由存并不要求排成奇数或偶数地址。排列由存储器或外设接口逻辑完成。储器或外设接口逻辑完成。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院(5) 辅助寄存器辅助寄存器(XAR0XAR7、AR0AR7)XAR0XAR7寄存器寄存器 周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 CPU CPU提供提供8 8个个3232位的辅助寄存器:位的辅助寄存器:XAR0XAR0、

33、XAR1XAR1、XAR2XAR2、XAR3XAR3、XAR4XAR4、XAR5XAR5、XAR6XAR6、XAR7XAR7。它们可以作。它们可以作为地址指针指向存储器,或者作为通用目的寄存器使为地址指针指向存储器,或者作为通用目的寄存器使用。用。 许多指令可以访问许多指令可以访问XAR0-XAR7XAR0-XAR7的低的低1616位,其中,位,其中,辅助寄存器的低辅助寄存器的低1616位为位为AR0-AR7AR0-AR7,它们用作循环控制,它们用作循环控制和和1616位比较的通用目的寄存器。位比较的通用目的寄存器。 当访问当访问AR0-AR7AR0-AR7时,寄存器的高时,寄存器的高1616

34、位位(AROH-AR7H)(AROH-AR7H)可能改变或不改变,这主要取决于所应用的指令。可能改变或不改变,这主要取决于所应用的指令。AR0H-AR7HAR0H-AR7H只能作为只能作为XAR0-XAR7XAR0-XAR7的一部分来读取,不能的一部分来读取,不能单独进行访问。单独进行访问。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院(6) 程序计数器程序计数器(PC) C28x C28x的程序计数器(的程序计数器(PCPC)是一个)是一个2222位的寄存器,存放当前位的寄存器,存放当前CPUCPU正在操作指令的地址。当流水线满的时候,正在操作指令的地址。当流水线满的时候,222

35、2位的程序指位的程序指针总是指向当前操作的指令,该指令刚刚到达流水线译码的第针总是指向当前操作的指令,该指令刚刚到达流水线译码的第二阶段。一旦指令到达了流水线的这一阶段,它就不会再被中二阶段。一旦指令到达了流水线的这一阶段,它就不会再被中断从流水线中清除掉,而是在中断执行之前就被执行。断从流水线中清除掉,而是在中断执行之前就被执行。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院(7) 返回程序寄存器返回程序寄存器(RPC) 有两对长调用指令:有两对长调用指令:LC和和LRET,LCR和和LRETR。LCR和和LRETR执行效率更高,只有执行效率更高,只有LCR和和LRETR指令使用

36、指令使用RPC。当使用当使用LCR指令时,当前指令时,当前RPC的值被压入堆栈。返回地址将的值被压入堆栈。返回地址将被装载到被装载到RPC寄存器中,而寄存器中,而22位的函数入口地址将被装载到位的函数入口地址将被装载到PC计数器,从而使流程转入函数体中运行。调用结束通过计数器,从而使流程转入函数体中运行。调用结束通过LRETR指令返回时,存放在指令返回时,存放在RPC内的返回地址装载到内的返回地址装载到PC中,中,而压入堆栈中的而压入堆栈中的RPC的值从堆栈中装载到的值从堆栈中装载到RPC内。内。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院(8) 中断控制寄存器中断控制寄存器(I

37、FR、IER、DBGIER) C28xC28x有有3 3个寄存器用于控制中断:中断标志寄存器个寄存器用于控制中断:中断标志寄存器(IFR)(IFR)、中断使能寄存器中断使能寄存器(IER)(IER)和调试中断使能寄存器和调试中断使能寄存器(DBGIER)(DBGIER)。IFRIFR包包含的标志位用于可屏蔽中断含的标志位用于可屏蔽中断( (可以用软件进行屏蔽可以用软件进行屏蔽) )。当通过硬。当通过硬件或软件设定了其中某位时,则相应的中断就被使能。可以用件或软件设定了其中某位时,则相应的中断就被使能。可以用IERIER中的相应位屏蔽和使能中断。当中的相应位屏蔽和使能中断。当DSPDSP工作在实

38、时仿真模式并工作在实时仿真模式并且且CPUCPU被挂起时,被挂起时,DBGIERDBGIER表明可以使用时间临近中断表明可以使用时间临近中断( (如果被使如果被使能能) )。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院(9) 状态寄存器状态寄存器(ST0,STl) C28x CPU有两个重要的状态寄存器:有两个重要的状态寄存器:ST0和和ST1,其,其中包含着不同的标志位和控制位。中包含着不同的标志位和控制位。ST0包含指令操作所使包含指令操作所使用或影响的控制或标志位,如溢出、进位、符号扩展等。用或影响的控制或标志位,如溢出、进位、符号扩展等。ST1则主要包含一些特殊的控制位,

39、如处理器的兼容模式则主要包含一些特殊的控制位,如处理器的兼容模式选择、寻址模式配置等。选择、寻址模式配置等。 周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院状态寄存器状态寄存器ST0 OVC/OVCUOVC/OVCU:溢出计数器。:溢出计数器。PMPM:乘积移位模式位。:乘积移位模式位。V V:溢出标志。:溢出标志。N N:负标志位。:负标志位。Z Z:零标志。:零标志。C C:进位位。:进位位。TCTC:测试:测试/ /控制标志。控制标志。OVMOVM:溢出模式位。:溢出模式位。SXMSXM:符号扩展模式位。:符号扩展模式位。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院

40、学院状态寄存器状态寄存器ST1 ARPARP:辅助寄存器指针。:辅助寄存器指针。XFXF:XFXF状态位。该位用于控制输出引脚状态位。该位用于控制输出引脚XFXF的状态。的状态。M0M1MAPM0M1MAP:存储器:存储器M0M0和和M1M1映射模式位。映射模式位。OBJMODEOBJMODE:目标兼容模式位。用来在:目标兼容模式位。用来在C27xC27x目标模式目标模式(=0)(=0)和和C28xC28x目标目标 模式模式(=1)(=1)之间进行选择。之间进行选择。AMODEAMODE:寻址模式位。在:寻址模式位。在C28xC28x寻址模式寻址模式 (AMODE=0)(AMODE=0)和和C

41、2xLPC2xLP寻址模寻址模 式式(AMODE=1)(AMODE=1)之间进行选择。之间进行选择。 周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 IDLESTAT IDLESTAT:空闲状态位。:空闲状态位。 EALLOW EALLOW:仿真允许访问使能位。为:仿真允许访问使能位。为1 1时,可以访问受保护的外设寄存器。时,可以访问受保护的外设寄存器。 LOOP LOOP:循环指令状态位。:循环指令状态位。 SPA SPA:队栈指针定位:队栈指针定位(Stack Pointer Alignment)(Stack Pointer Alignment)位。位。 VMAP VMAP:

42、向量映像:向量映像(Vector Map)(Vector Map)位。位。 DBGM DBGM:调试使能屏蔽位。:调试使能屏蔽位。 INTM INTM:中断全局屏蔽位。为:中断全局屏蔽位。为0 0时,使能可屏蔽中断。时,使能可屏蔽中断。 周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 本节讲述本节讲述F2812的时钟、片内的振荡器及锁相环的时钟、片内的振荡器及锁相环PLL、低、低功耗模式、看门狗模块以及功耗模式、看门狗模块以及3个个32位位CPU定时器定时器(TIMER0/1/2)。)。3.2 时钟和系统控制时钟和系统控制周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院

43、F2812的内部时钟和复位电路结构框图如图的内部时钟和复位电路结构框图如图3-9所示。所示。图中图中CLKIN是经时钟产生电路提供给是经时钟产生电路提供给CPU的时钟信号,的时钟信号,未作处理就直接从未作处理就直接从CPU输出,成为系统时钟输出,成为系统时钟SYSCLKOUT信号,作为片内集成外设模块的时钟源,二者频率相等,信号,作为片内集成外设模块的时钟源,二者频率相等,即即SYSCLKOUT=CLKIN。此外,片内外设模块的时钟被。此外,片内外设模块的时钟被分成分成LSPCLK(低速)(低速)和和HSPCLK(高速)(高速)两组,以方便两组,以方便用户设置各个外设模块的工作频率。用户设置各

44、个外设模块的工作频率。 3.2.1 时钟时钟周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 在在F2812 DSP芯片上,所有的时钟、锁相环、低功耗芯片上,所有的时钟、锁相环、低功耗模式以及看门狗等都是要通过相应的控制寄存器配置,各模式以及看门狗等都是要通过相应的控制寄存器配置,各个控制寄存器如表个控制寄存器如表3-8所示。所示。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院外设时钟控制寄存器外设时钟控制寄存器PCLKCRD15,D13, D9, D7-4 Reserved位。位。D14 ECANENCLK ,

45、若设为若设为1,则使能,则使能CAN外设中的系统时钟外设中的系统时钟SYSCLKOUT 。否则禁止。否则禁止。D12 MCBSPENCLK , 若设为若设为1,则使能,则使能McBSP外设中的低速时钟外设中的低速时钟LSPCLK 。 D11 SCIBENCLK , 若设为若设为1,则使能,则使能SCI-B外设中的低速时钟外设中的低速时钟LSPCLK 。D10 SCIAENCLK , 若设为若设为1,则使能,则使能SCI-A外设中的低速时钟外设中的低速时钟LSPCLK 。D8 SPIBENCLK , 若设为若设为1,则使能,则使能SPI外设中的低速时钟外设中的低速时钟LSPCLK 。D3 ADC

46、ENCLK , 若设为若设为1,则使能,则使能ADC外设中的高速时钟外设中的高速时钟HSPCLK 。D2 Reserved位。位。D1 EVBENCLK , 若设为若设为1,则使能,则使能EVB外设中的高速时钟外设中的高速时钟HSPCLK 。D0 EVAENCLK , 若设为若设为1,则使能,则使能EVA外设中的高速时钟外设中的高速时钟HSPCLK 。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院系统控制和状态寄存器系统控制和状态寄存器 SCSR D15-3: Reserved D2: WDINTS , 看门狗看门狗WD中断状态位。中断状态位。 D1: WDENINT,看门狗看门狗

47、WD中断使能位。如果设为中断使能位。如果设为1,则,则WD复位复位WDRST输出信号禁止,看门狗输出信号禁止,看门狗WD中断使能。中断使能。 D0:WD OVERRIDE, WD保护位。该位是保护位。该位是个只能清除个只能清除的位,复位后的位,复位后=1。通过向该位写。通过向该位写1对其清对其清0。为。为0保护保护WD,防止防止WD被软件禁止。被软件禁止。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院低速外设时钟预定标寄存器低速外设时钟预定标寄存器LOSPCP若若HSPCP不为不为0,则,则HSPCLK=SYSCLKOUT/(2* HISPCP20 )。 复位时,默认值复位时,默认

48、值001, HSPCLK=SYSCLKOUT/2若若HSPCP=0,则,则HSPCLK=SYSCLKOUT高速外设时钟预定标寄存器高速外设时钟预定标寄存器HISPCP若若LOSPCP不为不为0,则,则LSPCLK=SYSCLKOUT/(2* LOSPCP20 )。 复位时,默认值复位时,默认值010, LSPCLK=SYSCLKOUT/4若若HSPCP=0,则,则LSPCLK=SYSCLKOUT周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 在在F2812芯片上,有基于锁相环(芯片上,有基于锁相环(PLL)时钟产生模块,)时钟产生模块,目的是便于通过软件实时地配置目的是便于通过软件

49、实时地配置CPU和各种外设的可编程时和各种外设的可编程时钟频率,每个外设的时钟都可以通过相应的寄存器使能或关钟频率,每个外设的时钟都可以通过相应的寄存器使能或关闭,以提高系统的灵活性和可靠性。时钟产生模块由片内振闭,以提高系统的灵活性和可靠性。时钟产生模块由片内振荡器(荡器(OSC)和锁相环()和锁相环(PLL)电路组成,如图)电路组成,如图3-14所示。所示。芯片内部的芯片内部的PLL电路利用高稳定度的锁相环锁定时钟振荡频电路利用高稳定度的锁相环锁定时钟振荡频率,可以提供稳定、高质量的时钟信号。同时,可以通过锁率,可以提供稳定、高质量的时钟信号。同时,可以通过锁相环的相环的4位倍频系数设置位

50、来选择不同的位倍频系数设置位来选择不同的CPU时钟速率,以时钟速率,以便用户灵活设定需要的处理器速度。同时还提供了低功耗方便用户灵活设定需要的处理器速度。同时还提供了低功耗方式的控制入口。式的控制入口。 3.2.2 晶体振荡器及锁相环晶体振荡器及锁相环PLL周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院时钟电路时钟电路周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院时钟模块提供两种操作模式:时钟模块提供两种操作模式: 内部振荡器:内部振荡器:如果使用内部振荡器,则必须在如果使用内部振荡器,则必须在X1XCLKIN和

51、和X2两个引脚之间连接一个石英晶体。两个引脚之间连接一个石英晶体。 外部时钟源:外部时钟源:如果采用外部时钟,可以将输入的时钟信号直如果采用外部时钟,可以将输入的时钟信号直接接到接接到X1XCLKIN引脚上,而引脚上,而X2悬空。在这种情况下,不使悬空。在这种情况下,不使用内部振荡器。用内部振荡器。当当XPLLDIS为低电平,系统直接采用时钟或晶振直接作为系统时钟;为低电平,系统直接采用时钟或晶振直接作为系统时钟;当当XPLLDIS为高电平,外部时钟经过为高电平,外部时钟经过PLL倍频后,为提供时钟。倍频后,为提供时钟。 周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院若若DIV=0

52、(复位值复位值),则,则CLKIN=OSCCLK/2。(。(PLL旁路)旁路)若若DIV=00011010,则,则CLKIN=OSCCLK*DIV/2。锁相环控制寄存器锁相环控制寄存器PLLCR周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院除正常除正常(Normal)(Normal)工作模式外,工作模式外,F281xF281x有有3 3种低功耗模式:种低功耗模式: IDLE(IDLE(空闲空闲) )模式模式 HALT(HALT(暂停暂停) )模式模式 STANDBY(STANDBY(备用备用) )模式模式低功耗模式控制低功耗模式控制寄存器寄存器0: LPMCR0低功耗模式控制低功耗

53、模式控制寄存器寄存器1: LPMCR13.2.3 低功耗模式低功耗模式周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 F281x DSP内置了一个看门狗定时器内置了一个看门狗定时器(WDT), 用来监视用来监视DSP的运的运行状况。当系统进入不可预知的状态而造成行状况。当系统进入不可预知的状态而造成“死机死机”时,时,WD将产将产生一个复位操作,从而使生一个复位操作,从而使DSP进入一个已知的起始位置重新运转。进入一个已知的起始位置重新运转。 F2812的看门狗与的看门狗与240 x的基本相同,当的基本相同,当8位的看门狗计

54、数器计数位的看门狗计数器计数到最大值时,看门狗模块产生一个输出脉冲到最大值时,看门狗模块产生一个输出脉冲(512个振荡器时钟宽个振荡器时钟宽度度)。如果不希望产生脉冲信号,用户需要屏蔽计数器,或用软件。如果不希望产生脉冲信号,用户需要屏蔽计数器,或用软件周期向看门狗复位控制寄存器写周期向看门狗复位控制寄存器写“0 x55+0 xAA,该寄存器能够使,该寄存器能够使看门狗计数器清零。看门狗计数器清零。 为了实现看门狗的各项功能,内部有为了实现看门狗的各项功能,内部有3个功能寄存器。个功能寄存器。 3.2.4 看门狗模块看门狗模块周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院看门狗功能

55、框图看门狗功能框图周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院看门狗计数器寄存器看门狗计数器寄存器: WDCNTR 看门狗复位密钥寄存器看门狗复位密钥寄存器: WDKEYWDKEY:紧跟着紧跟着0 x55写入写入0 xAA将清除将清除WDCNTR位。写位。写任何其他值则会立即使看门狗复位。从任何其他值则会立即使看门狗复位。从WDCR寄存器读寄存器读取返回的值。取返回的值。 周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院看门狗控制寄存器看门狗控制寄存器: WDCR 位位7 WDFLAG: 看门狗复位状态标志位。如果为看门狗复位状态标志位。如果为1,表示看门狗复,表示看门

56、狗复位;为位;为0,表示是外部复位或上电复位。该位写,表示是外部复位或上电复位。该位写1清除,否则状态一直清除,否则状态一直保持。保持。 位位6 WDDIS: 向该位写向该位写1,禁止看门狗模块,禁止看门狗模块; 写写0,使能看门狗模块。,使能看门狗模块。复位值为复位值为0,看门狗模块使能。只有在,看门狗模块使能。只有在SCSR寄存器中的寄存器中的WDOVERRIDE位设为位设为1后才能修改该位。后才能修改该位。 位位53 WDCHK:任何时候写该寄存器,用户都必须向这些位写入:任何时候写该寄存器,用户都必须向这些位写入101。写入任何其他数值都会引起复位(如果看门狗使能)。写入任何其他数值都

57、会引起复位(如果看门狗使能)。 位位20 WDPS:这些位用来配置看门狗时钟这些位用来配置看门狗时钟WDCLK。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院位位20 WDPS:这些位用来配置看门狗时钟这些位用来配置看门狗时钟WDCLK。 000WDCLK=OSCCLK/512/1 001WDCLK=OSCCLK/512/1 010WDCLK=OSCCLK/512/2 011WDCLK=OSCCLK/512/4 100WDCLK=OSCCLK/512/8 101WDCLK=OSCCLK/512/16 110WDCLK=OSCCLK/512/32 111WDCLK=OSCCLK/51

58、2/64,OSCCLK为为振荡器频率。振荡器频率。周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院 TIM 32位的计数寄存器,重新装载位的计数寄存器,重新装载PRD的值。的值。 PRD 32位周期寄存器。位周期寄存器。 TCR 16位的定时器控制寄存器。位的定时器控制寄存器。 PSC 16位的预定标寄存器,重新装载位的预定标寄存器,重新装载TDDR的值。的值。 TDDR 16位的分频寄存器。位的分频寄存器。有有3个个32位位CPU定时器定时器(TIMER0/1/2):定时器定时器0用户可以在应用程序中使用。用户可以在应用程序中使用。定时器定时器1和定时器和定时器2预留给实时操作系统

59、使用预留给实时操作系统使用(例如例如 DSP-BIOS)。3.2.5 CPU定时器定时器周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院定时器功能框图定时器功能框图工作过程:工作过程:首先用首先用32位计数寄存器位计数寄存器(TIMH:TM)装载周期寄存装载周期寄存器器(PRDH:PRD)内部的值。计数寄存器根据内部的值。计数寄存器根据SYSCLKOUT时钟时钟递减计数。当计数寄存器等于递减计数。当计数寄存器等于0时,定时器中断输出产生一个中时,定时器中断输出产生一个中断脉冲。断脉冲。 周鹏周鹏 安徽工程安徽工程大学大学电气工程电气工程学院学院周鹏周鹏 安徽工程安徽工程大学大学电气工

60、程电气工程学院学院 工作原理工作原理 在每个在每个SYSCLKOUT脉冲后脉冲后PSC减减1,一直减到,一直减到0。 在下一个在下一个SYSCLKOUT周期周期 ,TDDR加载新的除数值到加载新的除数值到PSC,并使,并使TIM减减1。 重复前两步操作,即重复前两步操作,即PSC每次减到每次减到0后,后,TIM进行一次减进行一次减1操作,直到操作,直到TIM减减为为0在下一个在下一个SYSCLKOUT周期,将定时器中断(周期,将定时器中断(TINT)送到)送到CPU,和,和TOUT引脚。同时引脚。同时TIM装载来自装载来自PRD的新的定时的新的定时 计数器值,并使计数器值,并使PSC再次减再次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论