历史上的今天

今天是:2024年09月24日(星期二)

正在发生

2020年09月24日 | ARM、DSP、FPGA的区别是什么?

发布者:InspiredDreamer 来源: elecfans关键字:ARM  DSP  FPGA 手机看文章 扫描二维码
随时随地手机看文章

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


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


DSP

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

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


当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。


FPGA 

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 引用地址:ARM、DSP、FPGA的区别是什么?

上一篇:Opencv移植和Zedboard测试
下一篇:在Zynq SoC上实现双核非对称的多进程处理模式

推荐阅读

上海,2018年9月18日—— 作为设计和生产创新性半导体材料的全球领军企业,Soitec半导体公司于2018年9月18日至19日参加了在上海由SOI国际产业联盟举办的第六届FD-SOI高峰论坛暨国际RF-SOI研讨会(Shanghai FD-SOI Forum & International RF-SOI Workshop)。来自国际顶级半导体公司、科研院所、投资机构和政府部门的业内精英在本届高峰论坛上就FD-S...
1 问题描述新建STM32的keil工程,在编译时出现警告“..FWLIBsrcstm32f10x_rcc.c(273): warning: #223-D: function “assert_param” declared implicitly”,接下来一堆警告和错误。 出错的原因:函数“assert_param”未声明。assert_param2 问题分析函数assert_param是STM32官方库文件中用到的。对于我采用的《STM32F10x_StdPeriph_Lib_V3.5.0》...
1.图中绿灯为电梯上行指示灯、黄灯为下行指示灯、红灯为报警指示灯。2.电梯初始状态位于一楼,在一楼的用户可直接按下电梯内部按钮,按启动电梯开始运行。3.在任一层楼的用户,可以通过电梯外部的按钮请求电梯,电梯到达后通过内部按钮确定目标层。注意:启动按钮相当于关门,电梯内部的请求都要按启动后电梯才会运行。 单片机源程序如下#include <REG52....
两通道波形的测量参数可以同时显示。ZDS2022示波器支持51种自动测量参数,可以同时测量显示24种参数,如图7.1所示。其中,测量项符号后的“(C1)”、“(C2)”指示通道编号,“C1”为通道1,“C2”为通道2。同时测量显示两通道的参数时,只需按下【Measure】打开设置菜单,切换通道选择对应的测量参数即可。图7.1参数统计测量

史海拾趣

问答坊 | AI 解惑

推挽电路

推挽的两个晶体管一上一下,它们交替工作。我要问的是下面的管子,基极在低电平工作,这时上面的管子关闭,下面管子发射级没有电压接入,这个管子怎么会工作呢?…

查看全部问答∨

电水壶自动断电控制器

该装置的电路工作原理见图8。先在电水壶上用环氧树脂沾牢一只片状正温度系数的开关型热敏电阻RQ。将RQ的两端接到LSE的①、②脚,将水壶插入电源插座CZO中,揿下电源开关S,此时由于电水壶中的水温较低,RQ的阻值较小(<50K),故LSE的④脚输出高电 ...…

查看全部问答∨

Altera基于NiosII的嵌入式设计——NiosII之常见问题解答)

NiosII之常见问题解答(Sep29更新,密码:NiosII.cublog.cn).pdf 很有用的哦。…

查看全部问答∨

protel 中如何绘制点阵

最近想做一个PCB板,要用到8*8的点阵,但是protel的库中没有点阵,要自己制一个,但是制成之后与实际的芯片如何一致,如长度,引脚之间的距离等。制成PCB之后如何能实现与实际的点阵大小,长度引脚等特点一致。做了好长时间也没做出来,希望专业人 ...…

查看全部问答∨

Linux嵌入式视频

我想学学 Linux嵌入式的开发,大家知道那个视频比较适合初学者吗? 我有一点C/C++功底 知道的给个建议把,谢谢…

查看全部问答∨

s3c2440虚拟地址空间

那位高人能讲讲arm9的物理到虚拟地址空间的转换问题?以前学s3c44b0x,无MMU,现在升级到了s3c2440,有MMU了,可不知到怎么确定各外设的虚拟地址。。。…

查看全部问答∨

求助:在开发USB Function client driver 中遇到的问题 及开发过程

附件不能上传, 就发个连接吧. http://bbs.dzkf.net/thread-41050-1-1.html 这个驱动开发目前还处在研究阶段, 就说说目前遇到的问题, 附上调试的项目工程,请大家帮忙解决. 简单来说就是想在我的一个PDA上定制一个USB function client driver, ...…

查看全部问答∨

wince中RETAILMSG不能在串口输出消息

我在wince的public目录下的驱动代码中加入RETAILMSG(1,(.....)), 可是在串口中无法打印出任何trace,为什么? 在palform的bsp中加的trace都能够正常显示出来。 请大家指教一二。。。。。。。谢谢!!…

查看全部问答∨

3.6V 至6V 输入,3.3V 输出,微型高效率DC/DC 转换器

此参考设计旨在给输入电压范围为3.6V至6.0V的MSP430器件供电。…

查看全部问答∨

求个降压的电路

想用KI2300这个场效应管做个DC5V入3V出负载电流1A降压的电路但对场效应管不是好熟悉。高手赐教?…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved