VR虚拟现实技术TSHARC系列DSP应用教程秋季最全版.docx
- 文档编号:10109083
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:178
- 大小:111.60KB
VR虚拟现实技术TSHARC系列DSP应用教程秋季最全版.docx
《VR虚拟现实技术TSHARC系列DSP应用教程秋季最全版.docx》由会员分享,可在线阅读,更多相关《VR虚拟现实技术TSHARC系列DSP应用教程秋季最全版.docx(178页珍藏版)》请在冰豆网上搜索。
VR虚拟现实技术TSHARC系列DSP应用教程秋季最全版
(VR虚拟现实)TSHARC系列DSP应用教程秋季
TigerSHARC系列DSP应用教程
苏涛崔向阳
西安电子科技大学
雷达信号处理国家重点实验室
2012年10月
TigerSHARC系列DSP应用教程1
第1章DSP技术综述3
1.1数字信号处理器的发展和特点3
1.2数字信号处理器的应用领域3
第2章ADSP-TS201S处理器结构与功能3
2.1ADSP-TS201S处理器概述3
2.2ADSP-TS201S的计算块3
2.2.1寄存器组3
2.2.3CLU3
2.2.4乘法器3
2.2.5移位器3
2.3IALU3
2.3.1IALU寄存器3
2.3.2IALU算术、逻辑和函数操作3
2.3.3IALU执行状态与执行条件3
2.3.4IALU执行条件3
2.3.5IALU数据寻址和传送操作3
2.4程序控制器3
2.5存储器组织3
2.5.1主机寻址空间3
2.5.2处理器内部存储空间3
2.5.3外部存储器寻址空间3
2.5.4多处理器寻址空间3
2.6链路口3
2.6.1链路口寄存器3
2.6.2链路口模式设置3
2.6.3链路口DMA3
2.6.4链路口连接与通信3
2.6.5链路口服务请求中断3
2.7SDRAM接口3
2.7.1概述3
2.7.2SDRAM控制寄存器(SDRCON)3
2.8DMA3
2.8.1概述3
2.8.2DMA状态和控制寄存器组3
2.8.3链式DMA3
2.8.4DMA中断3
2.9中断3
2.9.1中断的处理过程3
2.10ADSP-TS201S引脚说明3
第三章TigerSHARC指令系统3
3.1TIGERSHARC指令系统特点3
3.1.1TigerSHARC结构与指令特点3
3.1.2指令行结构3
3.2指令集3
3.2.1ALU指令3
3.2.2乘法指令3
3.2.3移位器指令3
3.2.4IALU指令3
3.2.5程序流控制指令3
第4章ADSP的软件开发3
4.1DSP的软件开发流程3
4.2开发工具VisualDSP++概述3
4.3集成开发环境3
4.3.1创建一个新的工程文件3
4.3.2设置工程选项3
4.3.3添加或编辑工程源文件3
4.3.4生成一个调试版的工程3
4.3.5调试一个工程3
4.3.6生成一个正式版的工程3
4.4选择合适的调试平台3
4.4.1安装仿真器驱动软件3
4.4.2选择调试平台3
4.5Debugger工具3
4.5.1程序调试(Debug)操作3
4.5.2程序性能分析操作3
4.5.3设置观察点和断点3
4.5.4模仿硬件环境3
4.5.5寄存器窗口操作3
4.5.6存储器窗口操作3
4.5.7其它窗口操作3
4.6编写链接描述文件3
4.7编程练习3
4.7.1DFT汇编例子3
4.7.2DFTC程序例子3
4.7.3FIR汇编的例子3
4.7.4SDRAM和内部存储器的DMA通信(利用EZ-KIT)3
4.7.5编写C程序,建立磁盘文件,练习读写数据3
4.7.6调试器和EZ-KIT板的性能比较3
4.7.7用ADSP_TS201EZ-KIT板实现定时器3
4.7.8用链路口实现数据传输3
4.7.9DSP实验课大作业设计3
第1章DSP技术综述
数字信号处理相对于模拟信号处理有很大的优越性,表现在精度高、灵活性大、可靠性好、易于大规模集成等方面。
随着人们对实时信号处理要求的不断提高和大规模集成电路技术的迅速发展,数字信号处理技术也发生着日新月异的变革。
1.1数字信号处理器的发展和特点
实时数字信号处理技术的核心和标志是数字信号处理器(DSP)。
数字信号处理有别于普通的科学计算与分析,它强调运算处理的实时性,因此DSP除了具备普通微处理器所强调的高速运算和控制功能外,针对实时数字信号处理,在处理器结构、指令系统、指令流程上做了很大的改动,其结构特点如下:
1)DSP普遍采用了数据总线和程序总线分离的哈佛结构及改进的哈佛结构,比传统处理器的冯·诺依曼结构有更高的指令执行速度;
2)DSP大多采用流水技术,即每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等多个步骤,从而在不提高时钟频率的条件下减少了每条指令的执行时间;
3)片内有多条总线可以同时进行取指和多个数据存取操作,并且有辅助寄存器用于寻址,它们可以在寻址访问前或访问后自动修改内容,以指向下一个要访问的地址;
4)针对滤波、相关、矩阵运算等需要大量乘法累加运算的特点,DSP配有独立的乘法器和加法器,使得同一时钟周期内可以完成相乘、累加运算,最新出现的如ADSP-TS101、ADSP-TS201系列的DSP可以同时完成乘、加、减各2次运算,大大加快了FFT的蝶形运算速度;
5)许多DSP带有DMA通道控制器,以及串口通信等,配合片内多总线结构,数据块传送速度大大提高;
6)配有中断处理器和定时控制器,可以很方便地构成一个小规模系统;
7)具有软、硬件等待功能,能与各种存储器连接。
数字信号处理器(DSP)、通用微处理器(MPU)、微控制器(MCU)三者的区别在于:
DSP面向高性能、重复性、数值运算密集型的实时处理;MPU大量用于计算机;MCU则用于以控制为主的处理过程。
而DSP本身具有以下功能,提高了实时数字信号处理的性能:
1)单指令周期的乘、加操作;
2)特殊的高速寻址方式,可以在其他操作进行的同时完成地址寄存器指针的修改,并具有循环寻址、位反序寻址功能。
循环寻址用于FIR滤波器,可以省去相当于迟延线功能的大量数据移动,用于FFT则可以紧凑地存放旋转因子表;位反序有利于FFT的快速完成;
3)针对实时处理所设计的存储器接口,能在单指令周期时间内完成多次存储器或I/O设备访问;
4)专门的指令集和较长的指令字,一个指令字同时控制片内多个功能单元的操作;
5)单片系统,易于小型化设计;
6)低功耗,一般为0.5—4W,采用低功耗技术的DSP只有0.1W,可用电池供电,对嵌入式系统很适合,而新型MPU,如Pentium、PowerPC等功耗达20-50W。
因此,DSP的运算速度要高得多。
以FFT、相关为例,高性能DSP不仅处理速度是MPU的4~10倍,而且可以流水无间断地完成数据的实时输入和输出。
DSP结构相对单一,普遍采用汇编语言编程,其任务完成时间的可预测性相对于结构和指令复杂(超标量指令)、严重依赖于编译系统的MPU要强得多。
以一个FIR滤波器为例,每输入一个数据,对应每阶滤波器系统需要一次乘、一次加、一次取指、两次取数,有时还需要专门的数据移动操作,DSP可以单周期完成乘加并行操作以及3~4次数据存取操作,而普通MPU至少需要4个指令周期,因此在相同的指令周期和片内缓存条件下,DSP是MPU运算速度的4倍以上。
正是基于DSP的这些优势,在高性能通用微处理器片内已经融入了DSP的功能,从而使计算机在网络通信、语音图像处理、实时数据分析等方面的效率大大提高。
自1985年第一片数字信号处理器TMS320C10产生以来,DSP发展大致经历了多个阶段,形成了目前DSP产品的三类档次:
第一类是低成本、低功耗、高性价比的16bit定点DSP,应用最广泛,代表产品是TMS320C2000、TMS320C5000、Blackfin等型号;第二类是32bit浮点DSP,目前代表产品有TMS320C3x、ADSP2106x等型号;第三类是性能更高的DSP,如定点的TMS320C62xx、TMS320C64xx,浮点的TMS320C67xx、ADSP-TS10x、ADSP-TS20x等型号。
不同类型的DSP适用于不同的场合。
定点DSP可以胜任大多数数字信号处理应用,速度比浮点DSP快,成本、功耗比浮点DSP低;但在某些场合,当信号处理方式复杂、数据的动态范围很大时,按定点处理就会发生数据上溢出或下溢出,使信号处理无法进行。
如果仍用定点DSP,以移位定标或模拟浮点运算的方式,将使程序执行速度大大降低。
若采用浮点DSP,就解决了这些问题。
常见的16bit定点DSP动态范围仅96dB,每增加1bit,动态范围增加6dB;而32bit浮点数据的动态范围为1536dB。
因此,浮点DSP的处理性能在许多情况下要比定点DSP高得多。
32位浮点DSP也可以完成32位定点运算(与定点DSP用法一致),目前的浮点DSP还具备更大的存储访问空间。
更重要的是,浮点DSP的汇编程序比定点DSP的汇编程序简单:
、易读、易编程、易调试,产生的代码也短,与常用的C编程方法相近,因此目前高级语言(如C语言)编译器更适合于浮点DSP,这使得普通计算机上的源代码无需大的修改,就可以较方便地移植到DSP设计中。
虽然目前已经有了峰值运算能力超过每秒10亿次的DSP,但相对于人们要求的每秒几百亿次、上千亿次运算来说仍远远不够。
受到开关速度极限的限制,进一步提高主频所遇到的难度和付出的成本越来越大,单处理器性能的提高受到制约。
为此,引入了并行处理技术。
其实在DSP内部的多级流水处理、同时相乘/累加进行等功能中已经融入了片内并行技术。
TMS320C6x采用超长指令字(VLIW)和多级流水线技术,在每条256bit的指令字中指定了多条流水线、多个处理单元的并行操作。
在DSP外部也采用并行技术。
以TMS320C4x、SHARC、ADSP-TS10x和ADSP-TS20x等并行DSP为用户提供了设计大规模并行系统的硬件基础,它们都提供了多通信(链路)口、多DSP共享总线的控制逻辑。
利用通信(链路)口可以组成松耦合的分布式并行系统,利用共享总线控制逻辑,可方便地直接构成共享总线/存储器的多DSP系统,即紧耦合的总线共享式并行系统。
1.2数字信号处理器的应用领域
随着DSP性能的迅速提高和成本价格的大幅度下降,DSP的应用范围不断扩大,几乎遍及整个电子领域,常见的典型应用有:
1.通用数字信号处理
数字滤波、卷积、相关、FFT、希尔伯特变换、自适应滤波、窗函数、波形发生等。
2.通信
高速调制解调器、编/译码器、自适应均衡器、传真、程控交换机、蜂房移动电话、数字基站、手机、回音消除、噪声抑制、电视会议、保密通信、卫星通信、TDMA/PDMA/CDMA等各种通信制式。
随着互联网络的迅猛发展,DSP又在网络管理/服务、信息转发、IP电话等新领域扮演着重要角色,而软件无线电的提出和发展进一步增强了DSP在无线电通信系统的作用。
3.语音识别
语音识别、语音合成、矢量编码、语音信箱。
4.图形/图像处理
三维图像变换、模式识别、图像增强、动画、电子出版、电子地图等。
5.自动控制
磁盘、光盘、打印机伺服控制、发动机控制。
6.仪器仪表
测量数据谱分析、自动监测及分析、静态分析、勘探、模拟试验。
7.医学电子
助听器、CT扫描、超声波、心脑电图、核磁共振、医疗监护等。
8.军事与尖端科技
雷达和声纳信号处理、雷达成像、自适应波束合成、阵列天线信号处理、导弹制导、火控系统、战场C3I系统、导航、全球定位GPS、目标搜索跟踪、尖端武器试验、航空航天试验、宇宙飞船、侦察工具。
9.计算机与工作站
阵列处理机、计算加速卡、图形加速卡、多媒体计算机。
10.消费电子
数字电视、高清晰度电视、图像/声音压缩解压器、DVD/CD播放机、游戏机、数字留言/应答机、汽车电子装置、音响合成、电子安全系统、家电电脑控制装置。
第2章ADSP-TS201S处理器结构与功能
2.1ADSP-TS201S处理器概述
ADSP-TS201S是ADI公司的高性能数字信号处理器TigerSHARC系列中最强大的一员,这一系列还包括有:
ADSP-TS101、ADSP-TS202等。
ADSP-TS201S内核工作主频达600MHz,片内存储器增加到24Mbit,加之其合理的结构以及高带宽的I/O接口,使得ADSP-TS201S在无线通信、军事、图像等高端市场的应用更加广泛。
图2.1给出了ADSP-TS201S的功能框图。
图2.1ADSP-TS201S的功能框图
ADSP-TS201S的主要性能如下:
●高达600MHz的运行速度,1.67ns指令周期;
●24Mbit片内DRAM;
●25mm×25mm(576-Ball)PBGA封装;
●双运算核,每个计算块包含1个ALU、1个乘法器、1个移位器、一个寄存器组和1个通信逻辑运算单元;
●双整数ALU,提供数据寻址和指针操作功能;
●集成I/O接口,包括14通道的DMA控制器,外部总线,4个链路口,SDRAM控制器,可编程标志引脚,2个定时器及其输出指示;
●IEEE1149.1兼容的JTAG端口用于在线仿真;
●通过共享外部总线可无缝连接多达8个TS201。
其主要优点有:
●提供高性能静态超标量DSP操作,专门优化适用于通信和需要多DSP处理器的应用;
●优异的DSP算法和I/O性能表现;
●DMA控制器支持14个DMA通道,可完成片内存储器,片外存储器,存储器映射外设,链路口,主机处理器和其他多处理器之间的低开销的高速传输;
●非常灵活的指令集和支持高级语言的DSP结构,便于DSP编程;
●可扩展的多处理器系统,连接时仅需很低的通信开销;
ADSP-TS201SDSP内核的结构
ADSP-TS201S系列的DSP内核主要包括运算块、程序控制器、整型ALU、数据对齐缓冲器和中断控制器等。
●双运算模块
ADSP-TS201S的运算模块包括两个能通过相互独立或一起工作,执行通用运算来实现单指令多数据(SIMD)引擎的计算单元,分别称为运算块X,运算块Y。
每个运算模块又包含一个寄存器组和4个独立的运算单元:
算术逻辑运算单元(ALU)、通信逻辑处理单元(CLU)、乘法器、移位器。
这些模块都能处理定点数和浮点数,可满足各种不同的处理要求。
每个运算块包含的通用寄存器组是32位宽、多端口的,用于运算单元与数据总线之间数据传输,存储中间结果。
这些寄存器都可以单字、双字、四字寄存器方式访问。
ALU完成定点数和浮点数的算术运算、定点数的逻辑运算,大多数ALU运算的数据源和目的地均为运算块的寄存器组。
CLU完成通信处理,支持通信处理的算法,如Viterbi解码、Turbocode解码、CDMA系统解调。
乘法器主要完成定点数和浮点数的乘法运算,定点数的乘累加运算,并且支持各种定点数和浮点数的数据格式。
移位器完成算术和逻辑移位,比特和比特流控制,域存储和提取操作。
●双整数ALU(IALU)
ADSP-TS201S拥有两个IALU。
能提供强大的地址产生能力和执行通用的整数操作。
每个IALU能够:
(1)为数据提供存储器地址,为寻址提供指针的更新;
(2)支持循环缓冲和位反序寻址;
(3)实现通用的整数操作,提高了编程的灵活性;
(4)包含一个由32个字构成的寄存器组。
作为地址产生器,IALU完成立即或间接寻址(预修改或后修改),不受限制地完成存储器地址取模和位反序。
每个IALU能够指定单、双、四字的内存访问。
IALU通过硬件支持来实现循环缓冲、位反序和零开销循环。
每个IALU提供了4个循环缓冲的寄存器,因此程序能够建立最多8个循环缓冲器,循环缓冲器的起始地址是任意的。
●程序控制器
ADSP-TS201S的程序控制器支持如下功能:
(1)可灵活的使用汇编语言和C/C++,编写能够相应中断的程序。
以高吞吐量处理中断并且不存在错误的指令周期。
(2)10个指令周期流水线——四个周期取指流水,六个周期执行流水——运算结果将会在操作数可用的两个周期以后得到。
(3)提供指令寻址内存地址;控制器的指令对齐缓冲器(IAB)可以缓存最多5条预取来的指令行,以后续等待执行,程序控制器从IAB中提取指令行,并将指令发给内核模块来执行。
(4)管理由CJMP,CALL,RTI,RTS指令,循环结构,条件,中断和软件异常决定的程序结构和程序流程。
(5)用分支预测和128入口分支目标缓冲器(BTB)来减少分支跳转的延时,以实现条件和无条件跳转指令的高效执行和零消耗循环;正确预测跳转是零开销的,能够减少5~9个周期的开销。
●中断控制器
DSP支持嵌套和非嵌套中断。
每种中断类型在中断向量表中拥有一个寄存器,并且在中断锁存寄存器和中断屏蔽寄存器中占一位。
除了可以被设置为边沿触发或电平触发以外,其他中断被固定设置为边沿触发(或电平触发)。
DSP能够区分硬件中断和软件异常,并分别处理。
当软件出现异常时,DSP中止流水线中的所有指令。
当硬件中断发生时,DSP将继续执行已经在流水线中的指令。
ADSP-TS201SDSP总线的结构和片内DRAM存储器
ADSP-TS201S的总线结构分为内部总线和外部总线,外部总线由外部引脚连接到处理器外。
●内部总线
ADSP-TS201S处理器内核有3条相互独立的128位的内部数据总线和32位的地址总线(称为I-BUS、J-BUS、K-BUS),每条数据总线借助接口桥与所有内部存储器块相连。
每条数据总线上,1个周期内允许传输多达4条指令或4个排列好的数据。
片内系统单元用SOC-BUS和S-BUS总线访问存储器。
在一个周期内,每个存储器块只能允许一次访问,所以应用中如果能设法把各个访问指向不同的存储器块,则这些访问可同时进行。
●外部总线与接口
ADSP-TS201S的片内系统总线(SOCBUS)通过SOC结构与S-BUS连接外部总线及存储器系统,如图2.2所示,所有外设都通过片内系统总线,SOC接口与S-BUS连接,进而与存储器系统、处理器核内寄存器交换数据。
图2.2ADSP-TS201S的SOC总线结构与接口
外部总线包括32或64位数据总线、32位地址总线以及各种控制信号。
其中大多数信号是双向的,因为在共享总线的多处理器系统中,TigerSHARC可以是连接在外部总线上的主控处理器,也可以是从处理器。
为了提高时钟的速率,TigerSHARC处理器使用了流水式外部总线,其流水深度是可编程的,可完成处理器间通信、访问同步SRAM和DRAM(即SSRAM和SDRAM)。
最快速的协议是流水协议。
TigerSHARC多处理器系统的处理器之间就是使用这个协议通信。
此外,TigerSHARC还能通过此协议与其他主机或存储器系统连接。
流水协议的峰值吞吐率为每个外部周期传输一个数据,其实际的吞吐率可以保持在与峰值吞吐率非常接近的水平,其中的一个原因是此协议对连续的数据流的地址范围没有限制。
另一快速协议是SDRAM。
这个协议由工业标准的SDRAM芯片定义。
TigerSHARC有一个片上SDRAM控制器,它可以提供访问SDRAM所需的所有控制信号(/RAS,/CAS,/SDWE,SDCKE,LDQM,HDQM),而且可以初始化、刷新SDRAM。
SDRAM的峰值吞吐率是每个周期传输一个数据。
如在同一页中连续访问,则实际吞吐率可以保持在非常接近最大值的水平,此条件对DMA块传输也同样适用。
但对SDRAM的单次访问开销是很大的。
TigerSHARC还支持慢速设备协议。
慢速设备协议适用于较慢速的设备。
对于大多数系统,我们建议将这些慢速设备连接在二级总线上,因为它们会增加总线负担,影响快速协议。
当然,慢速设备仍可以直接连接到TigerSHARC外部总线上。
外部总线有以下特点:
●总线宽度64位或32位,对存储器、多处理器或主机接口可独立配置此宽度;
●流水传输,且流水级数可编程;
●IDLE状态可编程;
●通过使用ACK引脚,可插入等待周期;
●EPROM和FLASH接口为8位数据总线,等待周期数固定,可读写;
●主机接口;
●SDRAM接口不插入等待周期;
●支持慢速设备;
●基于分布式总线仲裁的多处理器无缝连接;
●通过握手方式,支持与外部I/O设备的DMA传输;
●支持外部存储器与I/O设备间的DMA飞跃操作。
●片内DRAM存储器
ADSP-TS201S拥有24Mbit片上DRAM存储器,该存储器被分为6个4Mbit的块,每个存储块(M0,M2,M4,M6,M8,M10)能够存储程序、数据或同时存储数据和程序。
所以,在应用中能够根据具体需要配置。
将程序和数据存储在不同的块中时,DSP就可以在取指令的同时访问数据。
每个片内存储块通过总线桥与处理器内部4条128位宽的内部总线相连。
该连接使DSP能够在1个周期内完成4个128位内部传输。
DSP内部总线结构提供了33.6GB/s的存储器带宽,使内核和I/O可以在一个周期内访问8个32位数据字(256位)和4个32位指令。
DSP的这种灵活的存储器结构,使其能完成如下功能:
●DSP内核和I/O在同一周期里访问不同的存储块;
●DSP内核可并行访问3个存储块:
1个取指令,2个访问数据;
●可编程的程序存储器和数据存储器分区;
●程序可以用16位、32位、64位或128位的形式访问所有存储器(使用DAB)。
ADSP-TS201S的I/O结构
ADSP-TS201S由专门的I/O处理器用于I/O访问,I/O访问方式可以是内核控制方式,也可以是DMA方式,此外,ADSP-TS201S还有专门的SDRAM控制器,专门产生SDRAM访问时所需的控制信号。
●外部总线(片外存储器和外设接口)
ADSP-TS201S提供了外部总线用于连接外部存储器和其他外设。
4G字的寻址空间在DSP统一的寻址空间中。
独立的片内总线(4条128位数据总线,4条32位地址总线)通过复用开关连接外部系统总线,该总线提供了64位的数据总线和32位的地址总线。
外部端口能提供1000MB/s的访问速度。
●主机接口
ADSP-TS201S在外部总线和主机处理器之间提供了方便的接口。
为了能和各种主机处理器配合工作,主机接口支持流水线或慢速协议,用于从机访问。
每种协议带有可编程的传输参数,例如空闲等待、流水深度、插入等待状态等。
主机接口支持主机初始化的突发传输模式。
在主机发出开始地址后,使信号有效,DSP将会在主机继续有效时增加地址。
主机接口提供了死锁恢复机制,使得主机能从DSP死锁中恢复。
信号提供了死锁恢复机制。
当主机有效时,DSP取消当前的传输,并使信号有效,放弃了外部总线。
主机能够直接读写ADSP-TS201S的片内存储器,能够访问DSP的大多数寄存器,包括DMA控制寄存器。
●多处理器接口
ADSP-TS201S通过外部总线和链路口为多处理器DSP系统设计集成了无缝多处理器支持功能。
这种多处理器接口为处理器间通信提供了最大的带宽,包括:
共享总线支持多达8个DSP;
为无缝多处理器连接提供片内仲裁;
用于点对点通信的链路口。
●SDRAM控制器
SDRAM控制器控制ADSP-TS201S与同步DRAM间的数据传输,每个SCLK周期传送32位或64位数据。
SDRAM接口提供与标准SDRAM——16Mbit、64Mbit、128Mbit和256Mbit的无缝接口。
有4个BANK,每个都支持最大达64M字×32位的SDRAM。
SDRAM被映射到DSP统一的存储空间中。
●EPROM接口
ADSP-TS20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VR 虚拟现实 技术 TSHARC 系列 DSP 应用 教程 秋季 最全版