keyan

    1. [图片]史上最强灵异照片 21/13334 聊聊、笑笑、闹闹 2007-07-18
      骗人的...
    2. DSP芯片的原理和开发应用(4) 5/16429 DSP 与 ARM 处理器 2007-07-18
      3.3.2  定点加法 乘的过程中,程序员可不考虑溢出而只需调整运算中的小数点。而加法则是一个更加复 杂的过程。首先,加法运算必须用相同的Q点表示;其次,程序员或者允许其结果有足够 的高位以适应位的增长,或者必须准备解决溢出问题。如果操作数仅为16位长,其结果 可用双精度数表示。下面举例说明16位数相加的两种途径。 1.保留32位结果 LAC OP1 ;(Q15) ADD OP2 ;(Q15) SACH    ANSHI   ;(高16位结果) SACL    ANSLO   ;(低16位结果) 2.调整小数点保留16位结果 LAC OP1,15  ;(Q14数用ACCH表示) ADD OP2,15  ;(Q14数用ACCH表示) SACH    ANS ;(Q14) 加法运算最可能出现的问题是运算结果溢出。TMS320提供了检查溢出的专用指令BV,此 外,使用溢出保护功能可使累加结果溢出时累加器饱和为最大的整数或负数。当然,即 使如此,运算精度还是大大降低。因此,最好的方法是完全理解基本的物理过程并注意 选择数的表达方式。 3.3.3  定点除法 在通用DSP芯片中,一般不提供单周期的除法指令,为此必须采用除法子程序来实现。二 进制除法是乘法的逆运算。乘法包括一系列的移位和加法,而除法可分解为一系列的减 法和移位。下面来说明除法的实现过程。 设累加器为8位,且除法运算为10除以3。除的过程就是除数逐步移位并与被除数比较的 过程,在每一步进行减法运算,如果能减则将位插入商中。 (1) 除数的最低有效位对齐被除数的最高有效位。     00001010 -  00011000             11110010 (2) 由于减法结果为负,放弃减法结果,将被除数左移一位再减。     00010100 -  00011000             11111000 (3) 结果仍为负,放弃减法结果,被除数左移一位再减。     00101000 -  00011000             00010000 (4) 结果为正,将减法结果左移一位后加1,作最后一次减。     00100001 -  00011000             00001001 (5) 结果为正,将结果左移一位加1得最后结果。高4位代表余数,低4位表示商。     00010011 即商为0011=3,余数为0001=1。 TMS320没有专门的除法指令,但使用条件减指令SUBC可以完成有效灵活的除法功能。使 用这一指令的唯一限制是两个操作数必须为正。程序员必须事先了解其可能的运算数的 特性,如其商是否可以用小数表示及商的精度是否可被计算出来。这里每一种考虑可影 响如何使用SUBC指令的问题。下面给出两种不同情况下的TMS320C25除法程序。 (1) 分子小于分母 DIV_A: LT      NUMERA MPY     DENOM PAC SACH    TEMSGN      ;取商的符号 LAC     DENOM ABS SACL    DENOM       ;使分母为正 ZALH    NUMERA      ;使分子为正 ABS RPTK    14 SUBC    DENOM       ;除循环15次 SACL    QUOT LAC     TEMSGN BGEZ    A1      ;若符号为正,则完成 ZAC SUB     QUOT SACL    QUOT        ;若为负,则商为负 A1: RET 这个程序中,分子在NUMERA中,分母在DENOM中,商存在QUOT中,TEMSGN为暂存单元。 (2) 规定商的精度 DIV_B: LT      NUMERA MPY     DENOM PAC SACH    TEMSGN      ;取商的符号 LAC     DENOM ABS SACL    DENOM       ;使分母为正 LACK    15 ADD     FRAC SACL    FRAC        ;计算循环计数器 LAC     NUMERA ABS             ;使分子为正 RPT     FRAC SUBC    DENOM       ;除循环16+FRAC次 SACL    QUOT LAC     TEMSGN BGEZ    B1      ;若符号为正,则完成 ZAC SUB     QUOT SACL    QUOT        ;若为负,则商为负 B1: RET 与DIV_A相同,这个程序中,分子在NUMERA中,分母在DENOM中,商存在QUOT中,TEMSGN 为暂存单元。FRAC中规定商的精度,如商的精度为Q13,则调用程序前FRAC单元中的值应 为13。 3.4  非线性运算的定点快速实现 在数值运算中,除基本的加减乘除运算外,还有其他许多非线性运算,如对数运算、开 方运算、指数运算、三角函数运算等,实现这些非线性运算的方法一般有:(1)调用DSP 编译系统的库函数;(2)查表法;(3)混合法。下面分别介绍这三种方法。 1.调用DSP编译系统的库函数 TMS320C2X/C5X 的C编译器提供了比较丰富的运行支持库函数。在这些库函数中,包含了 诸如对数、开方、三角函数、指数等常用的非线性函数。在C程序中(也可在汇编程序中 )只要采用与库函数相同的变量定义,就可以直接调用。例如,在库函数中,定义了以1 0为底的常用对数log10( ): #include <math.h> double  log10(double x); 在C程序中按如下方式调用: float x,y; x = 10.0; y = log10(x); 从上例可以看出,库函数中的常用对数log10( )要求的输入值为浮点数,返回值也为浮 点数,运算的精度完全可以保证。直接调用库函数非常方便,但由于运算量大,很难在 实时DSP中得到应用。 2.查表法 在实时DSP应用中实现非线性运算,一般都采取适当降低运算精度来提高程序的运算速度 。查表法是快速实现非线性运算最常用的方法。采用这种方法必须根据自变量的范围和 精度要求制作一张表格。显然输入的范围越大,精度要求越高,则所需的表格就越大, 即存储量也越大。查表法求值所需的计算就是根据输入值确定表的地址,根据地址就可 得到相应的值,因而运算量较小。查表法比较适合于非线性函数是周期函数或已知非线 性函数输入值范围这两种情况,例3.12和例3.13分别说明这两种情况。 例3.12  已知正弦函数y=cos(x),制作一个512点表格,并说明查表方法。 由于正弦函数是周期函数,函数值在-1至+1之间,用查表法比较合适。 由于Q15的表示范围为-1至32767/32768之间,原则上讲-1至+1的范围必须用Q14表示 。但一般从方便和总体精度考虑,类似情况仍用Q15表示,此时+1用32767来表示。 (1) 产生512点值的C语言程序如下所示: #define  N  512 #define  pi  3.14159 int  sin_tab[512]; void  main( ) { int i; for(i=0;i<N;i++) sin_tab=(int)(32767*sin(2*pi*i/N)); } (2) 查表 查表实际上就是根据输入值确定表的地址。设输入x在0~2p之间,则x对应于512点表的 址为:index = (int)(512*x/2p),则 y = sin(x) = sin_tab[index]。 如果x用Q12定点数表示,将512/2p用Q8表示为 20861,则计算正弦表的地址的公式为: index = (x*20861L)>>20。 例3.13   用查表法求以2为底的对数,已知自变量取值范围为0.5~1,要求将自变量范围均 匀划分为10等分。试制作这个表格并说明查表方法。 (1) 做表: y = log2(x),由于x在0.5到1之间,因此y在-1到0之间,x和y均可用Q15表示。由于对x 均匀划分为10段,因此,10段对应于输入x的范围如表3.2所示。若每一段的对数值都取 第1点的对数值,则表中第1段的对数值为y0(Q15) = (int)(log2(0.5)×32768),第2段 的对数值为y1(Q15) = (int)(log2(0.55)×32768),依次类推。 表3.2  logtab0 10点对数表(输入0.5~1) 地址    输入值  对数值(Q15) 0   0.50~0.55   -32768 1   0.55~0.60   -28262 2   0.60~0.65   -24149 3   0.65~0.70   -20365 4   0.70~0.75   -16862 5   0.75~0.80   -13600 6   0.80~0.85   -10549 7   0.85~0.90   -7683 8   0.90~0.95   -4981 9   0.95~1.00   -2425 (2) 查表: 查表时,先根据输入值计算表的地址,计算方法为:index=((x-16384)×20)>>15。式中 ,index就是查表用的地址。例如,已知输入x= 26869,则index=6,因此y=-10549。 3.混合法 (1) 提高查表法的精度 上述方法查表所得结果的精度随表的大小而变化,表越大,则精度越高,但存储量也越 大。当系统的存储量有限而精度要求也较高时,查表法就不太适合。那么能否在适当增 加运算量的情况下提高非线性运算的精度呢?下面介绍一种查表结合少量运算来计算非 线性函数的混合法,这种方法适用于在输入变量的范围内函数呈单调变化的情形。 混合法是在查表的基础上采用计算的方法以提高当输入值处于表格两点之间时的精度。 提高精度的一个简便方法是采用折线近似法,如图3.1所示。 仍以求以2为底的对数为例(例3.13)。设输入值为x,则精确的对数值为y,在表格值的两 点之间作一直线,用y'作为y的近似值,则有: y'=y0+ y其中y0由查表求得。现在只需在查表求得y0的基础上增加 y即可。 y的计算方法如下: y=( x/ x0) y= x( y0/ x0) 式中 y0/ x0对每一段来说是一个恒定值,可作一个表格直接查得。此外计算 x时需用到 每段横坐标的起始值,这个值也可作一个表格。这样共有三个大小均为10的表格,分别 为存储每段起点对数值的表logtab0、存储每段 y0/ x0 值的表logtab1和存储每段输入 起始值x0的表logtab2,表logtab1和表logtab2可用下列两个数组表示: int     logtab1[10]={22529,20567,18920,17517,16308,              15255,14330,13511,12780,12124};   /* y0/ x0 : Q13*/ int     logtab2[10]={16384,18022,19660,21299,22938,              24576,26214,27853,29491,31130};   /* x0: Q15*/ 综上所述,采用混合法计算对数值的方法可归纳为: ①根据输入值,计算查表地址:index=((x-16384)×20)>>15; ②查表得y0=logtab0[index]; ③计算 x=x-logtab2[index]; ④计算 y=( x×logtab1[index])>>13; ⑤计算得结果y=y0+ y。 例3.14  已知x=0.54,求log2(x)。 0.54的精确对数值为y=log2(0.54)=-0.889。 混合法求对数值的过程为: ①定标Q15,定标值x=0.54*32768=17694; ②表地址index=((x-16384)×20)>>15=0; ③查表得y0=logtab0[0]=-32768; ④计算 x=x-logtab2[0]=17694-16384=1310; ⑤计算 y=( xlogtab1[0])>>13=(1310*22529L)>>13=3602; ⑥计算结果y=y0+ y=-32768+3602=-29166。 结果y为Q15定标,折算成浮点数为-29166/32768=-0.89,可见精度较高。 (2) 扩大自变量范围 如上所述,查表法比较适用于周期函数或自变量的动态范围不是太大的情形。对于像对 数这样的非线性函数,输入值和函数值的变化范围都很大。如果输入值的变化范围很大 ,则作表就比较困难。那么能否比较好地解决这个问题,既不使表格太大,又能得到比 较高的精度呢?下面讨论一种切实可行的方法。 设x是一个大于0.5的数,则x可以表示为下列形式: x =式中,0.5≤m≤1.0,e为整数。则求 x 的对数可以表示为: log2(x) = log2( ) = log2(m) + log2( ) = e + log2(m) 也就是说,求x的对数实际上只要求 m的对数就可以了,而由于m的数值在0.5~1.0之间, 用上面介绍的方法是完全可以实现的。例如: log2(10000) = log2(0.61035× ) = log2(0.61035) + 14 = 13.2877 可见,如果一个数可以用比较简便的方法表示为上面的形式,则求任意大小数的对数也 是比较方便的。TMS320C2X/C5X指令集提供了一条用于对ACC中的数进行规格化的指令 NORM ,该指令的作用就是使累加器中的数左移,直至数的最高位被移至累加器的第30位 。例如,对数值10000进行规格化的TMS320C25程序为: LAC #10000 SACL    TEMP ZALH    TEMP LAR AR1,#0FH RPT 14 NORM    *- 上述程序执行后,AR1=#0eH,ACCH=2000(10进制)。对一个16位整数 x 进行上述程序处理实际上就是做这样一个等效变换: x = 其中,寄存器AR1包含的值为15-Q,累加器ACC高16位包含的值为 ,其数值在16384~32768之间。 例3.15  实现以2为底的对数的C定点模拟程序 int    logtab0[10]={-32768,-28262,-24149,-20365,-16862,             -13600,-10549,-7683,-4981,-2425}; /*Q15*/ int    logtab1[10]={22529,20567,18920,17517,16308,             15255,14330,13511,12780,12124};   /*Q13*/ int    logtab2[10]={16384,18022,19660,21299,22938,             24576,26214,27853,29491,31130};   /*Q15*/ int    log2_fast(int   Am) { int     point,point1; int     index,x0,dx,dy,y; point=0; while(Am<16384) {point++;Am=Am<<1;}   /*对Am进行规格化*/ point1=(15-point-4)*512;       /*输入为Q4,输出为Q9*/ index=((Am-16384)*20L)>>15;        /*求查表地址*/   dx=Am-logtab2[index]; dy=((long)dx*logtab1[index])>>13; y=(dy+logtab0[index])>>6;      /*Q9*/ y=point1+y; return (y); } 上述程序中,输入值Am采用Q4表示,输出采用Q9表示,如果输入输出的Q值与上面程序中 的不同,则应做相应的修改。 3.5  小    结 本章讨论了DSP芯片进行定点运算所涉及的一些基本问题,这些问题包括:数的定标,D SP程序的定点模拟,DSP芯片的定点运算以及定点实现非线性函数的快速实现方法等。充 分理解这些问题对于用定点芯片实现DSP算法具有非常重要的作用。
    3. DSP芯片的原理和开发应用(3) 1/17441 DSP 与 ARM 处理器 2007-07-18
      2.5  多处理器DSP芯片TMS320C8X TI公司除了生产定点和浮点两类DSP芯片之外,还推出了功能强大的多处理器DSP芯片TM S320C80。该芯片内部集成了5个微处理器,处理速度达到每秒20亿次操作,与外部交换 数据的速度为每秒400Mbyte,特别适合于会议电视等多媒体应用。 1.TMS320C80结构    TMS320C80是一个多处理器芯片,它集4个可并行处理的高性能DSP芯片 、1个RISC主处理器、1个传输控制器、1个视频控制器和50K字节的SRAM等资源于一体, 从而使其处理能力达到每秒20亿次操作(2 BOPS)。该芯片可实时实现新一代的视频压 缩和解压缩,可广泛应用于会议电视、可视电话、高速电信、多媒体、图像和视频处理 、二维和三维图形加速、虚拟现实、保密、雷达和声纳处理等应用场合。 2.并行DSP芯片 TMS320C80上集成了4个高性能的DSP芯片,这4个DSP芯片既可独立运行,也可并行工作。 采用64位的指令字,以便于在单个周期内进行多个并行操作。每个处理器具有专用的高 速指令缓冲Cache和专用的数据RAM。 每个DSP芯片具有4个主要的功能单元,即1个程序控制器(PFC)、1个数据单元和2个地 址单元。PFC处理所有的指令执行,包括程序计数器增量、跳转和中断。3组无开销循环 控制器跟踪循环计数和循环的起始及结束地址,而不增加额外的开销。循环控制器在1个 公共的循环结束地址内可支持多至3个嵌套的循环。 数据单元可使单周期乘法和算术逻辑单元(ALU)数据通路操作并行执行。32位的ALU可 以分解为2个16位ALU或4个8位ALU,以便于对低精度的数据进行更多的并行操作。ALU数 据通路内独特的扩展器单元可复制1个1比特值32次、2个1比特值16次或4个8比特数8次以 填满1个32位字。这些特征对于减少图像算法中的软件开销很有帮助。 3.传输控制器 TMS320C80可以每秒400M字节的速度与外部交换数据,这个性能主要依赖于片内的传输控 制器。在这里,传输控制器起智能DMA控制器的作用,进行对片外存储器的访问,使主处 理器不增加任何负担。传输控制器可对二维图形进行线性和二维寻址,支持三维图形缓 冲。 直接存储器接口提供了对多种存储器的灵活操作,包括DRAM、SDRAM、VRAM和SRAM。此外 ,优先级任务管理器支持动态的总线宽度,可支持8至64位数据传输。灵活的总线宽度满 足了如会议电视等的宽带应用,而不需专用的接口。 4.RISC主处理器 RISC主处理器(MP)进行整个芯片的管理并协调与系统内其他处理器的通信。该处理器 是一个32位的RISC处理器,内部具有一个 运 算能力为100 MFLOPS 并符合IEEE-754标准 的浮点单元(FPU),用以实现高效C语言和作为操作系统的平台。该处理器主要是适应 高级语言并协调片内的多处理器资源,可在单周期内完成1个64位数据的访问和1个32位 取指。与基本的RISC设计相比,其独特之处在于MP具有完整的浮点指令和一组特殊的矢 量浮点指令,这些功能对于图像处理和三维图形来说都是必需的。此外,MP还具有31个 32位的寄存器,为整数和浮点操作提供了极大的便利。 5.存储器Crossbar结构 TMS320C80的一个重要特征是存储器Crossbar结构。TMS320C80内部有50K字节的SRAM,这 些存储器被配置为较小的存储器块以便于通过这个独特的Crossbar开关结构实现多个并 行的存储器访问。Crossbar开关还便于片内处理器共享板上RAM。在TMS320C80中,Cros sbar在每个时钟周期内可进行5次取指和10次并行数据访问,从而使传输速率达到每秒4 .2G字节。硬件控制的优先级机制使得在同一个周期内仅有一个处理器访问一个特定的R AM。存储器Crossbar结构增强了系统的高速并行性能。 6.视频控制器 视频控制器具有2个可编程的帧定时器,可按水平或纵向格式同时捕获和显示图像。帧定 时器可用于任何捕获/显示的组合中,对不同速率的图像捕获可按异步或同步方式工作。 由于帧定时器是软件可编程的,故可用作通用定时器。 在TMS320C80基础上,TI公司还推出了简化型的多处理器芯片TMS320C82,其内部包含2个 处理器、44K字节的SRAM,性能为每秒15亿次操作,由于省略了2个处理器和视频控制器 ,其价格约为TMS320C80的一半。   TMS320C80/C82的主要性能比较 芯片    DSP数   RISC主处理器    视频控制器  传输控制器  指令周期(ns)   寻址空间(字节)     片内RAM(字节) 处理能力(BOPS)    时钟(MHz) C80 4   1   1   1   20,25   4G  50K 2   50,40 C82 2   1   0   1   20  4G  44K 1.2 50 2.6  其他DSP芯片简介 2.6.1  AD公司DSP芯片 美国AD公司在DSP芯片市场上也占有一定的份额。与TI公司相比,AD公司的DSP芯片有自 己的特点,如系统时钟一般不经分频直接使用,串行口带有硬件压扩,可从8位EPROM引 导程序,可编程等待状态发生器等。 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,工作电压为3.3V。ADSP2105是ADSP210 1的简化,指令周期为72ns,内部的程序RAM为1K字,数据RAM为512字,串行口减为1个。 ADSP216X系列的指令周期为50ns~100ns,与其他定点芯片相比,具有较大的内部程序RO M,如ADSP2161/2163内部提供了8K的程序ROM,ADSP2162/2164内部提供4K程序ROM,工作 电压为3.3V,这些芯片的内部数据RAM均为512字。而ADSP2165/2166除了具有1K字的程序 ROM外,还提供了12K字的程序RAM和4K字的数据RAM,其中,ADSP2166的工作电压为3.3V 。 ADSP2171的指令周期为30ns,速度达33.3MIPS,是AD公司DSP芯片中运算速度最快的定点 芯片之一。内部具有2K字的程序RAM和2K字的数据RAM。ADSP2173的资源与ADSP2171相同 ,工作电压为3.3V。 目前ADSP的定点DSP芯片中,处理能力最强的当数ADSP2181。这种芯片具有以下几个特点 (1) 运算速度快。指令周期为30ns,运算能力为33.3MIPS; (2) 片内空间大。内部的程序和数据RAM均为16K字,共80K字节; (3) 数据交换速度快。内部具有数据直接存储传输接口(IDMA),便于其他处理器高速 存储ADSP2181的片内RAM。为了扩展数据存储能力,设计了字节数据直接存储传输接口( BDMA),最大可以扩展到4M字节。2个串行口都具有自动数据缓冲功能,并且支持DMA传 输; (4) 支持8位EPROM和通过IDMA方式的程序引导; (5) 如果采用基4 FFT做1024点复数FFT运算,运算时间仅为1.07ms。 ADSP2181在一个处理器周期内可以完成以下功能: * 产生下一个程序地址 * 取下一个指令 * 进行1个或2个数据移动 * 更新1个或2个数据地址指针 * 进行1次数据运算 与此同时,还可从2个串行口发送或接收数据,通过IDMA或BDMA发送或接收数据以及内部 定时器计数。 AD公司的浮点DSP芯片包括ADSP21020、21060和21062等,程序存储器为48位,数据存储 器为40位,支持32位单精度和40位扩展精度的IEEE浮点格式,内部具有32×48位的程序 Cache,有3~4个外部中断源。 ADSP21060采用超级的哈佛结构,具有4条独立的总线(2条数据总线、1条程序总线和1条 I/O总线),内部集成了大容量的SRAM和专用I/O总线支持的外设,指令周期为25ns,是 一个高性能的浮点DSP芯片。其主要特点包括: (1) 运算速度达40 MIPS和80 MFLOPS ,最高达120 MFLOPS。每条指令均在1个周期内完 成; (2) 片内具有4M位的SRAM,可灵活地进行配置,如配置为128K字的数据存储器(32位) 和80K字的程序存储器(48位)。可寻址4G字的外部存储器; (3) 具有取模和比特反转的双数据地址产生器; (4) 10个DMA通道。6个点到点连接口,传输速率为240Mbyte/s; (5) 支持多处理器连接,提供与16/32位微处理器的接口。外部微处理器可直接读写内部 RAM; (6) 2个具有m/A律压扩功能的同步串行口; (7) 支持可编程等待状态发生,可用8位EPROM或外部处理器引导程序; (8) 1024点复数FFT的运算时间为 0.46ms; (9) 支持IEEE JTAG 1149.1 标准仿真接口。 2.6.2  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个深度为1 5字的指令Cache,支持最多127次的无开销循环。DSP16的指令周期为55ns和75ns,累加 器长度为36位,片内有2K字的程序ROM和512字的数据RAM。DSP16A速度最快的版本为25n s的指令周期,片内有12K字的程序ROM和2K字的数据RAM。DSP16C的指令周期为38.5ns和 76.9ns,片内存储器资源与DSP16A相同,增加了片内的Codec,此外,还有1个4引脚的J TAG仿真口。DSP1610片内有512字的引导ROM和8K字的双口RAM,支持硬件和软件等待状态 。DSP1616片内有12K字的ROM和2K字的双口RAM,支持软件等待状态。DSP1610和1616提供 了仿真接口。 DSP32C是DSP32的增强型,是性能较优的一种浮点DSP芯片。其主要特点包括: (1) 80/100 ns的指令周期; (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位总线接口。 2.6.3  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则是一个低功耗型芯片,可以在2.0V~5.5V电压范 围内工作。 浮点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是一种基于MC56001 DSP核,适合于自适应滤波的专用定点DSP芯片,指令周期为 97.5ns,程序字长和数据字长分别为24位和16位。内部的程序和数据RAM均为256字,累 加器精度为40位。MC56156则是一个在片内集成了过取样?-D话带Codec模数转换器和锁相 环的DSP芯片,主要用于蜂窝电话等通信应用,其指令周期为33/50ns。 除了以上介绍的一些DSP芯片之外,还有一些公司的DSP芯片也较著名。例如NEC公司的m PD77C25、mPD77220定点DSP芯片和mPD77240浮点DSP芯片等。 2.7  小    结 本章首先介绍了DSP芯片的基本结构,比较详细地介绍了TI公司的系列DSP芯片的基本特 征,并简要介绍了AD等公司的DSP芯片。了解DSP芯片的结构和特征是采用DSP芯片设计D SP系统的基础。需要特别指出的是,由于DSP芯片的发展速度很快,用户在选用DSP芯片 时,必须根据市场行情选用生产厂家主推的产品。如TI公司目前比较流行的定点DSP芯片 是TMS320C2XX、TMS320C54X、TMS320C62X等,即使是同一系列的DSP芯片,如TMS320C54 X,该系列中的某些芯片也已过时,因而建议不要使用。

最近访客

< 1/1 >

统计信息

已有68人来访过

  • 芯积分:--
  • 好友:--
  • 主题:6
  • 回复:3

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言