DSP 芯片是专用的数字信号处理器(Digital Signal Processor),它采用哈佛结数、流水线作业方式的并行处理技术,有专用的指令系统,尤其适用于数字信号的算法实现,编码变换等处理。
一般认为:70 年代后期推出的 Iatel 2920 是第一块脱离了通用型微处理器结构的 DSP芯片,1980年前后推出的μPD7720具有专门的硬件乘法器,从而被认为是第一块单片 DSP器件,1983年Ti 推出的TMS系列,标准着实时数字信号处理领域的重大突破。
目前DSP 主要生产商有:Anolog Devices 公司,其主要产品 ADSP2100 定点系列和ADSP21020定点系列;Motorola 公司其主要产品:Motorola DSP 5600定点系列和 Motorola 9600浮点系列;Texas Fustruments 公司,其主要产品:TMS320c2x/c5x/c54x 定点和 TMS3x/4x系列浮点。并且,Ti 公司宣传即将推出 TMS320C6X/C62XX 系列产品,速度1000MP1S 以上。Anolog Devices 公司也将推出高性能的 SHARC 产品。
DSP的特点
(1 )DSP 总线结构都采用哈佛结构或改进的哈佛结构。
通用的微处理采用冯. 诺依曼结构,即程序指令和数据共用一个存储空间及单一的地址和数据总线。为进一步提高运算速度,以满足实时信号处理的要求,当前的DSP 芯片采用哈佛结构。所谓哈佛结构,是将指令和数据的存储空间分开。这样使得处理指令和处理数据可以同时进行,从而大大提高处理效率。
(2 )采用流水线技术
DSP大多采用了流水线技术。计算机在进行一条指令时,要经过取指、译码、访问数据、执行等几个步骤,需若干个指令周期才能完成。流水线技术将各指令和执行时间可以重叠起来。即第一条指令取指后,在进行译码的同时,可进行第二条指令的取指;第一条指令访问数据时,第二条指令译码……。这样尽管每条指令的执行时间仍然是几个指令周期,但由于用了流水线的作业方式,使得总体处理速度大大提高。而DSP 所采用的指令与数据存储空间分开的哈佛结构,为实现流水线作业方式提供了方便。
(3 )具有硬件乘法器和 MAC单元
在数字信号处理算法中,乘法和累加是最基本和大量的运算,例如在卷积运算、数字滤波、快速付里叶变换、相关计算、矩阵运算等算法中大多都有乘加(乘法和累加)运算。通用的乘法运算是采用软件实现的,往往一次乘法运算需要若干个机器周期才能完成。DSP中都设置了硬件乘法器和MAC乘加(乘法并累加)一类指令,取两个操作数到乘法器中作乘法,并将乘积加到累加器中,这些操作在DSP 芯片中往往可以在单个在指令周期内完成,使得DSP 作乘和累加这种数字信号处理基本运算的速度大为提高。
(4 )具有循环寻址(circular addressing )及位倒序(bit reverse)寻址功能。
为满足FFT 、卷积等数字信号处理的特殊要求,当前的DSP 大多在指令系统中设置了循环寻址及位倒序指令及其它特殊指令、体现在作这些运算时寻址、排序及计算机速度大大提高。
另外,DSP 系统设计和软件开发,往往需要相当规模的仿真调试系统,为方便用户的yf-f4-06-cjy 设计与调试,许多 DSP 在片上设置了仿真模块或仿真调试接口、如 Motorala 在DSP 片是设置了一个QnCE (On-Chip Emalation)功能块、通过行脚、使用户可以检查片内存储器、寄存器及外设,用单步运行,设置断点、跟踪等方式控制与调试程序。Ti 则在DSP 片上设置了JIAG(Joint Test Aotion Group )标准测试接口及相应的控制器。 在PC 机上插入一块调试插板,接通JIAG 接口,就可以在PC机上运行一个软件去控制它。
DSP有自己的汇编语言指令系统,为适用于高级语言编程,各公司也陆续推出适用于DSP 的高级语言编译器,主要是 C 语言编译器,也有 Ada、Pascal 等编译器,程序员可用高级语言编程,通过编译器,将程序汇编、连接成DSP 目标代码。
DSP应用领域
通信、声音/语音处理、仪器仪表、计算机、消费电子、军事
TMS320 C54X DSP硬件结构
可见DSP 内部的程序总线P、数据总线D、控制总线C 和数据写存储器总线 E 都是独立分开的,以便于组件单元的并行处理和数据传送。
(1 )程序总线 PB传送指令码和程序存储器的直接操作码。
(2 )三束数据总线(CB、DB 和EB)相互连接起各个单元,如CPU 、数据地址产生逻辑(DAGEN)、程序地址产生逻辑(PAGEN)及其它芯片组件和数据存储器(其中CB、DB传送从数据存储器读出的数据,EB传送向存储器写的数据)。
(3 )四束地址总线(PA B 、CAB、DAB和EAB )传送指令执行期间所需的地址数据。
54X的存储器由程序空间、数据空间和输入/ 输出空间三个分开的空间组成,包括随机存取存储器RAM和只读存储器 ROM
TMS 320 C54X CPU 包括:
a) 40-bit的算术逻辑单元(ALU)。可实现 2 个40bit操作数的算术逻辑运算,也可进行
布尔运算。
b) 2个40-bit 的累加器(A、B )。可存储 ALU或乘/ 加(Multiplier/adder)运算的输出,
也可提供ALU的二次输入。累加器A 还可作乘/加运算的输入,每个累加器都可划分成以
下三部分:
i) 保留位(bit 39-32 );
ii) 高字节(bit31-16);
iii) 低字节(bit15-0 )。
c) 桶式移位器(Barrel shiffer)。桶式移位器有一个来自 40bit的累加器(A 或B )或
数据存储器(通过 CB或DB)的输出,其 40bit的输入,送到 ALU或到数据存储器(通过
EB)中。它可对输入产生0 -31bit的左移和0 ~16bit的右移。并由指令进行控制。
d) 17×17 -bit的乘法器。它实现两个 17bit操作数的乘运算,并与 40bit的加法器等共
同实现在一个指令周期内完成乘/ 加运算;和AKU共同在一个指令周期内完成并行的乘/ 累
加(MAC)运算。
e) 40-bit加法器(Adder(40)),配合Multiplier执行乘/ 加运算。
f) 比较、选择和存储单元(CSSU),实现累加器高、低字节中数据的大小比较测试或
控制标志位TC、状态寄存器ST0 和发送寄存器(TRN)以保持发送状态等。
g)数据地址产生单元(DAGEN)
h) 程序地址产生单元(PAGEN)
DSP外部信号引脚
(1 )外部总线接口包括:(External Bus Iaterface )
(2 )控制信号(Control Signals)
(3 )晶振/ 时钟信号(Oscillator/Timer Signals)
(4 )缓冲串行口信号(Buffered Serial Ports Signals)
(5 )TDM串口信号
(6 )仿真信号(Emulation)
(7 )Host 接口 Host Port Interface
DSP硬件设计的几个主要问题:
(1 )总线控制方案
(2 )boot loading
(3 )Hardware wait_states
(4 )I/O 与中断设计
(5 )Memory Map
(6 )串口工作方式与时序设计
(7 )TAP 接口
DSP开发系统仿真
Ti提供了TMS320C54X 与DSP 开发仿真环境,包括Simulator 和Emulator
Simulator是软件仿真器,它可仿真 54X 的全部指令、I/O 和主要外设功能,装入由汇编器/ 连接器产生的目标代码后,可连接或单步运行,仿真观察各存储器、寄存器的内容,以作汇编、编辑与修改等。
Emulator是PC机插件形式的硬件仿真器及开发系统;它具有良好的用户界面,可作全速的在线仿真。
用户197588 2012-10-10 13:14
用户1523258 2012-10-9 16:39