DSPC2000系列综述及其应用电子
———
摘要
TI公司生产的C2000系列的DSP主要是针对自动控制领域的需要而设计的。本文主要说明了DSP的产生和发展,概括了C2000系列的特点,综述了C2000中使用的主要技术。同时阐述了今后的发展趋势,在应用方面做了简要介绍,并给出了一个应用实例。
关键词:C2000;集成外设;JTAG;嵌入式;应用
关键字
C2000 发展状况趋势 硬件技术 软件技术 应用电子
1 DSP的产生背景及其发展
1.1 产生背景
由于计算机和信息技术的发展,出现了数字信号处理。它是利用计算机或专用处理器设备,以数字形式对信号进行采集、变换等处理,以得到符合人们需要的信号形式,是一门涉及并广泛应用于许多领域的新兴学科[1]。20世纪后期,随着计算机、大规模集成电路(LSI)、超大规模集成电路(VLSI)以及微处理器技术的迅猛发展,数字信号处理无论在理论上还是在工程应用中都得到了巨大的发展。
伴随着数字信号理论的产生与发展,在一些应用领域中对需要对相关的数据进行处理,但由于使用普通的计算机不能满足特殊环境的要求,而另一方面,如果使用工业PC机,则不能充分发挥其各种性能,并且体积相对较大,增加成本。这就迫使集成电路生产商家开发出可用于数字信号处理的器件,于是就产生了DSP。
DSP主要用来实现相关的数据处理或者比较复杂的算法,其中最具代表的就是TI公司生产的C5000系列的DSP,该系列的DSP主要用于比较复杂算法、语音处理等领域。在上世纪末随着各种新兴控制理论的不断涌现,在实际应用中使用到的算法也日趋复杂化,为了既能满足控制系统实时性的要求,又能满足传统的控制需要,不少公司相继开发出了针对自动控制领域的DSP,最为代表的器件就是TI公司生产的C2000系列。
1.2 发展状况及其趋势
1979年,美国Intel公司生产的2920可以看做商用DSP的开端,这一芯片内部还没有现代DSP芯片所必须的单周期硬件乘法器,但是该芯片却内含了一个完整的数字信号处理器。DSP芯片应用的另一个开端是TI公司于1982年发布的TMS32010系列芯片[2]。之后TI又相继推出了第二代、第三代、第四代、第五代(C5000)以及目前速度最快的第六代(C6000)。TI公司目前常用的DSP芯片主要为3大系列:C2000、C5000和C6000系列,其中C2000主要应用于自动控制领域。在DSP的发展过程中,除了TI公司研发生产DSP外,还有摩托罗拉、NEC、美国模拟器件公司也在研发和生产DSP并取得了一定成就,在市场中占据相当的份额。
在C2000系列发展历史(如图1所示)中,TI最早推出的16位定点C2xx系列获得了巨大的成功。在1996年TI又推出了第一款带有Flash的DSP。新世纪TI在C24xx系列的基础上,又推出了F/C281x系列。最近为了适应市场的专业化需要,推出了Piccolo F280xx系列。
1 C2000系列发展历史
从DSP技术发展的角度来看,随着集成电路规模日益增大,其相应的芯片电压必将越来越小,将会从目前的3V发展到1V甚至更低,并且功耗也将越来越小。当然其运行速度也将越来越快,实时性能更强。
2 DSPC2000的相关技术
汽车电子控制系统为了能够实现高速运算、处理数据的能力,DSP采用了一些比较先进的技术。同时为了能够更好的便于开发人员进行开发调试,TI公司也应用了比较先进的技术方法。
2.1 硬件技术
在DSP芯片硬件的设计方面,相对与微控制器而言,TI公司使用了不少先进技术。诸如总线技术、中断技术、捕捉单元技术等
2.1.1内核结构
同MCU相比,DSP的结构具有一定的先进性,使之运行速度更快。为了提高运行速度,采用哈佛总线结构,即数据总线和地址总线在物理上是分开的,这就大大提高了其访问数据的速
度。借鉴微处理器的先进技术,采用流水线结构。与传统的MCU相比,增加了硬件乘法器,使得一次甚至两次乘法运算可以在一个单周期内完成。
除此之外,DSPC2000系列在存储上另加了特殊的片内存储结构。存储器访问速度对DSP的整体性能会产生很大的影响,为此一般会在片内集成数据存储器RAM,这样可以较好的缓解DSP的数据传输瓶颈,提高速度。
在时钟方面,C2000系列的时钟频率虽然比C5000和C6000的频率要低,但却比MCU的时钟频率要高。并且在有的C2000芯片中还有内部时钟,如F28027内部含有两个内部时钟,这样可以不需要外接时钟源或者晶振,芯片即可起振,避免了在外接时钟时可能造成的不必要的干扰,提高了芯片本身的稳定性和可靠性。
在中断控制方面,具有多个优先级,并且可以实现中断嵌套。这与传统的MCU相比,中断个数比较多,同时其不可屏蔽中断可以通过相应的寄存器设置(或再加上一定的硬件电路)可以检测内部的异常情况,如时钟失效等。
2.1.2集成外设
C5000与C6000的有一定的集成外设,但基本上是与语音或者是视频信息处理有关。而C2000为了能够方面开发人员减少外接设备,避免系统的不稳定性,集成了一些专门针对于自动控制领域的常见外围设备,如ADC等。这和MCU中的集成外设有些类似,但又不完全一样。现在一些比较普片的MCU,除了有定时器以外,大都集成了ADC,但这些ADC的一般都是8-10位的,精度相对而言比较低。而C2000的现在一般集成的ADC至少也是10位的,比如典型的LF2407的集成ADC就是10位[3],而F2812的则是12位的。
由于C2000系列的DSP主要是针对自动控制领域的电力、汽车电子等领域的应用,所以增加了PWM集成外设,并且集成的PWM外设与普通MCU所集成的不一样,C2000所集成的PWM具有多种输出模式,可调整的参数比较多,相对MCU的比较精确。如LF2407中的PWM还有SPWM功能;最近推出的F280xx具有ePWM、HRPWM。
为了能够更好的对一些信号进行捕捉,C2000增加了输入捕捉单元,这是MCU所不具备的功能。另外像LF2407和F2812还增加了事件管理器等集成外设。C2000除了具有普通的SCI接口,大部分都还集成了CAN通讯模块。因为CAN总线是一种 从串行数据通信协议,具有较强的纠错能力,支持差分收发,因而适合高干扰环境,并具有较远的传输距离[4]。在汽车电子的嵌入式系统中,经常要用到CAN总线,以减少物理布线,增强抗干扰能力。
总之,C2000系列的DSP集成了比较多的外设,能够很好的减少开发人员的硬件设计工作量,增强系统的稳定性和可靠性。
2.2 软件技术
在C2000系列DSP中,为了便于用户进行开发与维护,TI公司在软件的调试技术和结构化编程方面都采用了一些比较先进的技术。
2.2.1 JTAG技术
随着器件变得越来越复杂,对器件作全面彻底的测试的要求也就越来越高,而越来越重要。为了能够有效地测试器件,使用了边界扫描技术也称JTAG技术。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug;一般支持JTAG的CPU内都包含了这两个模块。对于DSPC2000也是包含这两个模块的。这就极大的方便了程序的调试,也就使得用户能够在线调试程序,不必每次把程序烧进芯片进行调试,一定程度上缩短了开发周期。
2.2.2软件编程
对于C2000的编程而言,主要使用TI公司的CCS集成开发环境编写程序。CCS在不断的发展中也出现了不同的版本,但高版本是兼容低版本的。目前使用版本比较多的是CCS3.1和CCS3.3。随着CCS版本的升级,其中的C编译器的效率也得到了很大的提高,最新版本CCS3.3中的C编译器的效率已经高达90%以上,所以在学习DSP时,考虑程序的易读性、可移植性,最好使用C编程。
在程序的编写过程中,并不像C51那么简单。首先由于寄存器比较繁杂,所以难免要不断的操作寄存器。其次就是整个工程的文件结构和C51有较大的差异。在编写程序之前必须编写或者配置相应的Gel语言文件,这个文件主要是初始化DSP的。其次要添加链接命令文件(.cmd),在程序调试时所用的cmd文件和生成可烧写的文件所用的cmd文件是不一样的,至少要做相应的修改。因为在调试程序时代码并没有映射到芯片的ROM或者Flash中,而在生成烧写程序时是要将程序放在ROM或Flash中的,所以此时要对cmd文件作相应的修改。
随着嵌入式技术的飞速发展,各种操作系统在MCU上获得了巨大的成功,使得系统的实时性能得到了较大的提高。对于DSP而言也不例外,目前TI公司的DSP大都是eXpress DSP技术。
eXpressDSP 是一种实时DSP 软件技术,它是一种DSP 编程的标准,利用它可以加快你开发DSP 软件的速度。以往DSP 软件的开发没有任何标准,不同的人写的程序一般无法连接在一起。DSP 软件的调试工具也非常不方便。使得DSP 软件的开发往往滞后于硬件的开发。eXpressDSP 集成了CCS开发平台,DSP BIOS 实时软件平台,DSP算法标准和第三方支持四部分。利用该技术,可以使你的软件调试,软件进程管理,软件的互通及算法的获得,都便的容易。由于BIOS是eXpress DSP 的标准平台,所以在使用eXpressDSP之前必须使用BIOS。BIOS是Basic I/O System 的简称,是基本的输入、输出管理。用于管理任务的调度,程序实时分析,中断管理,跟踪管理和实时数据交换。BIOS是基本的实时系统,使用BIOS 可以方便地实现多任务、多进程的时间管理。
3 DSPC2000的应用
3.1 DSPC2000应用概述
由于C2000作为DSP,运算速度并不算高,但集成了一些外设,这些外设都是针对自动控制的,所以C2000系列的DSP主要应用于自动控制领域之中,例如:电力电器控制、深空作业、自动驾驶、机器人控制、磁盘控制等。在此基础上,使用嵌入式系统就会使得系统的整
体性能得到大大提高。
在平时使用过程中使用最多的是F2812,它和LF2407一样比较适合应用于电机控制或者电力电子控制中,并且比LF2407的性能要好。也有使用浮点的F283xx系列来开发电力电子装置。最近TI公司又推出了微型的F280xx系列,主要用于功能相对比较简单的装置的开发。
3.2 F28027在光伏发电中的应用实例
随着新能源的日益兴起,开发能源的新装置也势在必行。在本文中将简要介绍F28027[5]在光伏并网逆变模拟装置的应用。
主要实现功能是给定装置一个正弦波形信号,使其输出与给定信号同频率、同相位的正弦信号,并且考虑收集装置的需要,并为了提高性价比,采用TI公司的TMS320F28027开发平台,采集输入端的电压和电流,运用最大功率点跟踪(MPPT)算法,实现对功率实时跟踪的需要,满足设计要求。在控制逆变电路时,采集给定信号和输出反馈电压信号,实现对给定信号频率的跟踪。对于相位差则将给定信号与输出反馈信号做比较得到相位差,并且判断输出相位是超前还是滞后,从而给出较准确的控制策略。为了消除逆变器输出波形中的高次
谐波,在其输出后增加了滤波电路。为了保证装置的安全性和可靠性,又设计了输入欠压保护和输出过流保护电路。另外,为了能够更好的显示相关参数,通过F28027的串口将其数据发送至计算机,通过上位机程序显示出来。这样就在一定程度上节约了并网模拟装置的功耗,同时,上位机程序的显示效果更佳。至于上位机程序的开发,可以使用LabView进行开发,因为LabView使用图形化编程语言,具有开发起来相对于简单、开发周期短等特点。
发布评论