DSP原理及应用 教师: 代 少 升 Tel : 62461308 E_mail: daiss@cqupt.edu.cn 教材:《TMS320C55X DSP原理及应用》,代少升等著,高等教育出版社,2010
参考书 参考信息 参考网站 1、www.ti.com 2、www.ti.com.cn 1、申敏等著《DSP原理及其在移动通信中的应用》人民邮电出版社,2001。 2、李真芳等著《DSP程序开发:MATLAB调试及直接目标代码生成》,西安电子科技大学出版社,2003。 参考网站 1、www.ti.com 2、www.ti.com.cn
课程的主要讲述内容 本课程的主要内容: 1、数字信号处理和DSP系统 2、 DSP芯片内部的CPU外围电路 3、存储结构和寻址方式 4、程序流程控制 5、TMS320C55X DSP的汇编指令 6、 软件开发工具
DSP的典型应用实例 1.DSP在通信领域的应用 一个典型移动终端结构框图 2.DSP在图像处理方面的应用
第一章 数字信号处理和DSP系统 一、引言 1、数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域新兴学科。 20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。 2、数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估计、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
第一章 数字信号处理和DSP系统 DSP是以众多学科为理论基础,如微积分、概率统计、随机过程、数值分析、网络理论、信号与系统、人工智能、模式识别、神经网络等。数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。 3、数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。 DSP理论的发展 DSP应用的发展 DSP的实现 推动 促进 桥梁
第一章 数字信号处理和DSP系统 4、数字信号处理的实现方法 通用的计算机上用软件(如 C语言)实现速度较慢。可用于DSP算法的模拟; (2) 在通用计算机系统中加上专用的加速处理机实现;专用性强,应用受限; (3) 用通用的单片机(如: MCS-51、96系列等)实现。只适用实现简单的DSP算法,用于一些不太复杂的数字信号处理,如数字控制等;
第一章 数字信号处理和DSP系统 (4) 用通用的可编程DSP芯片实现。与单片机相比,DSP芯片具有更加适合于数字信号处理的软件和硬件资源,可用于复杂的数字信号处理算法;为DSP的应用打开了新的局面。 (5) 用专用的DSP芯片实现。特殊的应用,要求信号处理速度极高,用通用DSP芯片很难实现,如FFT、数字滤波、卷积、相关等算法的DSP芯片,这种芯片将相应的信号处理算法在芯片内部用硬件实现。
第一章 数字信号处理和DSP系统 5、20世纪70年代末80年代初世界上第一片单片可编程DSP芯片的诞生,将DSP理论研究结果广泛应用到低成本的实际系统中,推动了新的理论和应用领域的发展。 可以毫不夸张地说,DSP芯片的诞生及发展对近20年来通信、计算机、控制等领域的技术发展起到十分重要的作用。
第一章 数字信号处理和DSP系统 二、DSP系统及特点 1、DSP系统构成(典型的DSP系统) 抗混叠 滤波 A/D 变换 DSP 芯片 D/A 平滑 输入 输出 输入信号:麦克风输出的语音信号、摄像头输出的复合视频信号等。 A/D:奈奎斯特抽样定理、抽样频率。 DSP芯片:对输入的数字信号进行某种形式的处理。 D/A:转换为模拟样值。
第一章 数字信号处理和DSP系统 2、DSP系统的特点 DSP系统以数字信号处理为基础,具有数字处理的全部优点:
第一章 数字信号处理和DSP系统 (4)可重复性好:模拟系统的性能受元器件参数性能变化比较大,而数字系统基本不受影响,因此数字系统便于测试、调试和大规模生产; (5)集成方便:DSP系统中的数字部件有高度的规范性,便于大规模集成。 缺点: (1) 简单的信号处理任务,采用DSP使成本增加; (2) DSP系统中的高速时钟可能带来高频干扰和电磁泄漏等问题; (3) DSP系统的功耗较大。
第一章 数字信号处理和DSP系统 3、可编程DSP芯片 (1) 在一个指令周期内可完成一次乘法和一次加法;
第一章 数字信号处理和DSP系统 (2) 程序和数据空间分开,可以同时访问指令和数据; (3) 片内具有快速RAM; (4) 具有低开销或无开销循环及跳转的硬件支持; (5) 快速的中断处理和硬件I/O支持; (6) 具有在单周期内操作的多个硬件地址产生器; (7) 可以并行执行多个操作; (8) 支持流水线操作,使取指、译码和执行等操作可以重叠执行。
第一章 数字信号处理和DSP系统 4、DSP系统的设计流程(DSP系统设计的一般过程) DSP应用(确定设计目标) 定义系统性能指标 硬件设计 硬件调试 软件编程 软件调试 系统集成 系统测试和调试
第一章 数字信号处理和DSP系统 (1)算法模拟:根据应用系统的目标确定系统的性能指标。根据系统要求进行算法仿真和高级语言模拟实现。确定最佳处理方法。如用MATLAB等数学开发工具对DSP算法进行优化设计和仿真测试, (2)选择DSP芯片:根据算法要求,如运算速度、运算精度、存储器大小、系统成本、体积、功耗等选择合适的DSP芯片。
第一章 数字信号处理和DSP系统 设计DSP应用系统,选择DSP芯片是非常重要的,只有选定了DSP芯片,才能进一步设计其外围电路及系统的其他电路。DSP芯片的选择应根据实际的应用系统需要而确定。不同的DSP应用系统由于应用场合、应用目的不相同,DSP芯片的选择也不同的。一般来说,选择DSP芯片应考虑到如下因素: DSP芯片的运算速度 算法确定 运算量确定 估算DSP运算速度的下限 运算速度是DSP芯片的一个最重要的性能指标,是选择DSP芯片 需要考虑的主要因素。下面为DSP运算速度的几种衡量指标:
第一章 数字信号处理和DSP系统 指令周期:执行一条指令所需的时间,常以ns为单位。如TMS320LC549-80在主频为80MHz时的指令周期为12.5ns; MAC(Multiply-Accumulate Unit )时间:一次乘加运算的时间。大部分DSP芯片可在一个指令周期内完成一次乘法和加法操作。 FFT执行时间:运行一个N点FFT程序所需的时间。FFT是典型的DSP算法运算,因此FFT运算时间常作为衡量 DSP芯片运算能力的一个指标。 MIPS/MFLOPS( Million Instructions Per Second/Million Floating-point Operations per Second):每秒执行百万条指令和每秒百万条浮点操作。如 TMS320LC549-80的处理能力为 80MIPS,即每秒可执行八千万条指令;
第一章 数字信号处理和DSP系统 MOPS:每秒执行百万次操作。 BOPS:每秒执行十亿次操作。 DSP芯片的价格 DSP芯片的价格也是选择DSP芯片所需考虑的一个重要因素。 采用价格昂贵的DSP芯片,即使性能再高,其应用范围受到限制,尤其是民用产品。因此根据实际系统的应用情况,需确定一个价格适中的DSP芯片。
第一章 数字信号处理和DSP系统 DSP芯片的硬件资源 不同的DSP芯片提供的硬件资源是不相同的,如片内RAM、ROM的数量,外部可扩展的程序和数据空间,总线接口,I/O接口等。即使是同一系列的 DSP芯片(如TI的S320C54X系列)系列中不同 DSP芯片也具有不同的内部硬件资源。 DSP芯片的运算精度 一般的定点 DSP芯片的字长为16位或24位,浮点芯片的字长为32位,累加器都为40位。定点DSP芯片的价格较便宜,功耗较低,但运算精度稍低。而浮点DSP芯片的优点是运算精度高,但价格稍贵,功耗也较大。
第一章 数字信号处理和DSP系统 DSP 芯片的开发工具 快捷、方便的开发工具和完善的软件支持是开发大型、复杂DSP系统的必备条件。TI公司的CCS集成开发环境、实时软件技术等, C语言支持(开发的时间大大缩短)。 DSP芯片的功耗 在某些DSP应用场合,功耗也是一个需要特别注意的问题。如便携式的DSP设备、手持设备、野外应用的DSP设备等都对功耗有特殊的要求。目前,3.3V供电的低功耗高速DSP芯片已大量使用。 其他因素:封装的形式、质量标准、供货情况、生命周期等。
第一章 数字信号处理和DSP系统 (3)设计实时DSP系统:包括硬件设计和软件设计两个方面。
第一章 数字信号处理和DSP系统 (4) 硬件和软件的调试: 软件的调试:一般借助于DSP开发工具,如软件模拟器、DSP开发系统或仿真器等。调试DSP算法时一般采用实时结果与模拟结果相比较的方法,如果实时程序和模拟程序的输入相同,则两者的输出应该一致。 硬件调试:一般采用硬件仿真器进行调试,如果没有相应的硬件仿真器,且硬件系统不是十分复杂,也可以借助于一般的工具进行调试。
第一章 数字信号处理和DSP系统 (5) 系统集成和系统测试阶段:调试完成后,实时系统固化在DSP系统中,将软件脱离开发系统而直接在应用系统上运行。 DSP系统的开发,特别是软件开发是一个需要反复进行的过程,虽然通过算法模拟基本上可以知道实时系统的性能,但实际上模拟环境不可能做到与实时系统环境完全一致,将模拟算法移植到实时系统时必须考虑算法是否能够实时运行的问题。如果算法运算量太大不能在硬件上实时运行,则必须重新修改或简化算法。
第一章 数字信号处理和DSP系统 三、DSP芯片的发展及应用 (1) 1978年AMI公司发布了世界上第一个单片DSP芯片S2811; (2) 1979年美国Intel公司发布的商用可编程DSP芯片2920; 这两种芯片都没有现代 DSP芯片所必须有的单周期乘法器。 (3) 1980年,日本NEC公司推出的uPD7720是第一个具有乘法器的商用DSP芯片。
第一章 数字信号处理和DSP系统 (4)美国德州仪器公司(Texas Instruments 简称TI): 第一代DSP芯片(1982年成功推出)TMS320C10及其系列产品TMS320C11、TMS320C10/C14/C15/C16/C17 . 第二代DSP芯片TMS32020、TMS320C25/C26/C28。 第三代DSP芯片TMS320C30/C31/C32; 第四代DSP芯片TMS320C40/C44; 第五代DSP芯片TMS320C5X/C54X,第二代DSP芯片的改进型TMS320C2XX,集多片DSP芯片于一体的高性能DSP芯片TMS320C8X。 第六代DSP芯片(目前速度最快)TMS320C62X/C67X等。
第一章 数字信号处理和DSP系统 TI将常用的DSP芯片归纳为三大系列: TMS320C2000系列:包括TMS320C2X/C2XX; TMS320C5000系列:包括TMS320C5X/C54X/C55X TMS320C6000系列:包括TMS320C62X/C67X。 如今,TI公司的一系列DSP产品已经成为当今世界上最有影响的DSP芯片。公司也成为世界上最大的DSP芯片供应商,其DSP市场份额占全世界份额近50%。
第一章 数字信号处理和DSP系统 (6) Motorola公司在推出DSP芯片方面相对较晚。1986年,该公司推出了定点处理器MC56001。1990年,推出了与IEEE浮点格式兼容的浮点DSP芯片MC96002。 (7)美国模拟器件公司(Analog Devices,简称 AD)在 DSP芯片市场上也占有一定的份额,相继推出了一系列具有自己特点的DSP 芯片。 定点芯片:ADSP2101/2103/2105 、ASDP2111/2115、ADSP2161/2162/2164以及 ADSP2171/2181。 浮点芯片: ADSP21000/2102、ADSP21060/21062等。
第一章 数字信号处理和DSP系统 DSP芯片的应用 自从 20世纪 70年代末 80年代初 DSP芯片诞生以来,DSP芯片得到了飞速的发展。
第一章 数字信号处理和DSP系统 DSP芯片的应用主要有: (1) 信号处理:数字滤波、自适应滤波、快速傅立叶变换、相关运算、谱分析、卷积等; (2) 通信:调制解调器、自适应均衡、数据压缩、程控交换、数字基站、可视电话、多路复用、扩频通信、纠错编码等; (3) 语音:语音编码、语音合成、语音识别、语音增强、说话人辨认、说话人确认、语音邮件、语音存储等; (4)图形/图像:如二维和三维图形处理、图像压缩与传输、图像增强、动画、机器人视觉等;
第一章 数字信号处理和DSP系统 (5)军事:保密通信、雷达处理、声纳处理、导航、导弹等; (6)仪器仪表:频谱分析、函数发生、锁相环、地震处理等; (7)自动控制:引擎控制、声控、自动驾驶、机器人控制、磁盘控制等; (8)医疗:助听、超声设备、诊断工具、病人监护等; (9)家用电器:高保真音响、音乐合成、音调控制、玩具与游戏、数字电话/电视等。
第一章 数字信号处理和DSP系统 DSP芯片的分类 可按三种方式进行分类 (1) 按基础特性分类:根据芯片的工作时钟和指令类型来分类 静态DSP芯片:在某时钟频率范围内的任何时钟频率上,芯片都能正常工作,除计算速度有变化外,没有性能的下降。如:OKI 电气公司的DSP芯片、TI公司的TMS320C2XX系列芯片。 一致性DSP芯片:如果有两种或两种以上的DSP芯片,它们的指令集、相应的机器代码和管脚结构相互兼容。例如,美国TI公司的TMS320C54X。
第一章 数字信号处理和DSP系统 (2) 按数据格式分类 根据DSP芯片工作的数据格式来分类的。 定点 DSP芯片:数据以定点格式工作的DSP芯片,如 :TI公司的TMS320C1X/C2X、TMS320C2XX/C5X、TMS320C54X/C62XX系列。 浮点 DSP 芯片:数据以浮点格式工作的DSP芯片,如 TI 公司的TMS320C3X/C4X/8X。 不同浮点DSP芯片所采用的浮点格式不完全一样,有的DSP芯片采用自定义的浮点格式,如 TMS320C3X,有的 DSP芯片则采用 IEEE的标准浮点格式。
第一章 数字信号处理和DSP系统 (3) 按用途分类 通用型DSP芯片:适合普通的DSP应用,如TI公司的一系列DSP芯片属于通用型DSP芯片。 专用DSP芯片:为特定的DSP运算而设计的,更适合特殊的运算,如数字滤波、卷积和FFT。