TigerSHARC系列DSP应用教程_for2012秋季.docx
《TigerSHARC系列DSP应用教程_for2012秋季.docx》由会员分享,可在线阅读,更多相关《TigerSHARC系列DSP应用教程_for2012秋季.docx(118页珍藏版)》请在三一办公上搜索。
1、TigerSHARC系列DSP应用教程苏 涛 崔向阳西 安 电 子 科 技 大 学雷达信号处理国家重点实验室2012年10月目录TIGERSHARC系列DSP应用教程1第1章 DSP技术综述31.1数字信号处理器的发展和特点31.2数字信号处理器的应用领域3第2章 ADSP-TS201S处理器结构与功能32.1 ADSP-TS201S处理器概述32.2 ADSP-TS201S的计算块32.2.1 寄存器组32.2.3 CLU32.2.4 乘法器32.2.5移位器32.3 IALU32.3.1 IALU寄存器32.3.2 IALU算术、逻辑和函数操作32.3.3 IALU执行状态与执行条件32.
2、3.4 IALU 执行条件32.3.5 IALU 数据寻址和传送操作32.4 程序控制器32.5 存储器组织32.5.1 主机寻址空间32.5.2 处理器内部存储空间32.5.3 外部存储器寻址空间32.5.4多处理器寻址空间32.6 链路口32.6.1链路口寄存器32.6.2链路口模式设置32.6.3 链路口DMA32.6.4 链路口连接与通信32.6.5 链路口服务请求中断32.7 SDRAM接口32.7.1 概述32.7.2 SDRAM控制寄存器(SDRCON)32.8 DMA32.8.1 概述32.8.2 DMA状态和控制寄存器组32.8.3 链式DMA32.8.4 DMA中断32.9
3、 中断32.9.1中断的处理过程32.10 ADSP-TS201S引脚说明3第三章 TIGERSHARC指令系统33.1 TIGERSHARC指令系统特点33.1.1 TigerSHARC结构与指令特点33.1.2 指令行结构33.2 指令集33.2.1 ALU 指令33.2.2乘法指令33.2.3移位器指令33.2.4 IALU 指令33.2.5 程序流控制指令3第4章 ADSP的软件开发34.1 DSP的软件开发流程34.2 开发工具VisualDSP+概述34.3 集成开发环境34.3.1 创建一个新的工程文件34.3.2 设置工程选项34.3.3 添加或编辑工程源文件34.3.4生成一
4、个调试版的工程34.3.5 调试一个工程34.3.6 生成一个正式版的工程34.4 选择合适的调试平台34.4.1 安装仿真器驱动软件34.4.2 选择调试平台34.5 Debugger 工具34.5.1程序调试(Debug)操作34.5.2 程序性能分析操作34.5.3 设置观察点和断点34.5.4 模仿硬件环境34.5.5 寄存器窗口操作34.5.6 存储器窗口操作34.5.7 其它窗口操作34.6 编写链接描述文件34.7 编程练习34.7.1 DFT汇编例子34.7.2 DFT C程序例子34.7.3 FIR 汇编的例子34.7.4 SDRAM和内部存储器的DMA通信(利用EZ-KIT
5、)34.7.5编写C程序,建立磁盘文件,练习读写数据34.7.6调试器和EZ-KIT板的性能比较34.7.7用ADSP_TS201 EZ-KIT板实现定时器34.7.8用链路口实现数据传输34.7.9 DSP实验课大作业设计3第1章 DSP技术综述数字信号处理相对于模拟信号处理有很大的优越性,表现在精度高、灵活性大、可靠性好、易于大规模集成等方面。随着人们对实时信号处理要求的不断提高和大规模集成电路技术的迅速发展,数字信号处理技术也发生着日新月异的变革。1.1数字信号处理器的发展和特点实时数字信号处理技术的核心和标志是数字信号处理器(DSP)。数字信号处理有别于普通的科学计算与分析,它强调运算
6、处理的实时性,因此DSP除了具备普通微处理器所强调的高速运算和控制功能外,针对实时数字信号处理,在处理器结构、指令系统、指令流程上做了很大的改动,其结构特点如下:1) DSP普遍采用了数据总线和程序总线分离的哈佛结构及改进的哈佛结构,比传统处理器的冯诺依曼结构有更高的指令执行速度;2) DSP大多采用流水技术,即每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等多个步骤,从而在不提高时钟频率的条件下减少了每条指令的执行时间;3) 片内有多条总线可以同时进行取指和多个数据存取操作,并且有辅助寄存器用于寻址,它们可以在寻址访问前或访问后自动修改内容,以指向下一个要访问的地址;4) 针对滤
7、波、相关、矩阵运算等需要大量乘法累加运算的特点,DSP配有独立的乘法器和加法器,使得同一时钟周期内可以完成相乘、累加运算,最新出现的如ADSP-TS101、ADSP-TS201系列的DSP可以同时完成乘、加、减各2次运算,大大加快了FFT的蝶形运算速度;5) 许多DSP带有DMA通道控制器,以及串口通信等,配合片内多总线结构,数据块传送速度大大提高;6) 配有中断处理器和定时控制器,可以很方便地构成一个小规模系统;7) 具有软、硬件等待功能,能与各种存储器连接。数字信号处理器(DSP)、通用微处理器(MPU)、微控制器(MCU)三者的区别在于:DSP面向高性能、重复性、数值运算密集型的实时处理
8、;MPU大量用于计算机;MCU则用于以控制为主的处理过程。而DSP本身具有以下功能,提高了实时数字信号处理的性能:1) 单指令周期的乘、加操作;2) 特殊的高速寻址方式,可以在其他操作进行的同时完成地址寄存器指针的修改,并具有循环寻址、位反序寻址功能。循环寻址用于FIR滤波器,可以省去相当于迟延线功能的大量数据移动,用于FFT则可以紧凑地存放旋转因子表;位反序有利于FFT的快速完成;3) 针对实时处理所设计的存储器接口,能在单指令周期时间内完成多次存储器或I/O设备访问;4) 专门的指令集和较长的指令字,一个指令字同时控制片内多个功能单元的操作;5) 单片系统,易于小型化设计;6) 低功耗,一
9、般为0.54W,采用低功耗技术的DSP只有0.1W,可用电池供电,对嵌入式系统很适合,而新型MPU,如Pentium、Power PC等功耗达20-50W。因此,DSP的运算速度要高得多。以FFT、相关为例,高性能DSP不仅处理速度是MPU的410倍,而且可以流水无间断地完成数据的实时输入和输出。DSP结构相对单一,普遍采用汇编语言编程,其任务完成时间的可预测性相对于结构和指令复杂(超标量指令)、严重依赖于编译系统的MPU要强得多。以一个FIR滤波器为例,每输入一个数据,对应每阶滤波器系统需要一次乘、一次加、一次取指、两次取数,有时还需要专门的数据移动操作,DSP可以单周期完成乘加并行操作以及
10、34次数据存取操作,而普通MPU至少需要4个指令周期,因此在相同的指令周期和片内缓存条件下,DSP是MPU运算速度的4倍以上。正是基于DSP的这些优势,在高性能通用微处理器片内已经融入了DSP的功能,从而使计算机在网络通信、语音图像处理、实时数据分析等方面的效率大大提高。自1985年第一片数字信号处理器TMS320C10产生以来,DSP发展大致经历了多个阶段,形成了目前DSP产品的三类档次:第一类是低成本、低功耗、高性价比的16bit定点DSP,应用最广泛,代表产品是TMS320C2000、TMS320C5000、Blackfin等型号;第二类是32bit浮点DSP,目前代表产品有TMS320
11、C3x、ADSP2106x等型号;第三类是性能更高的DSP,如定点的TMS320C62xx、TMS320C64xx,浮点的TMS320C67xx、ADSP- TS10x、ADSP-TS20x等型号。不同类型的 DSP适用于不同的场合。定点DSP可以胜任大多数数字信号处理应用,速度比浮点DSP快,成本、功耗比浮点DSP低;但在某些场合,当信号处理方式复杂、数据的动态范围很大时,按定点处理就会发生数据上溢出或下溢出,使信号处理无法进行。如果仍用定点DSP,以移位定标或模拟浮点运算的方式,将使程序执行速度大大降低。若采用浮点DSP,就解决了这些问题。常见的16bit定点DSP动态范围仅96dB,每增
12、加1bit,动态范围增加6dB;而32bit浮点数据的动态范围为1536dB。因此,浮点DSP的处理性能在许多情况下要比定点DSP高得多。32位浮点DSP也可以完成32位定点运算(与定点DSP用法一致),目前的浮点DSP还具备更大的存储访问空间。更重要的是,浮点DSP的汇编程序比定点DSP的汇编程序简单:、易读、易编程、易调试,产生的代码也短,与常用的C编程方法相近,因此目前高级语言(如C语言)编译器更适合于浮点DSP,这使得普通计算机上的源代码无需大的修改,就可以较方便地移植到DSP设计中。虽然目前已经有了峰值运算能力超过每秒10亿次的DSP,但相对于人们要求的每秒几百亿次、上千亿次运算来说
13、仍远远不够。受到开关速度极限的限制,进一步提高主频所遇到的难度和付出的成本越来越大,单处理器性能的提高受到制约。为此,引入了并行处理技术。其实在DSP内部的多级流水处理、同时相乘/累加进行等功能中已经融入了片内并行技术。TMS320C6x采用超长指令字(VLIW)和多级流水线技术,在每条256bit的指令字中指定了多条流水线、多个处理单元的并行操作。在DSP外部也采用并行技术。以TMS320C4x、SHARC、ADSP-TS10x和ADSP-TS20x等并行DSP为用户提供了设计大规模并行系统的硬件基础,它们都提供了多通信(链路)口、多DSP共享总线的控制逻辑。利用通信(链路)口可以组成松耦合
14、的分布式并行系统,利用共享总线控制逻辑,可方便地直接构成共享总线/存储器的多DSP系统,即紧耦合的总线共享式并行系统。1.2数字信号处理器的应用领域随着DSP性能的迅速提高和成本价格的大幅度下降,DSP的应用范围不断扩大,几乎遍及整个电子领域,常见的典型应用有:1通用数字信号处理数字滤波、卷积、相关、FFT、希尔伯特变换、自适应滤波、窗函数、波形发生等。2通信高速调制解调器、编/译码器、自适应均衡器、传真、程控交换机、蜂房移动电话、数字基站、手机、回音消除、噪声抑制、电视会议、保密通信、卫星通信、TDMA/PDMA/CDMA等各种通信制式。随着互联网络的迅猛发展,DSP又在网络管理/服务、信息
15、转发、IP电话等新领域扮演着重要角色,而软件无线电的提出和发展进一步增强了DSP在无线电通信系统的作用。3语音识别语音识别、语音合成、矢量编码、语音信箱。4图形/图像处理三维图像变换、模式识别、图像增强、动画、电子出版、电子地图等。5自动控制磁盘、光盘、打印机伺服控制、发动机控制。6仪器仪表测量数据谱分析、自动监测及分析、静态分析、勘探、模拟试验。7医学电子助听器、CT扫描、超声波、心脑电图、核磁共振、医疗监护等。8军事与尖端科技雷达和声纳信号处理、雷达成像、自适应波束合成、阵列天线信号处理、导弹制导、火控系统、战场C3I系统、导航、全球定位GPS、目标搜索跟踪、尖端武器试验、航空航天试验、宇
16、宙飞船、侦察工具。9计算机与工作站阵列处理机、计算加速卡、图形加速卡、多媒体计算机。10消费电子数字电视、高清晰度电视、图像/声音压缩解压器、DVD/CD播放机、游戏机、数字留言/应答机、汽车电子装置、音响合成、电子安全系统、家电电脑控制装置。第2章 ADSP-TS201S处理器结构与功能2.1 ADSP-TS201S处理器概述ADSP-TS201S 是ADI公司的高性能数字信号处理器TigerSHARC系列中最强大的一员,这一系列还包括有:ADSP-TS101、ADSP-TS202等。ADSP-TS201S内核工作主频达600MHz,片内存储器增加到24Mbit,加之其合理的结构以及高带宽的
17、I/O接口,使得ADSP-TS201S在无线通信、军事、图像等高端市场的应用更加广泛。图2.1给出了ADSP-TS201S的功能框图。图2.1 ADSP-TS201S的功能框图ADSP-TS201S的主要性能如下:l 高达600MHz的运行速度,1.67ns指令周期;l 24Mbit片内DRAM;l 25mm25mm(576-Ball)PBGA封装;l 双运算核,每个计算块包含1个ALU、1个乘法器、1个移位器、一个寄存器组和1个通信逻辑运算单元;l 双整数ALU,提供数据寻址和指针操作功能;l 集成I/O接口,包括14通道的DMA控制器,外部总线,4个链路口,SDRAM控制器,可编程标志引脚
18、,2个定时器及其输出指示;l IEEE1149.1兼容的JTAG端口用于在线仿真;l 通过共享外部总线可无缝连接多达8个TS201。其主要优点有:l 提供高性能静态超标量DSP操作,专门优化适用于通信和需要多DSP处理器的应用;l 优异的DSP算法和I/O性能表现;l DMA控制器支持14个DMA通道,可完成片内存储器,片外存储器,存储器映射外设,链路口,主机处理器和其他多处理器之间的低开销的高速传输;l 非常灵活的指令集和支持高级语言的DSP结构,便于DSP编程;l 可扩展的多处理器系统,连接时仅需很低的通信开销;ADSP-TS201S DSP内核的结构ADSP-TS201S系列的DSP内核
19、主要包括运算块、程序控制器、整型ALU、数据对齐缓冲器和中断控制器等。l 双运算模块ADSP-TS201S的运算模块包括两个能通过相互独立或一起工作,执行通用运算来实现单指令多数据(SIMD)引擎的计算单元,分别称为运算块X,运算块Y。每个运算模块又包含一个寄存器组和4个独立的运算单元:算术逻辑运算单元(ALU)、通信逻辑处理单元(CLU)、乘法器、移位器。这些模块都能处理定点数和浮点数,可满足各种不同的处理要求。每个运算块包含的通用寄存器组是32位宽、多端口的,用于运算单元与数据总线之间数据传输,存储中间结果。这些寄存器都可以单字、双字、四字寄存器方式访问。ALU完成定点数和浮点数的算术运算
20、、定点数的逻辑运算,大多数ALU运算的数据源和目的地均为运算块的寄存器组。CLU完成通信处理,支持通信处理的算法,如Viterbi解码、Turbo code解码、CDMA系统解调。乘法器主要完成定点数和浮点数的乘法运算,定点数的乘累加运算,并且支持各种定点数和浮点数的数据格式。移位器完成算术和逻辑移位,比特和比特流控制,域存储和提取操作。l 双整数ALU(IALU)ADSP-TS201S拥有两个IALU。能提供强大的地址产生能力和执行通用的整数操作。每个IALU能够:(1) 为数据提供存储器地址,为寻址提供指针的更新;(2) 支持循环缓冲和位反序寻址;(3) 实现通用的整数操作,提高了编程的灵
21、活性;(4) 包含一个由32个字构成的寄存器组。作为地址产生器,IALU完成立即或间接寻址(预修改或后修改),不受限制地完成存储器地址取模和位反序。每个IALU能够指定单、双、四字的内存访问。IALU通过硬件支持来实现循环缓冲、位反序和零开销循环。每个IALU提供了4个循环缓冲的寄存器,因此程序能够建立最多8个循环缓冲器,循环缓冲器的起始地址是任意的。l 程序控制器ADSP-TS201S的程序控制器支持如下功能:(1) 可灵活的使用汇编语言和C/C+,编写能够相应中断的程序。以高吞吐量处理中断并且不存在错误的指令周期。(2) 10个指令周期流水线四个周期取指流水,六个周期执行流水运算结果将会在
22、操作数可用的两个周期以后得到。(3) 提供指令寻址内存地址;控制器的指令对齐缓冲器(IAB)可以缓存最多5条预取来的指令行,以后续等待执行,程序控制器从IAB中提取指令行,并将指令发给内核模块来执行。(4) 管理由CJMP,CALL,RTI,RTS指令,循环结构,条件,中断和软件异常决定的程序结构和程序流程。(5) 用分支预测和128入口分支目标缓冲器(BTB)来减少分支跳转的延时,以实现条件和无条件跳转指令的高效执行和零消耗循环;正确预测跳转是零开销的,能够减少59个周期的开销。l 中断控制器DSP支持嵌套和非嵌套中断。每种中断类型在中断向量表中拥有一个寄存器,并且在中断锁存寄存器和中断屏蔽
23、寄存器中占一位。除了可以被设置为边沿触发或电平触发以外,其他中断被固定设置为边沿触发(或电平触发)。DSP能够区分硬件中断和软件异常,并分别处理。当软件出现异常时,DSP中止流水线中的所有指令。当硬件中断发生时,DSP将继续执行已经在流水线中的指令。ADSP-TS201S DSP总线的结构和片内DRAM存储器ADSP-TS201S的总线结构分为内部总线和外部总线,外部总线由外部引脚连接到处理器外。l 内部总线ADSP-TS201S处理器内核有3条相互独立的128位的内部数据总线和32位的地址总线(称为I-BUS、J-BUS、K-BUS),每条数据总线借助接口桥与所有内部存储器块相连。每条数据总
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TigerSHARC 系列 DSP 应用 教程 _for2012 秋季

链接地址:https://www.31ppt.com/p-1665059.html