词条 | DSP芯片的原理与开发应用 |
释义 | 《DSP芯片的原理与开发应用》是张雄伟、陈亮,曹铁勇等合著的一本学术著作,由电子工业出版社出版。本书由浅入深、全面系统地介绍了DSP芯片的基本原理、开发和应用。 目录(第1章概述 第2章DSP芯片的基本结构和特征 第3章DSP的数值运算基础 第4章DSP芯片的开发环境 第5章基于C语言的DSP芯片开发 第6章DSP芯片的存储资源管理 第7章TMS320C5000DSP芯片的汇编语言 第8章基于C和汇编语言混合编程 第9章DSP芯片集成外设的开发 第10章DSP脱机系统设计 第11章DSP硬件系统设计 第12章DSP芯片应用系统开发实例 第13章数字滤波器算法的DSP实现 第14章FFT算法的DSP实现 附录) 图书概况版权信息书 名: DSP芯片的原理与开发应用 作 者:张雄伟 陈亮 曹铁勇 出版社: 电子工业出版社 出版时间: 2009 ISBN: 9787121073816 开本: 16 定价: 49.80 元 版 次:4 页 数:412 字 数:678000 纸 张:胶版纸 包 装:平装 内容简介《DSP芯片的原理与开发应用(第4版)》由浅入深、全面系统地介绍了DSP芯片的基本原理、开发和应用。首先介绍了DSP芯片的基本结构和特征,以及定点和浮点DSP处理的运算基础;其次介绍了DSP芯片的开发工具,重点介绍了目前广泛应用的CCS集成开发环境及其使用方法:接着,介绍了基于C语言和汇编语言的开发方法以及DSP芯片的存储资源管理,较为详细地介绍了DSP系统的软硬件设计方法;最后,通过三个应用实例介绍了定点和浮点DSP芯片的系统开发过程,并介绍了数字滤波器和FFT等常用数字信号处理算法的DSP实现。 《DSP芯片的原理与开发应用(第4版)》的目的是使读者了解DSP芯片的基本原理和常用DSP芯片的应用,熟悉DSP芯片开发工及使用方法,掌握DSP系统的软硬件设计和应用系统开发方法,具备从事DSP芯片软硬件设计和系统开发的能力。 编辑推荐本书结构清晰、内容全面、举例丰富、实用性强,可作为电子信息类学科的研究生和相关专业高年级大学生的教材,也可作为DSP芯片应用人员的培训教材,对于从事DSP芯片开发应用的科技人员和高校教师也具较高的参考价值。 目录第1章概述1.1引言 1.2DSP系统 1.2.1DSP系统的基本构成 1.2.2DSP系统的特点 1.2.3DSP系统的设计 1.2.4DSP系统的开发 1.3DSP芯片 1.3.1DSP芯片的定义 1.3.2DSP芯片的特点 1.3.3DSP芯片的发展 1.3.4T1公司的DSP芯片 1.3.5DSP芯片的分类 1.3.6DSP芯片的选择 1.3.7DSP系统的运算量 1.3.8DSP芯片的应用 1.4小结 1.5习题与思考题 第2章DSP芯片的基本结构和特征2.1引言 2.2DSP芯片的基本结构 2.3中央处理单元(CPU) 2.3.1算术逻辑单元(ALU) 2.3.2累加器 2.3.3桶形移位寄存器 2.3.4乘累加单元 2.3.5寻址单元 2.4总线结构和流水线 2.5片内存储器 2.6集成外设 2.6.1通用的接口 2.6.2定时器 2.6.3主机接口(HPI) 2.6.4串行口 2.6.5软件可编程等待状态产生器 2.7T1定点DSP芯片 2.7.1早期的定点DSP芯片 2.7.2TMS320C2000系列 2.7.31MS320C5000系列 2.7.4TMS320C62x/C64x系列 2.8T1浮点DSP芯片 2.8.1TMS320C3x 2.8.2TMS320C67x 2.9其他DSP芯片简介 2.9.1AD公司的DSP芯片 2.9.2AT&T公司DSP芯片 2.9.3Motorola公司DSP芯片 2.10小结 2.11习题与思考题 第3章DSP的数值运算基础3.1引言 3.2定点的基本概念 3.2.1数的定标 3.2.2数的转换 3.2.3溢出保护 3.2.4符号扩展 3.2.5舍入与截尾 3.3定点运算实现的基本原理 3.3.1加法,减法运算的C语言定点模拟 3.3.2乘法运算的C语言定点模拟 3.3.3除法运算的C语言定点模拟 3.3.4程序变量的Q值确定 3.3.5浮点至定点变换的C程序举例 3.4DSP定点算术运算实现的基本原理 3.4.1定点乘法 3.4.2定点加法 3.4.3定点除法 3.5非线性运算定点实现方法 3.5.1级数展开法 3.5.2查表法 3.5.3混合法 3.6浮点数的表示格式 3.6.1IEEE浮点数格式 3.6.2TMS320C3x浮点数格式 3.7基本的浮点运算 3.7.1浮点乘法和加减法 3.7.2浮点除法 3.8非线性浮点运算的快速实现 3.9小结 3.10习题与思考题 第4章DSP芯片的开发环境4.1引言 4.2软件开发 4.3软件开发环境 4.3.1CCS安装与设置 4.3.2CCS基本环境 4.3.3CCS工程开发实例 4.3.4DSP/BIOS 4.4硬件开发 4.5硬件开发环境 4.6小结 4.7习题与思考题 第5章基于C语言的DSP芯片开发5.1引言 5.2CCS支持的C语言 5.2.1变量和常数 5.2.2函数 5.2.3预处理 5.3C语言程序代码的优化 5.3.1c语言程序代码编译分析 5.3.2C语言程序的优化方法 5.4小结 5.5题与思考题 第6章DSP芯片的存储资源管理6.1引言 6.2DSP芯片的存储器 6.2.1片内存储器 6.2.2外部扩展存储器 6.3存储区的组织 6.3.1程序空间 6.3.2数据空间 6.3.3I/O空间 6.3.4存储器映射寄存器 6.3.5TMS320VC5416的存储资源 6.4DSP芯片中的代码存储结构 6.4.1块 6.4.2汇编器对块的处理 6.4.3链接器对块的处理 6.4.4程序重定位 6.4.5COFF文件中的符号 6.4.6COFF格式编程示例 6.5存储区分配示例 6.5.1TMS320C2xx链接命令文件示例 6.5.2TMS320VC5416链接命令文件示例 6.6小结 6.7习题与思考题 第7章TMS320C5000DSP芯片的汇编语言7.1汇编语言源程序格式 7.2汇编源程序中常见符号和伪指令 7.3汇编指令系统 7.4寻址方式 7.4.1数据寻址 7.4.2程序寻址 7.5小结 7.6习题与思考题 第8章基于C和汇编语言混合编程的DSP芯片开发 8.1引言 8.2基于C和汇编语言的混合编程方法 8.2.1独立的C和汇编模块接口 8.2.2从C程序中访问汇编程序变量 8.2.3在汇编程序中访问C程序变量 8.2.4在C程序中直接嵌入汇编语句 8.2.5修改C编译器的输出 8.3基于C和汇编语言的混合编程举例 8.3.1TMS320C3x/C4x混合编程举例 8.3.2TMS320C2x/C5x混合编程举例 8.3.3TMS320C54x混合编程举例 8.4DSP代码的优化 8.4.1C代码的优化 8.4.2汇编代码的优化 8.5小结 8.6习题与思考题 第9章DSP芯片集成外设的开发9.1引言 9.2中断 9.2.1概述 9.2.2DSP中断资源 9.2.3DSP中断程序实现 9.3DMA 9.3.1DMA数据传输模式 9.3.2DSP的DMA控制 9.3.3DSP的DMA配置举例 9.4时序模块 9.4.1PLL模块 9.4.2定时模块 9.4.3等待状态发生器 9.5接口模块 9.5.1概述 9.5.2多通道缓冲串行口 9.5.3主机接IEI(LIPI) 9.5.4外部存储器接IEl(EMIF) 9.5.5通用I/O口 9.6基于CSL,的外设开发 9.6.1CSL,概述 9.6.2CSL,程序开发 9.7小结 9.8习题与思考题 第10章DSP脱机系统设计10.1引言 10.2DSP芯片的初始化 10.2.1寄存器初始化 10.2.2中断矢量表初始化 10.2.3串行口初始化 10.3DSP系统的BOOT设计 10.3.1TMS320C50的BOOT设计 10.3.2TMS320C54x的BOOT设计 10.3.3TMS320C55x的BOOT设计 10.3.4TMS320C6x的BOOT设计 10.4小结 10.5习题与思考题 第11章DSP硬件系统设计11.1引言 11.2DSP系统的基本硬件设计 11.2.1电源电路 11.2.2复位电路 11.2.3引脚的电平转换与处理 11.2.4硬件系统的可靠性设计 11.3DSP典型硬件系统举例 11.3.1外部存储器接口设计 11.3.2模数接口电路的设计 11.3.3通信接口的设计 11.3.4主从式系统的设计 11.4小结 11.5习题与思考题 第12章DSP芯片应用系统开发实例12.1引言 12.2一个基于TMS320C203DSP应用系统的开发 12.2.1系统简介 12.2.2系统硬件设计 12.2.3系统软件设计 12.2.4硬件调试 12.2.5软件调试 12.2.6独立系统实现 12.3一个基于TMS320C31DSP系统的开发 12.3.1系统简介 12.3.2系统构成 12.3.3系统软硬件设计 12.3.4软硬件调试 12.3.5独立系统实现 12.4一个基于TMS320VC5409DSP应用系统的开发 12.4.1Q729_A及系统简介 12.4.2系统构成 12.4.3系统软硬件设计 12.4.4系统调试 12.4.5独立系统形成 12.5小结 12.6习题与思考题 第13章数字滤波器算法的DSP实现13.1引言 13.2FIR滤波器的DSP实现 13.2.1FIR滤波器的基本原理和设计方法 13.2.2FIR滤波器的定点DSP实现 13.2.3FIR滤波器的浮点DSP实现 13.3IIR滤波器的DSP实现 13.3.1FIR滤波器的基本原理和设计方法 13.3.2FIR滤波器的定点DSP实现 13.3.3FIR滤波器的浮点DSP实现 13.4自适应滤波器的DSP实现 13.4.1自适应滤波器的基本原理 13.4.2自适应滤波器的TMS320C2xx定点实现 13.4.3自适应滤波器的TMS320C54x定点实现 13.4.4自适应滤波器的TMS320C3x浮点实现 13.5小结 13.6习题与思考题 第14章FFT算法的DSP实现14.1引言 14.2FFT的基本原理 14.2.1DFT的基本原理 14.2.2FFT算法的导出 14.3FFT算法的C语言实现 14.4FFT的定点DSP实现 14.4.1运算溢出及避免方法 14.4.2FFT的TMS320C2xx实现 14.4.3FFT的TMS320C54x实现 14.5FFT的浮点DSP实现 14.6小结 14.7习题与思考题 附录附录ATMS320C54X指令集 附录BTI格式文件转化为二进制文件 附录C8位u律/16位线性互换的C语言程序 附录Du律到线性变换表 附录E缩写词的英文对照 参考文献 内容摘录第1章 概 述 1.1 引 言 数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广 泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展 ,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号 处理已经在通信等领域得到极为广泛的应用。 数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤怂 、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。 数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字 信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应 用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥 梁。 数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学 域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络 理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科 ,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信 号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学 科的理论基础。 数字信号处理的实现方法一般有以下几种: (1) 在通用的计算机(如PC机)上用软件(如Fortran、C语言)实现; (2) 在通用计算机系统中加上专用的加速处理机实现; (3) 用通用的单片机(如MCS-51、96系列等)实现,这种方法可用于一些不太复杂的数 字信号处理,如数字控制等; (4) 用通用的可编程DSP芯片实现。与单片机相比,DSP芯片具有更加适合于数字信号处 理的软件和硬件资源,可用于复杂的数字信号处理算法; (5) 用专用的DSP芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用DSP 芯片很难实现,例如专用于FFT、数字滤波、卷积、相关等算法的DSP芯片,这种芯片 ?相应的信号处理算法在芯片内部用硬件实现,无需进行编程。 在上述几种方法中,第1种方法的缺点是速度较慢,一般可用于DSP算法的模拟;第2种和 第5种方法专用性强,应用受到很大的限制,第2种方法也不便于系统的独立运行;第3种 方法只适用于实现简单的DSP算法;只有第4种方法才使数字信号处理的应用打开了新的 局面。 虽然数字信号处理的理论发展迅速,但在20世纪80年代以前,由于实现方法的限制, 字信号处理的理论还得不到广泛的应用。直到20世纪70年代末80年代初世界上第一片单 片可编程DSP芯片的诞生,才将理论研究结果广泛应用到低成本的实际系统中,并且推动 了新的理论和应用领域的发展。可以毫不夸张地说,DSP芯片的诞生及发展对近20年来通 信、计算机、控制等领域的技术发展起到十分重要的作用。 1.2 DSP系统 1.2.1 DSP系统构成 输入信号首先进行带限滤波和抽样,然后进行A/D(Analog to Digital)变换将信号变 换成数字比特流。根据奈奎斯特抽样定理,为保证信息不丢失,抽样频率至少必须是输 入带限信号最高频率的2倍。 DSP芯片的输入是A/D变换后得到的以抽样形式表示的数字信号,DSP芯片对输入的数字 信 号进行某种形式的处理,如进行一系列的乘累加操作(MAC)。数字处理是DSP的关键, 这与其他系统(如电话交换系统)有很大的不同,在交换系统中,处理器的作用是进行 路由选择,它并不对输入数据进行修改。因此虽然两者都是实时系统,但两者的实时约 束条件却有很大的不同。最后,经过处理后的数字样值再经D/A(Digital to Analog) 变换转换为模拟样值,之后再进行内插和平滑滤波就可得到连续的模拟波形。 必须指出的是,上面给出的DSP系统模型是一个典型模型,但并不是所有的DSP系统都必 须具有模型中的所有部件。如语音识别系统在输出端并不是连续的波形,而是识别结果 ,如数字、文字等;有些输入信号本身就是数字信号(如CD:Compact Disk),因此就 不必进行模数变换了。 1.2.2 DSP系统的特点 数字信号处理系统是以数字信号处理为基础,因此具有数字处理的全部优点: (1) 接口方便。DSP系统与其他以现代数字技术为基础的系统或设备都是相互兼容的,与 这样的系统接口以实现某种功能要比模拟系统与这些系统接口要容易得多; (2) 编程方便。DSP系统中的可编程DSP芯片可使设计人员在开发过程中灵活方便地对软 件进行修改和升级; (3) 稳定性好。DSP系统以数字处理为基础,受环境温度以及噪声的影响较小,可靠性高 ; (4) 精度高。16位数字系统可以达到 的精度; (5) 可重复性好。模拟系统的性能受元器件参数性能变化比较大,而数字系统基本不受 影响,因此数字系统便于测试、调试和大规模生产; (6) 集成方便。DSP系统中的数字部件有高度的规范性,便于大规模集成。 当然,数字信号处理也存在一定的缺点。例如,对于简单的信号处理任务,如与模拟交 换线的电话接口,若采用DSP则使成本增加。DSP系统中的高速时钟可能带来高频干扰和 电磁泄漏等问题,而且DSP系统消耗的功率也较大。此外,DSP技术更新的速度快,数学 知识要求多,开发和调试工具还不尽完善。 虽然DSP系统存在着一些缺点,但其突出的优点已经使之在通信、语音、图像、雷达、生 物医学、工业控制、仪器仪表等许多领域得到越来越广泛的应用。 1.2.3 DSP系统的设计过程 总的来说,DSP系统的设计还没有非常好的正规设计方法。 在设计 DSP 系统之前,首先必须根据应用系统的目标确定系统的性能指标、信号处理的 要求,通常可用数据流程图、数学运算序列、正式的符号或自然语言来描述。 第二步是根据系统的要求进行高级语言的模拟。一般来说,为了实现系统的最终目标, 需要对输入的信号进行适当的处理,而处理方法的不同会导致不同的系统性能,要得到 最佳的系统性能,就必须在这一步确定最佳的处理方法,即数字信号处理的算法(Algo rithm),因此这一步也称算法模拟阶段。例如,语音压缩编码算法就是要在确定的压缩 比条件下,获得最佳的合成语音。算法模拟所用的输入数据是实际信号经采集而获得的 ,通常以计算机文件的形式存储为数据文件。如语音压缩编码算法模拟时所用的语音信 号就是实际采集而获得并存储为计算机文件形式的语音数据文件。有些算法模拟时所用 的输入数据并不一定要是实际采集的信号数据,只要能够验证算法的可行性,输入假设 的数据也是可以的。 在完成第二步之后,接下来就可以设计实时DSP系统,实时DSP系统的设计包括硬件设计 和软件设计两个方面。硬件设计首先要根据系统运算量的大小、对运算精度的要求、系 统成本限制以及体积、功耗等要求选择合适的DSP芯片。然后设计DSP芯片的外围电路及 其他电路。软件设计和编程主要根据系统要求和所选的DSP芯片编写相应的DSP汇编程序 ,若系统运算量不大且有高级语言编译器支持,也可用高级语言(如C语言)编程。由于 现有的高级语言编译器的效率还比不上手工编写汇编语言的效率,因此在实际应用系统 中常常采用高级语言和汇编语言的混合编程方法,即在算法运算量大的地方,用手工编 写的方法编写汇编语言,而运算量不大的地方则采用高级语言。采用这种方法,既可缩 短软件开发的周期,提高程序的可读性和可移植性,又能满足系统实时运算的要求。 DSP硬件和软件设计完成后,就需要进行硬件和软件的调试。软件的调试一般借助于DSP 开发工具,如软件模拟器、DSP开发系统或仿真器等。调试DSP算法时一般采用比较实时 结果与模拟结果的方法,如果实时程序和模拟程序的输入相同,则两者的输出应该一致 。应用系统的其他软件可以根据实际情况进行调试。硬件调试一般采用硬件仿真器进行 调试,如果没有相应的硬件仿真器,且硬件系统不是十分复杂,也可以借助于一般的工 具进行调试。 系统的软件和硬件分别调试完成后,就可以将软件脱离开发系统而直接在应用系统上运 行。当然,DSP系统的开发,特别是软件开发是一个需要反复进行的过程,虽然通过算法 模拟基本上可以知道实时系统的性能,但实际上模拟环境不可能做到与实时系统环境完 全一致,而且将模拟算法移植到实时系统时必须考虑算法是否能够实时运行的问题。如 果算法运算量太大不能在硬件上实时运行,则必须重新修改或简化算法。 1.3 可编程DSP芯片 1.3.1 什么是DSP芯片 DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器 其主要应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯 片一般具有如下主要特点: (1) 在一个指令周期内可完成一次乘法和一次加法; (2) 程序和数据空间分开,可以同时访问指令和数据; (3) 片内具有快速 RAM,通常可通过独立的数据总线在两块中同时访问; (4) 具有低开销或无开销循环及跳转的硬件支持; (5) 快速的中断处理和硬件I/O支持; (6) 具有在单周期内操作的多个硬件地址产生器; (7) 可以并行执行多个操作; (8) 支持流水线操作,使取指、译码和执行等操作可以重叠执行。 当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。 1.3.2 DSP芯片的发展 世界上第一个单片 DSP 芯片应当是1978年 AMI公司发布的 S2811,1979年美国Intel公 司发布的商用可编程器件2920是DSP芯片的一个主要里程碑。这两种芯片内部都没有现代 DSP芯片所必须有的单周期乘法器。1980 年,日本 NEC 公司推出的μP D7720是第一个具有乘法器的商用 DSP 芯片。 在这之后,最成功的DSP 芯片当数美国德州仪器公司(Texas Instruments,简称TI)的 一系列产品。TI 公司在1982年成功推出其第一代 DSP 芯片 TMS32010及其系列产品TMS 32011、TMS320C10/C14/C15/C16/C17等,之后相继推出了第二代DSP芯片TMS32020、TMS 320C25/C26/C28,第三代DSP芯片TMS320C30/C31/C32,第四代DSP芯片TMS320C40/C44, 第五代 DSP 芯片TMS320C5X/C54X,第二代DSP芯片的改进型TMS320C2XX,集多片DSP芯片 于一体的高性能DSP芯片TMS320C8X以及目前速度最快的第六代DSP芯片TMS320C62X/C67X 等。TI将常用的DSP芯片归纳为三大系列,即:TMS320C2000系列(包括TMS320C2X/C2XX )、TMS320C5000系列(包括TMS320C5X/C54X/C55X)、TMS320C6000系列(TMS320C62X/ C67X)。如今,TI公司的一系列DSP产品已经成为当今世界上最有影响的DSP芯片。TI公 司也成为世界上最大的 DSP 芯片供应商,其DSP市场份额占全世界份额近 50%。 第一个采用CMOS工艺生产浮点DSP芯片的是日本的 Hitachi 公司,它于1982年推出了浮点 点DSP芯片。1983 年 日本Fujitsu 公司推出的MB8764,其指令周期为 120ns,且具有双 内部总线,从而使处理吞吐量发生了一个大的飞跃。而第一个高性能浮点DSP芯片应是 AT&T 公司于1984 年推出的DSP32。 与其他公司相比,Motorola 公司在推出 DSP 芯片方面相对较晚。1986年,该公司推出 了定点处理器MC56001。1990年,推出了与IEEE 浮点格式兼容的浮点 DSP 芯片 MC96002。美国模拟器件公司(Analog Devices,简称AD)在DSP芯片市场上也占有一定的份额,相 继推出了一系列具有自己特点的DSP芯片,其定点DSP芯片有ADSP2101/2103/2105、ASDP 2111/2115、ADSP2161/2162/2164以及ADSP2171/2181,浮点DSP芯片有ADSP21000/21020 、ADSP21060/21062等。 自1980年以来,DSP芯片得到了突飞猛进的发展,DSP芯片的应用越来越广泛。从运算速 度来看,MAC(一次乘法和一次加法)时间已经从20世纪80年代初的400ns(如TMS32010 )降低到10ns以下(如TMS320C54X、TMS320C62X/67X等),处理能力提高了几十倍。DS P芯片内部关键的乘法器部件从1980年的占模片区(die area)的40%左右下降到5%以下 ,片内RAM数量增加一个数量级以上。从制造工艺来看,1980年采用4μm 的 N沟道MOS( NMOS)工艺,而现在则普遍采用亚微米(Micron)CMOS工艺。DSP芯片的引脚数量从198 0年的最多64个增加到现在的200个以上,引脚数量的增加,意味着结构灵活性的增加, 如外部存储器的扩展和处理器间的通信等。此外,DSP芯片的发展使DSP系统的成本、体 积、重量和功耗都有很大程度的下降。 1.3.3 DSP芯片的分类 DSP芯片可以按照下列三种方式进行分类。 1.按基础特性分 这是根据DSP芯片的工作时钟和指令类型来分类的。如果在某时钟频率范围内的任何时钟 频率上,DSP芯片都能正常工作,除计算速度有变化外,没有性能的下降,这类DSP芯片 一般称为静态DSP芯片。例如,日本OKI 电气公司的DSP芯片、TI公司的TMS320C2XX系列 芯片属于这一类。 如果有两种或两种以上的DSP芯片,它们的指令集和相应的机器代码机管脚结构相互兼容 ,则这类DSP芯片称为一致性DSP芯片。例如,美国TI公司的TMS320C54X就属于这一类。 2.按数据格式分 这是根据DSP芯片工作的数据格式来分类的。数据以定点格式工作的DSP芯片称为定点DS P芯片,如TI公司的TMS320C1X/C2X、TMS320C2XX/C5X、TMS320C54X/C62XX系列,AD公司 的ADSP21XX系列,AT&T公司的DSP16/16A,Motolora公司的MC56000等。以浮点格式工作 的称为浮点DSP芯片,如TI公司的TMS320C3X/C4X/C8X,AD公司的ADSP21XXX系列,AT&T公 司的DSP32/32C,Motolora公司的MC96002等。 不同浮点DSP芯片所采用的浮点格式不完全一样,有的DSP芯片采用自定义的浮点格式, 如TMS320C3X,而有的DSP芯片则采用IEEE的标准浮点格式,如Motorola公司的MC96002、 FUJITSU公司的MB86232和ZORAN公司的ZR35325等。 3.按用途分 按照DSP的用途来分,可分为通用型DSP芯片和专用型DSP芯片。通用型DSP芯片适合普通 的DSP应用,如TI公司的一系列DSP芯片属于通用型DSP芯片。专用DSP芯片是为特定的DS P运算而设计的,更适合特殊的运算,如数字滤波、卷积和FFT,如Motorola公司的DSP5 6200,Zoran公司的ZR34881,Inmos公司的IMSA100等就属于专用型DSP芯片。 本书主要讨论通用型DSP芯片。 1.3.4 DSP芯片的选择 设计DSP应用系统,选择DSP芯片是非常重要的一个环节。只有选定了DSP芯片,才能进一 步设计其外围电路及系统的其他电路。总的来说,DSP芯片的选择应根据实际的应用系统 需要而确定。不同的DSP应用系统由于应用场合、应用目的等不尽相同,对DSP芯片的选 择也是不同的。一般来说,选择DSP芯片时应考虑到如下诸多因素。 1.DSP芯片的运算速度。运算速度是DSP芯片的一个最重要的性能指标,也是选择DSP芯 片时所需要考虑的一个主要因素。DSP芯片的运算速度可以用以下几种性能指标来衡量: (1) 指令周期:即执行一条指令所需的时间,通常以ns(纳秒)为单位。如TMS320LC54 9-80在主频为80MHz时的指令周期为12.5ns; (2) MAC时间:即一次乘法加上一次加法的时间。大部分DSP芯片可在一个指令周期内完 成一次乘法和加法操作,如TMS320LC549-80的MAC时间就是12.5ns; (3) FFT执行时间:即运行一个N点FFT程序所需的时间。由于FFT运算涉及的运算在数字 信号处理中很有代表性,因此FFT运算时间常作为衡量DSP芯片运算能力的一个指标; (4) MIPS:即每秒执行百万条指令。如TMS320LC549-80的处理能力为80 MIPS,即每秒可执行八千万条指令; (5) MOPS:即每秒执行百万次操作。如TMS320C40的运算能力为275 MOPS; (6) MFLOPS:即每秒执行百万次浮点操作。如TMS320C31在主频为40MHz时的处理能力为 40 MFLOPS; (7) BOPS:即每秒执行十亿次操作。如TMS320C80的处理能力为2 BOPS。 2.DSP芯片的价格。DSP芯片的价格也是选择DSP芯片所需考虑的一个重要因素。如果采 用价格昂贵的DSP芯片,即使性能再高,其应用范围肯定会受到一定的限制,尤其是民用 产品。因此根据实际系统的应用情况,需确定一个价格适中的DSP芯片。当然,由于DSP 芯片发展迅速,DSP芯片的价格往往下降较快,因此在开发阶段选用某种价格稍贵的DSP 芯片,等到系统开发完毕,其价格可能已经下降一半甚至更多。 3.DSP芯片的硬件资源。不同的DSP芯片所提供的硬件资源是不相同的,如片内RAM、RO M的数量,外部可扩展的程序和数据空间,总线接口,I/O接口等。即使是同一系列的DS P芯片(如TI的TMS320C54X系列),系列中不同DSP芯片也具有不同的内部硬件资源,可 以适应不同的需要。 4.DSP芯片的运算精度。一般的定点DSP芯片的字长为16位,如TMS320系列。但有的公司 的定点芯片为24位,如Motorola公司的MC56001等。浮点芯片的字长一般为32位,累加器 为40位。 5.DSP芯片的开发工具。在DSP系统的开发过程中,开发工具是必不可少的。如果没有开 发工具的支持,要想开发一个复杂的DSP系统几乎是不可能的。如果有功能强大的开发工 具的支持,如C语言支持,则开发的时间就会大大缩短。所以,在选择DSP芯片的同时必 须注意其开发工具的支持情况,包括软件和硬件的开发工具。 6.DSP芯片的功耗。在某些DSP应用场合,功耗也是一个需要特别注意的问题。如便携式 的DSP设备、手持设备、野外应用的DSP设备等都对功耗有特殊的要求。目前,3.3V供电 的低功耗高速DSP芯片已大量使用。 7.其他。除了上述因素外,选择DSP芯片还应考虑到封装的形式、质量标准、供货情况 、生命周期等。有的DSP芯片可能有DIP、PGA、PLCC、PQFP等多种封装形式。有些DSP系 统可能最终要求的是工业级或军用级标准,在选择时就需要注意到所选的芯片是否有工 业级或军用级的同类产品。如果所设计的DSP系统不仅仅是一个实验系统,而是需要批量 生产并可能有几年甚至十几年的生命周期,那么需要考虑所选的DSP芯片供货情况如何, 是否也有同样甚至更长的生命周期等。 在上述诸多因素中,一般而言,定点DSP芯片的价格较便宜,功耗较低,但运算精度稍低 。而浮点DSP芯片的优点是运算精度高,且C语言编程调试方便,但价格稍贵,功耗也较 大。例如TI的TMS320C2XX/C54X系列属于定点DSP芯片,低功耗和低成本是其主要的特点 。而TMS320C3X/C4X/C67X属于浮点DSP芯片,运算精度高,用C语言编程方便,开发周期 短,但同时其价格和功耗也相对较高。 DSP应用系统的运算量是确定选用处理能力为多大的DSP芯片的基础。运算量小则可以选 用处理能力不是很强的DSP芯片,从而可以降低系统成本。相反,运算量大的DSP系统则 必须选用处理能力强的DSP芯片,如果DSP芯片的处理能力达不到系统要求,则必须用多 个DSP芯片并行处理。那么如何确定DSP系统的运算量以选择DSP芯片呢?下面我们来考虑 两种情况。 1.按样点处理 所谓按样点处理就是DSP算法对每一个输入样点循环一次。数字滤波就是这种情况。在数 字滤波器中,通常需要对每一个输入样点计算一次。例如,一个采用LMS算法的256 抽头 的自适应FIR滤波器,假定每个抽头的计算需要3个MAC周期,则256抽头计算需要256× =768个MAC周期。如果采样频率为8kHz,即样点之间的间隔为125ms,DSP芯片的MAC周 ?00ns,则768个MAC周期需要153.6ms的时间,显然无法实时处理,需要选用速度更高 的DSP芯片。 2.按帧处理 有些数字信号处理算法不是每个输入样点循环一次,而是每隔一定的时间间隔(通常称 为帧)循环一次。例如,中低速语音编码算法通常以10ms或20ms为一帧,每隔10ms或20 ms语音编码算法循环一次。所以,选择DSP芯片时应该比较一帧内DSP芯片的处理能力和 DSP算法的运算量。假设DSP芯片的指令周期为 p(ns),一帧的时间为Dt (ns),则该DSP芯片在一帧内所能提供的最大运算量为 Dt/p条指令。例如TMS320LC549-80的指令周 期为12.5ns,设帧长为20ms,则一帧内TMS320LC549-80所能提供的最大运算量为160万条 指令。因此,只要语音编码算法的运算量不超过160万条指令,就可以在TMS320LC549-8 0上实时运行。 1.3.5 DSP芯片的应用 自从20世纪70年代末80年代初DSP芯片诞生以来,DSP芯片得到了飞速的发展。DSP芯片的 高速发展,一方面得益于集成电路技术的发展,另一方面也得益于巨大的市场。在近20 年时间里,DSP芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。目前,D SP芯片的价格越来越低,性能价格比日益提高,具有巨大的应用潜力。DSP芯片的应用主 要有: (1) 信号处理--如数字滤波、自适应滤波、快速傅立叶变换、相关运算、谱分析、卷积 、模式匹配、加窗、波形产生等; (2) 通信--如调制解调器、自适应均衡、数据加密、数据压缩、回波抵消、多路复用、 传真、扩频通信、纠错编码、可视电话等; (3) 语音--如语音编码、语音合成、语音识别、语音增强、说话人辨认、说话人确认、 语音邮件、语音存储等; (4) 图形/图像--如二维和三维图形处理、图像压缩与传输、图像增强、动画、机器人视 觉等; (5) 军事--如保密通信、雷达处理、声纳处理、导航、导弹制导等 (6) 仪器仪表--如频谱分析、函数发生、锁相环、地震处理等; (7) 自动控制--如引擎控制、声控、自动驾驶、机器人控制、磁盘控制等; (8) 医疗--如助听、超声设备、诊断工具、病人监护等; (9)家用电器--如高保真音响、音乐合成、音调控制、玩具与游戏、数字电话/电视等。 随着DSP芯片性能价格比的不断提高,可以预见DSP芯片将会在更多的领域内得到更为广 泛的应用。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。