您好,欢迎访问三七文档
1DSP技术知识要点CHAP1冯、诺依曼结构和哈佛结构的特点1.采用哈佛结构DSP芯片普遍采用数据总线和程序总线分离的哈佛结构或改进的哈佛结构,比传统处理器的冯·诺伊曼结构有更快的指令执行速度。(1)冯·诺伊曼(VonNeuman)结构该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。(2)哈佛(Harvard)结构该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。(3)改进型的哈佛结构是采用双存储空间和数条总线,即一条程序总线和多条数据总线。实验室常用的c5416采用改进型的哈佛结构DSP芯片的特点(为何适合数据密集型应用)及分类1.采用哈佛结构2.采用多总线结构3.采用流水线技术:利用这种流水线结构,加上执行重复操作,就能保证在单指令周期内完成数字信号处理中用得最多的2乘法-累加运算。4.配有专用的硬件乘法-累加器:可在一个周期内完成一次乘法和一次累加操作,从而可实现数据的乘法-累加操作。如矩阵运算、FIR和IIR滤波、FFT变换等专用信号的处理。5.具有特殊的DSP指令:TMS320C54x中的FIRS和LMS指令6.快速的指令周期:由于采用哈佛结构、流水线操作、专用的硬件乘法器、特殊的指令以及集成电路的优化设计,使指令周期可在20ns以下。TMS320C54x的运算速度为100MIPS,即100百万条/秒。7.硬件配置强8.支持多处理器结构9.省电管理和低功耗:DSP功耗一般为0.5~4W,若采用低功耗技术可使功耗降到0.25W,可用电池供电,适用于便携式数字终端设备。定点DSP芯片和浮点DSP芯片的区别及应用特点若数据以定点格式工作的——定点DSP芯片。若数据以浮点格式工作的——浮点DSP芯片。定点DSP芯片精度和范围是不能同时兼顾的。数据长度为16位,24位,32位,定点dsp是主流产品,成本低,对存储器要求低、耗电少,开发相对容易,但在设计中必须考虑溢出问题。用在精度要求不太高的场合浮点DSP芯片,数据长度为32位,40位,精度高、动态范围大,产品相对较少,复杂成本高。但不必考虑溢出的问题。用在精度要求较高的场合。定点DSP的表示(Qm.n,精度和范围与m、n的关系)及其格3式转换1.m和n代表的意义:整数表示方法:最高位是符号位,0代表正数,1代表负数其余位以二进制的补码形式表示数值,小数点在D0位用于控制操作、地址计算、及其它非信号处理应用下表中s=87D7D6D5D4D3D2D1D001010111S26252423222120小数表示方法:最高位是符号位,0代表正数,1代表负数其余位以二进制的补码形式表示数值,小数点在Dn-1位。用于数字和各种信号处理算法的计算中下表中S=0.875D7D6D5D4D3D2D1D001110000S2-12-22-32-42-52-62-716位TMS320C54X是采用的是小数点在D15位2.数的定标对DSP芯片而言,参与数值运算的数就是16位的整型数。4但在许多情况下,数学运算过程中的数不一定都是整数。那么,DSP芯片是如何处理小数的呢?这其中的关键就是由程序员来确定一个数的小数点处于16位中的哪一位,这就是数的定标。通过设定小数点在16位数中的不同位置,就可以表示不同大小和不同精度的小数了。数的定标有Qn表示法或Qm.n(Sm.n)表示法两种。数的总字长:m+n+11位符号位m表示数的2的补码的整数部分的位数n表示数的2的补码的小数部分的位数若小数点设定的位置不同,它所表示的数也就不同。例:用Q15.0表示,16进制数2000H=8192用Q0.15表示,16进制数2000H=0.25正数:补码=原码负数:补码=原码取反+1例:用Q15.0表示二进制数0010000000000011b=8195二进制数1111111111111100b=-4Q表示Qm.n表示十进制数表示范围Q15Q0.15-1≤X≤0.9999695Q14Q1.14-2≤X≤1.9999390Q13Q2.13-4≤X≤3.9998779Q12Q3.12-8≤X≤7.9997559Q11Q4.11-16≤X≤15.9995117Q10Q5.10-32≤X≤31.99902345Q9Q6.9-64≤X≤63.9980469Q8Q7.8-128≤X≤127.9960938Q7Q8.7-256≤X≤255.9921875Q6Q9.6-512≤X≤511.9804375Q5Q10.5-1024≤X≤1023.96875Q4Q11.4-2048≤X≤2047.9375Q3Q12.3-4096≤X≤4095.875Q2Q13.2-8192≤X≤8191.75Q1Q14.1-16384≤X≤16383.5Q0Q15.0-32768≤X≤32767从表中可看出:m越小,n就越大,则数值范围越小,但精度越高;m越大,n就越小,则数值范围越大,但精度越低;例如:Q15.0的数值范围是-32768到+32767,其精度为1Q0.15的数值范围为-1到0.9999695,精度为1/32768=0.00003051。对定点数而言,数值范围与精度是一对矛盾,一个变量要想能够表示比较大的数值范围,必须以牺牲精度为代价;而想提高精度,则数的表示范围就相应地减小。在实际的定点算法中,为达到最佳的性能,须充分考虑到这一点,在满足精度要求下保证计算结果不溢出。3.定点格式数据的转换在运算中需将十进制数表示成Qm.n的形式。当两个6不同定点格式的数进行加减运算时,需将其转换成相同的Qm.n形式。1)十进制转换成Qm.n形式先将数乘以变成整数,再将整数转换成相应的Qm.n形式例:将y=-0.625转换成Q0.15和Q3.12的形式-0.625*215=-20480=B000HQ0.15-0.625*212=-2560=F600HQ3.122)不同Qm.n形式之间的转换不同Qm.n形式的数进行加减运算时,通常将动态范围小的数据格式转换成动态范围大的数据格式。即n大的数据格式向n小的数据格式转换。方法:将n大的数向右移相差的位数,这时原数低位被移出,高位则进行符号扩展。例x=5.625(Q3.12)y=0.625(Q0.15)(1)x、y均为正数x=5.625=5A00H(Q3.12)y=0.625=5000H(Q0.15)y=0.625=5000=0101000000000000B(Q0.15)y=0.625=0A00H=0000101000000000B(Q3.12)x+y=5A00H+0A00H=0101101000000000B+0000101000000000B=0110010000000000B=6400H=6.25(Q3.12)(2)x为正数,y为负数(原码取反加1,符号位除外)7y=-0.625=B000H=1011000000000000B(Q0.15)y=-0.625=F600H=1111011000000000B(Q3.12)x+y=5A00H+F600H=5000H=5(Q3.12)NOTE1:在右移过程中,动态范围小的数精度要有所损失2:正数在进行格式变换需要右移时,符号位扩展高位补0。负数在进行格式变换需要右移时,符号位扩展高位补13:一旦数据格式选定后,就必须保证整个运算过程中,数据不会溢出4:为了保证数据不溢出,在数据参加运算前,估计数据及其结果的动态范围,选择合适的格式对数据进行规格化,将运算后的结果反规格化。例:100个0.5相加,若采用Q0.15则会溢出为1,可先0.5规格化为0.005,最后将结果0.5反规格化为50。5:一般的定点DSP芯片都设有溢出保护功能,一旦出现溢出,则累加器ACC的结果为最大的饱和值(上溢为7FFFH=32767,下溢为8000H=-32768)当加法或加法的结果超过16位表示范围时,并且需要保证运算精度时,则必须保持32位结果。例:X=32766D=0111111111111110BY=3D=0000000000000011BX+Y=1000000000000001B=-32767实际:X+Y=3276932767,故溢出,溢出保护为7FFFH=32767,从而避免从正32769变成负32767的灾难性后果。8TI公司的三大主力系列DSP芯片的特点及应用领域C2x、C24x称为C2000系列,定位于控制类和运算量较小的运用,主要用于代替MCU,应用于各种工业控制领域,尤其是电机控制领域。(5~17美元)C54x、C55x称为C5000系列,低功耗高性能,定位于中等计算量的应用。主要用于便携式的通信终端。如手机、数码相机、无线通信基础设备、VoIP网关、IP电话、MP3等。(5~75美元)C62x、C64x和C67x称为C6000系列,高性能,定位于具有较大计算量要求的应用,主要应用于高速宽带和图像处理等高端应用,如宽带通信、3G基站和医疗图像处理等。(24~240美元)DSP芯片的运算速度最重要的性能指标,决定整个系统的实时性问题DSP速度一般用MIPS或FLOPS表示,即百万次/秒。根据对处理速度的要求选择适合的器件。在满足要求的前提下,一般选择处理速度不要过高,速度高的DSP,系统实现也较困难。DSP芯片的运算速度表示指令周期:即执行一条指令所需的时间,为主频的倒数MAC时间:即一次乘法加上一次加法的时间FFT执行时间:即运行一个N点FFT程序所需的时间MIPS:即每秒执行百万条指令MOPS:即每秒执行百万次操作MFLOPS:即每秒执行百万次浮点操作BOPS:即每秒执行十亿次操作CHAP2TMS320C54x芯片的组成(三大块,相同系列不同芯片之间的区别和联系)TMS320C54x(简称’C54x)是TI公司的16位定点DSP芯片,9采用改进的哈佛结构TMS320C54x的组成主要包括CPU、片内存储器和片内外设三个部分,它们通过片内总线相互连接,交换数据和控制信息。不同芯片之间cpu相同,片内外设和片内存储器不同DSP芯片的电源引脚、DSP芯片的控制引脚、时钟引脚、JTAG接口‘c5402共有144个引脚1.电源引脚p19’C5402采用双电源供电,其引脚有:CVDD:电压为+1.8V有多种,为CPU内核提供的专用电源;DVDD电压为+3.3V,为各I/O引脚提供的电源;VSS:接地。2.控制引脚:p21扩展程序存储器、数据存储器、i/o接口时使用选择程序存储器时:选择数据存储器时:选择i/o接口时:选择一片时可将MSTRB接地使用103.时钟引脚:p20有锁相环clkmd1-3控制分频和倍频4.JTAG接口:(1)位于硬件仿真器和dsp目标板之间(2)可用于在线测试提高有效性TMS320C54X芯片的总线组成情况,以及各总线的功能TMS320C54x的结构是以8组,16位总线为核心,形成了支持高速指令执行的硬件基础。1组程序总线PB3组数据总线CB、DB、EB4组地址总线PAB、CAB、DAB、EAB总线结构11PBPABCBCABDBDABEBEAB写程序写数据对外设的读和写都当作数据存储器读一个16位(dbdab)读一个32位(h16cbcab;l16dbdab)1.程序总线PB主要用来传送取自程序存储器的指令代码和立即操作数。2.数据总线CB、DB和EBCB和DB用来传送从数据存储器读出的数据;EB用来传送写入存储器的数据。3.地址总线PAB、CAB、DAB和EAB用来提供执行指令所需的地址。’C54x读/写操作占用总线情况都用EBp24-25表2.3.18组,4对,每个16位12算术逻辑单元ALU对输入数据的符号扩展及运算结果的溢出处理1AL
本文标题:DSP知识要点通信
链接地址:https://www.777doc.com/doc-2910548 .html