DSP是Digital Signal Processing(数字信号处理)或Digital Signal Processor(数字信号处理器)的缩写。这一章中我们要讲的内容是,如何开始采用一个或多个数字信号处理芯片对输入信号(数字信号)进行分析、处理。所以在你进行DSP开发之前,你应该明确以下几个问题:
(1).你是否应该或需要使用DSP?
(2).你应该选择哪个型号的DSP?
(3).你熟悉你即将使用的DSP吗?包括它的硬件结构、外设控制、指令系统、寻址方式以及开发环境(工具)?
1-1为什么要采用数字信号处理?
(1)灵活性
在模拟处理系统,当需要改变一个模拟系统的应用时,你可能不得不修改硬件设计,或调整硬件参数。而在数字处理系统,你可以通过改变数字信号处理软件来修改设置,以适应不同的需要。
(2)精度
在模拟处理系统,系统精度受元器件影响,同一批次产品可能有不同的性能。而在数字处理系统中,精度仅与A/D的位数和计算机字长、算法有关,它们是在设计系统是就已经决定了的。
(3)可靠性和可重复性
模拟系统易受环境温度、湿度、噪声、电磁场等的干扰和影响,而数字系统的可靠性和可重复性好。
(4)大规模集成
模拟系统尽管已有一些模拟集成电路,但品种较少、集成度不高、价格较高。而数字系统中DSP体积小、功能强、功耗小、一致性好、使用方便、性能/价格比高。
(5)虚拟特性与升级
一套模拟系统系统只能对应一种功能,升级意味着新型号的系统的研制。而数字系统中一套系统对应多种功能,只要装上不同的软件即可。
图1软件使得数字系统更加灵活
(6)特殊应用:有些应用只有数字系统才能实现
例如:信息无失真压缩(LOSSLESS COMPRESSION)、V型滤波器(NOTCH FILTER)、线性相位滤波器(LINEAR PHASE FILTER)等等.
但数字信号处理也有局限性:
(1) 实时性
模拟系统中除开电路引入的延时外,处理是实时的。而数字系统:由计算机的处理速度决定。
(2)高频信号的处理:
模拟系统可以处理包括微波毫米波乃至光波信号,而数字系统:按照奈奎斯特准则的要求,受S/H、A/D和处理速度的限制。
(3)模拟与数字信号的转换
现实世界的信号绝大多数是模拟的(温度、速度、压力等),转换成的电信号也是模拟的(电流、电压等)。要实现数字处理,就必须进行转换。所以一般在一个DSP系统中都有数/模或模/数转换电路,这也限制了DSP的应用。下面是一个采用DSP做信号处理的典型框图:
1-2 DSP的发展与特点
DSP的特点
(1)哈佛结构
程序与数据存储空间分开,各有独立的地址总线和数据总线,取指和读数可以同时进行,从而提高速度。
(2)用指令流水线
(3)硬件乘法/累加器
在卷积、数字滤波、FFT、相关、矩阵运算等算法中,都有∑SA(k)B(n-k)一类的运算,其中包含大量重复乘法和累加。在通用计算机的乘法用软件实现,需要用若干个机器周期。而DSP有专用的硬件乘法器,使用MAC指令(取数、乘法、累加),可以在单周期内完成。
(4)多种寻找方式
循环寻址(Circular addressing),位倒序(bit-reversed)等特殊指令,使FFT、卷积等运算中的寻址、排序及计算速度大大提高。1024点FFT的时间己小于1ms。
(5)独立的DMA总线和控制器
有一组或多组独立的DMA总线,可以与CPU的程序、数据总线并行工作。在不影响CPU工作的条件下,DMA速度已达800Mbyte/s以上。(6)多处理器接口现在的DSP中大多都提供了串口和并口,使多个处理器可以很方便的并行或串行工作。如TMS320C40有6个8-bit的接口,VC5420提供MsBSP和16位的并口,ADI的ADSP21160也有类似的结构。
(7)所有DSP芯片都包含JTAG(Joint Test Action Group)标准测试接口(IEEE 1149标准接口),便于对DSP作片上的在线仿真和多DSP条件下的调试。
DSP的发展
- 更高的运行速度和信号处理速度
- 多DSP协同工作
- 更方便的开发环境
- 大量专用DSP的出现(DSP核)
- 更低的价格,或更高的性能/价格比
- 更广泛的应用(每年以30%增长)
- 更低的功耗(55X 0.05mw/MIPS)