TMS320x28xxx原理与开发(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-28 09:27:15

点击下载

作者:苏奎峰,吕强,等

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

TMS320x28xxx原理与开发

TMS320x28xxx原理与开发试读:

前言

TMS320x28xxx(简称x28xxx,早期产品也简称x28x)是TI公司推出的32位数字信号处理器(DSP),主要包括定点的TMS320x281x和TMS320x280x(简称x281x和x280x)系列,Piccolo(TMS320x280xx)系列,以及浮点的 TMS320x283xx(简称 x283xx)系列三种类型。定点TMS320x281x和TMS320x280x又叫TMS320x28xx(简称x28xx)。TMS320x28xxx是目前控制领域最先进的处理器之一,其频率高达150MHz,大大提高了控制系统的控制精度和芯片的处理能力。TMS320x28xxx基于C/C++高效32位TMS320C28x DSP内核,为TMS320x281x和 TMS320x280x 定点处理器提供了浮点数学函数库,可以在定点处理器上方便地实现浮点运算;而TMS320x283xx系列处理器增加了浮点处理内核,可以直接进行浮点运算,在高精度伺服控制、可变频电源、UPS电源等领域应用广泛,同时也是电机等数字化控制产品升级的最佳选择。

TMS320x28xxx 内部集成了 Flash 闪存,可以用于固化应用软件,代码保护单元提供 128位密码保护,可以有效地保护知识产权。TMS320x281x 优化过的事件管理器包括脉冲宽度调制(PWM)产生器,可以编程通用计时器和事件捕捉接口等,能够满足多种数字控制系统的应用需求。TMS320x280x和TMS320x283xx提供的ePWM,eCAP和eQEP在方便使用的同时,还可以完成更高精度的操作。TMS320x28xxx包括12位模/数转换器,可达16.7MB/s的采样,其双采样装置可以实现控制环路的同步采样。片上标准通信端口能够为主机、测试设备、显示器及其他组件提供简便的通信接口。

本书是在《TMS320F2812 原理与开发》一书的基础上,根据作者近几年的项目开发经验和TI公司DSP相关技术的最新进展,综合实践中较常遇到的问题编写的,在保留原书部分原理分析的基础上,着重增加了应用开发环节及 TMS320x280x和TMS320x283xx浮点处理器的相关内容。全书以基于TMS320F281x处理器的测录系统为主线,在比较TMS320x28xxx系列处理器异同的基础上,详细介绍了各功能模块的基本原理及其应用,并给出了具体的应用实例。此外,根据内容的需要对原有的章节进行了相应的调整或删减。

本书共分 13 章:第 1,2 章介绍 C2000 平台的特点,数字控制系统的开发过程,TMS320x28xxx 系列内核及外设的主要功能,各系列处理器之间的比较等;第 3 章介绍TMS320F2812 的内核及中断的使用;第 4 章介绍存储器接口的特点、寄存器的使用及外部扩展接口的扩展应用等;第5,6,7,12章分别介绍SCI,SPI,I2C,CAN通信接口的功能及使用,并结合具体的应用给出了实例;第 8,9,10,11 章分别介绍事件管理器模块和由事件管理器演化而来的ePWM,eCAP和eQEP三个增强功能模块。第13介绍ADC模块的原理与使用。所有章节都给出了相关应用的原理和经过验证的程序代码。

第1章由装甲兵工程学院吕强教授编写,第2章由清华大学邓志东教授编写,第3章由装甲兵工程学院汤霞清编写,其余章节由苏奎峰编写并统稿。在本书的编写过程中,还得到了清华大学郭小梅老师,总参工程兵四所宁固、装甲兵工程学院的常天庆、张志勇、张永谦、张雷、杨国振、朱斌、邱小波等同志的大力支持,在此一并致谢。尤其要感谢电子工业出版社万子芬老师为本书的出版所做的大量工作。

限于作者水平,书中难免存在错误和不当之处,恳请读者批评指正。

苏奎峰

2009年2月于装甲兵工程学院

第1章 概述

1.1 简介

传统的信号处理或控制系统采用模拟技术进行分析设计,处理设备和控制器均采用模拟器件(电阻、电容和运算放大器等)实现。自20世纪60年代以来,数字信号处理(Digital Signal Processing,DSP)日渐成为一项成熟的技术,并在多项应用领域逐渐替代了传统模拟信号处理系统。与模拟信号处理系统相比,数字信号处理技术及设备具有灵活、精确、抗干扰能力强、设备尺寸小、速度快、性能稳定和易于升级等优点,所以,目前大多设备采用数字技术设计实现。

数字信号处理是利用计算机或专用的处理设备,以数值计算的方式对信号进行采集、变换、综合、估计与识别等加工处理,从而达到提取信息和便于应用的目的。数字信号处理的实现是以数字信号处理理论和计算机技术为基础的,在其发展历程中,有两个事件加速了 DSP 技术的发展。其一是Cooley和Tuckey对离散傅里叶变换的有效算法的解密,其二是可编程数字信号处理器(Digital Signal Processor,DSP)在20世纪60年代的引入。这种采用哈佛结构的处理器能够在一个周期内完成乘法累加运算,与采用冯·诺依曼结构的处理器相比有了本质的改进,为复杂数字信号处理算法和控制算法的实现提供了良好的实现平台。

在实际应用中,所有的信号都是模拟信号,为实现数字信号处理,用户必须将模拟信号转换成数字信号。模拟信号是连续的变量,它包括声音强度、压力、光强度等。例如,我们可以感知不同的模拟信号:耳朵对声音敏感,眼睛对光学敏感。当接收到一个信号时,传感器器官把它转换为电的信号,并且把它传送到我们的模拟计算机(大脑)中。如果需要使用计算机或其他的处理器实现对语音信号的数字处理,必须对其进行数字化,具体过程如图1.1所示。图1.1 语音的数字信号处理过程

因为DSP具有快速计算的特点,所以具有广泛的应用潜力。例如,可以采用DSP来实现复杂的数字信号处理或数字控制系统,以满足高性能信号处理或控制的需求。

采用 DSP 实现数字化处理和控制已经成为未来的发展趋势,因此有众多半导体制造商投入到高性能DSP的开发中。其中TI公司推出的TMS320x283xx处理器具有较高的信号处理和控制功能,在数字控制领域拥有广阔的应用前景。本书以TMS320x28xx及TMS320x283xx芯片的内部功能模块为主线,在比较各类处理器的基础上介绍各功能模块的基本原理,并结合控制领域的应用详细阐述了各功能模块的使用方法。书中提供了大量硬件原理图和应用程序代码,以方便读者参考。

1.2 DSP平台介绍

世界正朝着数字化的方向发展,而DSP正是这个数字革命的心脏。这些高性能的DSP能够充分满足目前数字信号处理的需要,也加快了相关半导体行业的快速发展。半导体技术的进步大大促进了DSP的发展。自从TI于1982年推出第一个DSP以来,处理器的技术水平得到了巨大的提高,也缔造了 TI 公司在 DSP 领域中的稳固地位。设计者只要想到 DSP 便会想到TI,其辅助的技术支持也加速了新产品的上市时间。

从一般性的应用到特殊应用,TI公司推出的TMS320 DSP家族覆盖了非常广的应用领域。用户必须充分理解各类 DSP 的特点和适用领域,才能选择合适的处理器完成数字信号处理或控制任务。根据不同的应用领域,TI 公司推出了三大指令集架构,一般称为“平台”,如图1.2所示。平台的指令核心是互相兼容的,但各平台有自己的特点和适合的应用领域。图1.2 TMS320系列DSP平台1.2.1 TMS320系列DSP平台介绍

1.最佳控制:TMS320C2000™DSP平台

TMS320C2000™DSP平台将各种高级数字控制功能集成于一颗IC上。强大的数据处理和控制能力可大幅提高应用效率和降低功耗。TMS320C28x™系列DSP主要包括TMS320C281x,TMS320C280x及TMS320C283xx三种处理器,是目前控制领域较高性能的处理器,具有精度高、速度快、集成度高等特点,而且TMS320C283xx处理器内核还增加了浮点处理单元,为不同控制领域提供了高性能解决方案。TMS320C24x™系列DSP则为不同应用平台提供了基本解决方案。

2.最低功耗:TMS320C5000™DSP平台

TMS320C5000™ DSP是专门针对消费类数字市场而设计的。最低耗电为0.33mA/MHz。TMS320C55x™与TMS320C54x™DSP均可用于便携式产品,如数字随身听、GPS接收器、便携式医疗设备、3G移动电话、数码相机等。TMS320C5000™DSP平台对于注重运算速度和功耗的语音及资料应用产品也是最佳解决方案。

3.最佳处理能力:TMS320C6000™DSP平台

TMS320C6000™DSP是处理能力最强、易于采用高级语言编程的DSP。定点及浮点DSP市场定位在网络交换、图像处理、雷达信号处理等高端应用领域。TMS320C64x™DSP的CPU运行速度超过1GHz,其性能远超过第一代TMS320C62x™ DSP近10倍,为高端的应用提供了最佳解决方案。1.2.2 TMS320C2000平台介绍

TMS320C2000系列DSP集微控制器和高性能DSP的特点于一身,具有强大的控制和信号处理能力,能够实现复杂的控制算法。TMS320C2000系列DSP片上整合了Flash存储器、快速的A/D转换器、增强的CAN模块、事件管理器、正交编码电路接口、多通道缓冲串口等外设,此种整合使用户可以以更便宜的价格开发高性能数字控制系统。

在TMS320C2000系列DSP中,尤其是C28x系列高精度DSP,其性能是目前任何现有的可编程DSP无可比拟的。TMS320F2810及TMS320F2812是工业界首批32位的控制专用、内含闪存及高达 150MIPS 的 DSP,专门为工业自动化、光学网络及自动化控制等应用而设计。C28x 的内核是当今世界上在数字控制应用方面性能最高的 DSP 内核。C28x 的内核提供高达150MIPS的计算速度,因此能够实时地处理许多复杂的控制算法,如无速度传感器控制、随机PWM 的生成、功率因数校正等算法。C28x 同时也是世界上程序代码效率最高的 DSP,C28x的程序代码与目前所有的C2000 DSP的程序代码兼容,简化了产品升级工作。

TMS320C2000系列DSP主要包括C24x、C281x和C283xx 3种类型,表1.1给出了3种处理器的主要特征对比。表1.1 3种DSP的主要特征

1.2.2.1 TMS320C2000 DSP结构

1.TMS320C28x™结构

32位的C28x DSP整合了DSP和微控制器的最佳特性,能够在一个周期内完成32×32位的乘法累加运算,或两个16×16位乘法累加运算。此外,由于集成了快速的中断管理单元,使得中断延迟时间大幅减少,满足了实时控制的需要。

● C28x 拥有许多独一无二的特点。例如,可以在一个周期内对任何内存地址完成读取、修改、写入操作,使得效率及程序代码达到最佳。此外,还提供多种自动指令,提高了程序的执行效率,简化了程序的开发。

● 针对嵌入式控制领域应用的特殊要求,已推出一款针对C28x内核的C编辑器,能够提供非常杰出的1.1C汇编语言转换比例。C28x DSP的内核还支持IQ变换函数库,使研发人员能方便地使用便宜的定点DSP来实现浮点运算。

● C28x系列的DSP目前已达到150MIPS。

● C28x DSP与C24x DSP的程序代码兼容。

2.TMS320C283x™结构

TMS320x283xx 系列处理器首次在原 C28x 中央处理单元的基础上增加了浮点处理单元(C28x+FPU),基于C28x+FPU架构的控制器除了具有同其他C28x处理器相同的32位的定点架构外,还包含一个单精度(32位)IEEE 754 浮点处理单元。此单元能够高效处理C/C++语言编写的程序,从而使得采用C/C++语言编写系统控制软件和算法更加方便。此外还继承了TMS320C280x系列定点处理器的ePWM,eQEP及eCAP等增强外设的功能,为高性能控制系统应用提供良好的集成平台。

3.C24x™DSP结构

C24x是低成本、低功耗、高性能的处理器,最高速度达40MIPS,能够实现多种控制算法,特别适合于电机控制等领域的应用。内核采用哈佛总线结构,可以实现对程序和数据空间的同时操作,具有高效率的内存管理功能。

● C24x采用4级流水线结构,能够在一个周期内完成C24x的大部分指令。

● 内嵌一个周期内完成2次存取操作的DARAM,再加上C24x结构的并行处理特性,C24x能够在一个机器周期内同时完成3个内存的存取。

● 不同编号的C24x具有不同的内存组合,包含DARAM、SRAM、ROM或Flash存储器。

1.2.2.2 TMS320C2000功能及其特点

TMS320C2000 DSP平台整合了高性能的DSP内核、内部Flash存储器、高精确度模拟外设、数字控制及通信外设等。为用户提供了单芯片实现高性能控制的解决方案,其主要功能模块如下。

1.Flash内存

C2000产品的内部Flash存储器大小为8~128KB。用户可以应用内部Flash存储器固化应用软件及进行产品的升级换代。C2000 DSP提供分区的Flash内存,允许改写每个分区,而不清掉整个Flash内存;此外C2000 DSP采用密码保护程序代码,以保护用户的程序。

2.事件管理器(TMS320x281x和TMS320x24x)

● 定时器/比较器模块减少了CPU完成事件定时、采样循环及PWM生成等任务的开销。

● 可编程死区设置。

● 捕捉单元和正交编码电路能够同检测元件直接接口。

● PDP中断为系统提供无条件保护。

3.增强的控制外设(TMS320x280x和TMS320x283xx)

● 增强的ePWM外设。

● 增强的eCAP外设。

● 增强的eQEP外设。

4.模/数转换器

● 10位模/数转换器(C24x)和12位模/数转换器(C28x)。

● LF240xA最快转换时间为500ns,F2810及F2812最快转换时间为60ns。

● 外部模/数转换及事件(EV)触发的模/数转换不需占用额外CPU时间。

● 具有双缓冲的结果寄存器,减少中断到取得转换结果所需要的时间。

● 16个模拟输入通道。

● 转换自动排序器可增加通道数目,而不需CPU介入。

5.CAN模块

● 完整的CAN控制器,符合CAN2.0B规范。

● 发送、接收标准帧(11位标志符)及扩展帧(29位标志符)。

● C24x有16个信箱,F2810、F2812有32个信箱。

● 0~8位可编程数据长度。

● 提供接收信箱、发送信箱及可配置的发送/接收信箱(信箱0及1)。

● C28x系列提供低耗电模式,定时邮递(Time Stamping)功能。

● 数字回路自测试模式。

● 可编程通信速率。

● 可编程中断控制。

6.串行通信接口

● 异步通信格式(NRZ)。

● 可编程波特率。

● 数据长度1~8位可编程。

● 可编程停止位长度1位或2位。

● 错误检测:极性错误、过载错误、帧错误、中止错误等。

● 两种唤醒模式:线空闲唤醒及地址位唤醒。

● 半双工或全双工操作。

● C24x具有双缓冲器的接收及发送功能,而C28x有16层的接收及发送缓冲器。

● 独立的接收/发送中断。

● 独立的接收/发送中断使能位。

7.串行外围接口

● 1~16位可编程数据长度(F/C240为1~8位)。

● 同步的发送/接收帧。

● 主/从操作模式。

● 支持多处理器通信。

● SPI时钟极性控制。

8.C28x的多信道缓冲串行端口

● 全双工通信。

● 双缓冲发送,三缓冲接收,允许连续的数据流。

● 支持128个通道的发送及接收。

● 独立的发送时钟。

● 多通道选择模式使能每个通道的块传输。

9.直接存储器访问(DMA)

● 6个通道,每个通道有自己独立的PIE中断向量表。

● 5种DMA启动触发模式。

● 数据源地址和目的地址:L4~L7 SARAM,所有的外部扩展区XINTF,ADC结果寄存器,McBSP发送和接收寄存器。

● 传输字宽可配置为16位或32位。1.2.3 TMS320C2000平台应用领域

TMS320C2000 主要应用于工业驱动器、冷却控制系统、智能型传感器、信号采集监测系统、功率电源控制系统、高压交流系统、光纤网络、UPS系统、手持式电动工具等。

1.3 以DSP为基础的数字控制系统

1.3.1 控制系统介绍

一个典型的闭环控制系统如图1.3所示,它基本上由三个模块构成:控制器、被控对象和传感器。控制器根据所下达的参考指令与由传感器测得的反馈信号比较,所产生的误差再经过控制算法计算出适当的修正信号送给被控对象。控制器的主要目的就在于根据控制命令与反馈信号产生适当的修正信号,使系统有最佳的反应,而这个过程主要是完成控制算法的执行,因此可以用模拟、数字或混合的方式完成。图1.3 控制系统的方块图

在概念上讲,一个控制系统可以是由两个主要的模块构成:控制器和被控对象,如图 1.4所示。被控对象可能是一个电机、热水器或一枚导弹,而控制器则由多个子系统组成,其核心为控制处理器。控制处理器的主要功能就是完成控制算法,由于采用不同的控制算法,控制器也有不同的形式。比如采用PID算法,则控制器的微分方程表示为:

式中,e(t)为误差信号,u(t)为输出信号。图1.4 控制系统的详细功能框图

近代控制理论采用的各种控制方法,如适应控制、模糊控制、神经网控制、鲁棒控制等,均可用来进行控制系统设计。控制算法多种多样,但基本上都是由数学方程式组成,再加上一些流程控制指令,如if…then、go to…等,而查表有时也是必需的,所以控制处理器就在于如何运用软、硬件技术实现控制算法。

控制算法如果采用模拟电路实现,如图1.5所示,即为一个模拟控制器,主要由运算放大器来实现控制算法。但如果控制算法比较复杂,则难以采用模拟电路实现。控制处理器如以数字方式实现,则称之为数字控制器,一般均以微处理器或 DSP 实现,模拟或数字控制的优缺点可参见表1.2。图1.5 模拟控制器表1.2 模拟与数字控制器的比较1.3.2 数字控制系统

采用微处理器或DSP实现的数字控制方式是目前设计控制系统的发展趋势,主要优点如下:

● 能够用软件实现复杂的控制算法,而不需要采用复杂的模拟电路设计。

● 由软件程序修改而实现不同的控制方法,无须更改硬件电路。

● 可降低体积、重量与功耗,同时价格也较低。

● 具有较高的可靠性,且易于维修与测试。

● 对噪声与干扰有较强的抗干扰能力。

由上述优点可知,数字控制已是必然的趋势,至于是采用微处理器或是 DSP 则取决于价格、性能的要求及具体的开发环境等因素。一个典型的微电脑控制系统如图1.6所示,由微处理器来实现控制处理。如果使用DSP实现控制处理,则成为一个以DSP为基础的数字控制系统,如图1.7所示。图1.6 一个典型的微电脑控制系统图1.7 以DSP为基础的数字控制系统

以微控制器或DSP作为基础设计的数字控制系统是未来的发展趋势。下面介绍其主要特点。

1.较低的硬件成本

采用微处理器或 DSP 的主要优点就是能够以软件程序取代复杂的硬件电路。由于大规模集成电路(VLSI)发展迅速,再加上廉价的芯片、高处理能力的CPU及大容量的存储器,它们均能以非常快的速度实现较复杂的控制算法,因此实现控制功能的硬件价格相对较低。同时,由于ASIC(Application Specified IC)与顾客委托设计能使芯片的集成度更高,这不仅提高了系统的可靠度,也降低了生产与维修测试的成本。

2.更高的可靠性

复杂的控制系统应用于工业自动化,如 CNC 或机器人,应用于国防工业如导弹、导航控制系统等,均需要高可靠性。采用高度集成的微控制器或DSP可以使系统的可靠性大大提高。

3.电磁干扰(EMI)问题较少

VLSI的高密度电路,降低了在电力电子系统中高电压与高电流变化对电路所形成的影响,控制芯片的屏蔽较为简单,由电力线或信号线所产生的噪声也容易滤掉。

4.不会有漂移与参数变化

在模拟电路设计中遇到的一些问题,如温度或环境变化而引起的漂移现象,这种现象也会因为组件老化而发生,但在数字电路中则可消除这些问题。以微处理器或 DSP 软件实现的数值计算不仅不会有参数变化,计算也百分之百正确,而且截断和溢出等问题也可以采用适当的调整比例范围来解决。

5.通用的软硬件平台

采用微处理器或 DSP 实现数字控制系统,可使系列产品具有相同或类似的硬件结构,不仅易于维修,也简化了生产制造的过程,同时对软件设计而言,也因为有了共同的硬件标准而较易规划与设计。以变频器为例,针对不同的应用需求可加入不同的软件功能模块。这些软硬件规范化设计在复杂的控制系统设计上非常重要。

6.自动纠错能力

采用微型计算机控制,可用软件进行系统硬件的自动纠错,不仅能确保系统正常工作,还由于具有自动纠错能力而简化维修。例如,在变频器设计中,可以检测系统是否接线正确、功率极是否有短路现象等。

7.计算能力的限制

虽然由于微电子技术的快速进展,微处理器与 DSP 的执行速度已大幅提高,但在执行速度上仍无法与特定模拟电路所完成的硬件控制相比。由于特定硬件在信号处理上是以并行方式处理的,而在微处理器或 DSP 为基础的数字控制是以串行方式执行软件,如果微处理器有多个工作要做,则需要将各个任务划分时间段进行处理,因而造成了采样延迟,导致信号无法连续处理。无法获取采样之间的信号,这使得系统的带宽也就受到了限制,这个限制虽然可由多个处理器并行处理,但本身采样效应所造成的限制是无法去除的。

8.量化误差

物理系统的信号是模拟的,因此以微控制器或DSP为基础的数字控制系统就必须采用A/D与 D/A 转换器才能与外界的模拟信号沟通。由于这些模拟/数字转换器均有分辨率上的限制,通常为8位或12位,因此,在采样上也就造成了量化误差。由于量化在信号的大小上造成的不连续与导致的误差,以及因为采样在时间上造成的不连续均对信号造成失真,而这也就是数字控制系统的主要限制。这种因为量化与采样对信号所造成的误差极为明显。如果微控制器通过A/D转换器将读入的正弦信号再通过D/A转换器送出,比较输入与输出信号即可观察到所造成的误差。当正弦波的频率逐渐增高时,这种现象则更为明显。由采样定理可知,如果采样频率高于信号频率的两倍,即可完全恢复原始信号。但实际上由于不可得到理想的采样,再加上噪声与量化所造成的误差,一般而言,采样频率应比信号频宽高10倍。

9.软件信号不易测量

采用微处理器或 DSP 进行数字控制,将以软件程序实现控制算法,因此其内部变量与控制器的参数均不易观测与调整,而不像模拟控制系统,可以使用示波器观测任何一点的信号。虽然控制器参数可以由程序修改,但在控制系统测试时,往往需要尝试性地调整参数,这些均需要额外的软、硬件设计。1.3.3 数字控制系统的设计

设计一个控制系统可分为以下几个阶段,如图1.8所示。(1)确定系统性能指标;(2)建立被控对象的数学模型;(3)控制器的分析与设计;(4)计算机仿真;(5)软、硬件设计;(6)系统整合与性能测试。图1.8 控制系统设计的流程图1.3.4 基于TMS320x28xx处理器测试平台

TMS320x28xx 处理器除了具有强大的信号处理能力外,还提供了丰富的外设单元,在控制和测试系统中具有广泛的应用。本书以基于 TMS320x28xx 处理器的通用测试平台为对象,详细介绍处理器在测试和控制领域的使用方法,本通用测试系统具有如下特点,其功能结构框图如图1.9所示。

●ADC转换,输入范围控制在±5V范围内,增加过压保护功能;

● 铁电存储器,SPI接口,带有适时时钟功能;

● OLED显示功能;

● UART通信接口;

● USB接口;

● DAC转换;

● 可编程数字量输入/输出;

● 键盘(9个)。图1.9 测试系统功能结构框图

第2章 TMS320x28xxx系列处理器概述

2.1 TMS320x281x和x280x内核

2.1.1 TMS320x281x和x280x处理器的主要特点

TMS320x281x和x280x系列DSP是TI公司推出的数字信号处理器,该系列处理器是基于TMS320C2xx 内核的定点 DSP。器件上集成了多种先进的外设(如图 2.1 所示),为电机及其他运动控制领域应用的实现提供了良好的平台。同时代码和指令与F24x系列DSP完全兼容,从而保证了项目或产品设计的可延续性。与F24x系列DSP相比,x281x和x280x系列DSP提高了运算的精度(32位)和系统的处理能力(最高达150 MIPS)。该系列DSP还集成了32~256KB的Flash存储器,2~4KB的引导ROM,数学运算表及2KB的OTP ROM,从而大大改善了应用的灵活性。128位的密码保护机制有效地保护了产品的知识产权。两个事件管理器模块为电机及功率变换控制提供了良好的控制功能。16通道高性能12位ADC单元提供了两个采样保持电路,可以实现双通道信号同步采样。图2.1给出了TMS320x281x的功能框图,其他x281x和x280x系列处理器的功能框图基本相似,归纳起来,x281x和x280x系列DSP有以下特点。

● TMS320x281x和x280x系列DSP采用高性能的静态CMOS技术。

◆ 主频达60~150MHz(时钟周期6.67ns);

◆ 低功耗设计;

◆ Flash编程电压为3.3 V。

● 支持JTAG边界扫描接口。

● 高性能32位CPU。

◆ 16×16位和32×32位的乘法累加操作;

◆ 16×16位的双乘法累加器;

◆ 哈佛总线结构;

◆ 快速中断响应和处理能力;

◆ 统一寻址模式;

◆ 4MB的程序/数据寻址空间;

◆ 高效的代码转换功能(支持C/C++和汇编);

◆ 与TMS320F24x/F240x系列DSP代码兼容。

● 片上存储器。

◆ 最多达128 K×16位(F2812)的Flash存储器;

◆ 最多达128 K×16位的ROM;

◆ 1 K×16位的OTP ROM;

◆ L0和L1两块4K×16位的单周期访问RAM(SARAM);

◆ H0:一块8K×16位的单周期访问RAM(SARAM);

◆ M0和M:两块1×16位的单周期访问RAM(SARAM)。图2.1 TMS320C281x系列DSP功能框图

● 引导(BOOT)ROM。

◆ 带有软件启动模式;

◆ 数学运算表。

● 外部存储器扩展接口(F2812)。

◆ 最多1MB的寻址空间;

◆ 可编程等待周期;

◆ 可编程读/写选择时序;

◆ 3个独立的片选信号。

● 时钟和系统控制。

◆ 支持动态改变锁相环的倍频系数;

◆ 片上振荡器;

◆ 看门狗定时模块。

● 3个外部中断。

● 外设中断扩展模块(PIE)支持45个外设中断。

● 3个32位CPU定时器。

● 128位保护密码。

◆ 保护Flash/OTP/ROM和L0/L1 SARAM中的代码;

◆ 防止系统固件被盗取。

● 电机控制外设,两个与F240xA兼容的事件管理器模块,每一个管理器模块包括:

◆ 2个16位的通用目的定时器;

◆ 8通道16位的PWM;

◆ 不对称、对称或4个空间矢量PWM波形发生器;

◆ 死区产生和配置单元;

◆ 外部可屏蔽功率或驱动保护中断;

◆ 3个完全比较单元;

◆ 3个捕捉单元,捕捉外部事件;

◆ 正交脉冲编码电路;

◆ 同步模/数转换单元。

● 串口通信外设。

◆ 串行外设接口(SPI);

◆ 两个UART接口模块(SCI);

◆ 增强的eCAN 2.0B接口模块;

◆ 多通道缓冲串口(McBSP)。

● 12位模/数转换模块:

◆ 2×8通道复用输入接口;

◆ 两个采样保持电路;

◆ 单/连续通道转换;

◆ 流水线最快转换周期为60 ns,单通道最快转换周期为200 ns;

◆ 可以使用2个事件管理器顺序触发8对模/数转换。

● 高达56个可配置通用目的I/O引脚。

● 先进的仿真调试功能。

◆ 分析和断点功能;

◆ 硬件支持适时仿真功能。

● 低功耗模式和省电模式。

◆ 支持IDLE,STANDBY,HALT模式;

◆ 禁止外设独立时钟。

● 179引脚BGA封装或176引脚LQFP封装(F2812)。

● 128引脚LQFP封装(F2810)。

●-40°C~+85°C或-40°C~+125°C工作温度。

x281x和x280x系列处理器具体包含的外设和存储空间请参考相关数据手册。2.1.2 C28x CPU内核

2.1.2.1 C28x内核概述

C28x 系列 DSP 是 TI 公司近年来主推的 32 位定点 DSP(也称微控制器),是基于TMS320C2000 DSP平台开发的,其代码与24x/240x DSP完全兼容,因此,240x的用户能够轻松地移植到新的x281x和x280x系列DSP平台上。x281x和x280x系列DSP同时具有DSP和微控制器的特点,尤其是C28x继承了DSP的诸多优点,其中包括可调整的哈佛总线结构和循环寻址方式。精简指令系统(RISC)使得CPU能够单周期地执行寄存器到寄存器的操作,并且可调整的哈佛总线结构能够工作在冯·诺依曼模式。微控制器的特点主要包括字节的组合与拆分、位操作等。哈佛总线结构能够完成指令的并行处理,在单周期内通过流水线完成指令和数据的同时提取,从而提高处理器的处理能力。

x281x和x280x处理器采用C/C++编写的软件,其效率非常高,因此用户不仅可以应用高级语言编写系统程序,也能够采用C/C++开发高效的数学算法。x281x和x280x系列DSP在完成数学算法和系统控制等任务时都具有相当高的性能,这样就避免了在一个系统中需要多个处理器的麻烦。x281x和x280x处理器内核包含了一个32×32位的乘法累计(MAC)单元,能够完成 64 位的数据处理,从而使该处理器能够实现更高精度的处理任务。快速的中断响应能够使x281x和x280x保护关键的寄存器,并快速(更小的中断延时)地响应外部异步事件。x281x和x280x有8级带有流水线存储器访问流水线的保护机制,使x281x和x280x高速运行时不需要大容量的快速存储器。专门的分支跳转硬件减少了条件指令执行的反应时间,条件存储操作更进一步提高了C281x的性能。

2.1.2.2 C28x内核组成

C28x内核主要包括中央处理单元(CPU)、测试单元和存储器及外设接口单元几部分,如图2.2所示。CPU单元完成数据/程序存储器的访问地址的产生、译码和执行指令、算数、逻辑和移位操作、控制CPU寄存器及数据/程序存储器之间的数据传输等操作。测试单元主要用来监测、控制 DSP 的各个部分及其运行状态,以方便调试。而接口信号单元完全是存储器、外设、时钟、CPU及调试单元之间的信号传输通道。图2.2 CPU内核功能框图

CPU单元主要包括以下几个部分,如图2.3所示。图2.3 CPU单元结构框图

● 算术逻辑单元(ALU):32位ALU完成2的补码的算术运算和布尔运算。通常情况下,中央处理单元对于用户是透明的。例如,完成一个算术运算,用户只需要写一个命令和相应的操作数据,读取相应的结果寄存器的数据就可以了。

● 乘法器:乘法器完成32×32位的2的补码的乘法运算,产生64位的乘法结果。乘法器能够完成两个符号数、两个无符号数或一个符号数和一个无符号数的乘法运算。

● 移位器:完成数据的左移或右移操作,最大可以移16位。在C281x的内核中,总计有3个移位寄存器:输入数据定标移位寄存器、输出数据定标移位寄存器和乘积定标移位寄存器。

● 寻址运算单元(ARAU):主要完成数据存储器的寻址运算以及地址的产生。

● 独立的寄存器空间:CPU内的寄存器包含独立的寄存器,并不映射到数据存储空间。寄存器主要包括系统控制寄存器、算术寄存器和数据指针。系统控制寄存器可以通过专用的指令访问,其他的寄存器可以采用专用的指令或特定的寻址模式(寄存器寻址模式)来访问。

● 带保护流水线:带保护的流水线能够防止同时对一个地址空间的数据进行读/写。

2.2 TMS320x283xx内核

2.2.1 x28x浮点处理单元简介

x28x+FPU内核能够支持两种运算:

● 所有x28x CPU内核能够实现的定点运算;

● 支持IEEE 32位浮点运算。

x28x+FPU内核是一个支持IEEE 32位浮点运算的32位定点数字信号控制器(DSC),该系列处理器继承了 DSP 的众多优点,主要包括精简指令结构(RISC),系统固件以及相关开发工具等。在此基础上 DSC 还包含一个调整的哈佛结构和循环寻址模式。精简指令能够支持单周期执行指令,寄存器到寄存器操作以及调整的哈佛总线结构 RISC。采用此种结构的微处理器通过灵活的指令系统,更方便用户使用和操作,能够完成字节的封装以及位操作等操作。调整后的哈佛结构能够实现数据和指令的并行装载。通过流水线,在写数据的同时也可以读取指令和数据。此类CPU提供6个独立的地址、数据总线。x28x+FPU内核结构如图2.4所示,从图可以看出,此系列的x28x内核设计的以下各方面并未做任何改动:图2.4 x28x+FPU内核结构图

● x28x指令;

● x28x流水线;

● x28x调试单元;

● 存储器总线结构。

在原有x28x指令系统的基础上增加了支持浮点运算的新指令,因此原针对x28x处理器编写的程序能够100%和x28x+FPU内核兼容,同时改进的系统结构既可以采用定点编程,也可以采用浮点运算编程。内核为x28x+FPU的处理器有浮点上溢和下溢两个中断连接到外设中断扩展模块,从而使针对浮点程序的上溢和下溢问题编程更加方便。TMS320x283xx系列处理器包含了x28x+FPU内核。2.2.2 x28x浮点处理的优势

增加浮点处理单元可以有效提高处理器的性能,能够利用C2000处理器更好完成控制类算法。由于x28x+FPU内核结构和x28x内核结构指令上完全兼容,因此用户可以根据需要自由选择适当的数据类型。采用浮点运算实现算法有以下优点:

● 在控制应用领域众多算法中,采用浮点运算要比定点运算性能好,例如,除法、开方、正弦、余弦、FFT和IIR等。

● 采用浮点处理器开发软件相对简单,尤其是采用C/C++语言编程更加方便。

● 通常软件设计人员在浮点环境下验证算法,然后再将经过验证的算法移植到定点处理器上。而在移植过程中必须考虑定标、溢出以及精度等问题,这些问题会直接影响移植后算法的正确性和精度,而采用浮点处理器则不需要浮点环境到定点环境的移植。2.2.3 x28x浮点处理单元结构

本节主要介绍浮点处理器单元采用浮点运算的IEEE浮点格式标准,并简要介绍浮点处理单元的寄存器,流水线以及带延时间隙的指令执行等内容。

2.2.3.1 IEEE单精度浮点格式

x28x+FPU采用IEEE754标准单精度浮点格式,如图2.5和表2.1所示,32位浮点包括以下几部分。

● 1位符号位S:0表示正,1表示负;

● 8位指数位E:指数位可以表示正负指数;

● 23位尾数M:尾数表示1加上相应的小数。图2.5 单精度浮点数据格式表2.1 单精度浮点数据格式续表

规格化浮点数计算方法为:-3838

该浮点数表示范围为-3.402823×10~3.402823×10。需要注意的是,在规格化过程中有一个隐含的1,因此表示的数为尾数+符号+1。IEEE 754单精度浮点标准是广泛应用的标准,能够表示计算中绝大多数系统的范围和精度需求。该标准支持近似操作和浮点操作,并和C67x的浮点格式数据兼容。

在x28x+FPU内核对该标准进行了相应的简化,主要包括:

● 状态标志和比较操作将负零作为正零处理;

● 由于反规格化数非常小,因此作为零处理;

● 非数值(NaN)表示的数据非常大,因此作为无穷大处理;

● IEEE 754标准支持4种近似运算,x28x+FPU支持以下两种运算。

◆ 截断或近似为零;

◆ 最近近似或相等。

表 2.2 给出了各种近似模式的比较,x28x+FPU 编译器产生的代码默认配置为最近近似处理,用户可以采用汇编指令(SETSTF)设置近似模式。表2.2 各种近似模式的比较

2.2.3.2 x28x+FPU寄存器

图2.6和表2.3给出了x28x+FPU内核寄存器,主要包括:图2.6 x28x+FPU内核寄存器

● 标准的x28x定点寄存器。

◆ 32位累加器、乘积和临时寄存器;

◆ 8,32位扩展的辅助寄存器;

◆ 22位程序计数器和返回程序计数器;

◆ 16位数据页和堆栈指针;

◆ 16位状态寄存器和中断控制寄存器。

● 支持浮点的寄存器。

◆ 8,32位结果寄存器(R0H-R7H);

◆ 32位浮点状态寄存器;

◆ 32位循环模块寄存器。表2.3 x28x+FPU寄存器总结续表

2.2.3.3 x28x+FPU流水线

x28x流水线有8个状态:

● 2获取状态(F1和F2);

● 2编码状态(D1和D2);

● 2读状态(R1和R2);

● 1执行状态(E);

● 1写状态(W)。

x28x+FPU仍然采用8状态流水线操作。在编码2(D2)阶段确定指令是否为浮点指令。如果是则流水线会发生变化,进入另外一个附加的编码。编码完成后读取数据,读数据和x28x的R2状态一致。浮点流水线的执行(E1)和写(W)状态和x28x的相应状态一致。

x28x 和 x28x+FPU 流水线基本相同,但当浮点指令需要附加的执行阶段(E2)时则有所区别,数学运算指令和转换指令需要附加执行状态,这些指令在指令完成前需要一个附加周期。此类操作不受流水线保护,为了完成指令操作,要附加执行状态的指令需要增加软件延时间隙。该延时间隙可以采用任何一个不使用结果寄存器的指令实现,一般情况下采用 NOP 指令。图2.7给出了标准x28x指令和浮点指令的流水线。图2.7 标准x28x指令和浮点指令的流水线

带有延时的操作指令需要增加相应的流水周期,每个流水周期启动一条新的指令,对于增加一个流水周期延时的指令,其操作结果必须在一个延时后才能给出。为了简化操作,可以使用NOP指令实现延时,如果为了提高软件性能,则可以选用其他不冲突的指令实现延时。

表2.4给出了指令需要的延时情况,在编写应用程序时,需要特别注意延时指令不能引起流水线冲突,否则汇编器将会报错。表2.4 指令需要的延时情况2.2.4 指令系统简介

2.2.4.1 指令格式

浮点指令格式和 x28x 的指令格式完全相同,目标操作数总是在指令的左侧,源操作数总是在指令的右侧。下面给出定点指令和浮点指令实例:

第二条浮点操作指令中,R1H和R2H存放源操作数,R0H存放目的操作数。为使编译器能够产生浮点指令,必须在参数选项中设置相应的编译参数支持浮点操作:

--float_support=fpu32

2.2.4.2 典型的浮点指令

表2.5,表2.6和表2.7给出了x28x+FPU 内核支持的浮点指令,这些指令是在原x28x指令系统上添加的。表2.5中的指令是典型的单周期指令,不需要延时,而表2.6中的指令则需要增加一个流水周期的延时间隙。表2.5 单周期浮点指令表2.6 2个流水周期浮点指令表2.7 浮点并行操作指令

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载