《精编》DSP的选择和设计开发讲义

上传人:tang****xu5 文档编号:133548318 上传时间:2020-05-28 格式:PPT 页数:69 大小:904KB
返回 下载 相关 举报
《精编》DSP的选择和设计开发讲义_第1页
第1页 / 共69页
《精编》DSP的选择和设计开发讲义_第2页
第2页 / 共69页
《精编》DSP的选择和设计开发讲义_第3页
第3页 / 共69页
《精编》DSP的选择和设计开发讲义_第4页
第4页 / 共69页
《精编》DSP的选择和设计开发讲义_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《《精编》DSP的选择和设计开发讲义》由会员分享,可在线阅读,更多相关《《精编》DSP的选择和设计开发讲义(69页珍藏版)》请在金锄头文库上搜索。

1、信息与通信工程学院多媒体技术中心 DSP的选择和设计开发 门爱东教授 DSP芯片的选择什么是DSP DSP的应用DSP的运算数据宽度速度 Speed 存贮的组织开发的便宜多DSP支持便携应用价格 主题概述 DSP工程设计数字化设计模拟混合电路设计DSPS目标系统设计DSP外设的设计与使用系统软件开发工程应用注意事项 DSP简介 数字信号处理器 DigitalSignalProcessor DSP 是专门用于更好实现数字信号处理应用的微处理器 1980年第一个商品化DSP问世 目前众多新的DSP 为设计者提供了广泛的选择 新的半导体制造厂家不断进入这个领域 争取更大的市场分额 设计者在未来几年内

2、将有更广的选择 今天的DSP是具有了强大功能的复杂器件 下面我们就介绍现在商品化DSP的共同特点 解释它们之间的区别 以及设计者在应用时注意的事项 什么是DSP 多数DSP共有的基本特性 高性能 重复性 高数据量 在单个指令周期内完成乘法累加运算 Multiply And Accumulate MAC 的能力这是衡量DSP最常用的性能 在涉及需要点乘的产品中 例如滤波器 MAC运算在算法中是非常有用的 为了完成此功能 DSP在主数据通路中集成有乘法器和累加器 另外 为了进行一系列MAC运算而又没有发生运算溢出 overflow DSP通常在累加器中提供额外的比特数 以满足计算结果对比特数增加的

3、要求 什么是DSP 在单个指令周期内同时完成几个存贮器存取的能力这特点允许DSP在读取指令的同时 获得此指令所需要的被运算数 或者 和存贮前一指令的运算结果 通常在单个指令周期内完成多个存贮器读取是有许多客观限制的 典型之一是存取的存贮器位于片内 这样只能某些指令能进行多个存贮器存取 为了支持同时多个存取 DSP提供了多个片内 a 总线 On ChipBus b 多个片内存贮器以及某些情况下的 c 多个独立的存贮空间 什么是DSP 寻址方式为了使运算达到最大速度 DSP包含了一个地址产生单元 一旦适当的地址寄存器被配置 则地址发生器在后台运行 形成运算指令所需的并行操作存取地址 地址发生器是针

4、对DSP而选择的模式 间接寻址最常用的寻址方式是具有后增量 Post increment 的间接寻址寄存器 它通常用于连续存放一系列数据 模数寻址这种寻址简化了循环存储的使用 比特反转 bit reversed 寻址这种方式更易于编译快速FFT算法的结果 什么是DSP 循环 Looping 因为多数DSP涉及完成重复的计算 多数DSP对更有效的Looping提供了特别支持 通常 对于特殊的循环或者重复指令 DSP允许开发人员完成一个For Next循环语句 不用为了更新或检测循环计数器而花费任何指令周期 强大的I O功能 为了允许低价 高性能的输入输出 多数DSP包含有多个串口或者并口I O接

5、口 串口并口特殊的I O处理机制 低层的中断或者DMA方式 DSP的应用 DSP从雷达分析到消费者电子都有广泛的应用 但没有一个DSP能满足所有的或者大多数的应用 因此 对于设计者首要的任务是权衡各种因素 而选择适合于自己应用的DSP 这些因素包括 性能指标 价格 集成度 开发难易 功耗及其它因素 嵌入系统 embeddedsystem 按市场份额讲 最大的应用是便宜的 大量的嵌入系统 价格 集成度占首位例如 移动电话 硬盘驱动器 DSP用语伺服控制 和调制解调器 modem 功耗居首位对于便携 电池供电的产品 电源功耗非常重要 在这些系统中 性能和开发难易居次要地位 虽然用户也开发自己的DS

6、P软件和围绕DSP配置自己的硬件 DSP的应用 特殊需要 数据大 算法复杂的处理例如 声纳和地震探测 它们的数量很少 但其算法很复杂 这样产品设计量就很大 而且也很复杂 结果是设计者喜欢选择高性能 易用且支持多芯片配置的DSP 在某些情况下 设计者不愿意通过改造已有DSP系统 防止产生零乱 他们选择标准的开发板 通过调用他们的已有函数库来完成开发 DSP的应用 多媒体 multimedia 新兴市场许多厂家正在占领这个新兴的市场 包含有DSP的计算机可以提供多媒体功能 Voicemail 语音信箱 数据 传真Modem 音乐和语音合成及分解 图象压缩 电视接收 广播接收 多媒体对DSP的要求

7、高性能 低价格 高集成度多媒体除具有嵌入系统的量大 低价 高集成度的特点外 还要求高性能 因为多媒体PC要求DSP同时完成多项功能 多项功能之间更有效的切换多媒体除要求更有效地完成多项功能外 还要求DSP必须具有更有效地切换多项功能的能力 更大的存贮容量例如接MPEG1标准 图象压缩每秒钟设为1 5MB s 这样 多媒体就需要海量存贮 DSP的运算 数的表示 一个可编程DSP的基本特性之一是DSP所采用的运算类型 定点制DSP 一个数表示为整数或者 1 0 1 0之间的函数 浮点运算 一个数表示为指数部分和尾数部分 尾数部分通常是 1 0 1 0之间的小数 而指数部分表示二进制中小数点的位置

8、浮点DSP和定点DSP的比较性能比较 浮点运算是更灵活 更通用的机制更宽的动态范围 所能表示的最大最小数之比 更好的精度易用 在浮点制中 开发人员不必关心动态范围和精度 而对定点DSP而言 开发人员要时刻小心各种阶段的信号范围 以确保在有限的动态范围和运算精度下达到自己要求的数值性能 更贵 浮点DSP为了完成浮点运算 需要增加复杂的电路 这也就意味着一个大的冲模 die 应用比较对于嵌入系统 选择定点DSP 因为嵌入系统对于价格是首位的 开发人员通过分析和方针 决定他们所需的动态范围和运算精度 以及是否需要增加比例因子 大动态范围 高精度 开发容易 选择浮点DSP 对于不关心价格 而对动态范围

9、和精度有特殊要求的用户 以及为了开发容易 可以选择浮点DSP DSP的运算 定点DSP完成浮点运算浮点在定点DSP中完成通常的浮点运算是可能的 调用浮点运算仿真程序 但这样做需要很多个指令周期 得不偿失 因此 通用的浮点仿真几乎不用了 块浮点运算 Blockfloating point 定点和浮点运算的折中构成了块浮点运算 一组数中数据具有不同的尾数 但具有唯一的 相同的指数表示这一数据块 块浮点运算通常由软件完成 但有些DSP中也有硬件辅助完成此功能 DSP的运算 数据宽度 DataWidth 所有的浮点DSP都是32bit数据字 DataWord 定点DSP常用16bit数据字 但Moto

10、ralaDSP5600X系列和Star半导体公司SPROC系列采用24bit字宽 ZoranZR38000采用20bit数据字 数据字的大小对价格具有重要影响芯片的大小 ChipSize 封装管脚的数目 Numberofpackagepins 外部存储器的大小指令字长和数据字长大多数DSP的指令字长和数据字长相等 但也不全是这样 如AD公司ADSP21XX系列16bit数据字长24bit指令字长 Zoran公司ZR3800是20bit数据字长32bit指令字长 数据宽度 DataWidth 应用选择 字长与开发复杂度折中对于开发者来讲 在满足需要的情况下 应选择最小的DSP 这样价格才能便宜

11、对于选择定点DSP还是浮点DSP 需要对字长和开发复杂性进行折中 对于某些24bit才能满足需要的应用 我们在牺牲了复杂性或程序的基础上 16bitDSP也能满足需要 例如对于16bitDSP 通过对指令的适当组合 也能完成双精度32bit的运算操作 当然双精度的运算速度比单精度慢 如果你的应用中大多数是单精度运算 只有少部分需要高精度运算 这时你选择用单精度DSP完成双精度运算可更意义 反之 则需要更宽比特的DSP 速度 Speed 满足特殊需要时 对DSP的一个关键测试是运行速度 有许多方法可以测试DSP的速度 最快指令周期时间 执行一个DSP最快的指令所需要的时间通常用一秒钟内执行多少百

12、万次指令 Millionsofinstructionspersecond MIPS 来衡量 若DSP指令周期为20ns 100ns 即执行速率为50 10MIPS 问题 不同DSP之间单个指令完成的工作量 变化非常大 例如 早期的DSP在一个指令周期内只能完成一次加法或者乘法 两者不能同时完成 相反 现在的DSP一个指令周期就可能完成乘法累加功能 MAC 另外 有的DSP 如Motorala的DSP5600系列 可以对和ALU没有关系的数据进行并列移动 而有的DSP只支持和ALU有关的数据的并行移动 速度 Speed 基本操作周期为了克服上述问题 用基本操作周期来代替指令操作周期作为衡量DSP

13、速度的标尺 共同的操作是MAC 但不幸的是关于DSPMAC运算次数差异这方面的信息很少 现在大多数DSP都在一个指令周期内完成一个MAC操作 并且MAC周期等于指令周期 问题 有的DSP在完成MAC外 还能完成一些其它功能 MAC次数中没有考虑控制指令 有时它也对性能产生重要影响 速度 Speed 标准基准 Benchmarks 一个更通用的方法是定义一组标准基准 然后比较各个DSP的运行速度 这个标准基准可能是简单的 核心 功能 如FIR或IIRDF 或者是某些应用的整体或部分 注意事项MOPS和MFLOPS的区别MOPS 每秒钟多少百万次运算 Millionsofoperationsper

14、second MFLOPS 每秒钟多少百万次浮点运算不同的厂家对由什么构成 运算 Operation 理解不同 时钟频率时钟 指令周期DSP的输入时钟可能和DSP的指令频率相同 也可能是指令速率的两倍或者四倍 时钟频率 指令速率 倍频和锁相技术例如40MHzDSP56156的MIPS 20MHzADSP 2101的MIPS 存贮的组织 指令Mem和数据Mem的组织DSP存贮中的组织对性能有很大影响 如前所述 MAC是很多DSP的基本运算 快速MAC运算需要获得一个指令字 同时在同一指令周期内从Memory读取两个数据字 可以有很多方法实现这一点 多端口Mem 允许在一个指令周期内多哥存贮器存取

15、哈佛结构 独立的数据树指令Memory指令Cache 从Cache中读取指令代替从存储器中 存贮的组织 存储器的大小片内部 外部总线的数目定点DSP定点DSP主要面向嵌如系统市场 它要求存贮量小 中小规模片内memmory 256 12KWords 小的外部数据总线 例如 ADC AT T Mot TI的定点DSP都具有16bit的地址总线 这样就限制了其外部Memory的容量 存贮的组织 存储器的大小片内部 外部总线的数目浮点DSP没有或者很少的片内memory 但有很大的外部数据总线 例如 AD公司ADSP 21021没有片内Memory 但有32bit外部数据地址总线和24bit外部程序

16、地址总线 另外 这些DSP提供的Cache技术 可允许使用较快的外部Memory TITMS320C30 6K片内Memory 24bit外部数据总线和13bit外部程序地址总线ADSP 21060 4M片内Memory 可以改变片内Memory的配置以分配给Data和指令不同的容量 如64K32bitData和40K48bit程序注 Memory的组织 大小 外部总线的数目非常依赖与应用 开发的便宜 开发的难易依赖与你的应用 例如在研究中 对于样机或仿真来讲 希望越快越容易的开发出来 另一方面 对一些公司来讲 起为了降低产品的价格 节省开发工具的费用 愿意承受艰苦的开发环境 但这带来的负面影响是开发周期长 产品上市慢 选择开发DSP的因素 软件工具 汇编 链接 仿真 编译 实时操作系统 硬件设计工具 开发板和仿真器 高级工具 如基于图形的框图设计环境 开发的便宜 程序设计语言汇编语言高级语言 如C或Ada高级设计环境 基于图形的框图设计如MentorGraphics的DSP工作站DSP5600X系列ComdiscoSystems的SPWTMS320C3X系列调试仿真工具不管是在高级语

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号