DSP 芯片介绍 1 什么是DSP 芯片
DSP 芯片,也称数字信号处理器,是一种具有特殊结构的微处理器。DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP 指令,可以用来快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下的一些主要特点:
(1) 在一个指令周期内可完成一次乘法和一次加法。 (2) 程序和数据空间分开,可以同时访问指令和数据。
(3) 片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问。 (4) 具有低开销或无开销循环及跳转的硬件支持。 (5) 快速的中断处理和硬件I/O支持。
(6) 具有在单周期内操作的多个硬件地址产生器。 (7) 可以并行执行多个操作。
(8) 支持流水线操作,使取指、译码和执行等操作可以重叠执行。 与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。 2 DSP芯片的发展
世界上第一个单片DSP 芯片是1978年AMI 公司宣布的S2811,1979年美国Iintel 公司发布的商用可编程期间2920是DSP 芯片的一个主要里程碑。这两种芯片内部都没有现代DSP 芯片所必须的单周期芯片。 1980年。日本NEC 公司推出的μPD7720是第一个具有乘法器的商用DSP 芯片。第一个采用CMOS 工艺生产浮点DSP 芯片的是日本的Hitachi 公司,它于1982年推出了浮点DSP 芯片。1983
年,日本的Fujitsu 公司推出的MB8764,其指令周期为120ns ,且具有双内部总线,从而处理的吞吐量发生了一个大的飞跃。而第一个高性能的浮点DSP 芯片应是AT&T公司于1984年推出的DSP32。
在这么多的DSP 芯片种类中,最成功的是美国德克萨斯仪器公司(Texas Instruments,简称TI)的一系列产品。TI公司灾982年成功推出启迪一代DSP 芯片TMS32010及其系列产品TMS32011、TMS32C10/C14/C15/C16/C17等,之后相继推出了第二代DSP 芯片TMS32020、TMS320C25/C26/C28,第三代DSP 芯片TMS32C30/C31/C32,第四代DSP 芯片TMS32C40/C44,第五代DSP 芯片TMS32C50/C51/C52/C53以及集多个DSP 于一体的高性能DSP 芯片TMS32C80/C82等。
自1980年以来,DSP芯片得到了突飞猛进的发展,DSP芯片的应用越来越广泛。从运算速度来看,MAC(一次乘法和一次加法)时间已经从80年代初的400ns(如TMS32010)降低到40ns(如TMS32C40),处理能力提高了10多倍。DSP芯片内部关键的乘法器部件从1980年的占模区的40左右下降到5以下,片内RAM 增加一个数量级以上。从制造工艺来看,1980年采用4μ的N 沟道MOS 工艺,而现在则普遍采用亚微米CMOS 工艺。DSP芯片的引脚数量从1980年的最多64个增加到现在
欢迎光临中国最大的电子工程师应用网站 网址:www.bbww.net
的200个以上,引脚数量的增加,意味着结构灵活性的增加。此外,DSP芯片的发展,是DSP 系统的成本、体积、重量和功耗都有很大程度的下降。
3 DSP芯片的分类
DSP 的芯片可以按照以下的三种方式进行分类。 1. 按基础特性分
这是根据DSP 芯片的工作时钟和指令类型来分类的。如果DSP 芯片在某时钟频率范围内的任何频率上能正常工作,除计算速度有变化外,没有性能的下降,这类DSP 芯片一般称之为静态DSP 芯片。
如果有两种或两种以上的DSP 芯片,它们的指令集和相应的机器代码机管脚结构相互兼容,则这类DSP 芯片称之为一致性的DSP 芯片。
2. 按数据格式分
这是根据DSP 芯片工作的数据格式来分类的。数据以定点格式工作的DSP 芯片称之为定点DSP 芯片。以浮点格式工作的称为DSP 芯片。不同的浮点DSP 芯片所采用的浮点格式不完全一样,有的DSP 芯片采用自定义的浮点格式,有的DSP 芯片则采用IEEE 的标准浮点格式。
3. 按用途分
按照DSP 芯片的用途来分,可分为通用型DSP 芯片和专用型的DSP 芯片。通用型DSP 芯片适合普通的DSP 应用,如TI 公司的一系列DSP 芯片。专用型DSP 芯片市为特定的DSP 运算而设计,更适合特殊的运算,如数字滤波,卷积和FFT 等。
4 DSP芯片的选择
设计DSP 应用系统,选择DSP 芯片时非常重要的一个环节。只有选定了DSP 芯片才能进一步设计外围电路集系统的其它电路。总的来说,DSP芯片的选择应根据实际的应用系统需要而确定。一般来说,选择DSP 芯片时考虑如下诸多因素。
1. DSP芯片的运算速度。运算速度是DSP 芯片的一个最重要的性能指标,也是选择DSP 芯片时所需要考虑的一个主要因素。DSP 芯片的运算速度可以用以下几种性能指标来衡量:
(1) 指令周期。就是执行一条指令所需要的时间,通常以ns 为单位。