DSP、单片机以及嵌入式微处理器都是嵌入式家族的一员。最大区别是DSP能够高速、实时地进行数字信号处理运算。数字信号处理运算的特点是乘/加及反复相乘求和(乘积累加)。为了能快速地进行数字信号处理的运算,(1)DSP设置了硬件乘法/累加器,(2)能在单个指令周期内完成乘/加运算。(3)为满足FFT、卷积等数字信号处理的特殊要求,目前DSP大多在指令系统中设置了“循环寻址”及“位倒序”寻址指令和其他特殊指令,使得寻址、排序的速度大大提高。DSP完成1024复点FFT的运算,所需时间仅为微秒量级。高速数据的传输能力是DSP高速实时处理的关键之一。新型的DSP设置了单独的DMA总线及其控制器,在不影响或基本不影响DSP处理速度的情况下,作并行的数据传送,传送速率可达每秒百兆字节。DSP内部有流水线,它在指令并行、功能单元并行、多总线、时钟频率提高等方面不断创新和改进。因此,DSP与单片机、嵌入式微处理器相比,在内部功能单元并行、多DSP核并行、速度快、功耗小、完成各种DSP算法方面尤为突出。单片机也称微控制器或嵌入式控制器,它是为中、低成本控制领域而设计和开发的。单片机的位控能力强,I/O接口种类繁多,片内外设和控制功能丰富、价格低、使用方便,但与DSP相比,处理速度较慢。DSP具有的高速并行结构及指令、多总线,单片机却没有。DSP处理的算法的复杂度和大的数据处理流量更是单片机不可企及的。嵌入式微处理器的基础是通用计算机中的CPU(微处理器)。是嵌入式系统的核心。为满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。与工业控制计算机相比,嵌入式微处理器具有体积小、质量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。在应用设计中,嵌入式微处理器及其存储器、总线、外设等安装在专门设计的一块电路板上,只保留和嵌入式应用有关的母板功能,可大幅度减小系统的体积和功耗。目前,较流行的是基于ARM7、ARM9系列内核的嵌入式微处理器。嵌入式微处理器与DSP的一个很大区别,就是嵌入式处理器的地址线要比DSP的数目多,所能扩展的存储器空间要比DSP的存储器空间大的多,所以可配置实时多任务操作系统(RTOS)。RTOS是针对不同处理器优化设计的高效率、可靠性和可信性很高的实时多任务内核,它将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的应用程序接口(API),并根据各个任务的优先级,合理地在不同任务之间分配CPU时间。RTOS是嵌入式应用软件的基础和开发平台。常用的RTOS:Linux(为几百KB)和VxWorks(几MB)。由于嵌入式实时多任务操作系统具有的高度灵活性,可很容易地对它进行定制或作适当开发,来满足实际应用需要。例如,移动计算平台、信息家电(机顶盒、数字电视)、媒体手机、工业控制和商业领域(例如,智能工控设备、ATM机等)、电子商务平台,甚至军事应用,吸引力巨大。所以,目前嵌入式微处理器的应用是继单片机、DSP之后的又一大应用热门。但是,由于嵌入式微处理器通常不能高效地完成许多基本的数字处理运算,例如,乘法累加、矢量旋转、三角函数等。它的体系结构对特殊类型的数据结构只能提供通用的寻址操作,而DSP则有专门的简捷寻址机构和辅助硬件来快速完成。所以嵌入式微处理器不适合高速、实时的数字信号处理运算。而更适合“嵌入”到系统中,完成高速的“通用”计算与复杂的控制用途。DSP、单片机以及嵌入式微处理器三者各有所长,技术的发展使得DSP、单片机、嵌入式微处理器相互借鉴对方的优点,互相取长补短。现在,部分单片机内部都有硬件乘法器,单片机内部也有了DSP内部才有的流水线作业(但规模小些)借鉴PC机的优点,DSP内部也有了一定规模的高速缓存。吸收Intel的嵌入式系统芯片和系统软件的优点。有的DSP内部集成了高速运行的DSP内核及控制功能丰富的嵌入式处理器内核。例如,内部集成有TI公司的C54xCPU内核和ARM公司的ARM7TDMIE内核的DSP,既具有高速的数据处理能力,又有各种类型的外设接口和位控能力,大大拓宽了DSP在控制领域的应用范围。DSP在注重高速的同时,也在发展低价位控制芯片。美国Cygnal公司的C8051F0208位单片机,内部采用流水线结构,大部分指令的完成时间为1或2个时钟周期,峰值处理能力为25MIPS。片上集成有8通道A/D、2路D/A、两路电压比较器,内置温度传感器、定时器、可编程数字交叉开关和64个通用I/O口、电源监测、看门狗、多种类型的串行总线(两个UART、SPI)等。1.5DSP的基本结构及主要特征DSP是一种具有特殊结构的微处理器,为了达到快速进行数字信号处理的目的,DSP的总线结构大都采用了程序和数据分开的形式,并具有流水线操作的功能,单周期完成乘法的硬件乘法器以及一套适合数字信号处理运算的指令集。DSP的基本结构及主要特征如下。1.程序和数据分开的哈佛结构就是将程序和数据存储在两个不同的存储空间中。程序存储器空间和数据存储器空间分别独立编址。传统的冯.诺依曼结构是程序存储器和数据存储器共用一个公共的存储空间和单一的地址和数据总线,依靠指令计数器中提供的地址来区分是指令、数据还是地址。取指令和取数据都访问同一存储器空间,数据的吞吐率低。在哈佛结构中,由于程序存储器和数据存储器分开,即每个存储器空间独立编址、独立访问,并具有独立的程序总线和数据总线,取指令和执行指令能完全重叠进行。现在的DSP普遍采用改进的哈佛结构,其结构、特点如下:(1)允许数据存放在程序存储器中,并被算术指令运算指令直接使用,增强了灵活性。(2)指令存储在高速缓冲器(Cache)中,当执行本指令时,不需要再从存储器中读取指令,节省一个机器周期的时间。2.流水线操作由于DSP芯片采用多组总线结构,允许CPU同时进行指令和数据的访问。因此,可执行流水线操作。执行一条指令,要经过取指、译码、取数、执行运算,需要若干个指令周期才能完成。流水线技术是将各个步骤重叠起来进行。即第一条指令取指、译码时,第二条指令取指;第一条指令取数时,第二条指令译码,第三条指令取指,依次类推。例如,LF240x就可以实现4级流水线操作(图1.1)。3.专门的硬件乘法器和乘加指令MAC在数字信号处理的算法中,大量的运算是乘法和累加,乘法和累加要占用绝大部分的处理时间。例如,数字滤波、卷积、相关、向量和矩阵运算中,有大量的乘法和累加运算。个人计算机:计算乘法需要多个周期用软件实现,DSP:设置了硬件乘法器以及乘加指令MAC,在单周期内取两个操作数一次完成乘加运算。4.特殊的指令指令系统中,专为实现数字信号处理的算法设置了专门的特殊指令。例如:DMOV指令,把指令的数据复制到该地址加1的地址中,原单元的内容不变,即数据移位,相当于数字信号处理中的延迟,例如x(n)的延迟为x(n-1)。另一特殊指令LTD,在一个指令周期可完成LT、DMOV和APAC三条指令的内容。此外,指令系统中设置了“循环寻址”及“位倒序寻址”指令和其他特殊指令,使得寻址、排序的速度大大提高,从而能方便、快速地实现FFT算法。5.丰富的片内存储器件和灵活的寻址方式片内集成Flash和双口RAM,通过片内总线访问这些存储空间,因此不存在总线竞争和速度匹配问题,从而大大提高了数据的读/写速度。6.独立的直接存储器访问(DMA)总线及其控制器DSP为DMA单独设置了完全独立的总线和控制器7.高速的指令运行周期采用上述措施,DSP指令周期可为几十ns至几ns,甚至1ns以下。