第3章 TMS320F2812 DSP的内部资源

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内部结构
内核 (红框)
片内外设
程序和数据地址发生器
片内存储器 程序和数据存储逻辑 可视化的实时仿真
算术逻辑单元 乘法器 桶形移位器 中断处理
地址寄存器算术单元预取队列 指令译码
TMS320C2000系列内部结构
周鹏 安徽工程大学电气工程学院
周鹏 安徽工程大学电气工程学院
C28x DSP的CPU 单元主要结构框图
▲ 桶形移位器:执行最多16位的数据左移位和右移位操作。 ▲ 乘法器:执行32位x32位的二进制补码乘法运算,获得64位的乘积。乘法可
以在有符号数和无符号数之间进行。
周鹏 安徽工程大学电气工程学院
3.1.3 CPU的结构及总线
芯片组成
▲ 特 点 —— 32位 定点 改进哈佛结构 循环的寻址方式。 ▲ 组 成 —— 内核 存储器 片内外设
周鹏 安徽工程大学电气工程学院
乘积结果寄存器(P、PH、PL) 乘积寄存器P主要用来存放乘法运算的结果。它也可以 直接装入一个16位常数,或者从一个16位/32位的数据 存储器、16位/32位的可寻址CPU寄存器以及32位累加 器中读取数据。P寄存器可以作为一个32位寄存器或两个 独立的16位寄存器:PH(高16位)和PL(低16位)来使用。
周鹏 安徽工程大学电气工程学院
(3) 数据页指针寄存器(DP) 在直接寻址方式中,操作数的地址由两部分组成:一
第3章 TMS320F2812 DSP的内部资源
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定时器
2.DRDB(Data-ReadDataBus)数据读数据总线:DRDB在读取数据空间时用来传
送数据。DRDB是一个32位的总线。
3 . DWDB(Data / Program-WriteDataBus) 数 据 / 程 序 写 数 据 总 线 : 32 位 的
DWDB在对数据空间和程序空间写数据时用来传送数据。
监视和控制CPU状态。
▲ 复位和中断信号:这些信号用来产生硬件复位和中断轻轻,并用来监视中
断的态。
▲ 仿真信号:这些信号用来测试和调试。
周鹏 安徽工程大学电气工程学院
C28x系列CPU的主要特性:
▲ 保护流水线:CPU具有8级流水线,可以避免同时对一个地址空间的数据进
行读/写。
▲ 独立寄存器空间:在CPU中含有一些被映像至数据空间的寄存器。这些
描述 返回程序计数器 堆栈指针 状态寄存器0 状态寄存器1 被乘数寄存器
复位后结果 0x00000000 0x400 0x0000 0x080B 0x00000000
周鹏 安徽工程大学电气工程学院
(1) 累加器(ACC、AH、AL)
周鹏 安徽工程大学电气工程学院
(2) 乘数寄存器(XT、T、TL)和乘积寄存器(P、PH、PL) 乘数寄存器XT的分半单独存取结构 P寄存器的分半单独存取结构
32位的乘法器,可执行32×32位的补码乘法,并产生 64位的结果。乘法器采用32位乘数寄存器(XT,)、32位乘积 寄存器(P)和32位累加器(ACC)。CPU的移位器实现对操作 数的移位操作。
周鹏 安徽工程大学电气工程学院
地址和数据总线
▲ 存储器接口有3组地址总线:
1.PAB(Program Address Bus)程序地址总线:PAB用来传送来自程序空间的读写 地址。PAB是一个22位的总线。
2.DRAB(Data-Read Address Bus)数据读地址总线:32位的DRAB用来传送来自
数据空间的读地址。
3.DWAB(Data-Write Address Bus)数据写地址总线:32位的DWAB用来传送来
自数据空间的写地址。
▲ 存储器接口还有3组数据总线:
1.PRDB(Program-Read DataBus)程序读数据总线:PRDB在读取程序空间时用来 传送指令或数据。PRDB是一个32位的总线。
中央处理单元(CPU)负责进行程序流的控制和指令的 处理。它完成数据的传送,执行算数运算、布尔逻辑、乘法 和移位操作等。当执行有符号的数学运算时,CPU采用二进 制补码进行运算。改进的哈佛架构使CPU的指令和数据获取 可并行执行。CPU可以在写入数据的同时进行读取指令和数 据,还可以同时进行流水线中的单周期指令操作。CPU通过 6组独立的地址和数据总线完成这些操作。
寄存器可以作为系统控制寄存器、数学寄存器和数据 指针。系统控制寄存器可由特殊的指令进行操作,而 其他寄存器则通过特殊指令或寄存器寻址模式来操作。
▲ 算术逻辑单元(ALU):32位的ALU完成二进制补码算术和布尔逻辑操作。 ▲ 地址寄存器算术单元(ARAU):ARAU产生数据存储地址以及与ALU
并行操作的增量和减量指针。
可 通 过 状 态 寄 存 器 STl 的 位 OBJMODE 和 位 AMODE 的 组合,选定模式。
周鹏 安徽工程大学电气工程学院
C28x芯片具有3种操作模式: ▲ C28x模式:在该模式中,用户可以使用C28x的所有有效特性、寻址方式
和指令系统,因此,一般应使C28x芯片工作于该种模式。
▲ C27x目标——兼容模式:在复位时,C28x的CPU处于C27x目标-兼
如:CPU可以在程序空间完成读操作(使用PAB和PRDB), 在数据空间完成读操作(使用DRAB和DRDB),
同时在数据空间进行写操作(使用DWAB和DWDB)。
周鹏 安徽工程大学电气工程学院
3.1.4 CPU的寄存器
• 累加器(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.1 CPU的兼容性
在TMS320C2000系列中,CPU内核为: C20x/C24x/C240x:C2xLP: C27x/C28x:C27x、C28x
这些CPU的硬件结构有一定差别,指令集也不相同,但 是,在C28x芯片中可以通过选择兼容特性模式,使C28xCPU 与C27xCPU及C2xLPCPU具有最佳兼容性。
周鹏 安徽工程大学电气工程学院
表3-2给出了在访问数据空间和程序空间时如何使用这
些总线。
周鹏 安徽工程大学电气工程学院
▲ 注意:程序空间的读和写不能同时发生,因为它们都要使 用程序地址总线PAB。程序空间的写和数据空间的写也不能同 时发生,因为两者都要使用数据/程序写数据总线DWDB。而 运用不同总线的传输是可以同时发生的。
周鹏 安徽工程大学电气工程学院
TMS320C28x定点系列DSP芯片内部资源有三个主要部分:中央处理 单元(CPU)、存储器和片内外设。所有的C28x定点系列DSP芯片都采 用同样的CPU、总线结构和指令集。不同的芯片具有各自不同的片内存储 器配置和片内外设。
本书中提到的32位C28x定点系列DSP芯片包括F281x和C281x,其中 F281x包括F2810/1/2三款芯片,而本书主要讲述TMS320F2812芯片的相关 内容。TMS320F2812是TI公司推出的功能强、性能优越、低功耗的32位 定点DSP芯片,其时钟周期为6.67ns(时钟频率为150MHz),采用改进 的哈佛总线结构,通过独立的数据总线和地址总线,很大程度上提高了运 算速度。
制信号,显示CPU状态、仿真逻辑信号以及正在使用的中断情况。
周鹏 安徽工程大学电气工程学院
CPU信号它主要包括有4种信号:
▲ 存储器接口信号:这些信号在CPU、存储器和外设之间进行数据传
输;进行程序存储器和数据存储器的访问;并 根据不同的字段长度区分不同的存取操作(16位或32位)。
▲ 时钟和控制信号:这些信号为CPU和仿真逻辑提供时钟,它们可以用来
执行算术、逻辑和移位操作;控制寄存器阵列内的数据转移、数据存储和程序存储等。
▲ 仿真逻辑单元——监视和控制CPU以及DSP各个部分及其运行状态,并实现
对设备的测试和调试。用户通过CCS的调试器工具以及硬件JTAG仿真器来访问和操作 仿真逻辑单元。
▲ CPU信号 ——产生存储器和外围设备的接口信号以及CPU的时钟和控
C28x的CPU主要由总线、CPU寄存器、程序地址发 生器和控制逻辑、地址寄存器算术单元(ARAU)、算术逻 辑单元(ALU)、乘法器和移位器等逻辑部件组成,还包括 指令队列和指令译码单元、中断处理逻辑等。
ALU为32位的运算逻辑单元,主要执行算术运算和 布尔运算。在运算之前,ALU从寄存器、数据存储器或 程序控制逻辑单元接收数据,然后进行运算,最后把结果 存入寄存器或数据存储器中。
容模式。在该模式下,目标码与C27xCPU完全兼容,且它的 循环—计数也与C27xCPU兼容。
▲ C2xLP源——兼容模式:该模式允许用户运行C2xLP的源代码,这
些源代码是用C28x代码生成工具编译生成的。
周鹏 安徽工程大学电气工程学院
3.1.2 CPU的组成及主要特性
内核组成:
▲ CPU 内核——能够产生数据和地址存储地址,它的主要任务是编码和运行指令;
辅助寄存器XAR0~7 0x0000 的低16位
数据页指针
0x0000
中断标志寄存器
0x0000
允许中断寄存器
0x0000
允许中断调试寄存器 0x0000
乘积结果寄存器 程序计数器
0x00000000 0x3F FFC0
寄存器 RPC SP ST0 ST1 XT(T,TL)
大小 22位 16位 16位 16位 32位
本章主要讲述TMS320F2812 DSP芯片的内部资源,包括中央处理单元 CPU、时钟和系统控制、存储器及外部扩展接口、程序流以及中断系统及 复位等内容。
周鹏 安徽工程大学电气工程学院
3.1 中央处理单元CPU
TMS320C28x系列的CPU是一个低成本的32位定点处理 器。它集中了数字信号处理的最佳特征,包括精简指令集计 算功能(RISC)、微控制器架构、固件和工具集、改进的 哈佛结构以及循环寻址。
周鹏 安徽工程大学电气工程学院
3.3 存储器及外部扩展接口XINTF 3.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 外部扩展接口XINTF
周鹏 安徽工程大学电气工程学院
寄存器 ACC(AH,AL) XAR0~7 AR0~7
大小 32位 32位
16位
DP
16位
IFR
16位
IER
DBGIER
PAB是 22位的
P(PH,PL) PC
16位 16位
32位 22位
周鹏 安徽工程大学电气工程学院
描述 累加器 辅助寄存器0~7
复位后结果 0x00000000 0x00000000
3.4 程序流 3.4.1 中断 3.4.2 分支、调用及返回 3.4.3 单个指令的重复执行 3.4.4 指令流水线
周鹏 安徽工程大学电气工程学院
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)
周鹏 安徽工程大学电气工程学院
被乘数寄存器(XT)
被乘数寄存器(XT寄存器)主要用于在32位乘法操作之前, 存放一个32位有符号整数值。XT寄存器的低16位部分是 TL寄存器。该寄存器能装载一个16位有符号数,能自动 对该数进行符号扩展,然后将其送人32位XT寄存器。 XT寄存器的高16位部分是T寄存器。该寄存器主要用来 存储16位乘法操作之前的16位整数值。T寄存器也可以为 一些移位操作设定移位值,在这种情况下,根据指令, 只可以使用T寄存器的一部分。
相关文档
最新文档