首先,他们都是微处理器,都是嵌入式系统开发的核心,这也是他们与嵌入式的区别。单片机,也是微处理器,但不如他们集成的功能强大,要外扩设备。因此,确切的说,是微控制器。

在嵌入式开发领域,ARM是一款非常受欢迎的微处理器,其市场覆盖率极高,DSP和FPGA则是作为嵌入式开发的协处理器,协助微处理器更好的实现产品功能。那三者的技术特点以及区别是什么呢?下文就此问题略做了总结。

ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。

ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。

DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度 。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:

(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。

  FPGA是英文Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。

  ARM作为嵌入式开发最常用的处理器,是嵌入式工程师必须掌握的一门知识。ARM体系架构在嵌入式学院<嵌入式工程师职业培训班>的二期课程中将会结合嵌入式linux应用开发、嵌入式linux系统移植进行详细介绍,另外华清远见的短期培训业务中也分别有针对ARM、DSP、FPGA的培训课程。

  区别是什么?:ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,而DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。

ARM、DSP、FPGA的技术特点和区别相关推荐

  1. 2021-02-18 ARM、DSP、FPGA的技术特点和区别

    一.ARM.DSP.FPGA的技术特点和区别 在嵌入式开发领域,arm是一款非常受欢迎的微处理器,其市场覆盖率极高,DSP和FPGA则是作为嵌入式开发的协处理器,协助微处理器更好的实现产品功能. 在嵌 ...

  2. ARM,DSP,FPGA三者比较

    ARM,DSP,FPGA三者比较 一.前言 二.什么是ARM? 三.什么是DSP? 四 .什么是FPGA? 五. 区别 一.前言 这三款不同类型的芯片,笔者在不同项目中都有不同的使用.本科做电赛的时候 ...

  3. ARM/DSP+FPGA运动控制机器视觉控制器方案定制

    ARM/DSP+FPGA运动控制机器视觉控制器方案定制,信迈拥有成熟的相关方案. 机器视觉是计算机视觉的一个分支,工业自动化领域中的视觉控制或视觉应用,主要指的是通过前端光学摄像头,从采集到的数字化图 ...

  4. ARM、8051、AVR、MSP430、Coldfire、DSP、FPGA七种体系比较区别

    本文来自米尔科技,原文地址:http://www.myir-tech.com/resource/502.asp,转载请注明出处. 我以为这样比没有意义,做嵌入式系统最大特征是"嵌入" ...

  5. 单片机、DSP、ARM、FPGA,它们都能干什么

    已剪辑自: https://zhuanlan.zhihu.com/p/476394240 概述 首先,"嵌入式"这是个概念,准确的定义没有,各个书上都有各自的定义.但是主要思想是一 ...

  6. DSP与FPGA的技术特点和区别是什么?

    DSP与FPGA的技术特点和区别是什么? DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件.一个数字信号处理器在 ...

  7. FPGA与普通CPU的区别

    CPU与FPGA的根本区别在于软件与硬件的差异.CPU为 冯诺依曼结构,串行 地执行一系列指令:而FPGA可以实现 并行操作 ,就象在一个芯片中嵌入多个CPU,其性能会是单个CPU的十倍.百倍.一般来 ...

  8. 怎样混好嵌入式/MCU/ARM/DSP这一行?

    很多初学者,甚至是混了好几年的老手,都在抱怨,电子这行怎么竞争这么大啊? 颓废,这完全在抹杀自己的激情,没了激情,搞电子,完全就是在浪费生命. 其实,竞争真的大吗?? 对比一下,难道做业务的竞争不大, ...

  9. 高性能国产化信号处理平台国产DSP+FPGA+AI NPU安路紫光方案

    一.有了NPU,还要DSP吗? · 其实都是针对某种算法进行加速的处理器,不过NPU针对的是那些神经元算法,DSP针对的是信号处理算法,二者各有侧重 NPU采用普林斯顿结构. DSP采用哈弗结构. 各 ...

最新文章

  1. 解决 git extensions 每次提交需要输入用户名和密码
  2. 使用Facebook方法处理复杂问题
  3. ts 函数声明及泛型函数
  4. 【杂谈】为什么有三AI自断财路,从来不接广告
  5. 所谓工作能力强,就看这5件事
  6. 大数据之-Hadoop_1.x和2.x区别---大数据之hadoop工作笔记0012
  7. Java和JavaScript中使用Json方法大全
  8. 一个bootstrap.css的使用案例
  9. Linkedin领英如何添加或更改账号的邮箱地址的方法和细节,让我们更高效的运用领英
  10. 【数据处理】——利用Excel VBA批量将详细地址转换成省市区三级行政区划
  11. FreeRADIUS介绍
  12. select XX.nextval from dual
  13. day9Python操作Excel
  14. html input onfocus
  15. WORD转PDF时候出现空白页的解决办法
  16. 电信春招面试技能,无领导小组讨论
  17. 修改git提交commit信息NAME和EMAIL
  18. 1014 Waiting in Line 队列操作
  19. 校园网绕过认证的服务器监控图片
  20. 循环的嵌套:输出6行,“*“数目与行号相同

热门文章

  1. 导数/微分/积分的区别
  2. 决策树中的过拟合问题
  3. 利用vuex和localStorage实现vue菜单权限管理(笔记)
  4. 搭建MyEclipse和Tomcat遇到的坑(JavaEE作业)
  5. 新手建站虚拟主机与云服务器应该如何选择?
  6. arduino串口绘图_Arduino 串口数据可视化
  7. python输出杨辉三角啊二维数组_用Python输出一个杨辉三角的例子
  8. 勒索病毒记录:将电脑 后缀改为.nedjprf
  9. 如何查看Android项目的gradle版本和路径
  10. win10新建管理员账户_电脑技巧|Win10家庭版如何开启超级管理员账户