1、2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.1 / 127,DSP 控制器原理与实践 Digital Signal Processor,TMS320X281x 的结构,自动化、通信学位课,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.2 / 127,前 言(1),现在,广泛使用的 TI 的 DSP 有三个系列:C2000、C5000和C6000,C3x 也有些应用,而其它型号都基本淘汰。,同一系列中不同型号的 DSP 一般都具有相同的 DSP 核,相同或兼容的汇编指令系统;而它们的差别仅在于片内储存器的大小,外设资源(如定时器、
2、串口、并口等)的多少。,不同系列的 DSP 它们的汇编指令系统不兼容,但汇编语言的语法非常相似。,除了汇编语言外, TI 还为每个系列的 DSP 都提供了优化 C 编译器,以方便使用 C 语言进行开发,其效率可以作到汇编语言的 90% 甚至更高。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.3 / 127,前 言(2),C2000 系列是一个控制器系列,全部为 定点 DSP。该系列中的一些型号具有片内 FLASH ROM,如 TMS320LF24X、 TMS320LF240X 等。 TI 所有的 DSP 中,也只有 C2000 系列具有片内 FLASH RAM
3、。,作为控制器,C2000 系列除了有一个DSP 内核外,还有大量的外设资源,如 A/D、定时器、各种串口(同步或异步)、看门狗、CAN 总线、PWM 发生器、数字 I/O 脚等。特别是 C2000 系列的异步串口可以与 PC 的 UART 相连,也是 TI 所有 DSP 中唯一具有异步串口的系列。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.4 / 127,前 言(3),C5000 系列是一个定点低功耗系列,特别适用于手持通讯产品,如手机、PDA、GPS 等。目前的处理速度一般在 80MIPS400MIPS。C5000 系列主要分为 C54XX 和 C55X
4、X 两个系列,这两个系列在执行代码级是兼容的,但它们的汇编指令系统却不同。,C5000 系列提供的主要外设有McBPS 同步串口,HPI 并行接口,定时器、DMA等。另外,在 C5000 的一些型号中还提供了 PCI 接口。C5000 几乎都只提供 BGA 球型封装,在 PCB 板制作时需用多层板。C5000 的功耗较大,需仔细考虑DSP 芯片与系统其它部分的电力分配,适当选择 DC-DC 转换器。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.5 / 127,前 言(4),C6000 系列是一个32位的高性能DSP芯片,目前处理速度从800MIPS2400MI
5、PS,而且还在不断提高。其中,C62XX为定点系列,C67XX 和 C64XX为浮点系列。C6000 系列也提供 EMIF 外部储存器扩展接口,方便用户直接使用 SDRAM、SBSRAM、SRAM、EPROM 等各种储存器。,C6000 系列除了有一个DSP 内核外,还有大量的外设资源,如 A/D、定时器、各种串口(同步或异步)、看门狗、CAN 总线、PWM 发生器、数字 I/O 脚等。特别是 C2000 系列的异步串口可以与PC的 UART 相连,也是TI所有DSP中唯一具有异步串口的系列。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.6 / 127,前 言
6、(5),C3X 系列虽然不是目前 TI 的主流产品,但作为一个 32 位的低价位浮点 DSP,仍然被广泛使用。其中 TMS320VC33 的价格在 ¥200 圆左右,其最高处理速度为 150MFLOPS。C3X 系列的结构比较简单主要有同步串口、DMA 通道、定时器,能用于数字 I/O 的引脚也只有 2 条。 C3X 系列的基本特点如下:,高品质的浮点 DSP,13ns 和 17ns 指令周期34K32 位片内 RAM5 PLL 时钟发生器低功耗,200mW / 150 MFLOPS16/32 位整数和 32/40 位浮点运算32 位指令字,24 位地址线具有 BOOTLOADER;一个串口,
7、两个 32 位的定时器和 DMA八个扩展精度寄存器,R0、R1 R7双电压供电,1.8V 核电压和 3.3V I/O 电压支持 JTAG 调试标准。四个简单高效的预译码信号,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.7 / 127,前 言(6),DSP 控制器总体结构图,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.8 / 127,第二章 TMS320X281x 结构,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.9 / 127,概 述(1),TI 公司 TMS320C2000 DSP 是基于
8、320C2xx 内核。其 C2xLP 核具有 4 级流水,工作在 40 MHz,具有 JTAG 仿真模块,定点 DSP 控制器。但 281x 系列是新一代的 高性能定点 32 位 DSP,具有 8 级流水,工作在 150 MHz。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.10 / 127,概 述(2),281x 系列的芯片具有两个事件管理器,以便支持马达控制。每个事件管理器具有两个通用定时器和三个全比较器,可以与波形产生逻辑配合产生 8 个 PWM 的输出。支持同步的和异步的 PWM 波形生成。它还支持一个空间矢量 PWM 状态机,用开关功率晶体管来实现,
9、以延长晶体管寿命和降低功耗。一个关机段产生单元也有助于保护功率晶体管。此外,每个事件管理器还集成了三个高速采集输入,其中的两个用于光编码器正交脉冲的直接输入。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.11 / 127,概 述(3),281x 系列的芯片还集成有 12-bit 的 A/D 变换器,能在最快 80ns 的时间内对模拟信号作变换。另外还有 2 x 8 个或 16 个复用输入通道。有些新的 281x 系列的芯片还有自动排序的能力,按顺序作 16 个变换,二个独立的采样/保持(S/H)预定标器,通过支持不同的输入阻抗,给用户以极大的灵活性。有些 28
10、1x 系列的芯片有 64k 128K 字的快闪存储器(Flash ROM)。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.12 / 127,概 述(4),TMS320X2812 是 TMS320X281x 系列 DSP 的新一代产品。该产品为单片数字电机控制器制定了标准,由于采用内核 1.9V、I/O 端口 3.3V 的低电压设计,其主频高达 150 MHz,指令几乎都可在 6.67ns 的单周期内完成,可对复杂的控制算法进行实时处理。芯片价格在 10 美圆左右。,工业电机驱动功率转换器和控制器汽车系统,如电子动力转向装置仪表和 HAVC(暖通空调) 压缩机电
11、机控制机器人和计算机数字控制机械,主要应用领域 包括:,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.13 / 127,芯片的结构,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.14 / 127,TMS320X281x 的基本组成,DSP 控制器是一种高性能的单片机。DSP 控制器的总体结构有许多独特的地方:,采用多组总线结构以实现并行处理机制;采用独立的累加器和乘法器,提高快速计算能力;累加器乘法器均连接比例移位器,实现快速定标;丰富的寻址方式,实现灵活的编程完善的片内外设,构成完整的单片系统。,2012年8月18日,DSP 技
12、术与应用 制作者:张志杰 版本 5.0,No.15 / 127,TMS320X281x 的基本特征(1),内核 CPU:,32 位中央算术逻辑单元(CALU);32 位累加器(ACC);32 32 位硬件乘法器(MUL);8 个 32 位辅助寄存器(AR);3 个移位器;两个系统状态寄存器(ST0、ST1)。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.16 / 127,TMS320X281x 的基本特征(2),存储器:,18K 字的片内 SARAM(M0/M1/L0/L1/H0);4K 字的片内引导 ROM;1K 字的片内一次性可编程 ROM(OTP);12
13、8K 字的片内程序 ROM/FLASH ROM;128 位密钥(用于保护 FLASH/OTP/L0/L1);1M 字的外部存储器空间(扩展并行外设);外部存储器接口模块:地址线 19 根、数据线 16 根;支持硬件等待。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.17 / 127,TMS320X281x 的基本特征(3),程序控制:,8 级流水线操作;16 位堆栈指针 ;17 个 CPU 级中断;,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.18 / 127,TMS320X281x 的基本特征(4),指令集 :,源代码与 C
14、2x、C2xx、C5x 定点产品兼容;单指令重复操作;单周期乘法/累加指令;用于程序/数据管理的程序块移指令用于 FFT 的位取反间接寻址能力。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.19 / 127,TMS320X281x 的基本特征(5),省电模式:,TMS320X281x 器件具有三种省电方式,这些方式通过停止 CPU 和各种片内外设的时钟来减少器件功耗。当 281x 处于省电方式时,其全部内容一直保持,因而当由于中断发生而终止省电方式时,操作执行后不会改变。在省电方式中 CPU 时钟域、系统时钟域和看门狗时钟可以被关闭,取决于时钟模块中的 CKC
15、R0 寄存器的设置。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.20 / 127,芯片的基本组成,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.21 / 127,TMS320X281x 的引脚说明,TMS320X281x 系列 DSP 产品中,不同的芯片由于具有不同的外部接口功能和不同的封装形式,因此其引脚数目和引脚分布各不相同。其中,TMS320X2812 采用 LQFP 封装,具有 176 个引脚(采用 PBGA 封装时为 179 个引脚),其引脚数量和功能是 TMS320X281x 系列 DSP 中最全的,因此熟知 TM
16、S320X2812 的引脚功能对该系列其他芯片的应用具有重要意义。教材中的图1-5 给出了 TMS320LF2812 的引脚图,该图可以加深对 DSP 引脚功能的理解和掌握。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.22 / 127,281x 的多总线结构(1),总线结构是计算机体系结构中最基本的结构,它提供了一种标准的接口方式。在该结构中,功能模块之间的信息交换,都可解释为 “在什么地址存放数据” 或 “从什么地址取回数据”。,数据与地址成为密不可分的一对伙伴。具备数据与地址接口方式的功能模块都可以挂接到数据/地址总线上。数据/地址总线是双向的,为了保证
17、数据通畅流动,数据/地址总线要在中央处理单元的统一指挥下按节拍进行工作。,总线结构是各种微处理器芯片的总干道,它的性能在很大程度上决定了微处理器芯片的性能。为了提高处理速度,一方面可通过新的工艺使微处理器芯片能采用更高频率的晶振以加快响应速度;另一方面可加宽数据总线以增加高精度复杂运算指令。除此之外,加快处理速度的最佳方案是采用并行机制。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.23 / 127,281x 的多总线结构(2),一般情况下,总线的操作时序分为四个独立的阶段:取指令、指令译码、取操作数和执行指令。这四个阶段分别面对程序读、数据读和数据写。,DS
18、P 控制器都采用多组总线的结构,如下图所示。,所以如果将数据/地址总线分开为三组数据/地址总线,分别对应程序读、数据读和数据写三种情况,则就可实现总线操作时序的四个独立阶段并行处理,从而极大地加快微处理器芯片的处理速度。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.24 / 127,DSP 控制器的总线结构图,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.25 / 127,281x 的多总线结构(3),一般情况下,DSP 的内部地址总线分成三条总线:, 程序读地址总线:PAB 提供读程序的地址 数据读地址总线:DRAB 提供读数
19、据存储器的地址 数据写地址总线:DWAB 提供写数据存储器的地址,DSP 的内部数据总线也同时分成三条总线:, 程序读数据总线:PRDB 将指令代码送入 CPU 数据读数据总线:DRDB 将数据存储器数据送入 CPU 数据写数据总线:DWDB 将 CPU 处理结果送回存储器,而外部数据/地址总线仍为单一形式,可兼容通用外围器件。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.26 / 127,281x 的多总线结构(4),281x 每条指令的执行过程可分为八个阶段:取指令地址(F1)、取指令内容(F2)、 32/16 判断边界(D1)、指令译码(D2)、取操作数
20、地址(R1)取操作数(R2)和执行指令(E)、写内容回存储单元(W)。由于 DSP 控制器采用了多组总线的结构,这将允许 CPU 同时进行程序指令和存储数据的访问,故可在其内部可实现 8 级逻辑流水线操作。,在某一时刻,第一条流水线上在做取指令操作时,第二条流水线可同时进行上一条指令的指令译码的操作,第三条流水线可同时进行再上一条指令的取操作数的操作,第四条流水线可同时进行再上一条指令的执行指令的操作。由于上述操作在同一时刻分别使用内部的六条总线,所以不会发生冲突。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.27 / 127,第二章 TMS320X281x
21、的结构,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.28 / 127,TMS320X281x 的内核 CPU,TMS320X281x 中央处理单元(CPU)采用并行的体系结构,CPU 可在单指令周期内执行高速的算术运算。CPU 包括三个基本组成部分:输入定标单元、硬件乘法器和中央算术逻辑单元(CALU),结构如下图所示:,输入定标单元(ISCALE) 硬件乘法器(MUL) 中央算术逻辑单元(CALU),2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.29 / 127,CPU 单元,2012年8月18日,DSP 技术与应用 制作者:
22、张志杰 版本 5.0,No.30 / 127,输入定标单元,16 位的输入数据定标移位器把存储器中送来的 16 位值调整送至 32 位的中央算术逻辑单元(CALU)。数据调整对于算术运算、数据定标和逻辑运算时标非常必 要。输入移位器作为程序/数 据空间至 CALU 间数据通路 一部分,不会占用时钟的开 销。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.31 / 127,硬 件 乘 法 器,281x 使用 32 位32 位 (或两个 16 位16 位 )的硬件乘法器在单周期内产生有符号或无符号的 32 位结果。,该单元包括:1、用来保存一个乘数的 32 位 暂时
23、寄存器(XTREG)2、硬件乘法器3、32 位乘积寄存器(PREG)4、乘积移位器(PSCALE),2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.32 / 127,中央算术逻辑单元,中央算术逻辑单元主要组成部分包括:1) 中央算术逻辑单元(CALU)2) 32 位累加器(ACC)3) 输出移位器,CALU 有两个输入:一个总是来自累加器;另一个来自输入移位器的或乘积移位器的输出。,CALU 可实现加减算术运算、与或等逻辑运算和位测试等功能。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.33 / 127,辅助寄存器算术单元,辅助寄
24、存器算术单元(ARAU)主要功能是与中央算术逻辑单元(CALU)中进行的操作并行地实现对 8 个 32 位辅助寄存器 XAR0 XAR7 的算术运算。,DSP 控制器的指令系统提供了丰富、灵活、有效的间接寻址方式的指令。这些间接寻址方式由 8 个辅助寄存器来实现。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.34 / 127,系统状态寄存器,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.35 / 127,系统状态寄存器 ST0,N 负数标志位 V 溢出标志 PM 乘积移位方式 OVC/OVCU 溢出计数器,SXM 符号位扩展方式
25、位 OVM 溢出方式位 TC 测试/控制标志位 C 进位位 Z 零值标志位,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.36 / 127,系统状态寄存器 ST1,LOOP 循环指令状态位 SPA 堆栈指针对齐位 VMAP 中断向量映射位 PAGE0 PAGE0 寻址方式配置位 DBGM 调试允许屏蔽位 INTM 中断全局屏蔽位,ARP 辅助寄存器指针 XF XF 脚状态位 M0M1MAP M0/M1映射方式位 OBJMODE 对象兼容方式位 AMODE 地址方式位 IDLESTAT 空闲状态位 EALLOW 仿真访问允许位,2012年8月18日,DSP 技术与
26、应用 制作者:张志杰 版本 5.0,No.37 / 127,第二章 TMS320X281x 的结构,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.38 / 127,存储器与 I/O 空间,18K 字的片内 SARAM(M0 / M1 / L0 / L1 / H0);4K 字的片内引导 ROM;1K 字的片内一次性可编程 ROM(OTP);128K 字的片内程序 ROM / FLASH ROM;128 位密钥(用于保护 FLASH / OTP / L0 / L1);1M 字的外部设备空间(可扩展各种并行外设);外部设备接口:地址线 19 根、数据线 16 根;支持
27、硬件等待。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.39 / 127,存储器映射,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.40 / 127,Functional Overview,片内存储器,扩展接口,0,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.41 / 127,Memory Map,0,/XZCS0AND1,/XZCS2,/XZCS6AND7,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.42 / 127,与外部存储器和I/O空间的接口,281x
28、的 19 位地址空间分为五个独立选择空间,通过五个片选信号来区分,同时通过读写控制线对这五个空间进行访问。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.43 / 127,外部接口框图,16 位,19 位,XZCS7 取决于 MP / MC 的状态,XINTF,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.44 / 127,外 部 存 储 器 的 扩 展,TSSOP44,CY7C1021V33,特点:3.3V电压(3.0-3.6V)高速(10/12/15ns)片选无效时自动降低功耗,2012年8月18日,DSP 技术与应用 制作者
29、:张志杰 版本 5.0,No.45 / 127,存储器数据页指针,DP(16bit) 访问 65536 个数据页(每页 64 字) 4M 以上的数据存储区 DP不能访问,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.46 / 127,第二章 TMS320X281x 的结构,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.47 / 127,程 序 控 制(1),在指令流计算机(微处理器)中,程序的流程是按指令顺序执行的,即在程序地址指针的指挥下按节拍进行工作。DSP 控制器的程序地址的产生如下图(程序的启动过程)所示。,22 位的程序
30、计数器 PC 是程序地址产生的核心部分,PC 也称为程序地址指针。系统复位时由内部硬件逻辑将 PC 置为 0x3FFFC0H(复位中断向量)。PC 的内容经程序地址寄存器(PAR)驱动程序地址总线(PAB),使得中央处理单元 CPU 获得当前的指令。当前指令被装入指令寄存器后,PC 的内容加 1 ,为下一个地址作准备。PC 的内容决定了 CPU 下次取指的地点。,程序的流程一般是顺序的,但也存在跳变,引起程序跳变的情况:,分支跳转指令;子程序调用;,软、硬件中断;块传送或表传送。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.48 / 127,程 序 控 制(2
31、),分支跳转指令:,如果遇到分支跳转指令,硬件逻辑会把指令中的跳转地址(立即数或累加器的低 22 位)加载到 PC,从而保证分支跳转到指定的地址上。,子程序调用指令:,如果遇到的是子程序调用指令,不但需要考虑 PC 转移到子程序的入口上,而且还要考虑到调用完后 PC 的返回。因此,首先要将返回(断点)地址,即当前调用的下一条指令地址保护起来,称为现场保护。堆栈就是为此而设。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.49 / 127,程 序 控 制(3),软、硬件中断:,如果是发生软、硬件中断,则与子程序调用类似。此时,需要把当前中断处的指令执行完,并把返回
32、地址(下一条指令的地址)压入堆栈;由内部硬件逻辑把中断服务子程序的入口中断向量加载到 PC 中;当碰到中断服务子程序的返回指令 RET 时,CPU 自动地将当前栈顶内容(返回地址)弹到 PC 中,从而恢复原来的断点程序继续运行。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.50 / 127,程序的启动过程,2,3,5,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.51 / 127,系 统 复 位,有两种信号源可使 281x DSP 控制器复位:,外部复位引脚:由引脚 RS 引起,其宽度为几 ns 的有效低电平就产生复位信号。看门
33、狗定时器溢出:看门狗定时器溢出时,自动产生一个复位信号。,复位信号实际上是一个不可屏蔽的中断。当系统收到复位信号后,将复位中断向量 0x3FFFC0H 加载到程序计数器 PC 中。一般情况下,程序设计者都会在此放一条分支跳转指令。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.52 / 127,代 码 安 全 模 块,保护知识产权,用户自定义密码 128 bit 映射到存储空间:0x00 0AE0 0x00 0AE7 寄存器受到 EALLOW 保护 128 bits = 2128 = 3.4 x 1038 1 次/2cycle 猜测所有的密码需要 1.4*10E
34、23 年,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.53 / 127,代码安全模块的安全解锁,上电或者复位的时候 CSM 被锁 CSM 的解锁: 对 FLASH 的每个密码执行一次哑读操作(8 次) 往 8 个 KEY 寄存器写入正确的密码 新的 Flash 器件(PWL 都是 0xFFFF): 对 PWL 进行一次读写,使得器件工作在非锁定模式,volatile int *CSM=0x000AE0; volatile int *PWL=0x3F7FF8; volatile int tmp; Int I; /哑读密码位置 8 次 For (i=0;i8;i+
35、) tmp=PWL +; /让 KEY 寄存器写密码 Asm(“ EALLOW”) *CSM+=PAWWWORD0; *CSM+=PAWWWORD7; Asm (“EDIS”),2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.54 / 127,CPU 定时器(1),281x 器件上有 3 个 32 位 CPU 定时器( TIMER0/1/2 )TIMER0 可以在用户程序中使用,TIMER1/2 预留给 DSP BIOS或其它 RTOS 使用(如果不用DSP BIOS,可以供用户使用)。CPU 定时器只有一种运行模式,即连续减计数模式每个定时器有 4 个 寄存器:
36、1)计数寄存器( TIMH:TIM ):32 位2)周期寄存器( PRDH:PRD ):32 位3)预定标寄存器( TPR ): 32 位(预定标计数器 PSC分频寄存器 TDDR)4)控制寄存器( TCR ):16位,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.55 / 127,CPU 定时器(2),TIF 定时器中断标志位TIE 定时器中断使能位TRB 定时器重装位,TSS 定时器停止状态位FREE 仿真模式时自由运行SOFT 仿真模式时运行后停止,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.56 / 127,CPU 定时
37、器(3),定时器的工作过程:1)用 32 位计数寄存器(TIMH:TIM)装载周期寄存器(PRDH:PRD)中的计时常数;2)计数寄存器根据 SYSCLKOUT 时钟 递减 计数(32 位);3)当计数寄存器等于 0 时,定时器的计数器寄存器重载周期寄存器值,并输出一个中断脉冲(TINT0)。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.57 / 127,配置 CPU 定时器(4),void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period) unsigned long t
38、emp;Timer-CPUFreqInMHz = Freq; / Initialize timer period Timer-PeriodInUSec = Period;temp = (long) (Freq * Period); / 150MHz100us=15000Timer-RegsAddr-PRD.all = temp;Timer-RegsAddr-TPR.all = 0; / Set pre-scale counter to divide by 1 Timer-RegsAddr-TPRH.all = 0;/ Initialize timer control register:Time
39、r-RegsAddr-TCR.bit.TSS = 1/0; / 1 = Stop timer, 0 = Start Timer Timer-RegsAddr-TCR.bit.TRB = 1; / 1 = reload timerTimer-RegsAddr-TCR.bit.SOFT = 1;Timer-RegsAddr-TCR.bit.FREE = 1; / Timer Free RunTimer-RegsAddr-TCR.bit.TIE = 1; / 1 = Enable Timer Interrupt ,上面的函数中周期寄存器由给定的 DSP 时钟频率 Freq(MHz)和定时器周期 Pe
40、riod(s) 两个参数确定。初始化后定时器处于停止状态。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.58 / 127,第二章 TMS320X281x 的结构,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.59 / 127,事 件 管 理 模 块,两个事件管理模块,分别提供用于运动控制和电机控制功能和特性,各有以下功能模块:两个通用定时器三个全比较器PWM 电路三个捕获单元一个正交编码器脉冲电路中断逻辑,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.60 / 127,模数转换模块简介,12 位采
41、样保持 A/D,最小转换时间为 80ns; 16 个模拟输入通道; 可单转换或连续转换(自动排序); 转换可由软件、内部事件或外部事件启动; 两级数据结果寄存器; 可编程预定标选择和中断、查询操作。,A/D 转换模块的特点:,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.61 / 127,模数转换模块(ADC)的主要功能是完成模拟量到数字量的转换,因此它在测控系统中应用十分普遍。在实际工程应用中,我们经常要完成对多个模拟量的采样,所以许多模数转换芯片都具有多路模拟信号输入通道。下图所示为常用的 A/D 转换器的基本原理。,模数转换模块的工作原理,在上图中,A/D
42、 转换器允许 8 个模拟信号输入(IN0 IN7),需要对某个模拟量进行转换时,CPU 将模拟量的编号由 AD0AD2 写入转换器,控制多路开关将相应的模拟量送入转换电路。由启动信号 Start 控制启动转换,转换结束后将转换结果锁存于输出三态寄存器,并向 CPU 发出转换结束信号 EOC。CPU 在接到 EOC 信号后控制 OE 信号从输出三态寄存器中读出转换结果。这样,在 CPU 的控制下A/D 转换器就完成了一次模拟量的转换过程。CPU 重复上述过程将不同的模拟量编号送至 AD0AD2,就可以实现不同模拟量的依次转换。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.
43、0,No.62 / 127,281x ADC模块的工作原理,TMS320X281x 片上集成的模/数转换模块的基本工作原理与上述过程相同,但该芯片在模/数转换模块中增加了两个自动排序器(每个最多可支持 8 个模拟量)和 16 个可单独访问的结果寄存器(RESULT0RESULT15)。图 8-1 所示为该模块的结构原理图。如图所示,该结构允许程序在自动排序器中一次写好模拟量的转换顺序,模/数转换模块就可在启动信号控制下顺序完成转换,而无需 CPU 的参与。,由于具有 16 个可单独访问的结果寄存器,因此给 CPU 读取转换结果留有更大的时间自由度。在转换的启动信号上,该模块支持由软件启动、两个
44、事件管理器的事件源和外部信号(通过 ADCSOC 引脚输入)这三种类型的信号源作为转换的启动信号。由此可以看出,TMS320X281x 片上集成的模/数转换模块相对于一般的模数转换芯片具有较多的应用优势。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.63 / 127,自动排序器的操作原理,DSP 控制器 A/D 转换模块的自动排序器包括两个 8 状态排序器(SEQ1和 SEQ2),这两个排序器也可级联成一个 16 状态的排序器。这里的“状态”表示排序器可以执行的自动转换数目。,在自动排序模式下,ADC 模块可对一序列转换进行自动排序。对于每个转换,任何一个可获
45、得的输入通道都可通过模拟输入通道的多路选择器切换;转换结束后,所选通道的数字量被保存在相应的结果寄存器中,即第一个结果保存在 RESULT0 中,第二个保存在 RESULT1 中,依次类推。,8 状态和 16 状态模式的排序器的操作过程是基本一样的,稍微有些差别。,2012年8月18日,DSP 技术与应用 制作者:张志杰 版本 5.0,No.64 / 127,双排序器工作方式(1),这 2 个独立的自动排序器,每个最多可对 8 个模拟量进行转换排序。两个自动排序器有两种工作方式:一种是两个排序器分别独立进行模拟量的排序,称为双排序器工作方式;另一种是将两个排序器级联起来,组成一个可支持 16 个模拟量排序的排序器,这种方式称为级联工作方式。,为了讲述方便,在双排序器工作方式下,将 2 个自动排序器分别用 SEQ1 和 SEQ2 表示,SEQ1 的8 个排序用 CONV00CONV07 表示,SEQ2 的 8 个排序用 CONV08CONV15 表示;在级联工作方式下,将级联的自动排序器用 SEQ 表示,SEQ 的16 个排序用 CONV00CONV15 表示。 下图(参见教材图8-3)为排序器工作在双排序器工作方式下的结构框图。,