市场上其他微处理芯片也有很多,常见的有单片机、嵌入式CPU(如ARM)等,有很多从事DSP开发的人员都是从其他芯片的开发人员转过来的。因此,难免要对这些芯片进行比较。DSP和它们比起来有什么区别呢?
1. DSP和单片机的比较
单片机也是很普通的一大类微处理器,在过去的几十年里,单片机的应用实现了简单的智能控制功能,受到市场的广泛应用,那么DSP器件与单片机的比较有什么区别呢?
(1)单片机的特点
所谓单片机就是在一块芯片上集成了CPU、RAM、ROM(EPROM或EEPROM)、时钟、定时/计数器、多种功能的串行和并行I/O口,如Inter公司的8051系列等,除了以上基本功能外,有的还集成有A/D、D/A,如Inter公司的8098系列。概括起来说,单片机具有位处理能力,强调控制和事物处理功能,价格低廉。
(2)DSP器件的特点
与单片机相比,DSP器件具有较高的集成度。DSP具有更快的CPU,更大容量的存储器,内置有波特率发生器和FIFO缓存器,提供高速、同步串口和标准异步串口。有的片内集成了A/D和采样/保持电路,可提供PWM输出。DSP器件采用改进的哈佛结构,具有独立的程序和数据空间,允许同时存取程序和数据。内置高速的硬件乘法器,增强的多级流水线,使DSP器件具有高速的数据运算能力。DSP器件比16位单片机单指令执行时间快8~10倍,完成一次乘加运算快16~30倍。DSP器件还提供了高度专业化的指令集,提高了FFT和滤波器的运算速度。此外,DSP器件提供JTAG接口,具有更先进的开发手段,批量生产测试更方便,开发工具可实现全空间透明仿真,不占用用户任何资源。
2. DSP和ARM的比较
ARM(Advanced RISC Machines)是一款以RISC为体系的微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场。ARM最大优势在于速度快、低功耗、芯片集成度高,多数ARM芯片都可以算作SOC基本上外围加上电源和驱动接口就可以做成一个小系统了。
ARM具有比较强的事物管理功能,可以用作跑界面以及应用程序等,其优势主要体现在控制方面,它的速度和数据处理能力一般,但是外围接口比较丰富,标准化和通用性很好,而且在功耗等方面做得也比较好,所以适合用在一些消费电子品方面。而DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。由于其在控制算法等方面很擅长,所以适用在对计算控制要求比较高的场合。如果只是着眼于嵌入式应用的话,ARM和DSP的区别应该只是一个偏控制、一个偏重运算了。
由于两大处理器在各自领域的飞速发展,如今两者中的高端或比较先进的系列产品中,都在弥补自身缺点、扩大自身优势,从而使得两者之间的一些明显不同已经不再那么明显了,甚至出现两者部分结合的趋势(如ARM的AMBA总线,可以把DSP或其他处理器集成在一块芯片中;又如DSP两个系列OMAP和达芬奇系列,就是直接针对两者的广泛应用而将两者结合在一起,从而最大限度发挥各自优势),即由DSP结合采样电路采集并处理信号,由ARM处理器作为平台,运行嵌入式操作系统,将经过DSP运算的结果发送给用户程序进行进一步处理,然后提供给图形化友好的人机交互环境完成数据分析和网络传输等功能,就会最大限度地发挥两者所长。这也恰恰印证了上文有关DSP技术发展方向的内容。