数字信号处理 DSP08_工程设计讲座

上传人:陈** 文档编号:191456436 上传时间:2023-03-03 格式:PPTX 页数:69 大小:948.54KB
收藏 版权申诉 举报 下载
数字信号处理 DSP08_工程设计讲座_第1页
第1页 / 共69页
数字信号处理 DSP08_工程设计讲座_第2页
第2页 / 共69页
数字信号处理 DSP08_工程设计讲座_第3页
第3页 / 共69页
资源描述:

《数字信号处理 DSP08_工程设计讲座》由会员分享,可在线阅读,更多相关《数字信号处理 DSP08_工程设计讲座(69页珍藏版)》请在装配图网上搜索。

1、信息与通信工程学院多媒体技术中心信息与通信工程学院多媒体技术中心DSP 的选择和的选择和设计开发设计开发门爱东教授门爱东教授1n DSP 芯片的选择芯片的选择u什么是什么是DSP?DSP?uDSPDSP的应用的应用uDSPDSP的运算的运算u数据宽度数据宽度u速度速度(Speed)Speed)u存贮的组织存贮的组织u开发的便宜开发的便宜u多多DSP支持支持u便携应用便携应用u价格价格主题概述主题概述n DSP 工程设计工程设计u数字化设计数字化设计u模拟混合电路设计模拟混合电路设计uDSPS目标系统设计目标系统设计uDSP外设的设计与使用外设的设计与使用u系统软件开发系统软件开发u工程应用注意

2、事项工程应用注意事项2 Men Aidong,信息与通信工程学院多媒体技术中心DSP DSP 简介简介n 数字信号处理器数字信号处理器(Digital Signal Processor,DSP)Digital Signal Processor,DSP)是专门用于更好实现数字信号处理应用的微处理器。是专门用于更好实现数字信号处理应用的微处理器。u1980 1980 年第一个商品化年第一个商品化 DSP DSP 问世;问世;u目前众多新的目前众多新的 DSPDSP,为设计者提供了广泛的选择;为设计者提供了广泛的选择;u新的半导体制造厂家不断进入这个领域,争取更大新的半导体制造厂家不断进入这个领域,

3、争取更大的市场分额,设计者在未来几年内将有更广的选择。的市场分额,设计者在未来几年内将有更广的选择。u今天的今天的 DSP DSP 是具有了强大功能的复杂器件。是具有了强大功能的复杂器件。u下面我们就介绍现在商品化下面我们就介绍现在商品化 DSP DSP 的共同特点,解释的共同特点,解释它们之间的区别,以及设计者在应用时注意的事项。它们之间的区别,以及设计者在应用时注意的事项。3 Men Aidong,信息与通信工程学院多媒体技术中心什么是什么是 DSP?DSP?n 多数多数 DSP DSP 共有的基本特性:共有的基本特性:高性能、重复性、高数高性能、重复性、高数据量。据量。n 在单个指令周期

4、内完成乘法累加运算在单个指令周期内完成乘法累加运算(Multiply-And-Multiply-And-AccumulateAccumulate,MAC)MAC)的能力的能力u这是衡量这是衡量 DSP DSP 最常用的性能;最常用的性能;u在涉及需要点乘的产品中,例如滤波器,在涉及需要点乘的产品中,例如滤波器,MACMAC运算在运算在算法中是非常有用的。为了完成此功能,算法中是非常有用的。为了完成此功能,DSPDSP在主数在主数据通路中集成有乘法器和累加器;据通路中集成有乘法器和累加器;u另外,为了进行一系列另外,为了进行一系列MACMAC运算而又没有发生运算溢运算而又没有发生运算溢出出(ov

5、erflow)overflow),DSPDSP通常在累加器中提供额外的比特通常在累加器中提供额外的比特数,以满足计算结果对比特数增加的要求。数,以满足计算结果对比特数增加的要求。4 Men Aidong,信息与通信工程学院多媒体技术中心什么是什么是 DSP?DSP?n 在单个指令周期内同时完成几个存贮器存取的能力在单个指令周期内同时完成几个存贮器存取的能力u这特点允许这特点允许 DSP DSP 在读取指令的同时,获得此指令所在读取指令的同时,获得此指令所需要的被运算数,或者需要的被运算数,或者/和存贮前一指令的运算结果。和存贮前一指令的运算结果。u通常在单个指令周期内完成多个存贮器读取是有许多

6、通常在单个指令周期内完成多个存贮器读取是有许多客观限制的。客观限制的。F典型之一是存取的存贮器位于片内,这样只能某些指典型之一是存取的存贮器位于片内,这样只能某些指令能进行多个存贮器存取。令能进行多个存贮器存取。F为了支持同时多个存取,为了支持同时多个存取,DSPDSP提供了多个片内提供了多个片内 (a)a)总线总线(On-Chip Bus)On-Chip Bus);(b)(b)多个片内存贮器以及某些情况下的多个片内存贮器以及某些情况下的 (c)c)多个独立的存贮空间。多个独立的存贮空间。5 Men Aidong,信息与通信工程学院多媒体技术中心什么是什么是 DSP?DSP?n 寻址方式寻址方

7、式u为了使运算达到最大速度,为了使运算达到最大速度,DSP DSP 包含了一个地址产生包含了一个地址产生单元,一旦适当的地址寄存器被配置,则地址发生器单元,一旦适当的地址寄存器被配置,则地址发生器在后台运行,形成运算指令所需的并行操作存取地址,在后台运行,形成运算指令所需的并行操作存取地址,地址发生器是针对地址发生器是针对 DSP DSP 而选择的模式。而选择的模式。u间接寻址间接寻址F最常用的寻址方式是具有后增量(最常用的寻址方式是具有后增量(Post_incrementPost_increment)的间接寻址寄存器,它通常用于连续存放一系列数据。的间接寻址寄存器,它通常用于连续存放一系列数

8、据。u模数寻址模数寻址F这种寻址简化了循环存储的使用。这种寻址简化了循环存储的使用。u 比特反转(比特反转(bit_reversedbit_reversed)寻址寻址F这种方式更易于编译快速这种方式更易于编译快速 FFT FFT 算法的结果。算法的结果。6 Men Aidong,信息与通信工程学院多媒体技术中心什么是什么是 DSP?DSP?n 循环(循环(LoopingLooping)u因为多数因为多数 DSP DSP 涉及完成重复的计算,多数涉及完成重复的计算,多数 DSP DSP 对更对更有效的有效的 Looping Looping 提供了特别支持。提供了特别支持。u通常,对于特殊的循环或

9、者重复指令,通常,对于特殊的循环或者重复指令,DSP DSP 允许开发允许开发人员完成一个人员完成一个 For_Next For_Next 循环语句,不用为了更新或循环语句,不用为了更新或检测循环计数器而花费任何指令周期。检测循环计数器而花费任何指令周期。n 强大的强大的 I/O I/O 功能:为了允许低价、高性能的输入输功能:为了允许低价、高性能的输入输出,多数出,多数 DSP DSP 包含有多个串口或者并口包含有多个串口或者并口 I/O I/O 接口。接口。u串口串口u并口并口u特殊的特殊的 I/O I/O 处理机制处理机制低层的中断或者低层的中断或者 DMA DMA 方式方式7 Men

10、Aidong,信息与通信工程学院多媒体技术中心DSP DSP 的应用的应用n DSP DSP 从雷达分析到消费者电子都有广泛的应用,但没有从雷达分析到消费者电子都有广泛的应用,但没有一个一个 DSP DSP 能满足所有的或者大多数的应用。因此,对能满足所有的或者大多数的应用。因此,对于设计者首要的任务是权衡各种因素,而选择适合于自于设计者首要的任务是权衡各种因素,而选择适合于自己应用的己应用的DSPDSP。这些因素包括:性能指标、价格、集成这些因素包括:性能指标、价格、集成度、开发难易、功耗及其它因素。度、开发难易、功耗及其它因素。n 嵌入系统(嵌入系统(embedded systemembe

11、dded system)u按市场份额讲,最大的应用是便宜的、大量的嵌入系统。按市场份额讲,最大的应用是便宜的、大量的嵌入系统。u价格、集成度占首位价格、集成度占首位F例如:移动电话、硬盘驱动器(例如:移动电话、硬盘驱动器(DSPDSP用语伺服控制)和调制解调用语伺服控制)和调制解调器(器(modemmodem)。)。u功耗居首位功耗居首位F对于便携、电池供电的产品,电源功耗非常重要。对于便携、电池供电的产品,电源功耗非常重要。F在这些系统中,性能和开发难易居次要地位,虽然用户也开发自在这些系统中,性能和开发难易居次要地位,虽然用户也开发自己的己的 DSP DSP 软件和围绕软件和围绕 DSP

12、DSP 配置自己的硬件。配置自己的硬件。8 Men Aidong,信息与通信工程学院多媒体技术中心DSP DSP 的应用的应用n 特殊需要特殊需要数据大、算法复杂的处理数据大、算法复杂的处理u例如:声纳和地震探测。它们的数量很少,但其算法例如:声纳和地震探测。它们的数量很少,但其算法很复杂。这样产品设计量就很大,而且也很复杂,结很复杂。这样产品设计量就很大,而且也很复杂,结果是设计者喜欢选择高性能、易用且支持多芯片配置果是设计者喜欢选择高性能、易用且支持多芯片配置的的 DSPDSP。u在某些情况下,设计者不愿意通过改造已有在某些情况下,设计者不愿意通过改造已有 DSP DSP 系系统,防止产生

13、零乱。他们选择标准的开发板,通过调统,防止产生零乱。他们选择标准的开发板,通过调用他们的已有函数库来完成开发。用他们的已有函数库来完成开发。9 Men Aidong,信息与通信工程学院多媒体技术中心DSP DSP 的应用的应用n 多媒体(多媒体(multimediamultimedia)新兴市场新兴市场u许多厂家正在占领这个新兴的市场,包含有许多厂家正在占领这个新兴的市场,包含有 DSP DSP 的计算机的计算机可以提供多媒体功能。可以提供多媒体功能。FVoicemailVoicemail(语音信箱)、数据语音信箱)、数据/传真传真ModemModem、音乐和语音合成及分音乐和语音合成及分解、

14、图象压缩、电视接收、广播接收。解、图象压缩、电视接收、广播接收。u多媒体对多媒体对 DSP DSP 的要求:的要求:F高性能、低价格、高集成度高性能、低价格、高集成度 多媒体除具有嵌入系统的量大、低价、高集成度的特点外,还要求高多媒体除具有嵌入系统的量大、低价、高集成度的特点外,还要求高性能。因为多媒体性能。因为多媒体 PC PC 要求要求 DSP DSP 同时完成多项功能。同时完成多项功能。F多项功能之间更有效的切换多项功能之间更有效的切换 多媒体除要求更有效地完成多项功能外,还要求多媒体除要求更有效地完成多项功能外,还要求 DSP DSP 必须具有更有效必须具有更有效地切换多项功能的能力。

15、地切换多项功能的能力。F更大的存贮容量更大的存贮容量 例如接例如接 MPEG1 MPEG1 标准,图象压缩每秒钟设为标准,图象压缩每秒钟设为1.51.5MB/sMB/s。这样,多媒体就这样,多媒体就需要海量存贮。需要海量存贮。10 Men Aidong,信息与通信工程学院多媒体技术中心DSP DSP 的运算的运算n 数的表示:数的表示:u一个可编程一个可编程 DSP DSP 的基本特性之一是的基本特性之一是 DSP DSP 所采用的运所采用的运算类型。算类型。u定点制定点制 DSPDSP:一个数表示为整数或者一个数表示为整数或者+1.0+1.0-1.0-1.0 之之间的函数。间的函数。u浮点运

16、算:一个数表示为指数部分和尾数部分。尾数浮点运算:一个数表示为指数部分和尾数部分。尾数部分通常是部分通常是+1.0+1.0-1.0-1.0 之间的小数,而指数部分表之间的小数,而指数部分表示二进制中小数点的位置。示二进制中小数点的位置。11 Men Aidong,信息与通信工程学院多媒体技术中心n 浮点浮点 DSP DSP 和定点和定点 DSP DSP 的比较的比较u性能比较性能比较浮点运算是更灵活、更通用的机制浮点运算是更灵活、更通用的机制F更宽的动态范围更宽的动态范围 (所能表示的最大最小数之比所能表示的最大最小数之比)F更好的精度更好的精度F易用易用:在浮点制中,开发人员不必关心动态范围

17、和精度,而对定在浮点制中,开发人员不必关心动态范围和精度,而对定点点 DSP DSP 而言,开发人员要时刻小心各种阶段的信号范围,以确保而言,开发人员要时刻小心各种阶段的信号范围,以确保在有限的动态范围和运算精度下达到自己要求的数值性能。在有限的动态范围和运算精度下达到自己要求的数值性能。F更贵更贵:浮点浮点 DSP DSP 为了完成浮点运算,需要增加复杂的电路,这也为了完成浮点运算,需要增加复杂的电路,这也就意味着一个大的冲模就意味着一个大的冲模(die)die)。u应用比较应用比较F对于嵌入系统,选择定点对于嵌入系统,选择定点 DSPDSP。因为嵌入系统对于价格是首位的。因为嵌入系统对于价

18、格是首位的。开发人员通过分析和方针,决定他们所需的动态范围和运算精度,开发人员通过分析和方针,决定他们所需的动态范围和运算精度,以及是否需要增加比例因子。以及是否需要增加比例因子。F大动态范围、高精度、开发容易,选择浮点大动态范围、高精度、开发容易,选择浮点DSPDSP。对于不关心价格,对于不关心价格,而对动态范围和精度有特殊要求的用户,以及为了开发容易,可而对动态范围和精度有特殊要求的用户,以及为了开发容易,可以选择浮点以选择浮点 DSPDSP。DSP DSP 的运算的运算12 Men Aidong,信息与通信工程学院多媒体技术中心n 定点定点 DSP DSP 完成浮点运算完成浮点运算浮点浮

19、点u在定点在定点 DSP DSP 中完成通常的浮点运算是可能的。中完成通常的浮点运算是可能的。u调用浮点运算仿真程序调用浮点运算仿真程序。但这样做需要很多个指令周。但这样做需要很多个指令周期,得不偿失。因此,通用的浮点仿真几乎不用了。期,得不偿失。因此,通用的浮点仿真几乎不用了。u块浮点运算块浮点运算(Block floating-point)Block floating-point)F定点和浮点运算的折中构成了块浮点运算定点和浮点运算的折中构成了块浮点运算一组数一组数中数据具有不同的尾数,但具有唯一的、相同的指数中数据具有不同的尾数,但具有唯一的、相同的指数表示这一数据块。表示这一数据块。F

20、块浮点运算通常由软件完成,但有些块浮点运算通常由软件完成,但有些DSPDSP中也有硬件辅中也有硬件辅助完成此功能。助完成此功能。DSP DSP 的运算的运算13 Men Aidong,信息与通信工程学院多媒体技术中心数据宽度数据宽度(Data Width)Data Width)n 所有的浮点所有的浮点 DSP DSP 都是都是 32 32bit bit 数据字数据字(Data Word)Data Word)n 定点定点 DSP DSP 常用常用1616bitbit数据字数据字,但但 Motorala DSP5600XMotorala DSP5600X系列和系列和 Star Star 半导体公司

21、半导体公司 SPROC SPROC 系列采用系列采用 24 24bit bit 字宽,字宽,Zoran ZR38000 Zoran ZR38000 采用采用 20 20bit bit 数据字。数据字。n 数据字的大小对价格具有重要影响数据字的大小对价格具有重要影响u芯片的大小芯片的大小(Chip Size)Chip Size)u封装管脚的数目封装管脚的数目(Number of package pins)Number of package pins)u外部存储器的大小外部存储器的大小n 指令字长和数据字长指令字长和数据字长u大多数大多数 DSP DSP 的指令字长和数据字长相等,但也不全是这的指

22、令字长和数据字长相等,但也不全是这样。如样。如ADAD公司公司ADSP21XXADSP21XX系列系列1616bitbit数据字长数据字长 24 24bitbit指令字指令字长长;ZoranZoran公司公司ZR3800ZR3800是是2020bitbit数据字长数据字长 32 32bitbit指令字长。指令字长。14 Men Aidong,信息与通信工程学院多媒体技术中心数据宽度数据宽度(Data Width)Data Width)n 应用选择应用选择字长与开发复杂度折中字长与开发复杂度折中u对于开发者来讲,在满足需要的情况下,应选择最小的对于开发者来讲,在满足需要的情况下,应选择最小的 D

23、SPDSP,这样价格才能便宜;这样价格才能便宜;u对于选择定点对于选择定点 DSP DSP 还是浮点还是浮点 DSPDSP,需要对字长和开发复需要对字长和开发复杂性进行折中;杂性进行折中;F对于某些对于某些 24 24bit bit 才能满足需要的应用,我们在牺牲了复杂才能满足需要的应用,我们在牺牲了复杂性或程序的基础上,性或程序的基础上,1616bitDSP bitDSP 也能满足需要。也能满足需要。F例如对于例如对于1616bitDSPbitDSP,通过对指令的适当组合,也能完成双精通过对指令的适当组合,也能完成双精度度 32 32bit bit 的运算操作。当然双精度的运算速度比单精度慢

24、。的运算操作。当然双精度的运算速度比单精度慢。u如果你的应用中大多数是单精度运算,只有少部分需要高如果你的应用中大多数是单精度运算,只有少部分需要高精度运算,这时你选择用单精度精度运算,这时你选择用单精度 DSP DSP 完成双精度运算可完成双精度运算可更意义。反之,则需要更宽比特的更意义。反之,则需要更宽比特的 DSPDSP。15 Men Aidong,信息与通信工程学院多媒体技术中心速度速度(Speed)Speed)n 满足特殊需要时,对满足特殊需要时,对 DSP DSP 的一个关键测试是运行速的一个关键测试是运行速度。有许多方法可以测试度。有许多方法可以测试 DSP DSP 的速度。的速

25、度。n 最快指令周期时间最快指令周期时间执行一个执行一个DSPDSP最快的指令所需要最快的指令所需要的时间的时间u通常用一秒钟内执行多少百万次指令(通常用一秒钟内执行多少百万次指令(Millions of Millions of instructions per second,MIPS)instructions per second,MIPS)来衡量。若来衡量。若 DSP DSP 指令指令周期为周期为 20 20nsns100ns100ns,即执行速率为即执行速率为 50 501010MIPSMIPS。u问题问题:不同不同 DSP DSP 之间单个指令完成的工作量,变化非常大。之间单个指令完成

26、的工作量,变化非常大。F例如,早期的例如,早期的 DSP DSP 在一个指令周期内只能完成一次加法或在一个指令周期内只能完成一次加法或者乘法者乘法(两者不能同时完成两者不能同时完成)。相反,现在的。相反,现在的 DSP DSP 一个指令一个指令周期就可能完成乘法累加功能周期就可能完成乘法累加功能(MAC)MAC)。另外,有的另外,有的 DSP(DSP(如如MotoralaMotorala的的DSP5600DSP5600系列系列)可以对和可以对和ALUALU没有关系的数据进行没有关系的数据进行并列移动。而有的并列移动。而有的DSPDSP只支持和只支持和ALUALU有关的数据的并行移动。有关的数据

27、的并行移动。16 Men Aidong,信息与通信工程学院多媒体技术中心速度速度(Speed)Speed)n 基本操作周期基本操作周期u为了克服上述问题,用基本操作周期来代替指令操作为了克服上述问题,用基本操作周期来代替指令操作周期作为衡量周期作为衡量 DSP DSP 速度的标尺。共同的操作是速度的标尺。共同的操作是 MACMAC,但不幸的是关于但不幸的是关于 DSP MAC DSP MAC 运算次数差异这方面的信运算次数差异这方面的信息很少。现在大多数息很少。现在大多数 DSP DSP 都在一个指令周期内完成都在一个指令周期内完成一个一个 MAC MAC 操作,并且操作,并且 MAC MAC

28、 周期等于指令周期。周期等于指令周期。u问题问题:F有的有的 DSP DSP 在完成在完成 MAC MAC 外,还能完成一些其它功能;外,还能完成一些其它功能;FMAC MAC 次数中没有考虑控制指令,有时它也对性能产生次数中没有考虑控制指令,有时它也对性能产生重要影响。重要影响。17 Men Aidong,信息与通信工程学院多媒体技术中心速度速度(Speed)Speed)n 标准基准标准基准(Benchmarks)Benchmarks)u一个更通用的方法是定义一组标准基准,然后比较各个一个更通用的方法是定义一组标准基准,然后比较各个 DSP DSP 的运行的运行速度。这个标准基准可能是简单的

29、速度。这个标准基准可能是简单的“核心核心”功能功能(如如 FIR FIR 或或 IIR DF)IIR DF),或者是某些应用的整体或部分。或者是某些应用的整体或部分。n 注意事项注意事项uMOPSMOPS和和MFLOPSMFLOPS的区别的区别FMOPSMOPS每秒钟多少百万次运算(每秒钟多少百万次运算(Millions of operations per Millions of operations per secondsecond)FMFLOPSMFLOPS每秒钟多少百万次浮点运算每秒钟多少百万次浮点运算F不同的厂家对由什么构成不同的厂家对由什么构成“运算(运算(OperationOper

30、ation)”理解不同。理解不同。u时钟频率时钟频率F时钟时钟指令周期指令周期 DSPDSP的输入时钟可能和的输入时钟可能和DSPDSP的指令频率相同,也可能是指令速率的两的指令频率相同,也可能是指令速率的两倍或者四倍。倍或者四倍。F时钟频率指令速率时钟频率指令速率 倍频和锁相技术倍频和锁相技术 例如例如 40 40MHz DSP56156 MHz DSP56156 的的 MIPS=20MHz ADSP-2101 MIPS=20MHz ADSP-2101 的的 MIPSMIPS18 Men Aidong,信息与通信工程学院多媒体技术中心存贮的组织存贮的组织n 指令指令 Mem Mem 和数据和

31、数据 Mem Mem 的组织的组织uDSPDSP存贮中的组织对性能有很大影响。存贮中的组织对性能有很大影响。u如前所述,如前所述,MACMAC是很多是很多 DSP DSP 的基本运算,快速的基本运算,快速 MAC MAC 运算需要获得一个指令字,同时在同一指令周期内从运算需要获得一个指令字,同时在同一指令周期内从 Memory Memory 读取两个数据字。读取两个数据字。u可以有很多方法实现这一点:可以有很多方法实现这一点:F多端口多端口 MemMem允许在一个指令周期内多哥存贮器存取允许在一个指令周期内多哥存贮器存取F哈佛结构哈佛结构独立的数据树指令独立的数据树指令 MemoryMemor

32、yF指令指令 CacheCache从从 Cache Cache 中读取指令代替从存储器中中读取指令代替从存储器中19 Men Aidong,信息与通信工程学院多媒体技术中心存贮的组织存贮的组织n 存储器的大小存储器的大小 片内部、外部总线的数目片内部、外部总线的数目u定点定点 DSPDSPF定点定点 DSP DSP 主要面向嵌如系统市场,它要求存贮量小。主要面向嵌如系统市场,它要求存贮量小。F中小规模片内中小规模片内 memmorymemmory(25612KWords)25612KWords),小的外部数小的外部数据总线。据总线。F例如:例如:ADCADC,AT&TAT&T,MotMot,T

33、ITI的定点的定点 DSP DSP 都具有都具有1616bitbit的地址总线,这样就限制了其外部的地址总线,这样就限制了其外部 Memory Memory 的容量。的容量。20 Men Aidong,信息与通信工程学院多媒体技术中心存贮的组织存贮的组织n 存储器的大小存储器的大小 片内部、外部总线的数目片内部、外部总线的数目u浮点浮点DSPDSPF没有或者很少的片内没有或者很少的片内memorymemory,但有很大的外部数据总但有很大的外部数据总线。线。例如:例如:ADAD公司公司 ADSP21021 ADSP21021 没有片内没有片内MemoryMemory,但有但有3232bitbi

34、t外外部数据地址总线和部数据地址总线和2424bitbit外部程序地址总线。外部程序地址总线。另外,这些另外,这些DSPDSP提供的提供的CacheCache技术,可允许使用较快的外部技术,可允许使用较快的外部MemoryMemory。TI TMS320C30TI TMS320C30:6K6K片内片内MemoryMemory,24bit24bit外部数据总线和外部数据总线和1313bitbit外部程序地址总线外部程序地址总线 ADSP21060ADSP21060:4M4M片内片内MemoryMemory,可以改变片内可以改变片内MemoryMemory的配置以的配置以分配给分配给DataDat

35、a和指令不同的容量。如和指令不同的容量。如6464K 32bit DataK 32bit Data和和4040K K 48bit48bit程序程序 注:注:MemoryMemory的组织、大小、外部总线的数目非常依赖与应用。的组织、大小、外部总线的数目非常依赖与应用。21 Men Aidong,信息与通信工程学院多媒体技术中心开发的便宜开发的便宜n 开发的难易依赖与你的应用。开发的难易依赖与你的应用。u例如在研究中,对于样机或仿真来讲,希望越快越容例如在研究中,对于样机或仿真来讲,希望越快越容易的开发出来。易的开发出来。u另一方面,对一些公司来讲,起为了降低产品的价格,另一方面,对一些公司来讲

36、,起为了降低产品的价格,节省开发工具的费用,愿意承受艰苦的开发环境,但节省开发工具的费用,愿意承受艰苦的开发环境,但这带来的负面影响是开发周期长、产品上市慢。这带来的负面影响是开发周期长、产品上市慢。n 选择开发选择开发DSPDSP的因素:的因素:u软件工具(汇编、链接、仿真、编译、实时操作系统)软件工具(汇编、链接、仿真、编译、实时操作系统)u硬件设计工具(开发板和仿真器)硬件设计工具(开发板和仿真器)u高级工具(如基于图形的框图设计环境)高级工具(如基于图形的框图设计环境)22 Men Aidong,信息与通信工程学院多媒体技术中心开发的便宜开发的便宜n 程序设计语言程序设计语言u汇编语言

37、汇编语言u高级语言,如高级语言,如C或或Adau高级设计环境高级设计环境基于图形的框图设计基于图形的框图设计F如如Mentor Graphics的的DSP工作站工作站 DSP5600X系列系列FComdisco Systems的的SPW TMS320C3X 系列系列 u调试仿真工具调试仿真工具F 不管是在高级语言,还是在汇编语言,调试和硬件仿不管是在高级语言,还是在汇编语言,调试和硬件仿真工具都是值得特别注意的。真工具都是值得特别注意的。u开发板开发板F允许开发人员在完成最终硬件之前实时地运行软件。允许开发人员在完成最终硬件之前实时地运行软件。F数量少的产品也选择开发板作为自己的最终硬件平台。

38、数量少的产品也选择开发板作为自己的最终硬件平台。23 Men Aidong,信息与通信工程学院多媒体技术中心多多 DSP 支持支持n 对于某些大计算量的应用(如雷达、声纳等),需对于某些大计算量的应用(如雷达、声纳等),需要多片要多片 DSP,此时,此时,u互连的难易互连的难易DSP间通信电路的设计间通信电路的设计u 互连的性能互连的性能的吞吐量、效率、延迟就成为重要因素。的吞吐量、效率、延迟就成为重要因素。n TITMS320C40u2 个完全独立的地址和数据总线(用于连接本片和全局的个完全独立的地址和数据总线(用于连接本片和全局的Mem)。)。u6 个个 8bit 的并口,每个并口的并口,

39、每个并口20Mbytes/s的速率。的速率。u这些并口非常适合构成超立方体和拓扑结构。这些并口非常适合构成超立方体和拓扑结构。n AD公司公司ADSP-21060u(a)双向地址和数据总线,双向地址和数据总线,6个双向总线请求线。通过精致的总线构造,个双向总线请求线。通过精致的总线构造,可支持可支持 6 个个 DSP 互连。互连。u(b)6个个4bit并口并口24 Men Aidong,信息与通信工程学院多媒体技术中心便携应用便携应用n 在许多便携应用中(如移动电话和寻呼、计算机),电在许多便携应用中(如移动电话和寻呼、计算机),电源功耗成为主要问题。采取了许多措施来降低电源功耗。源功耗成为主

40、要问题。采取了许多措施来降低电源功耗。u减少工作电压减少工作电压FAD、ATQT、Motorola、TI都已有都已有3V DSP。u休眠模式休眠模式F许多许多DSP在等待状态时,关掉在等待状态时,关掉DSP中一些部分的时钟,以减中一些部分的时钟,以减少功耗。少功耗。F苏醒:苏醒:内部未掩盖的中断;特定的外部中心线;其它内部未掩盖的中断;特定的外部中心线;其它u可编程时钟可编程时钟F新的新的 DSP 允许用软件来改变允许用软件来改变 DSP 的工作时钟频率,以满足不同的任务设的工作时钟频率,以满足不同的任务设置不同时钟,节省电源。置不同时钟,节省电源。u外围设备控制外围设备控制F 有的有的 DS

41、P 允许把现在不用的外设屏蔽掉。允许把现在不用的外设屏蔽掉。25 Men Aidong,信息与通信工程学院多媒体技术中心价格价格应用、封装形式、数量应用、封装形式、数量n 应用应用uDSP 的价格主要受订货数量的影响,只要能满足要求,的价格主要受订货数量的影响,只要能满足要求,就应选择最低价格的,虽然它可能缺少灵活性和编程就应选择最低价格的,虽然它可能缺少灵活性和编程困难。困难。u例如:例如:TMS320C16 问世于问世于1980 年,现在的报价是年,现在的报价是 8 美元(美元(1000片时),正因为它报价低现在仍能有定单。片时),正因为它报价低现在仍能有定单。n PackaginguPQ

42、FP、TQFP是最便宜的,是最便宜的,PGA是最贵的。是最贵的。u例:例:33MHz TMS320C30 PGA=2.3PQFP(2.3倍倍)n 数量数量u数量是决定价格的一个重要因素,如数量是决定价格的一个重要因素,如11,000100,000片的价格会有显著的差异。片的价格会有显著的差异。26 Men Aidong,信息与通信工程学院多媒体技术中心 DSP 选择小结选择小结n DSP的选择:综合考虑的选择:综合考虑u运算(定点、浮点)运算(定点、浮点)u数据宽度数据宽度u速度速度u存储器组织存储器组织u开发难易开发难易DSP支持支持u电源功耗电源功耗u价格等。价格等。n 正确的正确的 DS

43、P 依赖于你的应用。对于这个应用好,对依赖于你的应用。对于这个应用好,对于另一个不一定就好。于另一个不一定就好。27 Men Aidong,信息与通信工程学院多媒体技术中心n DSP 芯片的选择芯片的选择u什么是什么是DSP?DSP?uDSPDSP的应用的应用uDSPDSP的运算的运算u数据宽度数据宽度u速度速度(Speed)Speed)u存贮的组织存贮的组织u开发的便宜开发的便宜u多多DSP支持支持u便携应用便携应用u价格价格主题概述主题概述n DSP 工程设计工程设计u数字化设计数字化设计u模拟混合电路设计模拟混合电路设计uDSPS目标系统设计目标系统设计uDSP外设的设计与使用外设的设计

44、与使用u系统软件开发系统软件开发u工程应用注意事项工程应用注意事项28 Men Aidong,信息与通信工程学院多媒体技术中心29 Men Aidong,信息与通信工程学院多媒体技术中心TMS320C542A/D A/DFILTERD/ACONTROLLEREPROMRAMFILTER/MUX一个典型一个典型DSP SOLUTIONDSP SOLUTION设计设计30 Men Aidong,信息与通信工程学院多媒体技术中心设计要素:设计要素:n 数字化要求数字化要求n 模拟混合电路(模拟混合电路(ADC/DACADC/DAC)设计设计n 处理需求(处理需求(DSPDSP运算量)运算量)n 吞吐

45、量需求吞吐量需求n 存储器需求(存储器需求(SRAMSRAM、ROOMROOM、FLASHFLASH等)等)n 通信口需求通信口需求n 其它控制(电源设计、状态控制、时钟控制、其它控制(电源设计、状态控制、时钟控制、多多DSPDSP控制、控制、.).)31 Men Aidong,信息与通信工程学院多媒体技术中心1 基带信号采样定理基带信号采样定理 要想连续信号抽取后能够不失真地还原出原信号,则要想连续信号抽取后能够不失真地还原出原信号,则抽取频率必须大于或等于两倍原信号频谱的最高频率。抽取频率必须大于或等于两倍原信号频谱的最高频率。(NyquistNyquist定理)定理)32 Men Aid

46、ong,信息与通信工程学院多媒体技术中心2 带通采样定理带通采样定理 带通采样时采样频率不一定要满足带通采样时采样频率不一定要满足Nyquist准则,带通采样的采准则,带通采样的采样频率选择方法为:样频率选择方法为:(1)fs 2 f(BW)(2)fs=4fc/(2NZ-1)其中,其中,NZ=1,2,3,的最大整数。的最大整数。33 Men Aidong,信息与通信工程学院多媒体技术中心3 量化与量化误差量化与量化误差 连续信号经量化处理要产生量化误差,对于均匀量化,量化误差连续信号经量化处理要产生量化误差,对于均匀量化,量化误差的大小为:的大小为:EundBSNRENEsenelog2067

47、7.4)()2*3/(3/12/222222 其中,E 为 FS 电平,us 为信号有效电平。对于 FS正弦输入,量化误差为:ndBSNRe676.1)(34 Men Aidong,信息与通信工程学院多媒体技术中心4 ADC/DAC 的选择的选择(1)ADC的种类:的种类:逐次比较逐次比较ADC 双线性双线性ADC FLASH ADC -ADC(2)ADC选择的标准:分辨率、速度、选择的标准:分辨率、速度、输入动态范围、输入动态范围、POWER等等(3)DAC的选择的选择(4)滤波器设计滤波器设计35 Men Aidong,信息与通信工程学院多媒体技术中心5、DSP与与ADC/DAC的接口的接

48、口(1 1)对于串型)对于串型ADC/DACADC/DAC接口一般使用接口一般使用DSPDSP的串口进行数据通信。如的串口进行数据通信。如C25 C25 与与 11 11 通道的通道的 12 12 位位 ADC TLC2543 ADC TLC2543 的接口设计如下:的接口设计如下:36 Men Aidong,信息与通信工程学院多媒体技术中心37 Men Aidong,信息与通信工程学院多媒体技术中心(2 2)对于并型)对于并型ADC/DACADC/DAC接口一般使用接口一般使用DSPDSP的的I/OI/O口进行数据通口进行数据通信。如信。如DSPDSP与与1212位位ADC AD678ADC

49、 AD678的接口设计如下:的接口设计如下:38 Men Aidong,信息与通信工程学院多媒体技术中心(三三)目标系统硬件设计目标系统硬件设计1、DSP 的选择的选择n 运算量运算量n 价格价格n 外设需求外设需求n 其他因素其他因素2、DSP 配置配置 DATA 存储器大小存储器大小 PROGRAM 存储器大小存储器大小 存储器速度要求存储器速度要求 I/O 口配置口配置39 Men Aidong,信息与通信工程学院多媒体技术中心3、DSP基本系统设计基本系统设计n 与模数电路接口与模数电路接口n BOOTLOADER BOOTLOADER 设计设计n 扩展存储器设计扩展存储器设计n 时钟

50、设计时钟设计n 中断设计中断设计n 外设的使用外设的使用n 电源管理电源管理n 其他其他.(三三)目标系统硬件设计目标系统硬件设计40 Men Aidong,信息与通信工程学院多媒体技术中心1 1)BOOTLOADER BOOTLOADER 设计设计n MP/MP/*MC=0MC=0(片上片上 ROM ROM 有效),复位后程序从有效),复位后程序从 FF80 FF80 开始运开始运行,将跳转到行,将跳转到 BOOTLOADER BOOTLOADER 代码开始出。代码开始出。n BOOT BOOT 的流程取决于的流程取决于I/O I/O 口口 FFFF FFFF 的值(的值(BRSBRS)和和

51、INT2INT2n*RS RS 后检测后检测 INT2 INT2 是否有效?有效按是否有效?有效按 HPI boot HPI boot 模式引导,模式引导,否则,读否则,读 I/O I/O 口口 FFFFh FFFFh 的的 BRSBRS,决定其他的引导方式。决定其他的引导方式。n BRS BRS 决定的引导方式决定的引导方式 xxxx1000 xxxx1000:8bit 8bit 并口并口 I/O I/O 引导引导 xxxx1100 xxxx1100:16bit 16bit 并口并口 I/O I/O 引导引导 xx?00 xx?00:串口引导(详细说明见后)串口引导(详细说明见后)xxxxx

52、x01xxxxxx01:8bit 8bit 并行并行 EPROM EPROM 引导引导 xxxxxx10 xxxxxx10:16bit 16bit 并行并行 EPROM EPROM 引导引导 xxxxxx11xxxxxx11:热引导模式热引导模式(三三)目标系统硬件设计目标系统硬件设计41 Men Aidong,信息与通信工程学院多媒体技术中心BRS决定的串口引导说明:决定的串口引导说明:xx000000:8bit缓冲串口BSP(FSX/CLKX作为输出)xx000100:16bit缓冲串口BSP(FSX/CLKX作为输出)xx010000:8bit缓冲串口BSP(FSX/CLKX作为输入)x

53、x010100:16bit缓冲串口BSP(FSX/CLKX作为输入)xx100000:8bit时分复用串口TDM (FSX/CLKX作为输出)xx100100:16bit时分复用串口TDM (FSX/CLKX作为输出)(三三)目标系统硬件设计目标系统硬件设计42 Men Aidong,信息与通信工程学院多媒体技术中心(三三)目标系统硬件设计目标系统硬件设计43 Men Aidong,信息与通信工程学院多媒体技术中心2)外部存储器接口)外部存储器接口(三三)目标系统硬件设计目标系统硬件设计44 Men Aidong,信息与通信工程学院多媒体技术中心A22-A19A18A17A16A15A14-A

54、0*PS*DS*IS*MSTRBR/*WA16A15A14-A0*OE*CS*WE下面给出一个扩展外部存储器的例子,重点注意:a、只使用一片 128Kx16 的 RAM b、与内部有效的 RAM 相同的地址,外部 RAM 无效 c、外部 RAM 的存取速度 不能全速运行时,需 要根据速度插入等待 状态(三三)目标系统硬件设计目标系统硬件设计45 Men Aidong,信息与通信工程学院多媒体技术中心3)系统时钟设计与控制)系统时钟设计与控制 CLKOUT VCC crystal oscillator GNDExternal Clock3.3V电路的两种接法:内部振荡器 外部晶振(三三)目标系统

55、硬件设计目标系统硬件设计46 Men Aidong,信息与通信工程学院多媒体技术中心两种时钟控制方式 a、Hardware-programmable PLL(C541、C542、C543、C545&C546)(三三)目标系统硬件设计目标系统硬件设计47 Men Aidong,信息与通信工程学院多媒体技术中心b、Software-programmable PLL (C541B/C545A/C546A/C548/C549/C5402/C5410/C5420)由时钟模式寄存器控制(由时钟模式寄存器控制(CLKMD):):(三三)目标系统硬件设计目标系统硬件设计48 Men Aidong,信息与通信工

56、程学院多媒体技术中心软件编程控制时钟举例:软件编程控制时钟举例:(设置设置 CLKOUT=CLKIN x 3)CLKOUT=CLKIN x 3)STM#0h,CLKMD ;switch to DIV mode TstStatu:LDM CLKMD,A AND#01b,A ;poll STATUS bit BC TstStatu,ANEQ STM#0214fh,CLKMD ;Set PLLON/OFF when ;STATUS is DIV mode ;PLLMUL=0010,PLLDIV=0 ;PLLCOUNT=00101000(41)(三三)目标系统硬件设计目标系统硬件设计49 Men Ai

57、dong,信息与通信工程学院多媒体技术中心4)中断处理)中断处理 a、外部中断引脚连接外部中断引脚连接 b、修改中断向量表修改中断向量表 c、中断服务程序中断服务程序(三三)目标系统硬件设计目标系统硬件设计50 Men Aidong,信息与通信工程学院多媒体技术中心5)外设的使用)外设的使用n 计数器的使用计数器的使用n 标准标准 SP SP 的使用的使用n 缓冲缓冲 SP SP 的使用的使用n McBSP McBSP 的使用的使用n TDM TDM 的使用的使用n HPI HPI 的使用与设计的使用与设计n DMA DMA 的使用与设计的使用与设计n 其它其它 I/O I/O 接口信号线接口

58、信号线(如如 XFXF、BIO BIO 等)的使用等)的使用(三三)目标系统硬件设计目标系统硬件设计51 Men Aidong,信息与通信工程学院多媒体技术中心(四)目标板系统软件设计(四)目标板系统软件设计1、源程序的编写、源程序的编写在编写汇编语句时,应遵循以下规则:在编写汇编语句时,应遵循以下规则:语句的开头只能是标号、空格、星号或分号。语句的开头只能是标号、空格、星号或分号。标号是可选项;如果使用,必须从第一列开始。标号是可选项;如果使用,必须从第一列开始。每个域必须由一个或多个空棵空格来分开。制表符等同于每个域必须由一个或多个空棵空格来分开。制表符等同于空格。空格。注释是可选项。开始

59、于第一列的注释用星号或分号(注释是可选项。开始于第一列的注释用星号或分号(*或或 ;)来标明,开始于其它列的注释必须由分号开头。;)来标明,开始于其它列的注释必须由分号开头。u一个源语句可以包含四个域,一般格式如下:一个源语句可以包含四个域,一般格式如下:label:instruction ;commentlabel:instruction ;comment52 Men Aidong,信息与通信工程学院多媒体技术中心2、汇编编译指令的使用、汇编编译指令的使用汇编编译指令用来完成以下任务:汇编编译指令用来完成以下任务:n 将代码和数据汇编进特定的段将代码和数据汇编进特定的段n 为未初始化的变量保

60、留存储器空间为未初始化的变量保留存储器空间n 控制展开列表的形式控制展开列表的形式n 存储器初始化存储器初始化n 汇编条件块汇编条件块n 定义全局变量定义全局变量n 指定汇编器可以获得宏的特定库指定汇编器可以获得宏的特定库n 检查符号调试信息检查符号调试信息(四)目标板系统软件设计(四)目标板系统软件设计53 Men Aidong,信息与通信工程学院多媒体技术中心1)程序段定义的汇编指令)程序段定义的汇编指令段定义汇编指令使部分源程序放入适当的段中。段定义汇编指令使部分源程序放入适当的段中。.bss 在在.bssbss段中为未初始化的变量保留空间段中为未初始化的变量保留空间.data 确认确认

61、.datadata段中的代码段。段中的代码段。.datadata段中通常包含段中通常包含 了初始化的数据(用了初始化的数据(用.int/.wordint/.word等等定义)定义)。.sect 定义初始化了的带命名的段,并将紧接着的代定义初始化了的带命名的段,并将紧接着的代 码或数据并入该段。码或数据并入该段。.text 该段中包含了可执行的代码。该段中包含了可执行的代码。.usect 在一个未初始化的有命名的段中保留空间在一个未初始化的有命名的段中保留空间(四)目标板系统软件设计(四)目标板系统软件设计54 Men Aidong,信息与通信工程学院多媒体技术中心使用格式和举例使用格式和举例.

62、mmregs.bss x,20,1.usect “sin-table”,100.textLD#0,AADD x,A,B.sect“cal-sin”LD#lk,ASTL A,sin-tableRET.data.word 1,2,3,4.int 043h,ff08h除.int和.word外还有很多用于常量说明的汇编指令,如.byte/.field/.space/.bes/.fload/.long/.string/.xfload等,请看教程。(四)目标板系统软件设计(四)目标板系统软件设计55 Men Aidong,信息与通信工程学院多媒体技术中心2 2)引用其它文件的汇编指令)引用其它文件的汇编指

63、令.copy/.include 告诉汇编器开始从其它文件中读源语句。告诉汇编器开始从其它文件中读源语句。.def 确认一个在当前模块中定义的且能被其它模块使用的符号。确认一个在当前模块中定义的且能被其它模块使用的符号。.global 声明一个外部符号,使其它模块在连接的时候可以使用它。如声明一个外部符号,使其它模块在连接的时候可以使用它。如果在当前段定义了该符号,那么该符号就可以被其它模块使用;果在当前段定义了该符号,那么该符号就可以被其它模块使用;如果在当前段中没有定义该符号,则是使用了其它模块定义的如果在当前段中没有定义该符号,则是使用了其它模块定义的符号。前一种功能与符号。前一种功能与.

64、defdef相同,后一种功能与相同,后一种功能与.refref相同。相同。.mlib 向汇编器提供一个包含了宏定义的文挡库的名称。当汇编器碰向汇编器提供一个包含了宏定义的文挡库的名称。当汇编器碰见了一个在当前库中没有定义的宏,就在见了一个在当前库中没有定义的宏,就在.mlibmlib确认的宏库中确认的宏库中查找。查找。.ref 确认一个在当前段中使用但在其它段中定义的符号。确认一个在当前段中使用但在其它段中定义的符号。(四)目标板系统软件设计(四)目标板系统软件设计56 Men Aidong,信息与通信工程学院多媒体技术中心3 3)条件汇编指令)条件汇编指令.if/.elseif/.else/

65、.endif 这些指令告诉汇编器根据表达式的值条件汇这些指令告诉汇编器根据表达式的值条件汇编一块代码。编一块代码。.if表示一个条件块的开始,如果条件为真就汇编表示一个条件块的开始,如果条件为真就汇编紧接着的代码。紧接着的代码。.elseif是表示如果是表示如果.ifif的条件为假,而的条件为假,而.elseif的条件为真,就汇编紧接着的代码。的条件为真,就汇编紧接着的代码。.endif结束该条件块。结束该条件块。.loop/.break/.endloop 这组指令告诉汇编器按照表达式的值循环汇这组指令告诉汇编器按照表达式的值循环汇编一块代码。编一块代码。.loop expression 标注

66、一块循环代码的开标注一块循环代码的开始。始。.break expression告诉汇编器当表达式为假时,继续循环告诉汇编器当表达式为假时,继续循环汇 编;当 表 达 式 为 真 时,立 刻 转 到汇 编;当 表 达 式 为 真 时,立 刻 转 到.e n d l o o p 后 的 代 码后 的 代 码去。去。.endloop标注一个可循环块的末尾。标注一个可循环块的末尾。(四)目标板系统软件设计(四)目标板系统软件设计57 Men Aidong,信息与通信工程学院多媒体技术中心4 4)汇编时的符号指令)汇编时的符号指令符号指令是使有意义的符号名与常数值或字符串相等同符号指令是使有意义的符号名与常数值或字符串相等同.asg 该指令规定一个字符串与一个替代符号相等该指令规定一个字符串与一个替代符号相等.asg “10,20,30,40”,coefficients.byte coefficients.eval 计算一个表达式的值并把结果传送到与一个替代符号等同的字计算一个表达式的值并把结果传送到与一个替代符号等同的字符串中符串中.eval x+1,x.set/.equ 这两条指令把一个常数

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!