原创 【TI博客大赛】DSP设计相关经验总结

2012-9-28 09:45 2429 24 26 分类: 处理器与DSP

 

       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机插件形式的硬件仿真器及开发系统;它具有良好的用户界面,可作全速的在线仿真。

文章评论2条评论)

登录后参与讨论

用户197588 2012-10-10 13:14

看看这个吧:http://bbs.ednchina.com/BLOG_ARTICLE_3002354.HTM

用户1523258 2012-10-9 16:39

这个只能算是器件介绍吧,哪里有经验,哪里算总结阿? 对于入门的人来说,看了等于没看。
相关推荐阅读
用户1614717 2013-05-15 09:16
【博客大赛】怎样使用示波器正确捕获信号
  很多初学示波器的工程师最关心的是“怎么让波形出来”,这时候我们一般都被教会了要用“AutoSet”键。 但如果AutoSet之后波形还是出不来,我们往往不知所措了; 或者是即使Auto S...
用户1614717 2013-05-15 09:06
存在串扰时的抖动和定时分析(1)
  串行数据标准数量不断激增,明显改善了PC**务器系统的性能。对这些更高速的标准执行测试,找到抖动迹象对设计的长期稳定性及实现优秀的误码率(BER)目标至关重要。要进行高效分析,首先要选择正...
用户1614717 2013-05-15 09:00
利用示波器进行高速串行总线信号分析的方法总结
  选用正确的探测方式、正确的测试码型以及在信号采集上采用性能优良的设备,这些都为最终的信号分析提供了保障。   通常都采用自动化的测量和分析工具来进行一致性测试。安装有分析软件的示波...
用户1614717 2013-05-15 08:57
存在串扰时的抖动和定时分析(2)
  为实现性能目标,大多数串行系统采用多条通路。随着频率和数据速率提高到10 Gb/s以上,少量的串扰就会吃光抖动预算,产生定时问题。   在一个信号受到相邻信号影响时,会发生串扰。在...
用户1614717 2012-12-30 13:51
【博客大赛】写给毕业生
  我算不上什么成功人士,更谈不上“老人家”,本来是没有资格说这些话的。但是,很多刚从学校毕业的年轻朋友给我发了邮件,请教如何规划自己的职业生涯。我基本上从来不回复,不是因为傲慢,仅仅是时间有...
用户1614717 2012-12-06 10:45
QuartusII使用技巧
  概述:          总结一些使用QuartusII软件的小经验,有些技巧性的东西很久不用或者不是经常用到很容易就忘掉,等到用到再到处查找确实费时费力。        1、使用...
我要评论
2
24
关闭 站长推荐上一条 /2 下一条