打印

DSP基础

[复制链接]
1047|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FCCdsp|  楼主 | 2016-11-19 22:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第1章   概述1.1数字信号处理器的基本概念数字信号处理器(Digital Signal Processor,简称DSP)是一种专门用来实现各种数字信号处理算法的微处理器。根据使用方法的不同,DSP可以分成专用的DSP和通用的DSP。专用的DSP用来实现某些特定的数字信号处理功能,如数字滤波、FFT等。它不需要编程,使用方便、处理速度快,但是缺乏灵活性。通用DSP则有完整的指令系统,通过编程来实现各种数字信号处理功能。


DSP的产生主要是为了满足通信、雷达、数字电视、软件无线电等领域对数字信号处理的需要。DSP的特点之一是适合于数学计算密集的应用,如典型的数字信号处理算法包括FFT、数字滤波等,其特点就是数学计算密集。DSP在其体系结构上采取了一系列措施,使其在数学计算方面具有优越的性能。DSP的另一个特点是实时计算,在通信领域的调制和解调、雷达中的信号检测中,必须在若干微秒至毫秒内完成数据处理,并且给出运算结果,这就是所谓实时处理。


1.2数字信号处理器的特点数字信号处理相对于模拟信号处理有很大的优越性,表现在精度高、灵活性大、可靠性好、易于大规模集成等方面。随着人们对实时信号处理要求的不断提高和大规模集成电路技术的迅速发展,数字信号处理技术也发生着日新月异的变革。实时数字信号处理技术的核心和标志是数字信号处理器。自第一个微处理器问世以来,微处理器技术水平得到了十分迅速的提高,而快速傅立叶交换等实用算法的提出促进了专门实现数字信号处理的一类微处理器的分化和发展。数字信号处理有别于普通的科学计算与分析,它强调运算处理的实时性,因此DSP除了具备普通微处理器所强调的高速运算和控制功能外,针对实时数字信号处理,在处理器结构、指令系统、指令流程上具有许多新的特征,其特点如下:


(1)       算术单元


具有硬件乘法器和多功能运算单元,硬件乘法器可以在单个指令周期内完成乘法操作,这是DSP区别于通用的微处理器的一个重要标志。多功能运算单元可以完成加减、逻辑、移位、数据传送等操作。新一代的DSP内部甚至还包含多个并行的运算单元。以提高其处理能力。


针对滤波、相关、矩阵运算等需要大量乘和累加运算的特点,DSP的算术单元的乘法器和加法器,可以在一个时钟周期内完成相乘、累加两个运算。近年出现的某些DSP如ADSP2106X、DSP96000系列DSP可以同时进行乘、加、减运算,大大加快了FFT的蝶形运算速度。


(2)       总线结构


传统的通用处理器采用统一的程序和数据空间、共享的程序和数据总线结构,即所谓的冯·诺依曼结构。DSP普遍采用了数据总线和程序总线分离的哈佛结构或者改进的哈佛结构,极大的提高了指令执行速度。片内的多套总线可以同时进行取指令和多个数据存取操作,许多DSP片内嵌有DMA控制器,配合片内多总线结构,使数据块传送速度大大提高。


   如TI公司的C6000系列的DSP采用改进的哈佛结构,内部有一套256位宽度的程序总线、两套32位的数据总线和一套32位的DMA总线。ADI公司的SHARC系列DSP采用超级哈佛结构(Super Harvared Architecture Computer),内部集成了三套总线,即程序存储器总线、数据存储器总线和输入输出总线。


(3) 专用寻址单元


DSP面向数据密集型应用,伴随着频繁的数据访问,数据地址的计算也需要大量时间。DSP内部配置了专用的寻址单元,用于地址的修改和更新,它们可以在寻址访问前或访问后自动修改内容,以指向下一个要访问的地址。地址的修改和更新与算术单元并行工作,不需要额外的时间。


DSP的地址产生器支持直接寻址、间接寻址操作,大部分DSP还支持位反转寻址(用于FFT算法)和循环寻址(用于数字滤波算法)。


(4) 片内存储器


针对数字信号处理的数据密集运算的需要,DSP对程序和数据访问的时间要求很高,为了减小指令和数据的传送时间,许多DSP内部集成了高速程序存储器和数据存储器,以提高程序和数据的访问存储器的速度。


如TI公司的C6000系列的DSP内部集成有1M~7M位的程序和数据RAM;ADI公司的SHARC系列DSP内部集成有0.5M~2M位的程序和数据RAM,Tiger SHARC系列DSP内部集成有6M位的程序和数据RAM。


(5) 流水处理技术


    DSP大多采用流水技术,即将一条指令的执行过程分解成取指、译码、取数、执行等若干个阶段,每个阶段称为一级流水。每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等操作,从而在不提高时钟频率的条件下减少了每条指令的执行时间。


(6) DSP与其它处理器的差别


数字信号处理器(DSP)、通用微处理器(MPU)、微控制器(MCU)三者的区别在于:DSP面向高性能、重复性、数值运算密集型的实时处理;MPU大量应用于计算机;MCU则适用于以控制为主的处理过程。


DSP的运算速度比其它处理器要高得多,以FFT、相关为例,高性能DSP不仅处理速度是MPU的 4~10倍,而且可以连续不断地完成数据的实时输入/输出。DSP结构相对单一,普遍采用汇编语言编程,其任务完成时间的可预测性相对于结构和指令复杂(超标量指令)、严重依赖于编译系统的MPU强得多。以一个FIR滤波器实现为例,每输入一个数据,对应每阶滤波器系数需要一次乘、一次加、一次取指、二次取数,还需要专门的数据移动操作,DSP可以单周期完成乘加并行操作以及3~4次数据存取操作,而普通MPU完成同样的操作至少需要4个指令周期。因此,在相同的指令周期和片内指令缓存条件下,DSP的运算送到可以超过MPU运算速度的4倍以上。


正是基于 DSP的这些优势,在新推出的高性能通用微处理器(如Pentium、Power PC 604e等)片内已经融入了 DSP的功能,而以这种通用微处理器构成的计算机在网络通信、语音图像处理、实时数据分析等方面的效率大大提高。


1.3 数字信号处理器的发展历史自1982年第一片数字信号处理器TMS320C10产生以来,DSP的发展大致经历了四个阶段,也形成了目前DSP产品的四代产品。


1.  第一代DSP


1982年TI(Texas Instruments)公司推出的TMS320C10是第一代DSP的代表,它是16位定点DSP,首次采用哈佛结构,完成乘累加运算时间为390ns, 处理速度较慢。


2.  第二代DSP


1987年Motorola公司推出了DSP56001, 它是24位定点DSP,完成乘累加运算时间为75ns,其它产品如AT&T公司的DSP16A,ADI(Analog Devices Inc.)公司的ADSP-2100,TI公司的TMS320C50等,代表了第二代DSP产品。


3.  第三代DSP


1995年出现了第三代定点DSP产品,如Motorola公司的DSP56301,ADI公司的ADSP-2180,TI公司的TMS320C541等。这些产品改进了内部结构,增加了并行处理单元,扩展了内部存储器容量,提高了处理速度,指令周期大约20ns左右。同期出现了功能更强的32位浮点处理的DSP,如Motorola公司的DSP56000,TI公司的TMS320C3X,ADI公司的ADSP-21020等。


4.  第四代DSP


最近几年推出了性能更高的第四代处理器,包括并行处理结构DSP和超高性能DSP,如ADI公司的32位浮点处理器SHRAC系列ADSP2106X、TI公司的TMS320C4X等,以及近两年TI公司推出的并行处理定点系列TMS320C62XX、浮点系列TMS320C67XX,ADI公司的并行处理浮点系列ADSP21160和TigerSHARC系列ADSP-TS101S等。


目前DSP生产厂家中最有影响的是TI公司、ADI公司、AT&T公司和Motorola公司。其中TI公司和ADI公司的产品系列最全,市场占有率最高。


DSP处理器有定点处理和浮点处理两大类,适用于不同场合。早期的定点处理DSP可以胜任大多数数字信号处理应用,但其可处理的数据的动态范围有限,如16 bit定点 DSP动态范围仅 96 dB。在某些数据的动态范围很大的场合,按定点处理可能会发生数据溢出,在编程时需要使用移位定标措施或者用定点指令模拟浮点运算,使程序执行速度大大降低。浮点处理器的出现解决了这些问题,它拓展了数据动态范围。浮点DSP的综合性能优于定点DSP,在相同的指令周期内,它既可以完成32位定点运算,也可以完成浮点运算。而且其汇编源程序容易编写、可读性好、调试方便。


随着DSP本身的不断发展,它的开发工具也不断发展和完善。早期的DSP开发只能使用简单的命令行式的编译器和链接器,使用汇编语言编程,缺乏调试工具,因此开发难度大、周期长。近几年来,DSP的开发工具向可视化发展,DSP生产厂家和第三方提供了各种软件开发环境和硬件仿真调试工具,支持DSP的程序开发。如TI公司的Code Composer系列(cc2000,cc5000,cc6000),ADI公司的VisualDSP++等。硬件调试工具普遍采用JTAG扫描方式支持在线调试、支持多处理器调试,调试还提供了各种评估板。软件和硬件调试工具的发展,使DSP程序的开发过程变得相对容易。此外



目前许多类型的DSP开发过程中可以使用C编译器,简化了开发过程。但是针对定点DSP的C编译器编译效率不高,而浮点DSP的C编译器的效率很高,这使得浮点DSP的程序开发更简单和方便,缩短了开发周期,降低了开发成本。


随着集成电路技术的进步,DSP处理器的运算能力不断提高,从早期的5MIPS(百万条指令/秒),目前已经达到1GFLOPS(千兆次浮点运算/秒)以上,如TI公司的TMS320C6201和TMS320C6701处理能力达到1GFLOPS ,ADI公司的ADSP-TS101S到达1.5GFLOPS。但对于某些信号处理应用而言,要求处理能力达到每秒几百亿、上千亿次运算。这可以通过提高DSP主频或者通过并行处理来满足,提高主频所遇到的难度和付出的成本越来越大,单处理器性能的提高受到许多因素的限制。因此很多DSP处理器具有多处理器扩展接口,可以方便的实现多处理器并行处理结构,如TI公司的TMS320C4X,ADI公司的ADS-2106X等。新型DSP内部引入了并行处理技术,以满足处理速度的要求,如TI公司的TMS320C6201和TMS320C6701 ,ADI公司的ADSP-TS101S等。


1.4 数字信号处理器的应用领域    随着DSP性能的迅速提高和成本的大幅度下降,DSP的应用范围不断扩大,成为当前产量和销售量增长最快的电子产品之一。DSP应用几乎遍及整个电子领域,常见的典型应用有:


    1.通用数字信号处理


    数字滤波、卷积、相关、FFT、希尔伯特变换、自适应滤波、窗函数产生、波形发生等。


    2.通信


    高速调制解调器、编/译码器、自适应均衡器、传真、程控交换机、蜂房移动电话、数字基站、数字留言机、回音消除、噪声抑制、电视会议、保密通信、卫星通信、TDMA/FDMA/CDMA等各种通信制式。随着互联网络的迅猛发展,DSP又在网络管理/服务、信息转发、IP电话等新领域扮演着重要角色,而软件无线电的提出和发展进一步增强了DSP在无线通信领域的作用。


    3.语音处理


    语音识别、合成、矢量编码、语音信箱。


    4.图形/图像处理


    三维图像变换、模式识别、图像增强、动画、电子出版、电子地图等。


    5.自动控制


    磁盘、光盘、打印机伺服控制、发动机控制、电机驱动等。


    6.仪器仪表


    测量数据谱分析、自动监测及分析、暂态分析、勘探、模拟试验。


    7.医学电子


    助听器、CT扫描、超声波、心脑电图、核磁共振、医疗监护等。


    8.军事与尖端科技


    雷达和声纳信号处理、雷达成像、自适应波束合成、阵列天线信号处理、导弹制导、火控系统、战场C3I系统、导航、全球定位GPS、目标搜索跟踪、尖端武器试验、航空航天试验、宇宙飞船、侦察卫星。


    9.计算机与工作站


    阵列处理机、计算加速卡、图形加速卡、多媒体计算机。


    10.消费电子


数字电视、高清晰度电视、图像/声音压缩解压器、VCD/DVD/CD播放机、电子玩具、游戏机、数字留言/应答机、汽车电子装置、音响合成、住宅电子安全系统、家电电脑控制装置。     


1.5  ADI公司的DSP系列简介ADI公司提供了完整DSP系列,适合于各种信号处理的需要。它包括16位的定点DSP产品ADSP-21xx系列和Blackfin DSP ADSP-215xx系列,32位的浮点DSP产品SHARC系列和TigerSHARC系列,混合信号处理DSP产品DASP-2199X系列,嵌入式电机控制DSP系列ADMCxxx系列等。

相关帖子

沙发
vivilzb1985| | 2016-11-20 19:28 | 只看该作者
数字信号处理器的特点数字信号处理相对于模拟信号处理有很大的优越性,表现在精度高、灵活性大、可靠性好、易于大规模集成等方面。这个是考虑的重点的。

使用特权

评论回复
板凳
wag1| | 2016-11-20 22:39 | 只看该作者
同是小萌新..........

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

967

主题

1447

帖子

9

粉丝