Ti公司DSP芯片特点技术发展历程和现状及其应用实例分析_第1页
Ti公司DSP芯片特点技术发展历程和现状及其应用实例分析_第2页
Ti公司DSP芯片特点技术发展历程和现状及其应用实例分析_第3页
Ti公司DSP芯片特点技术发展历程和现状及其应用实例分析_第4页
Ti公司DSP芯片特点技术发展历程和现状及其应用实例分析_第5页
免费预览已结束,剩余17页可下载查看

下载本文档

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

文档简介

Ti公司DSP芯片特点、技术发展历程和现状及其应用实例解析Ti公司DSP芯片特点、技术发展历程和现状及其应用实例解析22/22蒆PAGE22节薄薇薈芈膁膄薁节螅羈袆蚆螀羃蒂莂羆荿蒈Ti公司DSP芯片特点、技术发展历程和现状及其应用实例解析

Ti公司DSP芯片特点、技术发展历程和现状及其应用实例解析

一、Ti公司DSP芯片特点

特点

哈佛结构

哈佛结构是不相同于传统的冯·诺曼(VonNeuman)结构的并行系统结构,其主要特点是将程序和数据储藏在不相同的储藏空间中,即程序储藏器和数据储藏器是两个相互独立的储藏

器,每个储藏器独立编址,独立接见。与两个储藏器相对应的是系统中设置了程序总线和数据总线两条总线,从而使数据的吞吐率提高了一倍。

为了进一步提高运行速度和灵便性,TMS320系列DSP芯片在基本哈佛结构的基础上作了改进,一是赞同数据存放在程序储藏器中,并被算术运算指令直接使用,增强了芯片的灵便

性;二是指令储藏在高速缓冲器(Cache)中,当执行此指令时,不需要再从储藏器中读取指令,节约了一个指令周期的时间。

流水线

与哈佛结构相关,DSP芯片广泛采用流水线以减少指令执行时间,从而增强了办理器的办理能力。TMS320系列办理器的流水线深度从2~6级不等。也就是说,办理器可以并行办理2~6条指令,每条指令处于流水线上的不相同阶段。

专用的硬件乘法器

TMS320系列DSP芯片中拥有一个专用的硬件乘法器,用1~4条指令就能完成一次乘法和

一次加法运算,因此,在一个指令周期内可完成乘法运算,而在通用的微处器中,乘法指令是靠一系列加法来实现的,因此,TMS320系列DSP乘法速度远远高于通用微办理器。

特其他DSP指令

利用DSP的特别指令可以将多条指令才能完成的功能用一条指令来完成,这样可大大提高运算速度。快速的指令周期

哈佛结构、流水线操作、专用的硬件乘法器、特其他DSP指令再加上集成电路的优化设

计,可使DSP芯片的指令周期在200ms以下。

丰富的指令系统

TMS320C31-40的汇编语言指令集特别适合于数字信号办理。所有指令占一个机器字长,

大部分指令是单周器的。指令集共有113条指令,可以分为六类:数据传达类、二操作数算术

/逻辑类、三操作数算术/逻辑类、程序控制类、互锁操作类及并行操作类。12条数据传达指

令可从储藏器中读一个字装入存放器,将一个字从存放器中存入储藏器中及进行货仓操作。二

操作数指令有35条,供应整数、浮点、逻辑运算及多精度算术操作。17条三操作数指令可以

在一个指令周期内完成拥有三个操作数的运算,其中两个是源操作数,另一个是目的操作数。

程序控制指令共16条,它们影响程序的流向,其中有块重复指令RPTB和单指令重复指令

RPTS。除了有标准跳转指令外,还有延缓跳转指令,有些指令拥有条件运算功能。5条互锁操

作指令主要用来进行多办理器之间的通信。剩下的28条指令都是并行操作指令,每条并行指

令由两条指令用符号“‖”连接,并行操作指令可使“‖”前后的两条指令并行完成。需要注意的是,其实不是任意两条指令都可构成并行指令。

硬件结构特点

1核心CPU

TMS320C5XCPU的增强功能在提高性能和通用性的同时,保持了对TMS320C1X和TMS320C2X源

代码的兼容性。硬件的改进包括:一个32位累加器缓冲器,附加定标能力,利用附加硬件功

能的新指令。新的控制功能包括:独立的并行逻辑单元(PLU)和一组文本交换存放器。数据

管理方面的改进包括:采用新的块搬移指令和储藏器映像存放器指令。TMS320C50有28个存

储器映像存放器和16个储藏器映像的I/O口。

2.片内ROM

TMS320C50拥有2K×16位遮盖ROM,内部固化了引导程序。该储藏器把程序从外面

ROM/EPROM、串行口或并行I/O口引导至运行速度较快的SRAM中。这块引导ROM可经过PMST

状态存放器中的MP/MC\位从程序储藏空间去除。若是该ROM未选,则TMS320C50由片外储藏

器启动执行。3.片内数据RAM

TMS320C50拥有1056字的片内RAM,这块RAM可在每个机器周期内接见两次(双寻址

RAM),只要两次接见不是“写”操作。这块储藏空间主要用于储藏数据,但是若是需要也可

用于储藏程序和数据。其配置有两种方式:所有的1056字都作为数据储藏区,也许将其中的

544字作为数据储藏器,512字作为程序储藏区。可经过状态存放器ST1中的CNF位选择设

置。

4.片内程序/数据RAM

TMS320C50还拥有9K字的片内RAM。这一储藏区可以由软件设置照射到程序或数据储藏空

间。程序从片外储藏器引导后,可装入到该储藏区全速运行。

5.片内储藏器安全

TMS320C50可以经过可障蔽选择来保护片内储藏器的内容。当相关比特置位时,外面无法接见

片内储藏空间。

6.有地址照射的软件等待状态发生器

软件等待状态逻辑不需要任何外面硬件就可以实现TMS320C50与速度较慢的片外储藏器和I/O设备接口。该电路系统拥有16个等待状态发生器,其中可由用户编程操作的有0,1,2,3和7状态。7.并行I/O口TMS320C50共有64KI/O口,其中的16个可照射在数据储藏空间。这些口可由IN或OUT指令寻址。拥有储藏器映像的I/O口可按储藏器的读写方式接见。I/O口的接见由线选通。增加简单的片外处点译码电路,即可实现TMS320C50的I/O口与外面I/O设备的简单连接。8.串行I/O口TMS320C50有两个高速串行口。串行口最快可按1/4机器周期(CLKOUT1)操作。一个是同步全双工串行口,发送和接收都有缓冲,分别由可障蔽外面中断信号控制,数据可依照8或16位方式传输;另一个串行口为全双工串口,可设置为同步方式,也可设置为时分多址(TDM)方式,TDM串行口一般用于多办理机系统。9.16位硬件准时器

位硬件准时器可由软件进行控制,经过设置相应的状态位,准时器可工作在停止、重启动、复位或不工作等状态。

10.用户可障蔽中断

TMS320C50有4个外面中断线。片内的中断锁存电路可实现异步中断操作。其他,还有部中断:1个准时器中断和4个串行口中断。

5个内

11.JTAG扫描逻辑

JTAG扫描逻辑电路用于仿真和测试,采用JTAG可实现在线仿真。

二、发展历史和现状

从1978年出现的第一个单片DSP以来,DSP芯片在这20几年来获得了高速发展,DSP芯片的应用也越来越广泛,依照其用途可分为通用型DSP芯片和专用型DSP芯片;按基础特点分为静态DSP芯片和一致性DSP芯片;按数据格式分为定点DSP芯片和浮点DSP芯片。美国德州仪器公司(TexasInstruments,简称TI)推出的TMS系列DSP芯片已经成为现在世界上最有影响的DSP芯片[2],TI公司在1982年推出第一代DSP芯片TMS3201×、TMS320C1X系列,随后推出第二代DSP芯片TMS3202×、TMS320C2X系列,第三代DSP芯片TMS320C3X系列,第四代DSP芯片TMS320C4X系列,第五代DSP芯片TMS320C5X系列,第六代DSP芯片TMS320C6X系列。第一代TMS320系列DSP芯片TMS320C1X是定点DSP芯片,采用二级流水线;第二代TMS320系列DSP芯片TMS320C2X系列是定点DSP芯片,采用三级流水线;第三代TMS320系列DSP芯片TMS320C3X系列芯片是浮点DSP芯片,采用四级流水线;第四代TMS320系列DSP芯片TMS320C4X系列芯片是浮点DSP芯片,采用五级流水线;第五代TMS320系列DSP芯片TMS320C5X系列芯片是定点DSP芯片,采用四级流水线;第六代TMS320系列DSP芯片TMS320C6X系列芯是一种新式定点与以前的DSP芯片不相同,内部集成了多个功能单元,可同时执行

DSP芯片,该芯片的内部结构

8条指令,运算能力达

1600MIPS。

美国AD公司的DSP芯片

AD公司的DSP芯片可以分为定点DSP芯片和浮点DSP芯片两大类。ADSP21XX系列为定点DSP芯片,

ADSP21XXX系列为浮点

DSP芯片。目前,定点

DSP芯片主要有

ADSP2101/2103/2105,ASDP2111/2115,ADSP2161/2162/2163/2164/2165/2166

以及

ADSP2171/2173/2181等。浮点DSP芯片主要有ADSP21000/21020,ADSP21060/21062等。

AD公司的定点DSP芯片的程序字长为24位,数据字长为16为丰富的硬件资源,一般拥有2个串行口、1个内部准时器和

位。运算速度较快,内部拥有较

3个以上的外面中断源,其他还

供应8位EPROM程序引导方式。拥有一套高效的指令集,如无开销循环、多功能指令、条件

执行等。

ADSP2101的指令周期有

80ns、60ns

50ns

三种,内部有

2K字的程序

RAM和

1K字的数据

RAM。ADSP2103与

ADSP2101对照,指令周期为

100ns,工作电压为

。ADSP2105是

ADSP2101的简化,指令周期为

72ns,内部的程序

RAM为

1K字,数据

RAM为

512字,串行口

减为1个。

ADSP216X系列的指令周期为50ns~100ns,与其他定点芯片对照,拥有较大的内部程序ROM,

如ADSP2161/2163内部供应了8K的程序ROM,ADSP2162/2164内部供应4K程序ROM,工作电压为,这些芯片的内部数据RAM均为512字。而ADSP2165/2166除了拥有1K字的程序

ROM外,还供应了12K字的程序RAM和4K字的数据RAM,其中,ADSP2166的工作电压为

ADSP2171的指令周期为30ns,速度达,是AD公司DSP芯片中运算速度最快的定点芯片之一。内部拥有2K字的程序RAM和2K字的数据RAM。ADSP2173的资源与ADSP2171相同,工作电压为。

目前ADSP的定点DSP芯片中,办理能力最强的当数ADSP2181。

AT&T公司DSP芯片

AT&T是第一家推出高性能浮点DSP芯片的公司。AT&T公司的DSP芯片包括定点和浮点两大

类。定点DSP芯片中有代表性的主要包括DSP16、DSP16A、DSP16C、DSP1610和DSP1616等。

浮点DSP芯片中比较有代表性的包括DSP32、DSP32C和DSP3210等。

AT&T定点DSP芯片的程序和数据字长均为16位,有2个精度为36位的累加器,1个深度为15字的指令Cache,支持最多127次的无开销循环。DSP16的指令周期为55ns和75ns,累加器长度为36位,片内有2K字的程序ROM和512字的数据RAM。DSP16A速度最快的版本为25ns的指令周期,片内有12K字的程序ROM和2K字的数据RAM。DSP16C的指令周期为和,片内储藏器资源与DSP16A相同,增加了片内的Codec,其他,还有1个4引脚的JTAG仿真口。DSP1610片内有512字的引导ROM和8K字的双口RAM,支持硬件和软件等待状态。DSP1616片内有

12K字的

ROM和

2K字的双口

RAM,支持软件等待状态。

DSP1610和

1616

供应了仿真接口。

DSP32C是DSP32的增强型,是性能较优的一种浮点DSP芯片。其主要特点包括:

(180/100ns的指令周期;

(2地址和数据总线可以在单个指令周期内接见4次;

(3片内拥有3个512字的RAM块,或2个512字的RAM块加1个4K字的ROM块。可以寻址

4M字的外面储藏器;

(4拥有串行和并行I/O接口。串行I/O采用双缓冲,支持8/16/24/32位串行数据传输,外面

微办理器可以控制DSP32C的8/16位并行口;

(5采用专用的浮点格式,可在单周期内与IEEE-754浮点格式进行变换;

(6拥有4个40位精度的累加器和22个通用存放器;

(7支持无开销循环和硬件等待状态。

DSP3210内部拥有2个1K字的RAM块和512字的引导ROM,外面寻址空间达4G字节,可以用软件编程产生等待状态,拥有串行口、准时器、

DMA控制器和一个与

Motorola

Intel

微处

理器兼容的

32位总线接口。

Motorola公司DSP芯片

Motorola公司的DSP芯片可分为定点、浮点和专用三种。

定点DSP芯片以MC56000、MC56001、MC56002为代表。程序和数据字长为24位,有2个精度为56位的累加器。DSP56001的指令周期为60ns和74ns两种。片内拥有512字的程序RAM、512字的数据RAM和512字的数据ROM。三个分开的储藏器空间,每个均可寻址64K字。片内32字的引导程序可以从外面EPROM装入程序。支持8位异步和8~24位同步串行I/O接口。并行接口可与外面微办理器接口,支持硬件和软件等待状态产生。MC56000是ROM型的DSP芯片,内部拥有2K字的程序ROM。MC56002则是一个低功耗型芯片,可以在电压范围内工作。

浮点DSP芯片以MC96002为代表,采用IEEE-754标准浮点格式,累加器精度达96位,可支持

双精度浮点数。该芯片的指令周期为50/60/74ns。片内有3个32位地址总线和5个32位数

据总线。内部拥有1K字的程序RAM、1K字的数据RAM和1K字的数据ROM。64字的引导ROM可

以从外面8位EPROM引导程序。内部拥有10个96位或30个32位基于存放器的累加器。支

持无开销循环、硬件和软件等待状态产生。拥有三个独立的储藏空间,每个空间可寻址4G

字。

MC56200是一种基于MC56001DSP核,适合于自适应滤波的专用定点DSP芯片,指令周期为

,程序字长和数据字长分别为24位和16位。内部的程序和数据RAM均为256字,累加

器精度为40位。MC56156则是一个在片内集成了过取样?-D话带Codec模数变换器和锁相环

的DSP芯片,主要用于蜂窝电话等通信应用,其指令周期为33/50ns。

除了以上介绍的一些DSP芯片之外,还有一些公司的DSP芯片也较出名。比方NEC公司的mPD77C25、mPD77220定点DSP芯片和mPD77240浮点DSP芯片等。

三、应用实例

正弦信号发生器

正弦函数six可表示为指数形式

由此可以获得正弦序列

的z变换

在|z|>1时成立,且式中的

设单位冲击序列经过一系统后,其输出为正弦序列c=sin(kωT)则系统的传达函数为

就是正弦序列sin(kωT)的Z变换,即

求其极点为

由上式可以看出,是一对复根,其幅值为1,相角为ωT。幅值为1的极点对应一个数字振荡器,其振荡频率由系数A、B和C来决定。因此,设计振荡器主要就在于确定这些系数。由式得

设初始值为0,求上式的Z反变换,得

这是个二阶差分方程,其单位冲击响应即为sin(kωT)。利用单位冲击函数

x[k-1]

的性

质,即仅当k=1时,x[k-1]=1,代入上式得:

当k>2,y[k]能用y[k-1]和y[k-2]算出,这是一个递归的差分方程。

正弦波信号发生器的设计与实现

依照上述数字振荡器的原理,一个正弦波序列可以经过递归方法获得,系数A、B和C一

旦确定后,代入上式即可获得希望频率的正弦序列。下面依照数字振荡器的原理在

TMS320VC5402设计一正弦波信号发生器,并使用汇编语言完成源程序的编写。

设计产生频率为的正弦波,为了获得正弦波序列的输出,

可以采用准时中断的方法输出y[n],再经过D/A变换和滤波后输出

连续的正弦波。

设采样率为(即经过准时器中断,每隔25μs产生一个y[n],

则递归的差分方程系数为

为了便于定点DSP办理,我们将所有系数除以2,尔后用16位定点格式表示为

这即是产生2kHz正弦信号的三个系数。由前面的推导也可以看出,用式产生的正弦波频率可是一个相对值,只有给定了采样频率,也就是确定了采样点之间的时间间隔后,才能最后决定模拟频率。为了获得精确的采样频率,我们用准时器产生25μs时间间隔,获得40kHz的采样频率。准时器的初值计算由下式决定

式中clkf为DSP时钟频率,Sf为采样频率。设准时其预分频系数

TDDR=0,则准时器周期存放器初值PRD为

本例中,则PRD=2499。

程序设计第一进行初始化,初始化包括计算出y[1]和y[2],准时器

相关存放器设置,尔后开放准时器中断。

1.初始化y[1]和y[2]

SSBXFRCT;置FRCT=1,准备进行小数乘法运算

ST#INIT_A,AA;将常数A装入变量AAST#INIT_B,BB;将常数B装入变量BBST#INIT_C,CC;将常数C装入变量CC

PSHDCC;将变量CC压入货仓

POPDy2;初始化y2=CC

LDAA,T;装AA到T存放器

MPYy2,A;y2乘系数A,结果放入A存放器

STHA,y1;将存放器A的高16位存入变量y1

初始化准时器程序

STM#10h,TCR;停止准时器

STM#2499,PRD;设置PRD存放器值为2499,TINT中断频率为40KHz

STM#20h,TCR;重新装入TIM和PSC,尔后启动准时

中断初始化

中断初始化包括设置中断总开关和中断障蔽存放器,更正中断向量表的入口地址。中断服务程序代码片断:

LD#0,DP;设置DP页指针

SSBXINTM;关闭所有中断

LD#vector;读出中断向量(地址vector在中断向量表程序中定义

AND#OFF80h,A;保留PMST的低7位

ORPMST,A

STLMA,PMST;设置PMST(其中包括IPTR

RSBXINTM;开所有中断

初始化完成后,主程序循环等待准时器中断。当程序进入准时器中断服务程序时,利用前

面的y[1]和y[2],计算出新的y[n],经过D/A变换后,获得一个正弦信号波形。中断服务程序以下:

_tint:

LDBB,T;将系数B装入T存放器

MPYy2,A;y2乘系数B,结果放入A存放器

LTDy1;将y1装入T存放器,同时复制到y2

MACAA,A;完成新正弦数据的计算,a存放器中为

;y1*AA+y2*BBSTHA,l,y1;将新数据存入y1,因所有系数都除过2,因此

;在保留结果时转移一位,恢复数据正常大小

STHA,y0;将新正弦数据存入y0

NOP

RETE

要获得完满的程序,必定有中断向量表文件和内存定位文件。中断向量表清单以下:

.mmregs

.ref_ret

.ref_c_int00

.ref_tint

.globalvector

.sect".int_table"

table!

;

vector:

rsb_c_int00

nop

nop

nmib__ret

nop

nop

sint17b__ret

nop

nop

sint18b__ret

nop

nop

sint19b__ret

;interruptevector

nop

nop

sint20b__ret

.word0,0

sint21b__ret

.word0,0

.word0,0,0

.word0,0,0

.word0,0,0

.word0,0,0

.word0,0,0

.word0,0,0

.word0,0,0

.word0,0,0

.word0,0,0

int0b__ret

nop

nop

int1b__ret

nop

nop

int2b__ret

nop

nop

tintb_tint

nop

nop

brint0b__ret

nop

nop

bxint0b__ret

nop

nop

trintb__ret

nop

nop

dmac1b__ret

nop

nop

int3b__ret

nop

nop

hpintb__ret

nop

nop

.word0,0,0

.word0,0,0

dmac4b__ret

nop

nop

dmac5b__ret

nop

nop

.word0,0,0

.word0,0,0

;;

endofinterruptevectortable!

;

_retrete

内存定位文件清单以下:

MEMORY

{

PAGE0:

VEC:origin=1000h,length=0ffh

PROG:origin=1100h,length=8000h

PAGE1:

DATA:origin=080h,length=0807fh

}

SECTIONS

{

.text>PROGPAGE0

.cinit>PROGPAGE0

.switch>PROGPAGE0

.int_table>VECPAGE0

.data>DATAPAGE1

.bss>DATAPAGE1

.const>DATAP

温馨提示

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

最新文档

评论

0/150

提交评论