DSP与MCU、ARM、FPGA的区别DSP原理及应用DSP•DSP(digitalsingnalprocessor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。MCU•MCU(MicroControlUnit)中文名称为微控制单元,又称单片微型计算机(SingleChipMicrocomputer)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机。DSP与MCU的区别•DSP有专门的硬件实现单周期乘法,并增加了累加器的寄存器来处理多个乘积的和。MCU不是用来设计做密集乘法任务的,并要求多个指令周期来做一次乘法。•DSP使用多个片内存储器和多组总线来保证每个指令周期内的多次访问,程序员要明确控制哪些数据和指令要存储在片内存储器。程序员要保证双总线的有效利用。MCU使用控制逻辑决定哪些数据和指令存储在片内的高速缓存中,程序员并不加以控制。•DSP算法大多数的处理时间是花在执行较小的循环上,处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减1。MCU的循环使用软件来实现。ARM•ARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置ARM生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。DSP与ARM的区别•ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面;ARM是32位的单片机,其内部硬件资源的性能较高,可以加载操作系统成为其主要特点,有了操作系统,就可以像pc机那样多任务实时处理,就是同一时间内能完成多个任务,而且不会互相影响。•DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。它是处理器,也有控制功能,只是它在控制方面远不如ARM,使用的时候还得配合单片机、ARM等控制型芯片。FPGA•FPGA是(FieldProgrammableGateArray)现场可编程门阵列的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路中集成度最高的一种。•FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB、输出输入模块IOB和内部连线三个部分。用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。DSP与FPGA的区别•FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。•DSP是通用的信号处理器,用软件实现数据处理;FPGA用硬件实现数据处理。DSP成本低,算法灵活,功能性强,而FPGA的实时性好,成本较高,FPGA适合于控制功能算法简单且含有大量重复计算的工程使用,DSP适合于控制功能复杂且含有大量计算任务的工程应用。•DSP是软件实现算法,FPGA是硬件实现算法,所以FPGA的处理速度会更高;FPGA比DSP快的一个重要原因是FPGA可以实现并行运算,而DSP由于硬件结构条件限制,主要还是依靠软件来提取指令执行,理解为还是串行执行的。谢谢观赏