(已结帖)2011-03-28-工控擂台-单片机、ARM和DSP的区别? 点击:2241 | 回复:15



总版主

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 470回
  • 年度积分:0
  • 历史总积分:1732
  • 注册:2010年6月04日
发表于:2011-03-13 21:51:08
楼主

结合你的经验谈谈单片机、ARM和DSP相同和区别?

 

能结合实际例子的回答、原创最多、阐述最全的将得大奖。


下周初结贴,9个最优回帖分别获得20MP、10MP、10MP、10MP、20积分、20积分、20积分、20积分、20积分!

MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。

MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满1000MP后、用户可通过用户管理后台申请兑换)。



楼主最近还看过



welfare87

  • 精华:0帖
  • 求助:4帖
  • 帖子:44帖 | 2827回
  • 年度积分:0
  • 历史总积分:25853
  • 注册:2009年2月20日
发表于:2011-03-13 22:46:16
1楼
         DSP主要用做运算,如语音,图像等信号的运算处理,但基本不用做控制。
        单片机,ARM主要用做控制,单片机低价低功耗,但门限很少,结构简单,不能实现复杂控制。ARM控制能力较强,但运算能力相对较弱。因此现在很多手持设备是用ARM+DSP来实现的,就是所谓的“双核心”。
        ARM、单片机和DSP的区别简单的说,ARM就相当于老板,统领全局,DSP就相当于普通员工,干一些比较具体的活,比如音频,视频的编解码,和一些算法的具体实现等等

HOTEAM

  • 精华:3帖
  • 求助:0帖
  • 帖子:336帖 | 23748回
  • 年度积分:0
  • 历史总积分:70347
  • 注册:2007年4月05日
发表于:2011-03-13 22:46:20
2楼

印象中ARM有较强的事务管理功能,其优势在控制方面,而DSP主要是用来计算,优势是强大的数据处理能力和较高的运行速度。

陌上尘

  • 精华:1帖
  • 求助:11帖
  • 帖子:20帖 | 939回
  • 年度积分:0
  • 历史总积分:5186
  • 注册:2010年5月12日
发表于:2011-03-14 09:03:58
3楼
DSP主要是用在数据处理方面,单片机用于控制,处理速度慢,控制能力有限。ARM是升级版

梦回唐朝

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 479回
  • 年度积分:0
  • 历史总积分:3612
  • 注册:2010年11月27日
发表于:2011-03-14 13:21:16
4楼

1  DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器。它的强大数据处理能力和高运行速度,是最大的优点。

dsp除了处理声音图像信号处理外,还可以作为控制的核心使用,来完成特别复杂的控制算法。但其也仅仅是完成数据运算,在控制中使用,还需要配备很多外围模块,如AD转换模块,DA转换模块,其他的执行器及执行器的驱动等!

2  单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

单片机的特点是外围设备种类繁多,控制能力强大;价格低,编程简单。随之技术的进步,单片机的运算速度越来越快,也能够完成一些较为复杂的数据运算。但受其硬件限制,对于大量的数据处理,还是没有能力胜任。

3  ARM的英文是Advanced RISC Machines,义为 增强型精简指令集计算机。ARM处理器本身是32位设计,但也配备16位指令集。一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。

arm采用固定长度的指令格式,指令归整、简单、基本寻址方式有2~3种。其使用单周期指令,便于流水线操作执行。大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。因为其基于精简指令,编译出来的代码比cisc要少很多。 所以一般ARM都用来做嵌入式操作系统的平台,做任务管理。

 

现在出现里许多混合型设备,如带有dsp内核的单片机,同时具有单片机和dsp的优点,有丰富的外设和处理大量数据的能力,可以做到指令流水执行。

秒杀G

  • 精华:12帖
  • 求助:0帖
  • 帖子:55帖 | 1460回
  • 年度积分:0
  • 历史总积分:12556
  • 注册:2009年4月10日
发表于:2011-03-14 14:57:55
5楼
DSP:适合于数字信号处理,例如FFT、数字滤波算法、加密算法和复杂控制算法等。
ARM:具有强大的事务处理功能,可以配合嵌入式操作系统使用
单片机:适用于简单的测控系统,功能相对简单,价格较低

ARM是通用处理器,和x86一样,可以在上面跑各种操作系统。
DSP根据名字就知道他是干嘛的了,一般用来作为专门处理数字信号。
单片机的工作ARM和dsp都能作,只是它便宜(而且有些单片机可靠性比arm和dsp都要
强,比如工业控制用的单片机),主要当作简单的控制器来使用,比如工业中的温度控制等。

DSP不适合跑OS,理由是DSP上几乎没有OS,即使有也是很差的那种。
大数据量处理需要1、并行处理;2、多任务调度;3、内存管理,而DSP在这三方面均无能力,这就决定了DSP不适合大数据量处理,用了OS最大的好处是并发处理大量数据,未来的趋势是大量的并发数字化处理,而且要有OS抽象出硬件层。随着多核CPU的出现,DSP将被超越。在DSP上做低端产品,直接控制比较好,切勿引入OS,DSP只有在低端用途上才能发挥最大功能。
DSP确实不适合用操作系统,毕竟它是一个数据处理器,可以考虑用普通的处理器+DSP的方式。

jingtao

  • 精华:2帖
  • 求助:0帖
  • 帖子:94帖 | 3205回
  • 年度积分:0
  • 历史总积分:20573
  • 注册:2007年10月31日
发表于:2011-03-18 16:21:19
6楼

1)单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。有4位,8位,16位,32位等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。单片机的应用领域有在智能仪器仪表中的应用、 工业测控中的应用、 在计算机网络和通讯技术中的应用、在日常生活及家电中的应用、单片机在办公自动化方面。

2)ARM是耗能低的RISC处理器、相关技术及软 件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。目前ARM在手持设备 市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间。它和4、8、16位单片机的差别就是内部资源比较多,可内嵌的内存较大,总线带宽较宽、有高速缓存,可外接的资源接口较多。

3)DSP芯片,也称数字信号处理器,其主机应用是实时快速地实现各种数字信号处理算法。有如下主要特点: 1)在一个指令周期内可完成一次乘法和一次加法; 2)程序和数据空间分开,可以同时访问指令和数据; 3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问; 4)具有低开销或无开销循环及跳转的硬件支持; 5)快速的中断处理和硬件I/O支持; 6)具有在单周期内操作的多个硬件地址产生器; 7)可以并行执行多个操作; 8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。

djgyy

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1200回
  • 年度积分:100
  • 历史总积分:20331
  • 注册:2020年6月23日
发表于:2011-03-18 18:19:48
7楼
ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。这里有一篇介绍ARM结构体系发展介绍。

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

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

单片机:低端的控制类芯片,功能较弱。

hjcan

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 292回
  • 年度积分:0
  • 历史总积分:2940
  • 注册:2011年2月21日
发表于:2011-03-18 19:56:50
8楼

单片机、ARM、DSP都是实现嵌入式系统的硬件平台。根据对象体系的功能复杂性和计算处理复杂性,提供的不同选择。对于简单的家电控制嵌入式系统,采用简单的8位单片机就足够了,价廉物美,对于手机和游戏机等,就必须采用32位的ARM和DSP等芯片了。

ARM与单片机的区别 :软件方面 ARM引入了操作系统;硬件方面 现在的8位单片机技术硬件发展的也非常得快,也出现了许多功能非常强大的单片机。但是与32ARM相比还是有些差距吧。 ARM芯片大多把SDRAM,LCD等控制器集成到片子当中。在8位机,大多要进行外扩。单片机的应用可以很广,现在航空上的使用器件也有不少是"简单"的单片机控制的。8位的单片机, 目前大部分工控如果做的还可以的话,都够用了。其次,单片机和arm的区别在于它的单位时钟频率不同, 这2个都可以配合操作系统使用,能完成的功能和他外围的设计相关。再次,dsp和那2个有着直接的区别, dsp是典型的input,output设备,里面的逻辑写定以后不需要太多维护, 它是做大数据,高精度,高复杂度运算的基本单元 。
dsp和cpu一直在融合。单片机一般没有FPU,arm大多也不支持,DSP有些系列的有,有些系列的没有,依据产品的定位而决定。他们的存储系统结构也不大一样。简单的说就是哈佛结构和冯.诺依曼结构的差别。但是也不是绝对的。单片机的空间划分由于其比较紧凑而精致。arm体系结构自身没有对这个作出定义。但是可以在编程时候通过一定的技巧来控制存储映射。DSP由于专用数字信号处理,应此在微体系结构实现时对于芯片内的存储带宽一般会大于ARM系统的。单片机一般认为就是微控制器,侧重于控制,数据处理能力很弱 。早期的DSP是用来弥补单片机在数据处理方面的不足,最大特点之一是采用哈佛结构,指令和数据分开,有很强的数据处理能力。现在随着技术的发展,很多单片机里面也嵌入了DSP核,DSP里面也有了控制器核,所以 单片机和DSP这个两个概念没有以前那么鲜明了。ARM是上面两个概念的一种实现,是获得了ARM公司授权的,使用ARM指令集的微控制器 的统称,ARM有控制功能,也有一些型号嵌入了DSP的功能,也有采用哈佛架构的,和上面两个概念不在一个层面上。

AQD008

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 3829回
  • 年度积分:6965
  • 历史总积分:110360
  • 注册:2020年3月27日
发表于:2011-03-22 11:32:09
9楼
单片机、ARM和DSP相同点同属于微型处理器。是以数字信号来处理大量信息的器件。区别是侧重点不同。单片机主要用控制系统。操作简单,DSP:适合于数字信号处理,运算速度快。ARM是通用处理器,能耗低处理事物能力达。可以配合嵌入式操作系统使用。通用性好。

一品黄山

  • 精华:11帖
  • 求助:0帖
  • 帖子:754帖 | 9779回
  • 年度积分:0
  • 历史总积分:48262
  • 注册:2004年3月31日
发表于:2011-03-22 14:19:07
10楼
单片机一般认为就是微控制器,侧重于控制,数据处理能力很弱

早期的DSP是用来弥补单片机在数据处理方面的不足,最大特点之一是采用哈佛结构,
指令和数据分开,有很强的数据处理能力

现在随着技术的发展,很多单片机里面也嵌入了DSP核,DSP里面也有了控制器核,所以
单片机和DSP这个两个概念没有以前那么鲜明了


ARM是上面两个概念的一种实现,是获得了ARM公司授权的,使用ARM指令集的微控制器
的统称,ARM有控制功能,也有一些型号嵌入了DSP的功能,也有采用哈佛架构的,和上
面两个概念不在一个层面上

举个不太恰当的例子
单片机---CPU
DSP---FPU(数字协处理器)
ARM-- x86体系结构下所有CPU的总称

在386及其以前,FPU不是CPU的一部分,要运行一些大型的计算软件
如结构CAD之类的,要专门买一块FPU来插在主板上,

到了486以后,FPU就已经是CPU的一部分了

wangchaobq

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 71回
  • 年度积分:0
  • 历史总积分:625
  • 注册:2011年1月22日
发表于:2011-03-28 14:44:00
11楼

早期的51系列的单片机主要用来做控制,侧重于控制方面, 早期的DSP,如24系列的,主要用来做算法,大家对比一下51单片机和DSP的汇编指令,就可以看出DSP在运算方面的优势了,还有现在PIC系列的单片机,由于有EVC的功能,在有些要求不高场合可以和TI2000系列共用了……

 

ARM做为51的升级版,控制功能有了很大的改善和扩展,最重要的是FLASH和RAM很大,从而可以实现在上面跑实时的OS,ARM7可以跑uc/osii等,ARM9如三星2440可以跑LIUNX……

 

DSP早期主要用作数字信号处理以及算法等,但是现在的C2000系列已经开始出现分支了,典型的如2812。TI最近推出的Piccolo系列的,如28027,28035除了有强大的时间管理器功能,控制方面也改善很多,加上价格的优势,在数字电源,变频,空调领域占据重要的地位,2000系列的另一分支为达芬奇系列的浮点DSP,这个不是太熟悉。

 

好多人认为DSP上面跑不了OS,其实跑类似于UC/OS的实时操作系统完全是可以的,而且TI 有自己推出的RTOS, 64K的Flash完全够用了,我们公司的所有产品中都跑有RTOS,而且现在好多电源类的产品,如UPS,变频器中都有……

cqu_rockwell

  • 精华:16帖
  • 求助:0帖
  • 帖子:678帖 | 8694回
  • 年度积分:0
  • 历史总积分:57901
  • 注册:2010年6月30日
发表于:2011-03-28 19:21:33
12楼

其实单片机,ARM,DSP都不是单独作为芯片来提供给用户的,都要加一些外围电路来支持。例如:memory controller,interrupt controller,timer,UART,SPI,I2C 等等。从下面几个方面来比较他们。 

(1) 单片机是8位的;ARM是32位的;DSP有16位的,也有更高的。
(2)所有说从运算能力上看,单片机最弱,DSP最强,ARM居中。
(3)结构差别较大,单片机最简单,是一般的冯诺伊曼结构;ARM9以上是哈佛结构的RISC;DSP一般使用哈佛结构。
(4).单片机一般芯片面积非常小,工作频率很低(一般是10多MHz,有的是20多MHz),所以功耗低。DSP则频率很高(高的达到300MHz以上),所以功耗大。ARM芯片面积也很小,ARM7是0.55平方毫米,功耗也比较小。频率大约在(几十到几百MHz之间)
(5).所以一般单片机主要应用于不需要太多计算量的控制类系统。一般配有丰富的外围module。DSP则主要应用于需要进行复杂计算的高端系统,例如图像处理,加密解 密,导航系统等,外围module一般较少。ARM是单片机和DSP之间的一个折衷,做大的特点是arm可以运行叫大的操作系统。
(6).强调一点:单片机的性能远不如ARM和DSP,但仍然占据重要的一席之地,原因就是性能价格比。因为它太成熟了,太小了,太便宜了。而在一些需要复杂计算的领域,DSP也不可或缺。ARM的成功就是他找到了一个折衷点,并且建立了一个非常灵活的商业模型。
(7).现在高端产品的一个趋势是ARM+DSP

lcw3077135

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 163回
  • 年度积分:0
  • 历史总积分:310
  • 注册:2011年3月14日
发表于:2011-03-28 19:42:00
13楼

哎!其实我还是蛮懂的!

单片机一般认为就是微控制器,侧重于控制,数据处理能力很弱!单片机是8位的;ARM是32位的;DSP有16位的,也有更高的,所有说从运算能力上看,单片机最弱,DSP最强,ARM居中。

其实楼上说的挺全面的了!基本上就是这样!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

zhaihui1

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2011年3月29日
发表于:2011-03-29 01:14:43
14楼
可以在详细一些。。对于不知道的人就能明白

总版主

  • 精华:0帖
  • 求助:0帖
  • 帖子:26帖 | 470回
  • 年度积分:0
  • 历史总积分:2845
  • 注册:2010年6月04日
发表于:2011-04-03 21:36:23
15楼

20MP获得者:
cqu_rockwell cqu_rockwell
(能够从各个方面阐述三者的区别,较完整)


10MP获得者:
Wangchaobq wangchaobq
秒杀G wain0222
Hjcan hjcan
(以上基本能阐述清楚三者的区别)

20积分获得者:
一品黄山 张立旺(如果能够从应用角度去分析区别,会更完整)
lcw3077135 lcw3077135(你懂,但就是不说)
Jingtao 惊涛骇浪
梦回唐朝 dwh000
djgyy djgxy
(以上三位:这里不是列举三者的特点,而是比较三者的区别)
welfare87 welfare87
陌上尘 zichen8716
HOTEAM haoge_188


热门招聘
相关主题

官方公众号

智造工程师