Ti公司DSP芯片特点、技术发展历程和现状及其应用实例分析_第1页
Ti公司DSP芯片特点、技术发展历程和现状及其应用实例分析_第2页
Ti公司DSP芯片特点、技术发展历程和现状及其应用实例分析_第3页
Ti公司DSP芯片特点、技术发展历程和现状及其应用实例分析_第4页
Ti公司DSP芯片特点、技术发展历程和现状及其应用实例分析_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Ti公司DSP芯片特点、技术发展历程和现状及其应用实例分析一、Ti公司DSP芯片特点特点哈佛结构哈佛结构是不同于传统的冯若曼VonNeuman结构的并行体系结构,其主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。与两个存储器相对应的是系统中设置了程序总线和数据总线两条总线,从而使数据的吞吐率提高了一倍。为了进一步提髙运行速度和灵活TMS320系列DSP芯片在基本哈佛结构的基础上作了改进,一是允许数据存放在程序存储器中,并被算术运算指令直接使用,增强了芯片的灵活性;二是指令存储在高速缓冲KCache)中,当执行此指令时不

2、需要再从存储器中读取指节约了一个指令周期的时间。流水线与哈佛结构相关DSP芯片广泛采用流水线以减少指令执行时间,从而增强了处理器的处理能力。TMS320系列处理器的流水线深度从6级不等。也就是说,处理器可以并行处理条指令,每条指令处于流水线上的不同阶段。专用的硬件乘法器TMS320系列DSP芯片中具有一个专用的硬件乘法用14条指令就能完成一次乘法和一次加法运算,因此,在一个指令周期内可完成乘法运而算在,通用的微处器中乘,法指令是靠一系列加法来实现的,因此,TMS320系列DSP乘法速度远远髙于通用微处理器。特别的DSP指令利用DSP的特殊指令可以将多条指令才能完成的功能用一条指令来完成,这样可

3、大大提髙运算速度。快速的指令周期哈佛结构、流水线操作、专用的硬件乘法器、特殊P指令再加上集成电路的优化设计,可使芯片的指令周期在00ms以下。丰富的指令系统TMS320C31-40的汇编语言指令集特别适合于数字信号处理。所有指令占一个机器字长,大部分指令是单周器的。指令集共1有13条指令,可以分为六类:数据传送类、二操作数/逻算辑术类、三操作数算术/逻辑类、程序控制类、互锁操作类及并行操作1类2条。数据传送指令可从存储器中读一个字装入寄存器将,一个字从寄存器中存入存储器中及进行堆栈二操操作作。数指令有35条,提供整数、浮点、逻辑运算及多精度算术操1作7。条三操作数指令可以在一个指令周期内完成具

4、有三个操作数的运算,其中两个是源操作数,另一个是目的操作数。程序控制1指6条令,共它们影响程序的流向,其中有块重复指令PTB和单指令重复指令PTL除了有标准跳转指令外,还有延迟跳转指令,有些指令具有条件运算功能5。条互锁操作指令主要用来进行多处理器之间的通信。剩28下条的指令都是并行操作指令,每条并行指令由两条指令用符号“H”连接,并行操作指令可使“H”前后的两条指令并行完成。需要注意的是,并不是任意两条指令都可构成并行指令。硬件结构特征1核心CPUTMS320C5XCP的增强功能在提髙性能和通用性的同时,保持了S对20C1X和TMS320C2)源代码的兼容性。硬件的改进包括:一3个2位累加器

5、缓冲器,附加定标能力,利用附加硬件功能的新指令。新的控制功能包括:独立的并行逻辑单元(和一组文本交换寄存器。数据管理方面的改进包括:采用新的块搬移指令和存储器映像寄存器指TMS320C5(有28个存储器映像寄存器稱个存储器映像的I/O口。片内ROMTMS320C5(拥有2KX16位掩蔽ROM,内部固化了引导程序。该存储器把程序从外M/EPROM串行口或并行I/O口引导至运行速度较快的AM中。这块引导ROM可通过PMST状态寄存器中的P/MC位从程序存储空间去除。如果该M未选,贝iTMS320C5(由片外存储器启动执行。片内数据RAMTMS320C5(具有1056字的片内RAM,这块RAM可在每

6、个机器周期内访问两次双寻址RAM),只要两次访问不是“写”操作。这块存储空间主要用于存储数据,但是如果需要也可用于存储程序和数据。其配置有两种方式:所有1的(56字都作为数据存储区,或者将其中54的4字作为数据存储器5,12字作为程序存储区。可通过状态寄存器中的CNF位选择设置。片内程序数据RAMTMS320C5(还具有9K字的片内RAMo这一存储区可以由软件设置映射到程序或数据存储空间。程序从片外存储器引导后,可装入到该存储区全速运行。片内存储器安全TMS320C50可以通过可屏蔽选择来保护片内存储器的内容。当相关比特置位时,外部无法访问片内存储空间。有地址映射的软件等待状态发生器软件等待状

7、态逻辑不需要任何外部硬件就可以实现20C5(与速度较慢的片外存储器和0设备接口。该电路系统拥有16个等待状态发生器,其中可由用户编程操作0的,有1,2,3和7状态。7并行I/O口TMS320C5(共有64KI/O口,其中的16个可映射在数据存储空间。这些口可由或OUT指令寻址。具有存储器映像的/0口可按存储器的读写方式访问。口的访问由IS线选通。增加简单的片外地址译码电路,就可实TMS320C5啲I/O口与外部I/O设备的简单连接。串行I/O口TMS320C5(有两个髙速串行口。串行口最快可按机器周期CLKOUT)操作。一个是同步全双工串行口,发送和接收都有缓冲,分别由可屏蔽外部中断信号控制,

8、数据8可或按16照位方式传输;另一个串行口为全双工串口,可设置为同步方式,也可设置为时分TDM址方式,TDM串行口一般用于多处理机系统。16位硬件定时器16位硬件定时器可由软件进行控制,通过设置相应的状态位,定时器可工作在停止、重启动、复位或不工作等状态。用户可屏蔽中断TMS320C5(有4个外部中断线片内的中断锁存电路可实现异步中断操作外,还有5个内部中断:1个定时器中断和4个串行口中断。JTAG扫描逻辑JTAG扫描逻辑电路用于仿真和测试,采用G可实现在线仿真。二、发展历史和现状从1978年出现的第一个单片SP以来,DSP芯片在这20几年来得到了髙速发展SP芯片的应用也越来越广泛,根据其用途

9、可分为通用邂芯片和专用型SP芯片;按基础特性分为静态P芯片和一致性)SP芯片;按数据格式分为定点P芯片和浮点)SP芯片。美国德州仪器公司TexasInstruments简称TI)推出的TMS系列DSP芯片已经成为当今世界上最有影响的DSP芯片2,TI公司在1982年推出第一代SP芯片TMS320!XTMS320C1X系列,随后推出第二代)SP芯片TMS320X、TMS320C2X系列,第三代SP芯片TMS320C3X系列,第四代SP芯片TMS320C4X系列,第五代SP芯片TMS320C5X系列,第六代SP芯片TMS320C6X系列。第一代TMS320系列DSP芯片TMS320C1X是定点DS

10、P芯片,采用二级流水线;第二代TMS320系列DSP芯片TMS320C2X系列是定点)SP芯片,采用三级流水线;第三代TMS320系列DSP芯片TMS320C3X系列芯片是浮点SP芯片,采用四级流水线;第四代TMS320系列DSP芯片TMS320C4X系列芯片是浮点SP芯片,采用五级流水线;第五代TMS320系列DSP芯片TMS320C5X系列芯片是定点SP芯片,采用四级流水线;第六代TMS320系列DSP芯片TMS320C6X系列芯是一种新型定点SP芯片,该芯片的内部结构与以前的DSP芯片不同,内部集成了多个功能单元,可同时执指令,运算能力达600MIPS美国AD公司的DSP芯片AD公司的D

11、SP芯片可以分为定点SP芯片和浮点)SP芯片两大类oADSP21XX系列为定点)SP芯片,ADSP21XX系列为浮点)SP芯片。目前,定点DSP芯片主要有VDSP21O1/21O3/210ASDP2111/211,ADSP2161/2162/2163/2164/2165/2166及ADSP2171/2173/2181等。浮点DSP芯片主要有ADSP21000/21020ADSP21060/2106等。AD公司的定点)SP芯片的程序字长为4位,数据字长为6位。运算速度较快,内部具有较为丰富的硬件资源,一般具有个串行口、个内部定时器和个以上的外部中断源,此外还提8位EPROM程序引导方式。具有一套

12、高效的指令集,如无开销循环、多功能指令、条件执行等。ADSP210啲指令周期有0ns60ns和50ns三种,内部有2K字的程序RAM和1K字的数据UM3ADSP2103与ADSP2101相比,指令周期为00ns工作电压.3VOADSP2105是ADSP210啲简化,指令周期为72ns,内部的程序AM为1K字,数据UM为512字,串行口减为个。ADSP216X系列的指令周期为0ns100ns与其他定点芯片相比,具有较大的内部程(序如ADSP2161/216釣部提供了8K的程序ROM,ADSP2162/216内部提供4K程序ROM,工作电压为.3V,这些芯片的内部数据AM均为512字。WADSP2

13、165/216除了具有1K字的程序ROM外,还提供了2K字的程序RAM和4K字的数据RAM,其中,ADSP2166的工作电压为.3V。ADSP217啲指令周期为0ns速度达33.3MIPS是AD公司DSP芯片中运算速度最快的定点芯片之一。内部具有2K字的程序RAM和2K字的数撤AMoADSP217啲资源与ADSP2171相同,工作电压为3.3V。目前ADSP的定点DSP芯片中,处理能力最强的当数SP2181AT&T公司DSP芯片AT&堤第一家推出髙性能浮点P芯片的公司OT&T公司的DSP芯片包括定点和浮点两大类。定点DSP芯片中有代表性的主要包括P16DSP16ADSP16CDSP1610和D

14、SP1616等。浮点DSP芯片中比较有代表性的包括SP32DSP32C和DSP3210等oAT&T定点DSP芯片的程序和数据字长均为位,有2个精度为36位的累加器1个深度为15字的指令Cache支持最多127次的无开销循环DSP16的指令周期为5ns和75ns,累加器长度为6位,片内有2K字的程序ROM和512字的数撤AMOSP16A速度最快的版本为5ns的指令周期片内有12K字的程序ROM和2K字的数据RAMoDSP16C的指令周期为8.5ns和76.9ns片内存储器资源与SP16A相同,增加了片内的odec此外,还有1个4引脚的JTAG仿真口JSP1610片内有512字的引导ROM和8K字

15、的双口RAM,支持硬件和软件等待状态SP1616片内有12K字的ROM和2K字的双口RAM,支持软件等待状态DSP1610和1616提供了仿真接口。DSP32C是DSP32的增强型,是性能较优的一种浮点芯片。其主要特点包括:80/100n的指令周期;地址和数据总线可以在单个指令周期内访4次问;片内具有3个512字的RAM块,或2个512字的RAM块加1个4K字的ROM块。可以寻址M字的外部存储器;具有串行和并行/O接口。串行I/O采用双缓冲,支持8/16/24/3位串行数据传输外部微处理器可以控制DSP32C的8/16位并行口;采用专用的浮点格式,可在单周期内与E-754孚点格式进行转换;具有

16、4个40位精度的累加器和22个通用寄存器;支持无开销循环和硬件等待状态。DSP3210内部具有2个1K字的RAM块和512字的引导ROM,外部寻址空间达G字节,可以用软件编程产生等待状态,具有串行口、定时器、控制器和一个与otorola和Intel微处理器兼容的2位总线接口。Motorola公司DSP芯片Motorola公司的DSP芯片可分为定点、浮点和专用三种。定点DSP芯片以MC56000MC56001MC56002为代表。程序和数据字长为位,有2个精度为56位的累加器DSP5600啲指令周期为0ns和74ns两种。片内具有512字的程序RAM、512字的数撤AM和512字的数撤OM。三个

17、分开的存储器空间,每个均可寻址字。片内32字的引导程序可以从外部EPROM装入程序。支持8位异步和824位同步串行7O接口。并行接口可与外部微处理器接支,持硬件和软件等待状态产生C56000是ROM型的DSP芯片,内部具有K字的程序ERMMC56002则是一个低功耗型芯片,可以在0V5.5V电压范围内工作。浮点DSP芯片以MC96002为代表,采用EEE-754标准浮点格式,累加器精度达位,可支持双精度浮点数。该芯片的指令周期为/60/74ns片内有3个32位地址总线和个32位数据总线。内部具有1K字的程序RAM、1K字的数据UM和1K字的数据64字的引导ROM可以从外咅8位EPROM引导程序

18、。内部具有10个96位或30个32位基于寄存器的累加器。支持无开销循环硬、件和软件等待状态产生。具有三个独立的存储空间,每个空间可寻字。MC56200是一种基于MC56001DSP核,适合于自适应滤波的专用定点芯片,指令周期为7.5ns程序字长和数据字长分别为位和16位。内部的程序和数据AM均为256字,累加器精度为0位。MC56156则是一个在片内集成了过取样D话带Codec模数转换器和锁相环的SP芯片,主要用于蜂窝电话等通信应用,其指令周期为50ns除了以上介绍的一些SP芯片之外,还有一些公司的P芯片也较著名。例如EC公司的mPD77C25mPD77220定点DSP芯片和mPD77240孚

19、点DSP芯片等。三、应用实例正弦信号发生器正弦函数six可表示为指数形式由此可以得到正弦序列的Z变换2认占二2zcosdT4-LCz(8.3)在Izl1时成立,且式中的-二二丄S=-l-设单位冲击序列经过一系统后,其输出为正弦序s列i(ksT)则系统的传递函数为就是正弦序歹Sin(ksT)的乙变换,即求其极点为2cgs(pT)土-J4cqs2(念斗2(8.5)=gg(W)+jmin丁)由上式可以看出是一对复根,其幅值为相角为sT。幅值为1的极点对应一个数字振荡器,其振荡频率由系数、B和C来决定。因此,设计振荡器主要就在于确定这些系数(8.4)得Y(Z)-A2yYZ)+BZ2Y(Z)=CZ_1(

20、Z)设初始值为0,求上式的Z反变换,得期上二娅-1+W-+阿-1(8.6)这是个二阶差分方程,其单位冲击响应即为(ksT)。利用单位冲击函数k-1的性质,即仅当k=1时,xk-1=1,代入上式得七二0巩0二心THEM2十0二0上二1如二如+和-1十C二匸七二2M2=4Mi+Ay0+0二创(S-7)上二3川二占2十月皿七二打M1=+珈科-2当k2,yk能用yk1和yk2算出,这是一个递归的差分方程正弦波信号发生器的设计与实现根据上述数字振荡器的原理,一个正弦波序列可以通过递归方法得到、,B系数一旦确定后,代入上式就可得到期望频率的正弦序下面根据数字振荡器的原理在S320VC540设计一正弦波信号

21、发生器,并使用汇编语言完成源程序的编写。设计产生频率为的正弦波匚二:二二,为了得到正弦波序列的输出,可以采用定时中断的方法输出yn,再经过D/A转换和滤波后输出连续的正弦波。设采样率为二-=(即通过定时器中断,每25us产生一个yn),则递归的差分方A=2cos&T=2cos=2x0.95105652Z40耳=-1C=111血T=sin2jr=sin2tc=0.58778525229程系数头二为了便于定点)SP处理,我们将所有系数除以然后用16位定点格式表示为x2ls=79BC2x2ls=cm2x215=BC72这便是产生2kHz正弦信号的三个系数。由前面的推导也可以看出,(8用式产生的正弦波

22、频率只是一个相对值只有给定了采样频率也就是确定了采样点之间的时间间隔后能最终决定模拟频率。为了得到精确的采样频率,我们用定时器产生s时间间隔,获得0kHz的采样频率。定时器的初值计算由下式决定“式中elkf为DSP时钟频率只f为采样频率。设定时其预分频系数R=0则定时器周期寄存器初值PRD=2_1PRD为二本例中,二二二丄三二LI-三.则PRD=2499程序设计首先进行初始化初始化包括计算出1和y2,定时器相关寄存器设置然后开放定时器中断。1.初始化y1和y2SSBXFRCT;置FRCT=1,准备进行小数乘法运算ST#INIT_A,AA;将常数A装入变量AAST#INIT_B,BB;将常数B装

23、入变量BBST#INIT_C,CC;将常数C装入变量CCPSHDCC;将变量CC压入堆栈POPDy2;初始化y2=CCLDAA,T;装AA到T寄存器MPYy2,A;y2乘系数A,结果放入A寄存器STHA,y1;将寄存器A的高16位存入变量y12.初始化定时器程序STM#10h,TCR;停止定时器STM#2499,PRD;设置PRD寄存器值为2499,TINT中断频率为40KHzSTM#20h,TCR;重新装入TIM和PSC,然后启动定时3.中断初始化中断初始化包括设置中断总开关和中断屏蔽寄存器,修改中断向量表的入口地址。中断服务程序代码片断:LD#0,DP;设置DP页指针SSBXINTM;关闭

24、所有中断LD#vector;读出中断向量(地址vector在中断向量表程序中定义)AND#OFF80h,A;保留PMST的低7位ORPMST,ASTLMA,PMST;设置PMST(其中包括IPTR)RSBXINTM;开所有中断初始化完成后,主程序循环等待定时器中断。当程序进入定时器中断服务程序时,利前面的和y2,计算出新的n,经过D/A转换后,得到一个正弦信号波形。中断服务程序如下:_tint:LDBB,T;将系数B装入T寄存器MPYy2,A;y2乘系数B,结果放入A寄存器LTDy1;将y1装入T寄存器,同时复制到y2MACAA,A;完成新正弦数据的计算,a寄存器中为;y1*AA+y2*BBS

25、THA,l,y1;将新数据存入y1,因所有系数都除过2,所以;在保存结果时转移一位,恢复数据正常大小STHA,NOPy0;将新正弦数据存入y0RETE要获得完整的程序,必须有中断向量表文件和内存定位文件。中断向量表清单如下.mmregs.ref_ret.ref_c_int00.ref__tableinterruptevectortablevector:rsb_c_int00nopnopnmib_retnopnopsint17b_retnopnopsint18b_retnopnopsint19b_retnopnopsint20b_ret.wor

26、d0,0sint21b_ret.word0,0sint22.word01000h.word0,0,0sint23.word0ff80h.word0,0,0sint24.word01000h.word0,0,0sint25.word0ff80h.word0,0,0sint26.word01000h.word0,0,0sint27.word0ff80h.word0,0,0sint28.word01000h.word0,0,0sint29.word0ff80h.word0,0,0sint30.word01000h.word0,0,0int0b_retnopnopint1b_retnopnopint2

27、b_retnopnoptintb_tintnopnopbrint0b_retnopnopbxint0b_retnopnoptrintb_retnopnopdmac1b_retnopnopint3b_retnopnophpintb_retnopnopq26.word0ff80h.word0,0,0q27.word01000h.word0,0,0dmac4b_retnopnopdmac5b_retnopnopq30.word0ff80h.word0,0,0q31.word01000h.word0,0,0endofinterruptevectortable_retrete内存定位文件清单如下:MEM

28、ORYPAGE0:VEC:origin=1000h,length=0ffhPROG:origin=1100h,length=8000hPAGE1:DATA:origin=080h,length=0807fhSECTIONS.textPROGPAGE0.cinitPROGPAGE0.switchPROGPAGE0.int_tableVECPAGE0.dataDATAPAGE1.bssDATAPAGE1.constDATAPAGE1.sysmemDATAPAGE1.stackDATAPAGE14、观察输出信号波形以及频谱编写完成以上程序后,就可以在CCS集成开发环境下运行,并通过CCS提供的图形显示窗口观察输出信号波形以及频谱。以上过程分以下几步完成:启动CCS,新建工程文件,如文件名为sinewave.pjt。选择Project菜单中的AddFiletoProject选项,将汇编源程序sin.asm、vec_table.asm和连接定位sinewave.cmd文件依次添加到工程文件中。其中,sin.asm包括初始化代码和中断服务程序,而vec_talbe.asm为中断向量表。完成编译、连接,生成.out文件,并装载.out文件到片内存储器。选择“ViewGraphTim

温馨提示

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

评论

0/150

提交评论