《DSP应用技术之一.ppt》由会员分享,可在线阅读,更多相关《DSP应用技术之一.ppt(80页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 数字信号处理系列课程 DSP应用技术DSP 应用技术之一 刘明1 数字信号处理系列课程 DSP应用技术数字信号处理技术课程体系n信号与系统n离散时间数字信号处理nDSP芯片技术原理与应用n实时数字信号处理系统设计2 数字信号处理系列课程 DSP应用技术DSP芯片技术原理与应用n数字信号处理芯片技术综述 DSPs发展、分类、结构功能特点、性能指标、选型原则、应用nTMS320C2000系列DSPs芯片结构 结构框图、片内外设、存储器与I/O空间、程序控制与中断管理nTMS320C2000软件设计 寻址方式与汇编指令、汇编语言详解、CCS开发环境3 数字信号处理系列课程 DSP应用技术实时数字信
2、号处理系统设计n实时数字信号处理概述 实时概念、数字信号处理概念、量化与舍入、定点与浮点n实时处理系统构成 通用计算机、单片机、可编程DSP芯片、专用DSP芯片、可编程逻辑器件FPGAn实时信号处理的主要技术 数据采集技术、数据存储技术、电路集成技术、信号产生技术、总线接口技术、并行算法体系结构n系统设计方法 系统需求、总体设计、硬件设计、软件设计、系统集成4 数字信号处理系列课程 DSP应用技术参考教材nTMS320C2000系列DSP原理及应用技术 何苏勤 王忠勇 电子工业出版社nDSP基础与应用系统设计 王念旭 北京航天航空大学出版社nDSP技术的发展与应用 彭启琮 李玉柏 管庆 高等教
3、育出版社nDSP芯片的原理与开发应用 张雄伟 曹铁勇 电子工业出版社nDSP集成开发环境CCS开发指南 尹勇 欧光军 关荣锋 北京航天航空大学出版社5 数字信号处理系列课程 DSP应用技术参考教材n实时信号处理信号处理系统设计与实现 李玉柏 杨乐 李征 译 电子工业出版社nDSP应用系统设计 朱铭锆 赵勇 甘泉 电子工业出版社nCadence PCB设计与制板 周润景 袁伟亭 刘晓滨 电子工业出版社n TMS320C20 x Users Guide Texas Instruments Incorporatedn TMS320F/C24x DSP Controllers Reference Gu
4、ide Texas Instruments Incorporated6 数字信号处理系列课程 DSP应用技术一 数字信号处理概述n1.1 DSP技术概念n1.2 数字信号处理优势n1.3 DSP实际应用n1.4 实时数字信号处理概念n1.5 实时处理系统组成n1.6 通用DSPs芯片介绍n1.7 DSPs芯片特点n1.8 DSPs实现高速运算的途径n1.9 DSP芯片性能指标以及选型依据7 数字信号处理系列课程 DSP应用技术1.1 DSP技术概念DSP与与DSP技术技术Digital Signal Processing:数字信号处理理论和方法Digital Signal Processor:
5、可编程的用于数字信号处理的微处理器DSP技术:将通用的或专用的DSP处理器用于完成数字信号处理的方法和技术8 数字信号处理系列课程 DSP应用技术DSP技术的发展可分为两个领域:技术的发展可分为两个领域:数字信号处理理论和方法在近些年来得到迅猛发展。各种快速算法,声音与图像的压缩编码、识别,加密解密,调制解调,信道辨识与均衡,智能天线,时频分析等都是当前研究的热点。这些理论为各种实时处理的应用提供了算法基础。随着微电子科学与技术的进步,DSP处理器的性能也在迅速提高。目前的工艺水平,90nm线宽的DSP产品已经面世,时钟频率1GHz,每秒80亿次整数运算,数据吞吐率达到了2Gbyte/s。在性
6、能大规模提高的同时,芯片体积、功耗和成本大幅度地下降,以满足低成本便携式电池供电应用系统的要求。9 数字信号处理系列课程 DSP应用技术DSP处理器主要性能的发展以及对将来的影响典型DSP处理器性能1980199020002010工艺水平(nm)300080010020速度(MIPS)540500050000RAM(Byte)2562K32K1M功耗(mW/MIPS)25012.50.10.001价格($)1501550.15MIPS:百万指令每秒10 数字信号处理系列课程 DSP应用技术1.2 数字信号处理优势n可控性强n稳定性高n精度高n抗干扰性能强n实现自适应性n数据压缩n大规模集成11
7、 数字信号处理系列课程 DSP应用技术可控性可控性强强 对于以DSP处理器为核心的数字系统而言,可以设计一个硬件平台,然后用各种软件来执行各种各样的数字信号处理任务。改变系统的功能与性能时,只需要改变相应的软件或软件中的参数,而不需要改变硬件电路。这使得可编程DSP处理器为核心的数字信号处理系统具有极大的灵活性,是传统模拟系统无法比拟的。数字滤波器通过重新编程来实现低通、高通、带通等不同的滤波任务软件无线电技术是在一个高性能DSP处理器为核心的硬件平台上实现不同工作模式的电台通信虚拟仪器技术是以在同一硬件平台上实现传统仪器的测量任务12 数字信号处理系列课程 DSP应用技术稳定性好稳定性好 模
8、拟电路中的电阻、电容、电感和运算放大器等器件的参数特性,都会随着温度、电磁、震动、压力等外界环境的改变而改变,也会随着时间的改变而改变。这些影响都会导致系统精度的下降,甚至导致系统不能正常工作。而数字电路系统只有两个电平“1”,“0”,在器件正常工作的条件下,噪声以及环境的影响一般不会影响结果的正确性和准确性。另外,由于DSP系统采用大规模集成电路,其故障率远比采用分立元件构成的模拟系统的低。13 数字信号处理系列课程 DSP应用技术精度高精度高 模拟网络中的元件(例如电阻、电容、电感等)精度很难达到10-3以上,所以由模拟网络组成的系统精度要达到10-3以上就很困难。而数字系统17位字长就可
9、以达到10-6精度。因此,如果使用DSP,D/A来代替系统中的模拟网络,并有效提高A/D和D/A部分的精度将有效提高系统的整体精度。在一些高精度的系统,有时甚至只有采用数字技术才可以达到精度要求。例如,雷达技术中的脉冲压缩,要求正、副瓣之比达到35dB或40dB,理论上虽然可行,但在模拟实现时实际上受到元件精度的限制,只能达到30dB左右。而用数字脉冲压缩,8位AD,就可以达到40dB,且动态范围可以达到60dB。14 数字信号处理系列课程 DSP应用技术抗干扰性能强抗干扰性能强 信号在处理和传输过程中受到噪声干扰是不可避免的。例如,环境对声音和图像信号的干扰,多次复制录像带所加入的噪声等等。
10、要在被干扰的模拟信号中完全去除噪声非常困难,甚至不可能。数字信号抗干扰性能大大优于模拟信号,以0、1所表征的数字信号虽然也会受到噪声的干扰,但是只要能够正确识别0、1电平,就可以将其再生,则可以完全消除噪声的影响。迅速发展的各种数字纠错编码技术,能够在极为复杂的噪声环境中,甚至信号完全被噪声淹没的情况下,正确的识别和恢复原有的信号。应用:数字电视15 数字信号处理系列课程 DSP应用技术实现自适应算法实现自适应算法 从信号与系统的角度讲,自适应就是使系统的特性随输入信号的改变而改变,从而在某种准则下,得到最优的输出。例如,IP电话中的回声会严重影响服务质量,必须加以消除。但回声的幅度和延时量随
11、时都在改变,只有使用自适应系统才能将其消除。就模拟系统而言,只有改变系统的设计和元器件参数,才能改变系统特性,因而很难实现实时自适应。以DSP处理器为核心的数字系统,已经成为实现各种自适应算法的首选。对于特定的自适应算法,它能根据确定的准则,实时的改变系统的参数,从而实现自适应;对于不同的自适应算法,只需要更换适当的软件。16 数字信号处理系列课程 DSP应用技术数据压缩数据压缩 随着对信号质量的要求越来越高(例如高保真音响系统Hi-Fi和高清数字电视HDTV),信号传输的带宽和存储的代价也越来越高。其传输成本就很大,必须加以压缩。模拟信号的信息量也可以进行压缩,例如限制信号的带宽,但付出代价
12、是带宽的变窄,信号的质量会受到很大的影响,造成图像与声音的失真。对数字信号的压缩要有效的多。随着数字信号处理中的压缩算法的不断改进,已经可以在对原有信号质量影响很小的前提下,取得很高的压缩比。减轻数据传输和存储的负担。17 数字信号处理系列课程 DSP应用技术大规模集成大规模集成 随着微电子科学与技术的发展,集成电路已经不再是数字电路的专利。近年来,出现了大量的模拟集成电路和模拟/数字混合集成电路,但从可选择的种类、集成度、功能与性能、性价比等诸方面比较而言,还是不能和超大规模数字集成电路相比。数字部件具有高度规范性,便于大规模集成、大规模生产,且数字电路主要工作在截止饱和状态,对电路要求不严
13、格,因此产品的成品率高,价格日趋下降。DSP处理器,就是基于超大规模数字集成电路技术和计算机技术而发展起来的、适合于数字信号处理的高速高位微处理器。在DSP系统中,DSP芯片、FPGA、CPLD等都是高集成度产品,加上采用表面贴装技术,系统尺寸得以大幅度压缩。18 数字信号处理系列课程 DSP应用技术模拟信号处理不可替代模拟信号处理不可替代 自然界的信号绝大多数都是模拟信号 从自然界采集并需处理的都是诸如声音、图像、温度等模拟信号,必须首先用数模混合电路加以调理(滤波、整形、放大),而后进行AD转换变成数字信号进行数字处理。模拟信号处理系统从根本上说是实时的 很多信号,要求其处理系统必须是实时
14、的,譬如雷达、通信等等。数字处理本质上是通过计算来实现的,虽然DSP处理速度很快,但对大运算量复杂的算法往往不能实时完成。而模拟信号除了系统延时外,从根本上是实时的。射频(RF)信号的处理要由模拟系统来完成 电磁波是一种重要的资源,数字基带信号需要调制才能发射出去。其射频信号的发送和接收只有依靠模拟系统来完成。19 数字信号处理系列课程 DSP应用技术1.3 数字信号处理技术应用20 数字信号处理系列课程 DSP应用技术21 数字信号处理系列课程 DSP应用技术1.4 实时数字信号处理概念 信号处理的实质是对信号进行变换,目的是获取信号中包含的有用信息,并用更直接的方式进行表达。数字信号处理就
15、是用数字的方法对信号进行变换来获取有用信息,如离散傅里叶变换(DFT)就是最常用的DSP算法。实时指的是系统必须在有限的时间内完成外部输入信号的指定处理,即信号处理速度必须大于等于输入信号更新的速度,而且从信号输入到处理后输出的延迟必须足够的小。譬如一个制导系统的输出延迟就要求在几毫秒以内。22 数字信号处理系列课程 DSP应用技术常见信号的典型数据率23 数字信号处理系列课程 DSP应用技术 不同类型的信号所要求的实时信号处理速度相差很大。如对一个音频信号,假设用40KHz时钟采样,样本数据字长16bit,则该信号的输入数据率就是80KB/s,它对实时处理速度的要求是大于等于80KB/s。对
16、于一个每帧数据字长51251216bit、传输速率为30帧/秒的图像信号,其输入数据率是15MB/s,因而它对实时处理速度的要求是大于等于15MB/s。由此而知,对实时信号处理速度的要求与原始模拟信号带宽以及数据格式(字长、维数)等因素是密切相关的。目前单片DSPs的处理能力已达到每秒48亿条指令(4800MIPS)和每秒10亿次浮点操作(1GFLOPS)的水平,使实时信号处理的应用空间越来越广阔。24 数字信号处理系列课程 DSP应用技术1.5 实时DSP系统组成n实时DSP系统实现框图nDSP子系统的实现方式n通用DSPs构成的子系统nDSP系统典型数据处理方式25 数字信号处理系列课程
17、DSP应用技术实时实时 DSP系统实现框图系统实现框图 实时信号处理系统要处理的信号多为自然信号,因此首先需要通过传感器将自然信号转换为电信号。其次要对自然界的信号进行数字处理,就必须通过A/D子系统将其转换为数字形式。DSP子系统完成数字处理后,有时还必须要通过D/A子系统把处理后的数字信号重新还原为模拟信号。DSP子系统是整个系统的核心。实时DSP系统实现框图26 数字信号处理系列课程 DSP应用技术DSP子系统实现方式子系统实现方式n 通用微计算机 这种方法缺点是速度太慢,不能用于实时系统,只能用于仿真研究。n 加速处理模块 在通用微机内部加入专用的加速处理模块,微机作为系统控制使用。缺
18、点是不适合嵌入式应用。n 单片机(MCS51)单片机采用的是冯诺依曼总线结构,用它构成的系统比较复杂,尤其是乘法运算速度慢,在运算量大的实时控制系统中很难有所作为。27 数字信号处理系列课程 DSP应用技术n 专用DSP芯片 专用DSP芯片可用于FFT、FIR、卷积、相关等高速运算。一般速度较快,但是灵活性较差,而且开发工具不完善。n 可编程FPGA器件 利用VHDL或是VerilogHDL硬件开发语言,通过软件编程来改变FPGA内部门阵列结构,最终用硬件实现实现特定数字信号处理算法。这种实现方法具有通用性、并行性,一般作为DSP芯片的协处理器。n 通用可编程DSP芯片 通用可编程DSP芯片有
19、着更适合于数字信号处理的硬件特点和指令系统,而且其性价比随着微电子的发展不断提高,非常适合实现性要求高的应用领域,比如移动通信、基站、雷达信号处理等。28 数字信号处理系列课程 DSP应用技术通用通用DSPs构成的子系统构成的子系统输入信号输出信号前向通道后向通道DSP芯片存储器数字I/O通讯以及人机接口DSP系统译码以及时序控制总线DSP典型系统框图29 数字信号处理系列课程 DSP应用技术前向通道示意图后向通道示意图30 数字信号处理系列课程 DSP应用技术 输入信号可以是电信号、声音信号、物理信号、化学信号、连续信号、数字信号等等。在前向通道中,首先通过传感器将各种信号转化为一定幅值的电
20、信号,再将这些信号进行带限滤波和抽样,然后通过A/D或V/f变换将信号转换为数字比特流,根据仙农采样定律,为保持信息完整性,抽样频率必须是输入带限信号最高频率的2倍。DSP芯片系统可能由一个DSP以及外围总线组成,也可能由多个DSP组成,这完全取决于DSP处理要求。DSP芯片系统的主要任务是将前向通道输出信号按照一定的算法进行处理,然后将处理后的结果以数据流的形式输出给后向通道。后向通道实现数字信号的模拟还原。31 数字信号处理系列课程 DSP应用技术DSP系统典型数据处理方式系统典型数据处理方式n 数据流处理(Stream Processing)数据是在一个输入样本到达后,就立即开始进行与该
21、样本有关的运算,并在下一个样本到达之前完成。这种在下一个样本输入之前完成上一个样本处理的方法称为数据流处理方式。例如数字FIR滤波。优点:其结果是随时更新的。输出样本和其影响的输出结果之间的时延达到理论的最小值。缺点:要求处理器的速度必须足够高,能在下一个样本到达之前完成所有计算。32 数字信号处理系列课程 DSP应用技术数据流处理技术每接收一个样本,就做一次新的运算33 数字信号处理系列课程 DSP应用技术n 块处理(Block Processing)首先将输入样本存放到存储器中,当L个输入样本都到达以后,才开始处理。这种同时处理多个样本的方法称为块处理技术,也叫按帧处理(Frame Pro
22、cessing)。在块处理技术中,输入样本按组存储,当有足够多的样本到达后,开始处理这个样本块。主要应用在输出采样率小于输入采样率(采用间隔T)的场合,其计算时间限制在LT以内。譬如FFT运算。优点:减少频繁读写存储器所带来的额外开销,获得较高处理效率;可以使用较低速度的处理器。缺点:时延以及足够的存储空间。34 数字信号处理系列课程 DSP应用技术块处理技术输入、存储、处理运算之间时序关系35 数字信号处理系列课程 DSP应用技术n 矢量处理(Vector Processing)同时处理多路输入/输出信号的方法,称为矢量处理技术。可以采样数据流技术,也可以使用块处理技术。矢量处理时处理来自多
23、路输入信号的多个同时到达的样本。矢量处理的各路输入数据可以是相关的,也可以是无关的。通常情况下,矢量处理用来计算两个信号之间的相关程度。36 数字信号处理系列课程 DSP应用技术矢量处理技术软件无线电数学模型37 数字信号处理系列课程 DSP应用技术1.6 通用DSPs芯片概述n发展历程及现状nDSP分类38 数字信号处理系列课程 DSP应用技术发展历程发展历程n 第一代:1979年Intel公司开发的2920,1980年Bell实验室开发的DSP20,1982年TI公司开发的TMS32010等。这一代产品特点是采用了哈佛结构,设置了硬件乘法器。n 第二代:1985年TI公司开发的TMS320
24、C20,ADI公司开发的ADSP2100,MOTOROLA公司开发的DSP5600等。与第一代相比,在功能、速度及内存容量方面有了很大突破,并且还强化完善了指令功能及寻址方式。n 第三代:1987年TI公司开发的TMS320C30和1991年开发的TMS320C40,MOTOROLA公司开发的DSP96002,ADI公司开发的ADSP21000系列。这些DSPs芯片都是32位浮点格式,其特点是高速、高功能、高内存,能进行32位浮点运算。39 数字信号处理系列课程 DSP应用技术n 第四代:近些年TI公司开发的TMS320C24XX/28XX,TMS320C62XX/67XX/64XX等,ADI
25、公司开发的TS10X/20X,ADSP210XX/211XX系列等。其特点如下:(1)多处理并行工作,TMS320C82一个芯片集成了2个并行处理的DSP核,C84集成了4个DSP核。(2)多处理器系统,TS101通过外部端口和链路口提供了多DSP处理器无缝链接,确保多处理器之间通信的最大带宽。以上两个功能用于对实时性要求很高的场合。该体系结构可以将复杂算法用串行或并行的DSP来加快处理速度。(3)在硬件结构和指令系统中设置了“循环寻址”和“位倒序”指令及其他特殊指令。大大提高了FFT、卷积等运算速度。(4)设置了单独的DMA总线及其控制器以提高外部数据传输能力。40 数字信号处理系列课程 D
26、SP应用技术 C6000 DSP平台提高了性能和成本效益的水准,提供业界最快的DSP,运行速度高达 1GHz。该平台由C64x和C62x定点系列以及 C67x浮点系列组成。应用领域包括宽带基础设施、高性能音频以及视频/成像。性能范围从 1200 到 8000 MIPS和 600 到 1800 MFLOPS。C5000 DSP 是众多应用的理想选择,包括:数字音乐播放器、GPS 接收器、便携式医疗设备、MIPS 密集型语音和数据处理等个人和便携式产品。C55x系列提供业界最低的待机功耗和先进的自动电源管理。C54x系列提供广泛的性能、低功耗操作以及外设和封装的选择。TMS320C2000 DSP
27、平台向数字控制行业提供了一系列优秀的芯片。该平台集成了微控制器的控制外设。C28x系列包括具有片上闪存和高达150MIPS 性能的32位控制器及引脚兼容版本的 ROM。C24x系列提供 20-40MIPS,具有高度集成的外设。德州仪器TI公司DSP产品分类41 数字信号处理系列课程 DSP应用技术美国模拟器件(ADI)公司DSP产品分类42 数字信号处理系列课程 DSP应用技术TigerSHARC系列DSP43 数字信号处理系列课程 DSP应用技术定点与浮点定点与浮点DSP芯片芯片 按照DSP处理器工作的数据格式来分类,DSP可分为定点与浮点型。数据格式用整数来表示的DSP芯片为定点DSP。定
28、点DSP芯片结构相比之下较为简单,乘法-累加(MAC)运算速度快,但运算精度低,动态范围小,这是由于其固定字长有限造成的。定点DSP大都16位或32位,设计时必须考虑数据溢出问题。主要产品有TI公司的TMS320C2000,TMS320C5000以及TMS320C62XX系列,ADI公司的ADSP-218X、ADSP-219X系列等等。44 数字信号处理系列课程 DSP应用技术 数据以浮点格式工作的DSP芯片为浮点DSP芯片。数据的浮点格式用指数和尾数来表示,其动态范围大、运算精度高。通常来说,浮点DSP工作频率低于定点DSP,但是由于其运算精度高,在对性能要求高的实时信号处理中有着广泛的应用
29、。其主要产品有TMS320C3000系列,TMS320C67XX系列,ADSP21XXX系列,TigerSHARC系列。45 数字信号处理系列课程 DSP应用技术1.7 DSPs芯片特点n算术单元n总线结构n流水技术n专用寻址单元n片内存储器n丰富的外设46 数字信号处理系列课程 DSP应用技术1.算术单元算术单元n 硬件乘法器 由于DSP算法的特殊性,乘法操作是DSP的一个主要任务。在通用微处理器中,乘法是由软件实现的,通过时钟控制的一连串“移位-加法”操作完成,因此需要多个指令周期。而在DSPs芯片中,设有硬件乘法器,以提高DSP运算性能。硬件乘法器是DSPs区别通用微处理器的一个重要标志
30、。n 多功能单元 为进一步提高运算速度,DSP内部设置了多个并行操作的功能单元(ALU,乘法器和地址生成器)。如C6000系列DSP内部有8个功能单元(2个乘法器和6个ALU)。这就意味着DSP在相同的时间内能够完成更多的操作,提高了程序执行速度。47 数字信号处理系列课程 DSP应用技术2.总线结构总线结构 通用微处理器基于成本上的考虑,通常采用冯诺依曼总线结构:统一的程序和数据空间,共享的程序和数据总线。统一的编址依靠指令计数器提供的地址来区分指令与地址。由于总线的限制,微处理器执行指令时,取指与存取操作数共享内部总线,因而指令只能串行执行。显然不适合具有高实时性要求的数字信号处理技术。4
31、8 数字信号处理系列课程 DSP应用技术冯诺依曼总线结构49 数字信号处理系列课程 DSP应用技术 对于面向数据密集型算法的DSPs而言,冯诺依曼总线结构使系统性能受到很大的限制,因此DSPs采用了程序总线和数据总线分离的哈佛总线结构,它使得程序和数据具有独立的存储空间。虽然使DSPs结构变得复杂,但是由于可以同时对数据和程序进行寻址,同时取指与取操作数,大大的提高了数据处理能力,非常适合实时的数字信号处理。TI公司在其基础上,对哈佛结构做了改进,在数据总线和程序总线之间添加了局部的交叉连接。这一改进允许数据存放在程序存储器中,并被算术运算指令之间使用,增强了芯片的灵活性。另外,DSPs芯片增
32、加了高速缓存Cache,允许常用指令存放在其中。当指令被选中时,不需要从程序存储器中读取指令,节省了一个指令周期时间。这被称为改进的哈佛结构。50 数字信号处理系列课程 DSP应用技术哈佛总线结构51 数字信号处理系列课程 DSP应用技术改进的哈佛总线结构52 数字信号处理系列课程 DSP应用技术3.流水技术流水技术 指令的执行总要经过取指、译码、取操作数、执行等若干阶段,需要若干个指令周期才能完成。流水技术是将各指令的各个步骤重叠起来执行,即使得若干条指令的不同执行阶段可以处于同一时刻并行处理,这样每一个阶段称作一个流水。理想情况下,一条k个流水能在k+(n-1)个周期内处理n条指令。在指令
33、数n较大时,流水线的填充和排空时间可以忽略不计,可以认为每个周期内执行的最大指令数为k,即流水线在理想情况下效率为1。流水技术是提高DSPs程序执行效率的另一个主要手段。DSPs处理器所采用的将程序储存空间与数据存储空间分开的哈佛总线结构,为采用流水技术提供了很大的方便。53 数字信号处理系列课程 DSP应用技术TMS320C62x/64x系列DSP流水线结构PG:程序地址产生PS:程序地址发送PW:程序访问等待PR:程序取指包接收DP:指令分配DC:指令译码E1E5:执行级的5个节拍54 数字信号处理系列课程 DSP应用技术4.专用寻址单元专用寻址单元 DSPs是面向数据密集型应用,随着频繁
34、的数据访问,数据地址的计算时间也线性增长。如果不在地址计算上作特殊考虑,有时计算地址的时间比实际的算术操作时间还长。例如,8086做一次加法需要3个时钟周期,但是计算一次地址却需要512个时钟周期。因此,DSPs通常都有支持地址计算的算术单元地址产生器。地址产生器与ALU并行工作,因此地址的计算不再额外占用CPU时间。DSPs的地址产生器一般都支持直接寻址、间接寻址。而且有些DSPs还能够支持位反转寻址(用于FFT计算)和循环寻址(用于FIR计算),如TMS320C6000就支持循环寻址。55 数字信号处理系列课程 DSP应用技术5.片内存储器片内存储器 存储器访问速度对处理器的性能影响很大。
35、现代微处理器内部一般都集成有高速缓存器(cache),但是片内一般不设存储程序的ROM和存储数据的RAM。这是因为通用微处理器的程序一般都很大,片内存储器不会给处理器性能带来明显改善。而DSP算法的特点是需要大量的简单计算,相应地其程序就比较短小,存放在DSPs片内就可以减少指令的传输时间,并有效缓解芯片外部总线接口的压力。除了片内程序存储器外,DSPs内一般还集成有数据RAM,用于存放参数和数据。片内数据存储器不存在外部存储器的总线竞争问题和访问速度不匹配问题,因此访问速度快,缓解了DSPs的数据瓶颈,充分利用DSPs强大的处理能力。甚至有些DSPs还可以将存储器配置为程序Cache或数据C
36、ache来使用。56 数字信号处理系列课程 DSP应用技术6.丰富的外设丰富的外设 DSPs芯片为了自身工作的需要和与外部环境的协调,往往都配置了丰富的外设。一般说来,DSPs芯片的外设主要包括:时钟发生器(振荡器与锁相环PLL)定时器(Timer)软件可编程等待状态发生器,以便使较快的片内设施与较慢的片外电路及存储器相协调 通用数字I/O 同步串口(SSP)与异步串口(ASP)主机接口(HPI)JTAG边界扫描逻辑电路(IEEE 1149.1标准),便于对DSPs芯片作片上的在线仿真,以及多DSPs芯片条件下的调试。57 数字信号处理系列课程 DSP应用技术1.8 DSP处理器实现高速运算途
37、径n硬件乘法器及乘加单元n多个执行单元n高效的存储器访问n数据格式n零循环开销n数据流的线性I/On专门的指令集58 数字信号处理系列课程 DSP应用技术1.硬件乘法器及乘加单元硬件乘法器及乘加单元 FIR滤波器从数学上可以表示为xh,其中x是输入信号向量,h是滤波器的系数向量。FIR滤波器算法的主要部分也就是两个向量的点积,即乘和加。这些运算并不仅仅对FIR滤波器是重要的,事实上,乘法以及乘积的累加,是最常见的信号处理运算之一,在卷积、向量和矩阵运算、滤波器、傅里叶变换中也用得非常多。通用的微处理器作乘法,是用一系列移位和加法运算来实现的,每一步都需要一个到几个时钟周期。使用专门的硬件乘法器
38、,可以在单个时钟周期内计算一次乘法。正因为这个原因,现代的DSP处理器都具有至少一个专门的单周期乘法器,或组合的乘加单元(MAC)。59 数字信号处理系列课程 DSP应用技术2.多个执行单元多个执行单元 DSP的应用,往往都有繁重的计算任务,因为通常执行的DSP算法(如以上作为例子的FIR滤波器)要求对越来越高频率的采样信号作处理。因此,DSP处理器往往包含若干个独立的执行单元,进行并行处理。例如,除MAC单元外,还有算术逻辑单元(ALU)和移位器。TMS320C2000就可以依靠一条MACD指令在一个指令周期完成乘法、累加、数据搬移操作,大大提高了FIR滤波器计算效率。60 数字信号处理系列
39、课程 DSP应用技术3.高效的存储器访问高效的存储器访问 在每一个时钟周期内执行一个MAC,不仅要求一个单周期MAC单元,还要求在一个周期内从存储器提取MAC指令、数据样本以及滤波器系数。因此,要求DSP处理器有较高的存储器宽度。为此,DSP处理器采用了和通用微处理器不同的结构,支持单周期内多次访问存储器。最通常的方法是用两个或多个分开的存储器组,每个都有自己的总线,在单周期内访问。通常,将指令存储在一个存储空间里,而将数据存储在另一个存储空间里。这样,处理器就可以在一个周期内并行地提取指令和数据。这就是哈佛结构。因为许多DSP算法中每个指令需要两个操作数,因此又在处理器核的附近,设置了指令高
40、速缓存器(Cache)。当循环执行一个比较小的指令组时,就将指令存入cache,而将指令总线空出来提取数据,从而保证在单周期内执行一个MAC指令。61 数字信号处理系列课程 DSP应用技术 存储器的高带宽往往还需要专门的硬件来支持存储器地址的计算。这些专门的地址产生单元(DAG)与DSP处理器的主要执行单元并行工作。DSP算法的存储器访问,具有很强的可预测性。DSP处理器的地址产生单元其优点在于它支持专门的寻址模式,使处理器能够高效地访问数据。最通常使用的模式是访问后增量的寄存器间接寻址,在循环访问按顺序存放在存储器中的数据时,地址指针会自动递增。如果没有这个特性,程序员就只好花费额外的指令来
41、使地址指针递增。许多DSP处理器还支持“循环寻址”,使处理器按顺序访问一个数据块,然后自动地返回到开始的地址。譬如FIR滤波器中的系数访问。62 数字信号处理系列课程 DSP应用技术4.数据格式数据格式 多数的DSP处理器采用定点数据格式,而不是科学应用中通常使用的浮点格式。在浮点格式里,数字用指数与尾数来表示,它能表示的值的范围要宽得多,从而避免了大多数应用中的溢出问题。出于成本和功耗等因素的考虑,定点DSP使用较多。在同样的处理速度下,与浮点处理器相比,定点处理器比较便宜,功耗也比较小,这是因为浮点处理器的格式要求比较复杂的硬件才能实现。大多数定点DSP处理器都采用32位数据字,因为对于许
42、多DSP应用来说,这已经可以满足要求了。为了保证使用定点数据的信号质量,DSP处理器都有专门的硬件确保运算后的数据精度。例如,多数DSP芯片都有一个或几个累加器,来保存若干次乘积的累加结果。累加器的数据宽度要比其他的寄存器宽,并支持溢出位、饱和运算、舍入、移位等,这些都可以起到保证数据精度的作用。63 数字信号处理系列课程 DSP应用技术5.零开销循环零开销循环 DSP的算法往往需要将大量的处理时间花费在反复执行软件中的一小部分,例如循环。因此,大多数DSP处理器都要对高效的循环提供专门的支持。往往要提供专门的循环指令,在无须花费任何时钟周期的情况下,实现FORNEXT循环。往往将这种特性称为
43、“零开销循环”。6.数据流的线性数据流的线性I/O 为了达到高性能低成本的输入和输出,大多数DSP处理器都有一个或多个专门的串口或并口,并采用线性的处理机制,例如低开销的中断和DMA,使得数据的传输不影响或尽可能少地影响处理器计算单元的工作。64 数字信号处理系列课程 DSP应用技术7.专门的指令集专门的指令集 DSP处理器的指令集的设计目的有两个:首先是最大限度地使用处理器的基本硬件,以便提高效率;其次是将程序所使用的存储空间减到最小,因为DSP的应用往往对成本非常敏感,而存储器的成本对处理器的成本乃至系统的成本影响甚大。为了达到第一个目的,传统的DSP处理器的指令集都允许在单个指令里并行完
44、成若干个操作。典型的情况是,在完成主要的算术运算的同时,并行地从存储器提取一个或两个数据,并完成地址指针的更新。为了达到第二个目标,指令要短,使用最少的存储器单元,尽可能使用寄存器来完成操作,以及将多个操作合并在一条指令中。为了进一步减小指令所要求的位数,DSP处理器往往使用状态寄存器中的模式位来控制处理器操作的某些特性,如舍入或饱和,而不是将这些信息作为指令的一部分。65 数字信号处理系列课程 DSP应用技术 采用这些措施的结果,是使DSP处理器具有高度专门化的、复杂且不规则的指令集。但DSP处理器的程序员则不同,大量的程序是用汇编语言编写的(至少要对一部分高级语言程序作优化)。之所以不能单
45、纯地只用高级语言来编写DSP程序,有两个主要的原因。首先,以c语言为代表的广泛使用的高级语言,并不适合用来描述DSP的算法。其次,传统的DSP的结构,如多个存储器空间、多组总线、不规则的指令集以及高度专门化的硬件等,都使高级语言编译器编译效率的提高变得非常困难。确实可以用编译器将c原代码编译成为DSP的汇编代码,但为了保证程序的高效性,程序员就必须对最关键的部分用汇编语言作优化。DSP的应用往往有很大的计算量,又受到成本的严格限制,这就使得程序的优化成为必然。66 数字信号处理系列课程 DSP应用技术1.9 DSP芯片性能指标及选型依据nDSP评价方法n选型依据67 数字信号处理系列课程 DS
46、P应用技术1.DSP评价方法评价方法 传统性能评价:MIPS Millions of Instructions per Second 百万指令每秒MOPSMillions of Operations per Second 百万操作每秒MFLOPSMillions of Float Operations per Second 百万浮点操作每秒MACSMultiply-Accumulates per Second 乘加次数每秒68 数字信号处理系列课程 DSP应用技术69 数字信号处理系列课程 DSP应用技术70 数字信号处理系列课程 DSP应用技术 无论是MIPS、MOPS、MFLOPS还是MA
47、CS都不能顾及存储器的使用和功耗等方面的性能,从而造成严重的局限。如果应用程序超出了片内的存储器容量,执行时间就没有意义可谈了。因为,当应用程序大到要求使用速度较慢的片外存储器时,处理器的速度就会大大地降低。同样,在便携式应用的情况下,功耗超出了电池容量可能支持的处理器是没有用处的。许多DSP的厂商给出了在一定时钟频率下的“典型”功耗。但是,功耗是随着不同的指令和数据值而改变的,因此,没有给出指令和数据条件下的功耗指标,是不可靠的。更何况,这样的指标往往没有考虑处理器可能具有的节电模式。还应该注意的是,对设计者来说,决定电池寿命的能耗比功耗更重要。例如,在同样的应用中,一个很快完成其工作然后进
48、入节电模式的DSP处理器,可能比另外一个功耗较低的DSP处理器所消耗的能量要少。因此,在评价DSP处理器时,能耗更显重要。71 数字信号处理系列课程 DSP应用技术 核心算法评价 BDTI(Berkeley Design Technology lnc)提出了一种使用核心算法和应用测试的方法。它是介于过于简单的MIPS类指标和过于复杂的完全基于应用的指标之间的方法。核心算法是构成大多数信号处理系统的基本模块,其中包括FFT、滤波器等。BDTI核心算法函数描述应用举例复数块FIR复数块有限冲击响应滤波器调制解调器的信道均衡实数样本FIR单个样本数据的FIR计算语音处理,通用滤波向量点积两个向量的点
49、积运算卷积、相关、多维信号处理向量和两个向量叠加图形、声音图像信号组合Viterbi译码器对卷积编码的数据块译码纠错编码控制转移,压栈,出栈,调用控制代码256点FFT时频转换雷达、MPEG压缩、谱分析72 数字信号处理系列课程 DSP应用技术 这些算法需要统计程序执行时间、存储器的使用和能耗等指标,用于不同DSP的比较。大多数的指标都涉及将输入数据的集合转换为输出数据的集合。控制指标是一个例外,它包括常常用到的条件转移和子程序调用等。例如在控制代码当DSP的应用越来越复杂,系统的设计者试图作高水平的系统集成时,DSP处理器就越来越多地执行控制功能。除了控制指标,BDTI对其他指标的优化集中在
50、执行时间。而控制指标的优化则在于存储器的使用。据估计,DSP程序量的80%是控制代码,其余的20%是计算代码。但这20%的计算代码却要占用80%的执行时间。因此,对于控制代码来说,存储器的使用比速度更为重要。因为控制代码的大小,基本上决定了片内存储器的大小,从而在很大程度上决定DSP处理器的成本。73 数字信号处理系列课程 DSP应用技术核心算法执行情况的测量核心算法执行情况的测量(1)软件仿真周期计数:精确到周期的软件仿真是通常用来决定周期计数的最方便的办法。周期计数仿真器模拟处理器指令的执行。当流水作业没有执行完毕,或总线冲突使处理器的操作变慢时,通过适当的调整,保持准确的周期计数。软件仿