4DSP数字信号处理器及其应用设计图文精文档格式.docx
- 文档编号:19222080
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:9
- 大小:39.83KB
4DSP数字信号处理器及其应用设计图文精文档格式.docx
《4DSP数字信号处理器及其应用设计图文精文档格式.docx》由会员分享,可在线阅读,更多相关《4DSP数字信号处理器及其应用设计图文精文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
⑨支持流水线操作,使取指、译码、执行等操作可以重叠进行。
2.TMS320系列通用DSP芯片的基本结构:
①哈佛结构;
②流水线操作;
③专用的硬件乘法器;
④特殊的DSP指令;
⑤快速的指令周期。
3.典型的DSP系统
4.通用DSP芯片的应用
DSP具有常规CPU能力之外,特别具有:
分析与处理、数学运算、测量控制模型建立等优势,非常适合音/视频处理、复杂的实时性能要
求高的测量控制系统等场合。
主要应用领域:
信号处理、通信、语音、图形/图像、自动控制等。
三.各种TI-DSP的特征与应用
1.定点DSP与浮点DSP定点TI-DSP:
TMS320C1X、TMS320C2X/C2XX、TMS320C5X、TMS320C54X、TMS320C62X等浮点TI-DSP:
TMS3203X、TMS320C4X、TMS320C67X等。
2.TI的通用DSP系列产品
⑴TMS320C2000系列:
①结构特点:
16-bit定点DSP;
哈佛结构支持两个分开的总线结构;
双访问RAM允许在同一个周期内读或写RAM两次;
工作于3.3V。
②综合介绍:
TI的TMS320C2000DSP是基于320C2xLP核。
C2xLP核具有4级流水,工作在40MHz。
具有JTAG仿真模块。
C2xLP有一个中心算术逻辑单元(CALU),及32-bit的累加器(Acc)。
Acc也是CALU的一个输入。
Acc的其他输入包括16×
16-bit的乘法器的定标移位器,以及输入数据的定标移位器。
软件可以通过进位位旋转Acc的内容,来实施位操作和测试。
为了实现小数的算术运算和验证小数的乘积,C2xLP的乘积寄存器的输出通过乘积移位器,以抑制运算中产生的多出来的bit。
该乘积定标移位器允许作128个乘积累加而不会产生溢出。
基本的乘积累加(MAC周期,包括将一个数据存储器的值乘以一个程序存储器的值,并将结果加给累加器。
当C2000循环执行MAC,则程序计数器自动增量,并将程序总线释放给第二个操作数,从而达到单周期执行MAC。
C2xLP可以访问64000个16-bit的I/O口。
C2000的外设,诸如串口、软件等待状态发生器等都映射为数据或I/O空间。
用户程序必须使用其他的I/O地址来访问映射在I/O空间的片外外设。
C2000系列中的多数芯片可以产生0-7个等待状态。
C2000系列由C20x和C24x系列组成。
C20x的目标是低性能的电信设备,而C24x的目标是数字化的马达控制。
C24x系列的芯片具有事件管理器,以便支持马达控制。
该事件管理器具有三个加/减定时器和九个比较器,可以和波形产生逻辑配合产生12个PWM的输出。
支持同步的和异步的PWM产生。
它还支持一个空间向量PWM状态机,用开关功率晶体管来实现,以延长晶体管的寿命和降低功耗。
一个关机段产生单元也有助于保护功率晶体管。
此外,事件管理器还集成了四个采集输入,其中的两个用于光编码器正交脉冲的直接输入。
C24x系列的芯片还集成有10-bit的A/D变换器,在500ns的时间内对模拟信号作变换。
另外还有8个或16个复用输入通道。
有些新的C24x系列的芯片还有自动排序的能力,按顺序作16个变换,一个独立的采样/保持(S/H预定标器,通过支持不同的输入阻抗,给用户以极大的灵活性。
有些C24x系列的芯片有8K-32K字的闪烁存储器(flash。
③寻址模式:
立即数寻址、分页的存储器直接寻址(指令里的7-bit和数据页指针的9-bit形成数据存储器的地址)、寄存器间接寻址(使用8个辅助寄存器中的一个、辅助寄存器自动增量或减量寻址。
没有循环缓冲。
④特殊指令:
MAC和数据移动指令(MACD增加了将片内RAM的数据块移向MAC单元。
当CPU使用输入的数据值时,CPU将该数据值移至下一个存储器单元。
MACD也是使用循环缓冲器的一个替代方法,对于卷积和横向滤波器是很有用的。
C2000可以作单指令循环、乘法并累加前一个积、乘法并减去前一个积、累加前一个积并移动数据、多条件转移和调用、存长立即数到数据存储器、向左或向右旋转累加器、数据块移动。
⑤开发支持:
TI的CodeComposer4.10是一个集成的开发环境,支持编辑、建立、调试、分析和项目管理。
这个价值为﹩1995的开发环境包括ANSIC编译器、汇编器、连接器、软仿真器、实时分析器,数据是可视化的。
TI的仿真器支持JTAG非插入式的边界扫描仿真。
该公司也分别提供C编译器、汇编器、连接器、软仿真器、实时分析器和应用程序库。
第三方可以提供评估模块、仿真器、以及应用算法。
⑵TMS320C5000系列:
C55x有双MAC单元;
C54x有单MAC单元;
C55的指令长度可变,且没有排队的限制;
C55x有12组总线;
C54x有8组总线;
工作于0.9V和300MHz。
②综合介绍:
C5000是16-bit定点DSP系列,包括旧有的C5x、当前主流的C54x和最新的C55x。
C55x和C54x源代码兼容,而C5x和C2x源代码兼容。
C54x关注于低功耗,而C55x则将低功耗提到一个新水平:
300MHz的C55x和120MHz的C54x相比,性能提高5倍,而功耗则降到六分之一。
尽管C5x还在全线生产,但公司已经将新设计转向C54x和C55x。
C54x和C55x采用改进的哈佛结构。
C55x具有12组独立的总线,而C54x则有8组。
它们都有一组程序总线和相应的程序地址总线。
C54x总线的宽度为16-bit,而C55x总线的宽度为32-bit。
C55x有三组数据读总线和两组数据写总线,而C54x有两组数据读总线和一组数据写总线。
每组数据总线都有其相应的地址总线。
C55x的数据地址总线的宽度为24-bit,而C54x的数据地址总线的宽度为16-bit。
C54x使用两个辅助寄存器算术单元,在每个周期内产生一个或两个数据存储器地址。
这四组内部总线和两个地址发生器使其可以进行多操作数运算。
C55x的地址-数据流单元(ADFU)包含了专门的硬件来管理五组数据总线。
该ADFU也可以作为通用的16-bitALU,用于简单的算术运算。
该ALU从指令缓冲单元(IU)接收立即数,和存储器、ADFU寄存器、数据计算单元(DCU)寄存器、程序流单元(PFU)寄存器作双向通信。
无论是ALU,还是三个地址寄存器ALU(ARAU)中的一个,都可以修改作间接寻址的九个地址寄存器。
这三个ARAU为C55x的三组数据读总线提供独立的地址。
这种并行性保证了在每个CPU周期内DCU去读两个16-bit的操作数和一个16-bit的系数。
C55x的DCU包含了两个MAC单元,在单周期内作两个17×
17-bit的MAC运算。
它还包含了一个40-bit的ALU和四个40-bit的累加器寄存器、一个桶型移位器、以及专门的Viterbi算法硬件。
每个MAC单元包含一个乘法器和带32-或40-bit饱和逻辑的加法器。
三个数据读总线将两个数据流和一个公共系数流送给两个MAC单元。
用户可以用ALU作32-bit的运算,或分开作两个16-bit的运算。
除开接
受从DCU的40-bitAcc寄存器来的输入外,ALU还从IU接受立即数,并和存储器、ADFU寄存器、PFU寄存器作双向通信。
C54x是单17×
17-bitMAC机器,有一个40-bit的加法器、两个40-bit的Acc和一个分开的40-bit的ALU。
与C55x相类似,C54x的ALU也可以作成两个16-bit的配置,完成两个单周期运算。
乘法器输出处的40-bit的加法器允许作非流水的MAC运算,以及并行的两个加法和乘法。
单周期归一化和指数编码支持浮点数运算。
两个系列的结构都支持一个桶型移位器,将40-bit的Acc的值左移或右移最多达31bit。
该桶型移位器将移位后的值送给DCU的ALU,以便作进一步的运算。
指令集中关于二操作数、三操作数和32-bit操作数的指令,支持结构的并行性。
八个可以独立寻址的辅助寄存器和软件堆栈提高了C编译器的效率。
C55x可以执行可变长度的指令,这和C54x有显著的不同。
C54x的指令长度为固定的16-bit,而C55x的指令长度则从8到48bit。
C55x的IU缓存64byte的代码,且有一个解码逻辑来确认可变长度指令中各指令的区别。
局部循环指令使用指令缓冲队列来循环执行代码块。
指令缓冲队列还可以在执行条件程序流控制指令的条件测试时,推测性地提取指令。
指令解码器按排列顺序对指令解码,而不是执行动态时序,从而可以在预定的时间得到结果。
C55x的PFU跟踪程序的执行点,并为多达16Mbyte的程序存储器产生24-bit的地址。
该单元的硬件,可用于循环、灵活性转移、条件执行、以及流水保护。
单独的程序计数器可以保证从子程序或中断服务子程序快速返回。
该PFU还包括管理指令流水和四个CPU状态寄存器的逻辑。
它以硬件方式可以提供四层块循环嵌套。
其硬件还支持条件循环。
PFU处理流水控制冒险,并对读后写及写后读提供保护。
当在指令流中这种冒险发生时,流水保护逻辑就插入一些周期,保证程序的正确执行。
集成的软件等待状态发生器使用户可以使用较慢的外部存储器。
该系列的所有DSP都支持片内双访问RAM(DARAM),用户可以将其配置为程序存储器或数据存储器。
C55x还有扩展的同步突发性RAM、同步DRAM和异步SRAM及DRAM。
片内的锁相环(PLL)允许用户抑制时钟,但C55x核还可以激活与自动管理片内外设和存储器的功耗。
当程序不再访问片内存储器时,它们就会被切换到低功率模式。
处理器对片内外设也提供类似的控制。
C55x还设置了用户可控的低功率IDLE域,包括CPU、DMA、外设、外部存储器接口、指令队列、以及时钟发生电路。
C54x支持单数据存储器操作数寻址和32-bit操作数寻址,还使用并行指令支持双数据存储器操作数寻址。
它也提供立即数寻址、存储器映射寻址、循环寻址和位倒序寻址。
在C54x的基础上,C55x还支持绝对值寻址、寄存器间接寻址、直接寻址,即位移模式。
C55x的ADFU包括专门的寄存器,支持使用间接寻址指令的循环寻址。
可以同时使用五个独立的循环缓冲器和三个独立的缓冲器长度。
这些循环缓冲器没有地址排队的限制。
C54x支持两个任意长度的循环缓冲器。
C54x有专门功能指令,如FIR滤波器、单指令或块指令循环、八个并行指令(如并行存储或乘加)、乘法累加和减(十个乘法指令)、八个双操作数存储器搬移。
C55x还有专门的指令,充分利用增加的功能单元和并行能力的优点。
用户定义的并行机制,允许将执行两个操作的指令加以组合。
eXpressDSP软件技术包括DSP集成开发工具:
可升级的实时软件基础、可重复使用的应用软件接口标准、以及不断增加的第
三方的软件模块。
CodeComposerStudio是一个集成的DSP开发工具套件,包括C5000的C编译器、DSP/BIOS、实时数据交换技术等。
⑶TMS320C6000系列:
第一块C64x可以达到750MHz;
超长指令字(VLIW)结构具有与RISC类似的特点;
C编译器与结构结合紧密;
8个功能块提高了并行性。
TI的TMS320C6000是基于超长指令字(VLIW)结构的通用DSP系列。
该结构包括定点的C62x、浮点的C67x和新的C64x。
C64x和C62x代码兼容,但结构有显著的加强,其初期的工作频率可达750MHz。
C67x在C62x八个功能块中的六个上增加了浮点功能,因此其指令集是不同的。
C6000没有专门的MAC单元,而是使用分开的乘法和加法指令来实现MAC操作。
尽管该操作需要两个指令周期,但其流水的效果仍然是单周期执行。
这种结构包含两个数据通道,以便和各有四个功能单元的两组相匹配。
C62x和C64x包含两个乘法单元(M)、六个32-bit的算术单元、40-bit的ALU和40-bit的桶型移位器。
C64x的M单元每个时钟周期执行两个16×
16-bit的乘法,而C62x则只能执行一个乘法。
此外,C64x的每个M单元可以在每个周期内作四个8×
8-bit的乘法。
M单元的位计数和旋转硬件,可以支持bit水平的算法。
C64x的其他单元各有其强大的功能。
例如,逻辑单元(L)可以作byte移位和四个8-bit的绝对值减法。
该绝对值差指令对于运动估计算法是很有好处的。
M单元和S单元都具有双向可变bit的移位功能。
C64x除S单元和L单元外,D单元也可以执行32-bit的逻辑指令。
L单元和D单元可以装入5-bit的常数,而S单元可以装入16-bit的常数。
C64x的每个功能单元组都各有其32个32-bit的寄存器组,而在C62x中,每个功能单元组都各只有16个32-bit的寄存器组。
每个程序可以将通用寄存器用于数据、数据地址指针,或条件代码。
在所有的C6000器件中,用户可以将寄存器A4-A7及B4-B7用于循环寻址。
程序可以使用任何寄存器作为循环计数器,从而将标准的条件寄存器释放作他用。
在C64x中,两个功能单元组中的任何一个都可以使用另一个的寄存器组。
而在C62x中,功能单元组是通过一组数据总线来执行该过程的。
在C62x中,除两个D单元外的所有功能单元都有访问另一个功能单元组的数据交叉通道。
在C64x中,允许每个功能单元组中的多个单元通过数据交叉通道,同时读同一个交叉通道信源。
也就是说,一个功能单元组中的一个、多个、乃至全部单元,可以在一个VLIW执行包中使用交叉通道的操作数。
而在C62x中,每个数据通道、每个执行指令包,只有一个功能单元可以访问对方寄存器组的操作数。
C62x的寄存器组打包16-至40-bit的定点数和64-bit的浮点数。
用户可以将多于32-bit的值存储在寄存器对中。
C64x的寄存器支持C62x的所有数据类型,以及打包的8-bit类型和64-bit定点数。
打包的数据类型存储四个8-bit或两个16-bit的值于一个32-bit寄存器中,将四个16-bit的值存于一个64-bit的寄存器对中。
C64x的每个乘法器可能返回多达64-bit的结果,因此,从乘法器到寄存器组多了一个写口。
C6000系列支持没有分开的X-和Y-存储器空间。
它们提供的实际上是单一的64-或32-bit数据通道的数据存储器,用于从存储器到寄存器组装入数据。
另外的两个32-bit通道(C64x则是64-bit),则用于将数据从寄存器存储到存储器。
一组32-bit的地址总线支持这些数
据通道。
C64x可以使用非排队的存取方式,访问按byte边界的字或双字。
但C62x则要求按32-或64-bit边界排队。
一组32-bit的地址总线对程序存储器寻址,但一个数据通道则是256-bit宽。
这个宽度允许C62x在每个周期提取,但不一定是执行,八个32-bit的指令。
TI称这种方式为取包。
C62x的结构不允许跨过取包边界去取包,其结果是编译产生NOP指令来铺垫取包。
C64x的结构则在指令分配单元里解决了这个问题,取消了执行包边界的限制,从而也就取消了填充的NOP指令。
CPU可以在每个周期内执行1-8条指令,但数据的独立性、指令的反应时间、以及资源的冲突对性能的发挥有所限制。
多包的执行允许充分的并行、串行和并/串行的组合。
因此,要求八个串行指令和八个并行指令具有同样的长度。
从而使编译器和汇编器的优化起着重要的作用。
编程工具用指令的最低位将指令包中的指令连接起来。
如果该位置位,则指令并行执行。
汇编优化器作指令的独立性检查和实施并行。
从而保证代码按照编程的要求,在独立的功能块中运行,不再需要硬件来作独立性检查。
C6211和C6711是业界首先具有片内cache存储器L1和L2的DSP。
C6211有两层cache,一层是4Kbyte的程序和数据cache,第二层cache是统一的64Kbyte的数据和指令RAM。
C6211还具备16个通道的DMA控制器,各自进行独立的传输。
C6202、C6203和C6204具有32-bit的扩展总线,作为外部存储器的接口(EMIF),取代16-bit的主机接口。
第二组用于I/O的总线降低了EMIF的负担,提高了数据的通过率。
EMIF和扩展总线是相互独立的,允许CPU并发地访问各口。
C6000可以作线性寻址和循环寻址。
但和其他具有专门的地址发生单元不同,C6000使用其一个或多个功能单元来计算地址。
④特殊指令:
所有的C6000处理器条件执行所有的指令,从而减少转移和保持流水。
C64x的MPYU4指令执行四个8×
8-bit的无符号数乘法。
ADD4执行四个8-bit的加法。
所有的功能单元都可以执行双16-bit的加法/减法、比较、移位、最大值/最小值、以及绝对值运算。
两个M单元及其他六个功能单元中的四个,都支持四个8-bit加法/减法、比较、平均、最大值/最小值、以及bit扩展运算。
还增加了直接对打包的8-bit和16-bit数据作运算的指令。
M单元里的bit计数和旋转硬件,扩展了对bit层算法的支持,例如二进制语法、图象矩阵计算、以及加密算法等。
C64x的转移-地址递减(BDEC)和检测为正转移(BPOS)指令将转移指令和地址递减及目标寄存器检测指令分别组合起来。
另外一条指令可以减少设置函数调用返回地址所需的指令数量。
双16-bit算术指令和八个功能单元中的六个以及位倒序指令组合起来,将FFT所需的周期数减少一半。
Galois乘法指令(GMPY4)使用Chien搜索法为C62x提供ReedSolomon编码。
特殊的平均指令可以将运动补偿的性能提高七倍。
C64x提供数据打包和解包,在四个8-bit或两个16-bit硬件扩展时保证很高的性能。
解包指令为并行的16-bit运算准备8-bit数据。
打包指令则保证并行的结果的输出精度。
可升级的实时软件基础、可重复使用的应用软件接口标准、以及不断增加的第三方的软件模块。
CodeComposerStudio是一个集成的DSP开发工具套件,包括C6000的C编译器、DSP/BIOS、实时数据交换技术等。
⑷多处理器TMS320C8X系列:
TMS320C80的内部结构。
四.DSP算法的Matlab模拟
实现某个DSP算法,一般首先要对其进行模拟,以判断其正确性、复杂性和可靠性。
Matlab计算工具软件:
计算精确、使用方便、图形功能强大、扩充性能好。
在实现某种DSP功能前,一般可以先充分利用Matlab的编程简单、调试方便的优点来求取各种必需的系统参数,并利用所求得的系统参数模拟实现DSP的过程,以检验设计思想是否正确,可靠性如何,并对原方案进行修正。
然后用C语言按求得的设计方案进行DSP编程,同时实现数据的输入/输出、定点/浮点的精度控制等各种工作。
最后,再对C程序进行汇编,在DSP芯片上实现功能。
五.典型DSP器件在嵌入式系统中的应用设计
1.定点DSP应用:
基于TMS320LC549构成的G.729A8kb/s国际标准语音压缩算法的实时系统;
Figure:
TMS320LV549组成的G.7298kb/s语音
压缩编解码系统
G.729是国际电信联盟ITU-T制定的工作频率为8kb/s的语音压缩算法,该算法采用"
共轭结构-代数码激励线性预测"
算法,简称
CS-ACELP算法。
主要应用领域是个人移动通信、数字卫星系统和高质量数字移动无线通信。
其附件G.729A、G.729B,G.729B在G.729A基础上,使用了VAD/DTX/CNG算法,即话音激活检测/不连续传输/舒适噪声产生算法。
以TMS320LC549的运算速度,足以在10ms内完成语音的压缩和解压缩算法,因此,系统可以按全双工方式工作。
2.浮点DSP应用:
基于TMS320C31构成的多速率声码器系统;
TMS320C31组成的多速率声码器系统采用高效的多带激励(MBE语音压缩编码算法,将语音的数码率从PCM编码的64kb/s降低到1.2~8kb/s,并保持相当的语音质量。
系统由TMS320C31、AT89C51、模数转换器、EPROM、和高速RAM组成。
EPROM使用一片32k×
32位的27C512;
RAM为4片7Y7C199-20,构成32k×
32位的存储空间;
模数转换器采用PCM编译码器MC14LC5480。
以TMS320C31的运算速度足以在一帧内完成语音的压缩和解压缩算法,因此,系统可以按全双工方式工作。
六.设计体验:
用TMS320C2401A设计PCI接口多轴运动控制卡
TMS320F243构成的PCI多轴运动控制卡
七.小结:
如何构成并设计以DSP器件为核心的嵌入式硬件体系
八.学习与思考:
试用TMS320TMS320C25构成一个简易的语音压缩录放系统
2004-8-29,2004-10-17
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 数字信号 处理器 及其 应用 设计 图文