首页电子与通信技术信息处理技术数字信号处理 12 第9章 DSP原理与应用开发基础.pptx

12 第9章 DSP原理与应用开发基础.pptx

页数:33页文件大小:1.07 MB来源: 数字信号处理ppt课件

本课件对应第9章DSP原理与应用开发基础,先说明DSP的概念与典型应用,给出DSP系统的基本组成并以软件无线电为例说明实现方案;随后介绍DSP芯片的功能特点、定点与浮点类型,以及以TMS320C55x为代表的体系结构、地址数据流单元与存储空间配置;最后讲解DSP型号选择、外围器件与开发指标、开发流程图与工具链,以及CCS集成开发环境的组件与开发步骤。

第9章DSP原理与应用开发基础内容提纲,涵盖引言DSP系统的基本组成DSP系统设计基础DSP集成开发环境本章小结
本章教学目的与要求,】 掌握DSP系统的基本组成和DSP芯片的体系结构
本章知识结构,【本章知识结构】
查看本课件的文字版(共 33 页,供检索与复制)

第1页:第9章DSP原理与应用开发基础

第9章DSP原理与应用开发基础引言DSP系统的基本组成DSP系统设计基础DSP集成开发环境本章小结。

第2页:本章教学目的与要求

  • 【本章教学目的与要求】 掌握DSP系统的基本组成和DSP芯片的体系结构。
  • 学会获取DSP芯片的相关技术资料和相关源码。
  • 了解DSP芯片的产品概况以及DSP系统开发的流程。
  • 学会安装和设置CCS集成开发环境。

第3页:本章知识结构

【本章知识结构】。

第4页:9.1引言:DSP的概念

  • 引言DSP是数字信号处理(Digital Signal Processing)或数字信号处理器(Digital Signal Processor)的缩写。
  • 在过去的30多年时间里,数字信号处理技术已经在通信等领域得到极为广泛的应用。
  • 案例一:DSP在音频转换,接口技术和USB音频方面的应用。

第5页:DSP在视频与视觉引导的应用

  • 案例二DSP在视频和视觉引导方面的应用数字信号处理技术涉及众多的学科,如概率统计、数值分析、控制论等等。
  • 数字信号处理以这些学科作为自己的理论基础,同时数字信号处理理论和应用的发展又促进了一系列新兴学科的发展,如通信技术、模式识别等等。
  • 总的来说,数字信号处理作为一门学科是在与其他许多相关学科相互促进下不断发展的。

第6页:9.1 DSP系统的基本组成

  • DSP系统的基本组成 数字信号处理系统一般由以下几部分构成:前置滤波、A/D转换、数字信号处理器(DSP)、D/A转换、后置滤波。
  • 典型DSP系统构成框图图中的输入信号可以有各种各样的形式。
  • 数字信号处理系统一般由以下几部分构成:前置滤波、A/D转换、数字信号处理器(DSP)、D/A转换、后置滤波。
  • 典型DSP系统构成框图图中的输入信号可以有各种各样的形式。

第7页:DSP系统实例:软件无线电

DSP系统实例软件无线电数字声音广播接收机。

第8页:9.2.1 DSP芯片概述

DSP芯片概述 数字信号处理器是数字信号处理系统的核心。常用的数字信号处理器有通用的DSP芯片、专用的DSP芯片、通用处理器(GPP)、通用单片机,如下表所示。

第9页:DSP芯片的功能改进

  • DSP在功能上有以下几方面的改进: 扩充运算能力:增加字长,乘法保留双字长,有双精度运算。
  • 自动产生数据地址:专用的地址生成单元可以产生循环地址和非顺序地址。
  • 指令定序不对其他主要运算造成额外开销。
  • 简单的比例定标运算得到宽的动态范围。

第10页:DSP芯片产品概况

  • DSP芯片从出现到现在的30多年时间里,已有几十家生产厂商推出了上百型号的产品。
  • 除了TI公司得TMS320系列DSP芯片外,其他有代表性并获得广泛应用的DSP系列芯片主要有Motorola公司的MC56/96系列、ADI系列的ADSP21系列等。
  • 目前,美国德州仪器公司TI公司有3大系列产品,即1)面向数字控制、运动控制的TMS320C2000系列,主要包括TMS320C24x/F24x、TMS320LC240x/LF240xA、TMS320F28xx等。
  • 2)面向低功耗、手持设备、无线终端应用的TMS320C5000系列,主要包括TMS320C54x、TMS320C54xx、TMS320C55x等。
  • 3)面向高性能、多功能、复杂应用领域的TMS320C6000系列,主要包括TMS320C62xx、TMS320C64xx、TMS320C67xx等。

第11页:定点DSP与浮点DSP

  • 根据DSP芯片工作的数据格式将芯片分为:定点DSP芯片和浮点DSP芯片。
  • 定点运算的DSP芯片以其成本较低,对存储器的要求比较低且耗电省等优点使其成为数字信号处理市场上的主流产品,预计今后的比重将逐渐增大。
  • 据统计,目前销售的DSP的80%以上属于16位定点可编程DSP。
  • 只有在高保真音频以及需要实时运算、更高精确度与较大动态范围的其他数据采集应用时,才能体现出浮点DSP更高的算术灵活性与精确度。

第12页:9.2.2 DSP芯片体系结构

  • DSP芯片体系结构 哈佛总线结构:大多数DSP的总线结构都采用了哈佛结构,程序存储器和数据存储器是两个独立的存储器,独立编址,独立访问。
  • 与两个存储器相对应,系统中设置了程序总线和数据总线,从而使数据的吞吐率提高了一倍。
  • 流水线操作:DSP芯片广泛采用级流水线,以减少指令执行的时间,从而增强了处理器的处理能力。
  • 这使指令执行能完全重叠,处理器可以并行处理几条指令,每条指令处于流水线的不同阶段。
  • 在某一时刻,一条流水线上在做取指令操作时,第2条流水线可同时进行上一条指令译码的操作,第3条流水线可同时进行再上一条指令的取操作数的操作,第4条流水线可同时进行再上上一条指令的执行指令的操作。

第13页:专用硬件乘法器

  • 专用的硬件乘法器具有专用的应用乘法器,乘法可在一个指令周期内完成。
  • DSP处理器使用专用的硬件来实现单周期乘法,而通用微处理器中算法指令需要多个指令周期,如MCS-51的乘法指令需4个周期。
  • DSP处理器还增加了累加器寄存器来处理多个乘积的和。
  • 特殊的DSP指令这些特殊的指令,专用数字信号处理中的一些常用算法优化,可为一些典型的数字信号处理提供加速,使一些高速系统的实时数据处理成为可能,从而进一步提高了DSP芯片的执行效率和处理能力。
  • 如并行指令,能够实现寄存器并行装入,并行算术/逻辑运算和存储运算,使并行操作能力大大提高。

第14页:专用寻址方式

  • 专用的寻址方式DSP处理器往往都支持专门的寻址方式,这些寻址方式对通常的信号处理操作很有用,也很方便。
  • 例如,位倒序寻址使FFT实现起来就很方便。
  • 而在通用处理器中这些专门的寻址模式是不常使用的,即使用一般也要用软件来实现。
  • 定点计算和定点DSP指令集定点机器比起相应的浮点机器来要便宜而且运算更快。
  • 所以大多数DSP使用定点计算,而不是使用浮点。
  • 为了不使用浮点机器而又保证数字的准确,DSP处理器在指令集和硬件方面都支持饱和计算、舍入和移位。

第15页:TMS320C55x体系结构

TMS320C55xDSP芯片的体系结构。

第16页:C55x的三个组成部分

  • C55x由3个主要部分组成:CPU、存储空间、片内外设。
  • C55x系列具有统一的CPU内核,有4个功能单元构成:指令缓冲单元(I单元)、程序流单元(P单元)、地址—数据流单元(A单元)和数据运算单元(D单元)。
  • 功能单元的具体构成和基本功能如下: 指令缓冲单元(I单元)包括位指令缓冲队列和指令译码器。
  • 此单元接收程序代码并放入指令缓冲队列,由指令译码器解释指令,然后再把指令流传给其他的P单元、A单元和D单元来执行这些指令。
  • 程序流单元(P单元)包括程序地址发生器、程序控制逻辑。
  • 该单元产生所有程序空间地址,并发送到PAB总线,达到控制程序流的目的。

第17页:地址—数据流单元(A单元)

  • 地址—数据流单元(A单元)包括数据地址产生电路(DAGEN),附加的16位算术逻辑单元ALU和一组寄存器。
  • 该单元产生读/写数据空间地址,并发送到BAB、CAB和D AB总线上。
  • 数据运算单元(D单元)包括40位桶形移位器、2个乘加单元(MAC)和1个40位的算术逻辑单元ALU和若干寄存器。
  • D单元是CPU中主要的数据执行部件,完成大部分数据的算术运算工作。

第18页:C55x的存储空间

  • C55x包括了统一的存储空间和I/O空间。
  • C55x的片内存储空间共有352KB,其中双口RAM(DARAM)在每个周期能执行两个访问操作。
  • 单口RAM(SARAM)在每个周期能执行一个访问操作。
  • 外部存储空间共有8MB(16位)最大寻址,由片选信号CE[0…3]来选择。
  • 存储区支持的类型有异步SRAM、异步EPROM、同步DRAM和同步SRAM.。
  • 整个16MB存储空间作为程序空间或数据空间均可寻址。
  • 程序空间当CPU从程序存储区读指令时才访问程序空间。
  • 当程序从存储区或寄存器读/写数据时,需访问数据空间。
  • C55x的I/O空间与程序/数据空间分开,它仅在访问DSP的片内外设寄存器时有效。
  • I/O空间的字地址为16位宽、能访问64KB地址。
  • CPU用数据读地址总线读和数据写地址总线写。
  • 当CPU读/写I/O空间时,将16位地址前补0来扩展成24位地址。
  • DSP的片内外设完成的主要功能包括采集原始数据、输出处理结果、控制其他设备等。

第19页:9.3 DSP系统设计基础

  • DSP系统设计基础 技术参考资料与相关源码的获取在设计开发一个DSP系统时,系统中的DSP芯片确定以后,很重要的就是获得该DSP芯片的相关技术参考资料及得到其相关源码。
  • 一般提供相应芯片的厂商都会有专门的网站进行技术支持,如美国的TI公司、Motorola公司等。
  • 在TI公司网站的搜索中用关键字搜索资料,主要的技术文档包括Application Notes、user guides,这些资料一般均有PDF文档说明和相应的源程序包提供,下载(download)后做少许改动即可应用。

第20页:必看资料

  • 必看资料 讲述DSP的CPU、Memory、Programme MemoryAddressing、Data Memory Addressing的文档资料。
  • 设计过程中要用到的外设的资料。
  • C语言和汇编语言的编程指南。
  • 汇编指令和C语言的运行支持库、DSP LIB等资料。
  • 其他的如:Application Guide、Optimizing CC+ +Complier User’s Guide、Assembly Language ToolsUser’s Guide等资料可在DSP设计入门后再去详细阅读,体会会更深一些。
  • 同时我们也可以登陆一些相应的DSP技术论坛、技术网站来获取相关资料。

第21页:DSP型号的选择

DSP型号的选择主要的DSP厂商的产品概况。

第22页:选择DSP芯片的考虑因素

  • 选择DSP芯片时应考虑的方面 DSP芯片的运算速度。
  • 运算速度是DSP芯片的一个最重要的性能指标,也是选择DSP芯片是所需要考虑的一个主要因素。
  • DSP芯片的价格。
  • DSP芯片的价格也是选择DSP芯片所需要考虑的重要的因素。
  • 如果采用价格昂贵的DSP芯片,即使性能再高,其应用范围肯定受到一定的限制。
  • 因此,需根据实际系统的应用情况,确定一个性价比适中的DSP芯片。
  • DSP芯片的硬件资源。
  • 不同的DSP芯片所提供的硬件资源是不同的,如片内的RAM、ROM的数量,外部可扩展的程序和数据空间,总线接口、I/O接口等。
  • 即使是同一系列的DSP芯片,如TI公司的TS320C5x系列,不同的DSP芯片也可以适应不同的需要。

第23页:DSP芯片的运算精度

  • DSP芯片的运算精度。
  • 一般定点DSP芯片的字长为16位,如TMS320系列。
  • 但有的公司的定点芯片为24位,如Motorola公司的MC56001等。
  • 浮点芯片的字长一般为32位,累加器为40位。
  • DSP芯片的开发工具。
  • 在选择DSP芯片的同时,必须注意其开发工具的支持情况,包括软件和硬件的开发工具。
  • 如果没有开发工具的支持,要想开发DSP系统几乎是不可能的。
  • 如果有功能强大的开发工具的支持,则开发的时间就会大大缩短。
  • DSP芯片的功能。
  • 在某些DSP应用场合,功耗也是一个需要特别注意的问题。
  • 如便携式的DSP设备、手持设备、野外应用的DSP设备等对功耗有特殊的要求。

第24页:外围器件的选择

  • 外围器件的选择 选择好DSP芯片后,按照实际系统设计的要求以及DSP芯片的需要来选择外围器件。
  • 支持DSP芯片的外围器件较多,主要有高速静态存储器(SRAM)、动态存储器(DRAM)、双口静态随机存取存储器(Dual ports SRAM)、先进先出(FIFO)存储器、可编程逻辑器件(PLD)、A/D和D/A转换器,以及一系列芯片、电阻、电容、晶振、接插件等。
  • 这些元器件的选择面广、产品多、品种型号多,而且许多电子元器件其更新换代竞争的生命周期短,因此,元器件的选择除考虑其性价比、器件质量外,还需考虑所选型号及封装完全兼容器件的厂商情况以及估计该型号器件的竞争生命周期等。

第25页:DSP系统开发的技术指标

  • DSP系统开发流程-设计DSP应考虑技术指标1)根据信号的频率范围来确定系统的最高样采频率。
  • 2)根据采样频率和运算最复杂算法所需要的最大时间来判断系统能否实时工作。
  • 3)根据1)、2)两个条件确定哪种类型的DSP芯片的指令周期可以满足条件。
  • 4)根据信号处理数据量的大小来确定所使用的片内RAM及需要扩展的RAM的大小。
  • 5)根据所需要的信号处理的精度来确定是采用定点运算还是浮点运算。
  • 6)根据系统是计算用还是控制用来确定I/O端口的需求。

第26页:DSP系统开发流程图

DSP系统开发流程图。

第27页:DSP软件开发方式

  • 软件开发 一般来说,DSP的软件开发大体有3种方式:直接编写汇编语言程序进行编译连接。
  • 编写C语言程序,用C语言优化软件进行编译连接。
  • 混合编程模式,程序中既有汇编代码,又有C语言代码。
  • 对于进行DSP开发的新手来说,选择C语言和汇编语言混合编程会有利一些。
  • 现在C语言优化的效率可达到手工汇编的90%甚至更高。
  • 如果计算能力和内存资源是瓶颈,汇编语言还是有优势,比如G.729编解码。
  • 但是针对一般的应用开发,C语言是最好的选择。
  • 在进行复杂算法的开发时,一般做法是先在PC上用高级语言(用C语言)进行仿真,然后再移植到DSP平台中。
  • 同时,考虑到运行和效率问题,可进一步进行手工汇编的调整。
  • 可编程的DSP芯片开发需要一整套硬件和软件开发工具,通常可以分为代码生成工具和调试工具两类。
  • 代码生成工具是把用汇编语言或C语言编写的DSP程序编译并链接成可执行的DSP程序。
  • 代码调试工具的作用是对DSP程序及系统进行测试。

第28页:DSP开发工具及其功能

  • DSP的开发工具及其功能简介(1)C编译器(C compiler)将C源程序代码编译成汇编语言源代码。
  • (2)汇编器(assembler)将汇编语言源程序文件转变为机器语言目标文件。
  • 机器语言是基于公用目标文件格式(COFF)的文件。
  • (3)链接器(linker)将目标文件连接起来产生一个可执行模块。
  • 它能调整并解决外部符号参考。
  • 链接器的输入是可重定位的COFF目标文件和目标库文件。

第29页:文档管理器与文件管理

  • (4)文档管理器(archive)将一组文件归入一个文档文件,也叫归档库。
  • 另外文件管理器容许通过删除、代替、提取或增加文件来调整库。
  • (5)建库单元(runtime-support utility)建立用户的C语言运行支持库。
  • 在.rts.lib里提供目标代码。
  • (6)运行库(runtime-support library)包含ANSI标准运行支持函数、编译器公用程序函数、C语言输入/输出函数。
  • (7)十六进制转化工具(hex conversion utility)将COFF目标文件转换为TI-tagged、ASCII-hex、Motorola-s等目标格式,从而可以将文件装载到可擦除程序存储器中去。

第30页:9.4 DSP集成开发环境CCS

  • DSP集成开发环境 集成开发环境(Code Composer Studio,CCS)是TI公司为其DSP系列芯片设计专门提供的专业开发软件,是业内最为重要的开发软件之一。
  • 作为一个集成开发环境,它包括了编辑、编译、汇编、链接、软件模拟、调试等几乎所有需要的软件。
  • 与TI公司提供的早期开发软件工具相比,CCS提供了配置、构造、跟踪和分析程序的工具,并在基本代码生成工具的基础上增加了调试和实时分析的功能,极大地加快了软件开发进程,提高了工作效率。
  • 一般来说,一种CCS只适用于一种系列的DSP芯片。
  • 例如,CCSC5000适用于C5000系列的DSP芯片(包括TMS320C54x和TMS320C55x)。
  • CCS一般工作在两种模式下:软件仿真器模式和与硬件开发板相结合的在线编程模式。
  • 前者可以在PC机上模拟DSP的指令集与工作机制,主要用于前期的算法实现和调试。
  • 后者实时运行在DSP芯片上,并可以在线编译和调试程序。

第31页:应用CCS开发的步骤

  • 应用CCS进行程序开发的步骤1)设计出设计方案。
  • 2)编辑原文件生成代码。
  • 3)语法检查和调试。
  • 4)实时调试。

第32页:CCS的主要组件

  • CCS具有可扩展的结构,主要组件有1)集成开发环境Code Composer (编译器、调试器、项目管理器、性能分析工具等)。
  • 2)代码生成工具。
  • 包括C编译器、汇编优化器、连接器等。
  • 3)指令及软件仿真器Simulator。
  • 4)实时底层软件DSP/BIOS,可以增强对代码的实时分析能力。
  • 5)实时数据交换工具RTDX,能在不中断目标系统运行的情况下,实现DSP与其他应用系统的数据交换。
  • 6)实时分析和数据可视化工具,如:数据的图形显示工具,用以绘图时/频域波形、眼图、星座图等。
  • 7)GEL工具。

第33页:本章小结

  • 本章小结 本章从数字信号处理系统的基本结构开始阐述了常用数字信号处理芯片的类型和特点,指出了DSP芯片与通用微处理器的区别以及DSP芯片自身的特殊结构,如哈佛总线、流水线操作、专用硬件乘法器以及专用寻址方式和特殊DSP指令、定点计算和定点指令集等。
  • 在介绍了DSP芯片的结构和其自身特点的基础上,从DSP芯片资料和相关源码的获取方法、DSP芯片型号的选择以及软件开发等三个方面介绍了DSP系统开发设计的基本知识并给出了系统开发的流程。
  • 在本章的最后介绍了DSP集成开发环境CCS的安装步骤与方法。
顶部目录