数字信号处理和DSP系统.ppt
TMS320C55x DSP原理及应用,1,2023/11/14,DSP技术基础,邹修国,2023/11/14,TMS320C55x DSP原理及应用,2,第1章 数字信号处理和DSP系统,1.1 实时数字信号处理技术的发展 1.2 数字信号处理器的特点 1.3 德州仪器公司的DSP产品1.4 DSP芯片的选择 1.5 DSP应用系统设计流程,2023/11/14,TMS320C55x DSP原理及应用,3,第1章数字信号处理和DSP系统,首先了解什么是嵌入式系统,以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。,2023/11/14,TMS320C55x DSP原理及应用,4,第1章数字信号处理和DSP系统,嵌入式系统的分类,嵌入式微控制器(MCU),嵌入式DSP处理器(DSP),嵌入式微处理器(MPU),嵌入式片上系统(System On Chip),嵌入式处理器,2023/11/14,TMS320C55x DSP原理及应用,5,第1章数字信号处理和DSP系统,1.1 实时数字信号处理技术的发展,20世纪80年代以前,数字信号处理技术处于理论研究阶段,人们利用通用计算机进行数字滤波、频谱分析等算法的研究,以及数字信号处理系统的模拟和仿真。20世纪80年代以来,数字信号处理技术走向高峰的则是因为实时数字信号处理技术的高速发展。,实时数字信号处理对数字信号处理系统的处理能力提出了严格的要求,所有运算、处理都必须小于系统可接受的最大时延。,2023/11/14,TMS320C55x DSP原理及应用,6,典型实时数字信号处理系统的基本部件包括:抗混叠滤波器(Anti-aliasing filter)模/数转换器(Analog-to-Digital Converter,ADC)数字信号处理器(Digital Signal Processor,DSP)数/模转换器(Digital-to-Analog Converter,DAC)抗镜像滤波器(Anti-image filter),第1章数字信号处理和DSP系统,典型实时数字信号处理系统框图,2023/11/14,TMS320C55x DSP原理及应用,7,1利用通用计算机处理器如X86完成实时数字信号处理,第1章数字信号处理和DSP系统,为什么要选择专用的DSP芯片?完成数字信号处理的几种硬件对比,优点:,(1)处理器选择范围较宽:X86处理器涵盖了从386到奔腾系列,处理速度从100MHz到几GHz。(2)主板及外设资源丰富:有多种主板及扩展子板可供选择,节省了用户的大量硬件开发时间。(3)有多种操作系统可供选择:包括Windows、Linux、Win CE等。(4)开发、调试较为方便:使用者不需要很深的硬件基础,只要能够熟练使用VC、C-Build等开发工具即可进行开发。,2023/11/14,TMS320C55x DSP原理及应用,8,缺点:,第1章数字信号处理和DSP系统,(1)数字信号处理能力不强:没有专用乘法器等资源,寻址方式也没有为数字信号处理进行优化。(2)硬件组成较为复杂:五大件组成复杂。(3)系统体积、重量较大,功耗较高。(4)抗环境影响能力较弱:便携系统工作环境中的温度、湿度、振动、电磁干扰等都会给系统正常工作带来影响,通用计算机难以克服这些困难。,2023/11/14,TMS320C55x DSP原理及应用,9,2利用通用微处理器如ARM完成实时数字信号处理,(1)可选范围广:通用微处理器种类多,使用者可从速度、片内存储器容量、片内外设资源等各种角度进行选择,许多处理器还为执行数字信号处理专门提供了乘法器等资源。(2)硬件组成简单:只需要非易失存储器,A/D、D/A即可组成最小系统,这类处理器一般都包括各种串行、并行接口,可以方便地与各种A/D、D/A转换器进行连接。(3)系统功耗低,适应环境能力强。,第1章数字信号处理和DSP系统,优点:,2023/11/14,TMS320C55x DSP原理及应用,10,(1)信号处理的效率较低:以一个两个数值乘法为例,处理器需要先用两条指令从存储器当中取值到寄存器中,用一条指令完成两个寄存器的值相乘,再用一条指令将结果存到存储器中,这样,完成一次乘法就花费了4条指令,使信号处理的效率难以提高。(2)内部DMA通道较少:数字信号处理需要对大量的数据进行搬移,如果这些数据搬移全部通过CPU进行,将极大的浪费CPU资源,但通用处理器往往DMA通道数量较少,甚至没有DMA通道,这也将影响信号处理的效率。,第1章数字信号处理和DSP系统,缺点:,针对这些缺点,解决方法:1、内嵌硬件数字信号处理单元,如很多视频处理器产品都是在ARM9处理器中嵌入H.264、MPEG4等硬件视频处理模块,从而取得了较好的处理效果2、单片集成ARM处理器和DSP处理器,类似的产品如德州仪器的OMAP处理器及最新的达芬奇视频处理器,它们就是在一个芯片中集成了一个ARM9处理器和一个C55x处理器或一个C64x处理器。,2023/11/14,TMS320C55x DSP原理及应用,11,3利用可编程逻辑阵列如FPGA进行实时数字信号处理 随着微电子技术的快速发展,FPGA的制作工艺已经进入到45nm时期,这意味在一片集成电路当中可以集成更多的晶体管,芯片运行更快,功耗更低。优点:(1)适合高速信号处理:FPGA采用硬件实现数字信号处理,更加适合实现高速数字信号处理,对于采样率大于100MHz的信号,采用专用芯片或FPGA是适当的选择。(2)具有专用数字信号处理结构:纵观当前最先进的FPGA,如ALTERA公司的Stratix、系列、Cyclone、系列,Xilinx公司的Virtex-4、Virtex-5系列都为数字信号处理提供了专用的数字信号处理单元,这些单元由专用的乘法累加器组成,所提供的乘法累加器不仅减少了逻辑资源的使用,其结构也更加适合实现数字滤波器、FFT等数字信号处理算法。,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,12,缺点:(1)开发需要较深的硬件基础:无论用VHDL还是Verilog HDL语言实现数字信号处理功能都需要较多的数字电路知识,硬件实现的思想与软件编程有着很大区别,从软件算法转移到FPGA硬件实现存在着很多需要克服的困难。(2)调试困难:对FPGA进行调试与软件调试存在很大区别,输出的信号需要通过示波器、逻辑分析仪进行分析,或者利用JTAG端口记录波形文件,而很多处理的中间信号量甚至无法引出进行观察,因此FPGA的更多工作是通过软件仿真来进行验证的,这就需要编写全面的测试文件,FPGA的软件测试工作是十分艰巨的。,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,13,4利用数字信号处理器DSP实时实现数字信号处理 数字信号处理器(Digital Signal Processor,DSP)是一种专门为实时、快速实现各种数字信号处理算法而设计的具有特殊结构的微处理器。上世纪90年代以来,DSP芯片的发展突飞猛进。其功能日益强大,性能价格比不断上升,开发手段不断改进。DSP芯片已成为集成电路中发展最快的电子产品之一。DSP芯片迅速成为众多电子产品的核心器件,DSP系统也被广泛地应用于当今技术革命的各个领域通信电子、信号处理、自动控制、雷达、军事、航空航天、医疗、家用电器、电力电子,而且新的应用领域还在不断地被发现、拓展。可以说,基于DSP技术的开发应用正在成为数字时代应用技术领域的潮流。,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,14,1.2 数字信号处理器的特点,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,15,1.2.1 存储器结构,第1章数字信号处理和DSP系统,微处理器的存储器结构分为两大类:冯诺伊曼结构和哈佛结构。由于成本的原因,GPP广泛使用冯诺伊曼存储器结构。典型冯诺伊曼结构的特点是只有一个存储器空间、一套地址总线和一套数据总线;指令、数据都存放在这个存储器空间中,统一分配地址,所以处理器必须分时访问程序和数据空间。通常,做一次乘法会发生4次存储器访问,用掉至少4个指令周期。,为了提高指令执行速度,DSP采用了程序存储器空间和数据存储器空间分开的哈佛结构和多套地址、数据总线。哈佛结构是并行体系结构,程序和数据存于不同的存储器空间,每个存储器空间独立编址、独立访问。因此,DSP可以同时取指令(来自程序存储器)和取操作数(来自数据存储器);而且,还允许在程序空间和数据空间之间相互传送数据。哈佛读/写结构使DSP很容易实现单周期乘法运算。,2023/11/14,TMS320C55x DSP原理及应用,16,一 哈佛结构,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,17,1.2.2 流水线,流水线结构将指令的执行分解为取指、译码、取操作数和执行等几个阶段。在程序运行过程中,不同指令的不同阶段在时间上是重叠的,流水线结构提高了指令执行的整体速度,有助于保证数字信号处理的实时性。因此,所有DSP均采用一定级数的流水线,如TMS320C54x DSP 采用6级流水线,而TMS320C6xxx DSP 采用8级流水线。TMS320C55x DSP的流水线则被分为指令流水线和执行流水线两部分,指令流水线完成访问地址产生、等待存储器回应、取指令包、预解码等工作;执行流水线完成译码、读取/修改寄存器、读操作数和输出结果等工作。,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,18,1.2.3 硬件乘法累加单元,第1章数字信号处理和DSP系统,由于DSP任务包含大量的乘法累加操作,所以DSP处理器使用专门的硬件来实现单周期乘法,并使用累加器寄存器来处理多个乘积的累加;而且几乎所有DSP指令集都包含有MAC指令。而 GPP通常使用微程序实现乘法。,2023/11/14,TMS320C55x DSP原理及应用,19,1.2.4 零开销循环,第1章数字信号处理和DSP系统,DSP算法的特点之一是主要的处理时间用在程序中的循环结构中,因此多数DSP都有专门支持循环结构的硬件。所谓“零开销”(zero overhead)是指循环计数、条件转移等循环机制由专门硬件控制,而处理器不用花费任何时间。通常GPP的循环控制是用软件来实现的。,2023/11/14,TMS320C55x DSP原理及应用,20,1.2.5 特殊的寻址方式,第1章数字信号处理和DSP系统,除了立即数寻址、直接寻址、间接寻址等常见寻址方式之外,DSP支持一些特殊的寻址方式。例如为了降低卷积、自相关算法和FFT算法的地址计算开销,多数DSP支持循环寻址和位倒序寻址。而GPP一般不支持这些寻址方式。,2023/11/14,TMS320C55x DSP原理及应用,21,1.2.6 高效的特殊指令,第1章数字信号处理和DSP系统,DSP指令集设计了一些特殊的DSP指令用于专门的数字信号处理操作。这些指令充分利用了DSP的结构特点,提高了指令执行的并行度,从而大大加快了完成这些操作的速度。例如TMS320C55xx中的FIRSADD指令和LMS指令,分别用于对称结构FIR滤波算法和LMS算法。,2023/11/14,TMS320C55x DSP原理及应用,22,1.2.7 丰富的片内外设,第1章数字信号处理和DSP系统,根据应用领域的不同,DSP片内集成了众多类型的硬件设备。例如,定时器、串行口、并行口、主机接口(HPI)、DMA控制器、等待状态产生器、PLL时钟产生器、JTEG标准测试接口、ROM、RAM及Flash等。这些片内外设提高了处理速度和数据吞吐能力,简化了接口设计,同时降低了系统功耗和节约了电路板空间。,2023/11/14,TMS320C55x DSP原理及应用,23,1.3 德州仪器公司的DSP产品,按照应用领域的要求,DSP器件可以分为三类:,工业控制领域,这方面的应用要求DSP工作稳定、可靠、集成度高、成本低,这类芯片一般都在内部集成了CAN总线、PWM模块等适合于工业控制的专用外设;,低成本嵌入式应用系统,如手机、磁盘驱动器、MP3播放器等,在这些应用中,成本、集成度和功耗是最重要的因素;,需要用复杂算法对大量数据进行处理的应用,如声呐探测和地震探测等,该类设备批量小、算法复杂、对性能要求苛刻,而对成本和功耗并不是特别关注。,第1章数字信号处理和DSP系统,在选择DSP处理器时,要根据目标系统不同要求,综合考虑性能、成本、集成度、开发的难易程度及功耗等因素。,2023/11/14,TMS320C55x DSP原理及应用,24,德州仪器公司的DSP产品现已发展三代:,第一代是以TMS320C10为代表的数字信号处理器产品;,第二代数字信号处理器以C2x、C3x和C4x系列为代表,其中C2x为16位定点信号处理器,C3x和C4x为32位浮点信号处理器。,第三代包括主要用于控制领域的C24x和C28x系列,用于便携消费电子产品的、低功耗16位定点数字信号处理器C54x、C55x系列,用于高速信号处理和图像处理的高性能16位定点数字信号处理器C62x、C64x系列,用于浮点信号处理的32位浮点信号处理器C67x和TMS320C33。,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,25,1.3.1 C24x系列和C28x系列,C24x系列主要用于电机控制领域,它可为交流感应电机、直流永磁体电机和开关激励式电机等提供高效控制,为无刷电机的变速控制提供了廉价且高可靠性的解决方案。,第1章数字信号处理和DSP系统,C28x系列处理器是德州仪器公司为控制领域的高端应用而开发的系列产品。首先内核由C24x系列的16位提升为32位,DSP内核提供了2个16位16位乘法累加器,可以进行16位16位、32位32位乘法累加运算。该系列芯片采用了先进芯片制造技术,速度升高到60150MHz,Flash存储器的容量最高提升到512KB。C28x系列又分为三个小系列,即C280 x、C281x和C2833x,而C2833x系列又为用户提供了浮点处理能力,2023/11/14,TMS320C55x DSP原理及应用,26,1.3.2 C62x系列和C64x系列,C62x系列是德州仪器公司第一个采用超长指令字的DSP产品,它的内部包含6个算术逻辑单元和两个16位16位乘法器,这样C6000系列可以在一个循环中完成8次操作。C62x系列处理器的推出具有里程碑式的意义,它为高性能DSP树立了标准。,C64x系列采用了C64x内核,采用了增强型超长指令字结构,改进了流水线结构,支持32位或64位宽度存储器访问,最高处理能力已经达到9600MIPS。,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,27,1.3.3 C67x系列和C33,C67x和C33是德州仪器公司的浮点数字信号处理器系列,C67x除了兼容C62x指令集之外,还支持浮点操作。其内核包括4个浮点/定点算术逻辑单元,两个定点算术逻辑单元和两个浮点/定点乘法器,支持单精度和双精度浮点运算。特点:数的范围大于定点,不易溢出,浮点处理器的实现简 单;32位,影响功耗和速度,成本高。,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,28,1.3.4 C54x系列和C55x系列,C54x和C55x系列是德州仪器公司为便携消费电子产品推出的低功耗16位定点数字信号处理器;,C54x系列针对低功耗应用采用了一系列措施,在确保性能的同时保证了DSP的低功耗;,C55x是在C54x基础上开发的新型低功耗、高性能数字信号处理器,它兼容C54x代码集,乘法器变成两个,而采用最新芯片制造技术大幅度提升了DSP的主频,从而提高了C55x系列处理器的处理能力。,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,29,1.4 DSP芯片的选择,1.4.1 运算速度 DSP芯片是否符合应用要求,运算速度是非常关键的。常见的运算速度指标有如下几种:(1)指令周期:执行一条指令所需的最短时间,数值等于主频的倒数;指令周期通常以ns(纳秒)为单位。例如,运行在200MHz的TMS320VC5510的指令周期为5ns(2)MIPS:每秒百万条指令数。(3)MOPS:每秒百万次操作数。(4)MFLOPS:每秒百万次浮点操作数(5)BOPS:每秒十亿次操作数。(6)MAC时间:一次乘法累加操作花费的时间。大部分DSP芯片可在一个指令周期内完成MAC操作。(7)FFT执行时间:完成N点FFT所需的时间。FFT运算是数字信号处理中的典型算法而且应用很广,因此该指标常用于衡量DSP芯片的运算能力。,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,30,第1章数字信号处理和DSP系统,这些指标都有很大的局限性。如,指令周期和MIPS指标并不能公正地区别不同DSP速度性能上的差异,因为不同的DSP在单个指令周期内完成的任务量是不一样。例,采用超长指令字(VLIW)架构的DSP可以在单个周期时间内完成多条指令。至于MOPS、BOPS和MFLOPS指标,会因为厂商对“操作”内涵诠释的不同而很难体现客观公允的评价要求。FFT执行时间虽然相对于其他指标要好一些,但要DSP在具体实时应用中对表现出的处理速度做出准确估计仍然是很困难的。目前,比较可靠的办法是利用某些典型的数字信号处理标准例程,这些例程可能是FIR或IIR滤波等“核心”算法,也可能是语音编解码等整个或部分应用程序。,2023/11/14,TMS320C55x DSP原理及应用,31,1.4.2 算法格式和数据宽度,DSP算法格式主要分为定点算法和浮点算法两种。一般而言,定点DSP芯片价格较便宜,功耗较低,但运算精度稍低;浮点DSP芯片的优点是运算精度高,但价格稍贵,功耗也较大。,第1章数字信号处理和DSP系统,大多数DSP处理器使用定点算法,但是使用浮点DSP更容易进行高级语言编程,而且一般不用特别解决动态范围、精度的问题。因此如果产品对成本和功耗的要求较严格,一般选用定点DSP,需要通过理论分析或软件仿真来确定所需的动态范围和精度。如果要求易于开发、动态范围宽、精度高,可以考虑采用浮点DSP。,2023/11/14,TMS320C55x DSP原理及应用,32,浮点DSP的数据宽度一般为32位,而定点DSP的数据宽度可以为16位、20位、24位或32位。对于相同算法格式的DSP,数据宽度越大,精度越高。但是,数据宽度与DSP尺寸、引脚数及存储器等有直接关系。数据宽度越宽,DSP尺寸越大,引脚越多,存储器要求也越高。所以,在满足设计要求的前提下,尽量选用数据宽度小的DSP,以降低开发成本。而对少量精度要求高的代码可以采取双精度算法。如果大多数计算对精度要求都很高,那么就需要选用较大数据宽度的处理器。,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,33,1.4.3 存储器,DSP片内都集成一定数量的存储器,并可以通过外部总线进行存储器扩展。选择DSP时,要根据具体应用对存储空间大小及对外部总线的要求来选择。DSP的内部存储器通常包括Flash存储器、RAM存储器等。Flash存储器通常用来存储程序及重要的数据,Flash存储器是一种非易失存储器,当系统掉电后还能够保留所存储的信息,Flash存储器的缺点是读/写速度较慢,而向Flash存储器写入数据的过程比较烦琐。DSP外部总线可以扩展多种存储器,其中既有EPROM、Flash等非易失存储器,又有SRAM等可快速访问的存储器,还可以连接SDRAM、DDR SDRAM等大容量存储器,而外部总线的数据宽度也从16位向32位和64位发展,这些特点也是选择DSP时可以参考的依据。,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,34,1.4.4 功耗,由于DSP器件越来越多地应用在便携式产品中,因此功耗是一个重要的考虑因素。下面是一些常见的降低系统功耗的技术。,(1)低工作电压。目前DSP的工作电压有5V,3.3V,2.5V,1.8V等多种。,(2)“休眠”或“空闲”模式。大多数处理器具有关断处理器部分时钟的功能以降低功耗。,第1章数字信号处理和DSP系统,(3)可编程时钟分频器。有的DSP可以在运行时动态编程改变处理器时钟频率以降低功耗。,(4)外围控制。一些DSP器件允许程序中止系统暂时不使用的外围电路功能。,2023/11/14,TMS320C55x DSP原理及应用,35,1.4.5 开发工具,选择DSP芯片时,必须注意其开发工具的支持情况(包括软件开发工具、硬件开发工具)。软件开发工具包括编译器、汇编器、链接器、调试器、代码模拟器、代码库及实时操作系统(Real Time Operation System,RTOS)等,现在一般用集成开发系统CCS。而硬件工具包括评估板和仿真器等。,第1章数字信号处理和DSP系统,2023/11/14,TMS320C55x DSP原理及应用,36,1.总体方案设计,DSP系统设计之前,首先明确设计任务,制定设计任务书,将系统所要达到的功能描述准确。,描述方式包括三种:人工语言流程图算法描述,按DSP应用要求,定义系统性能指标,确定算法并进行高级语言仿真,选择DSP芯片,系统集成,系统调试,将设计任务书转换为量化的技术指标,1.5 DSP应用系统设计流程,2023/11/14,TMS320C55x DSP原理及应用,37,2.软件设计阶段,2023/11/14,TMS320C55x DSP原理及应用,38,设计硬件实现方案:考虑性能指标、工期、成本,确定最优硬件实现方案,画出硬件系统框图。器件选型:DSP芯片,A/D,D/A,内存,电源,通信,人机接口等等。,3.硬件设计阶段,