单片机与ARM嵌入式,DSP,FPGA的联系与区别

本文主要针对不同CPU架构以及现场可编程门阵列FPGA芯片区别与联系做一个介绍。

MCU(Micro Controller Unit),又称单片微型计算机(Single Chip Microcomputer),简称单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机。 MCU按其存储器类型可分为无片内ROM型和带片内ROM型两种。
单片机与ARM嵌入式,DSP,FPGA的联系与区别_第1张图片

对于无片内ROM型的芯片,必须外接EPROM才能应用(典型芯片为8031)。带片内ROM型的芯片又分为片内EPROM型(典型芯片为87C51)、MASK片内掩模ROM型(典型芯片为8051)、片内FLASH型(典型芯片为89C51)等类型 CPU是中央处理单元(Central Processing Unit)的缩写,它可以被简称做微处理器(Microprocessor),不过经常被人们直接称为处理器(processor)。

单片机与ARM嵌入式,DSP,FPGA的联系与区别_第2张图片

不要因为这些简称而忽视它的作用,CPU是计算机的核心,其重要性好比大脑对于人一样,因为它负责处理、运算计算机内部的所有数据,而主板芯片组则更像是心脏,它控制着数据的交换。CPU的种类决定了你使用的操作系统和相应的软件。CPU主要由运算器、控制器、寄存器组和内部总线等构成,是PC的核心,再配上储存器、输入/输出接口和系统总线组成为完整的PC(个人电脑)。 寄存器组用于在指令执行过后存放操作数和中间数据,由运算器完成指令所规定的运算及操作。

CPU和MCU之间的界限并不是很清晰,不过CPU主要用在电脑上,也算是控制器,MCU主要是工业控制领域,DSP用途也比较广。比如说DSP可以实现MP3解码,电机控制等。它的特点是处理速度比较快。

CPU(Central Processing Unit,中央处理器)发展出来三个分枝,一个是DSP(Digital Signal Processing/Processor,数字信号处理),另外两个是MCU(Micro Control Unit,微控制器单元)和MPU(Micro Processor Unit,微处理器单元)。

单片机与ARM嵌入式,DSP,FPGA的联系与区别_第3张图片

MCU集成了片上外围器件;MPU不带外围器件(例如存储器阵列),是高度集成的通用结构的处理器,是去除了集成外设的MCU;DSP运算能力强,擅长很多的重复数据运算,而MCU则适合不同信息源的多种数据的处理诊断和运算,侧重于控制,速度并不如DSP。

MCU区别于DSP的最大特点在于它的通用性,反应在指令集和寻址模式中。DSP与MCU的结合是DSC,它终将取代这两种芯片。

在20世纪最值得人们称道的成就中,就有集成电路和电子计算机的发展。20世纪70年代出现的微型计算机,在科学技术界引起了影响深远的变革。在70年代中期,微型计算机家族中又分裂出一个小小的派系–单片机。随着4位单片机出现之后,又推出了8位的单片机。MCS48系列,特别是MCS51系列单片机的出现,确立了单片机作为微控制器(MCU)的地位,引起了微型计算机领域新的变革。在当今世界上,微处理器(MPU)和微控制器(MCU)形成了各具特色的两个分支。它们互相区别,但又互相融合、互相促进。与微处理器(MPU)以运算性能和速度为特征的飞速发展不同,微控制器(MCU)则是以其控制功能的不断完善为发展标志的。

mcu .cpu .dsp 不同点在于他们的运算处理能力,以及侧重的应用领域。

mcu 专注于工业控制,功能简单,有一个alu(算数逻辑运算单元),成熟的经典的是8051.

cpu 功能强大,但是不侧重于任何一点,优势均衡。适合于对于处理没有严格要求的复杂系统。成熟经典的是x86、arm体系。

dsp 专注于数据处理,有多个alu,多用于多媒体应用等,需要大数据量的地方。

mcu、cpu、dsp三者按处理能力来排列是正序。但是基本的原理是一致的,从相对简单的mcu入门是明智的选择。

单片机与ARM嵌入式,DSP,FPGA的联系与区别_第4张图片

MPU (Microprocessor Unit)微处理器

微机中的中央处理器(CPU)称为微处理器(MPU),是构成微机的核心部件,也可以说是微机的心脏。它起到控制整个微型计算机工作的作用,产生控制信号对相应的部件进行控制,并执行相应的操作。

在微机中,CPU被集成在一片超大规模集成电路芯片上,称为微处理器(MPU),微处理器插在主板的cpu插槽中。

DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。

1、数字信号处理器的内核结构进一步改善,多通道结构和单指令多重数据(SIMD)、特大指令字组(VLIM)将在新的高性能处理器中将占主导地位,如Analog Devices的 ADSP-2116x。

2、DSP 和微处理器的融合:

微处理器是低成本的,主要执行智能定向控制任务的通用处理器能很好执行智能控制任务,但是数字信号处理功能很差。而DSP的功能正好与之相反。在许多应用中均需要同时具有智能控制和数字信号处理两种功能,如数字蜂窝电话就需要监测和声音处理功能。因此,把DSP和微处理器结合起来,用单一芯片的处理器实现这两种功能,将加速个人通信机、智能电话、无线网络产品的开发,同时简化设计,减小PCB体积,降低功耗和整个系统的成本。例如,有多个处理器的Motorola公司的DSP5665x,有协处理器功能的Massan公司FILU-200,把MCU功能扩展成DSP和MCU功能的TI公司的TMS320C27xx以及Hitachi公司的SH-DSP,都是DSP和MCU融合在一起的产品。互联网和多媒体的应用需要将进一步加速这一融合过程。

单片机与ARM嵌入式,DSP,FPGA的联系与区别_第5张图片

3、DSP 和高档CPU的融合:

大多数高档GPP如PenTIum 和PowerPC都是SIMD指令组的超标量结构,速度很快。LSI Logic 公司的LSI401Z采用高档CPU的分支预示和动态缓冲技术,结构规范,利于编程,不用担心指令排队,使得性能大幅度提高。Intel公司涉足数字信号处理器领域将会加速这种融合。

4、DSP 和SOC的融合:

SOC(System-On-Chip)是指把一个系统集成在一块芯片上。这个系统包括DSP 和系统接口软件等。比如Virata公司购买了LSI Logic公司的ZSP400处理器内核使用许可证,将其与系统软件如USB、10BASET、以太网、UART、GPIO、HDLC等一起集成在芯片上,应用在xDSL上,得到了很好的经济效益。因此,SOC芯片近几年销售很好,由1998年的1.6亿片猛增至1999年的3.45亿片。1999年,约39%的SOC产品应用于通讯系统。今后几年,SOC将以每年31%的平均速度增长,到2004年将达到13亿片。毋庸置疑,SOC将成为市场中越来越耀眼的明星。

5、DSP 和FPGA的融合:

FPGA是现场编程门阵列器件。它和DSP集成在一块芯片上,可实现宽带信号处理,大大提高信号处理速度。据报道,Xilinx 公司的Virtex-II FPGA对快速傅立叶变换(FFT)的处理可提高30倍以上。它的芯片中有自由的FPGA可供编程。Xilinx公司开发出一种称作Turbo卷积编译码器的高性能内核。设计者可以在FPGA中集成一个或多个Turbo内核,它支持多路大数据流,以满足第三代(3G)WCDMA无线基站和手机的需要,同时大大节省开发时间,使功能的增加或性能的改善非常容易。因此在无线通信、多媒体等领域将有广泛应用。




最后再说说,CPU:中央处理器
单片机与ARM嵌入式,DSP,FPGA的联系与区别_第6张图片

CPU 包括运算逻辑部件、寄存器部件和控制部件等,其本质就是一个集成电路,实现的功能就是从一个地方读出一个指令,从另一个地方读出数据,然后根据指令的不同对数据做不同的处理,然后把结果存回某个地方,而不同架构的CPU会有不同的指令、不同的存取方式、不同的速度、不同的效率等差异。

从实现运算的角度,单片机、ARM、DSP都可以称之为CPU

1、单片机:微控制器MCU

目前,单片机已广泛称作微控制器(MCU),单片机是一块类似PC的芯片,只是没PC强大,但它可以嵌入到其它设备中从而对其进行操控。

单片机的多机应用系统可分为功能集散系统、并行多机处理及局部网络系统。

2、ARM:高效能RISC

ARM内核是一个嵌入式系统。RISC架构的指令,寄存器和流水线特征使它非常适合于并行计算。

3、DSP:通用数字信号处理器

DSP是一种独特的微处理器,是以数字信号来处理大量信息的器件。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。

这三个都是CPU,只不过是针对不同的应用,CPU最主要的是解决运算问题,计算机的CPU能够访问存储器的数据和指令进行运算,因此从实现运算这一点的角度上看,无论是单片机、ARM、DSP都可以称之为CPU。

同时作为CPU的单片机、ARM、DSP,三者的区别

虽然单片机、ARM、DSP都被称作CPU,但是它们之间还是有明显区别的。

1、单片机是一种有完整计算机体系的芯片,适用于简单的测控系统,功能相对简单。

单片机的工作ARM和DSP都能作,单片机对于数字计算方面的指令少得多,DSP为了进行快速的数字计算,提高常用的信号处理算法的效率,加入了很多指令,比如单周期乘加指令、逆序加减指令,块重复指令等等,甚至将很多常用的由几个操作组成的一个序列专门设计一个指令可以一周期完成,极大的提高了信号处理的速度。

由于数字处理的读数、回写量非常大,为了提高速度,采用指令、数据空间分开的方式,以两条总线来分别访问两个空间,同时,一般在DSP内部有高速RAM,数据和程序要先加载到高速片内ram中才能运行。

2、ARM是微处理器,具有强大的事务处理功能,可以配合嵌入式操作系统使用。

ARM最大的优势在于速度快、低功耗、芯片集成度高,多数ARM芯片都可以算作SOC,基本上外围加上电源和驱动接口就可以做成一个小系统了,基于ARM核心处理器的嵌入式系统以其自身资源丰富、功耗低、价格低廉、支持厂商众多的缘故,越来越多地应用在各种需要复杂控制和通信功能的嵌入式系统中。

目前,采用ARM核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。

3、DSP适用于数字信号处理,例如FFT、数字滤波算法、加密算法和复杂控制算法等。

DSP实时运行速度可达每秒数以千万条复杂指令程序。DSP器件比16位单片机单指令执行时间快8~10倍,完成一次乘加运算快16~30倍,其采用的设计是数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠,其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式,它的强大数据处理能力和高运行速度,是最值得称道的两大特色。

DSP芯片,由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。其主要应用是实时快速地实现各种数字信号处理算法。

现在的话,ARM不上系统和单片机没什么区别。
ARM处理器是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。全称为Acorn RISC Machine。ARM处理器本身是32位设计,但也配备16位指令集,一般来讲比等价32位代码节省达35%,却能保留32位系统的所有优势。

ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和合作伙伴众多。

1、体积小、低功耗、低成本、高性能;

2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;
  
3、大量使用寄存器,指令执行速度更快;

4、大多数数据操作都在寄存器中完成;

5、寻址方式灵活简单,执行效率高;

6、指令长度固定。

单片机与ARM嵌入式,DSP,FPGA的联系与区别_第7张图片
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

1、主流单片机包括CPU、4KB容量的RAM、128 KB容量的ROM、 2个16位定时/计数器、4个8位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。

2、系统结构简单,使用方便,实现模块化;

3、单片机可靠性高,可工作到10^6 ~10^7小时无故障;

4、处理功能强,速度快。

5、低电压,低功耗,便于生产便携式产品

6、控制功能强

7、环境适应能力强。
单片机与ARM嵌入式,DSP,FPGA的联系与区别_第8张图片
arm是单片机吗
  arm是单片机的一种,51也是,但arm的ROM和RAM远大于51,而且IO口功能和处理速度也是两个级别的,arm能上很多操作系统,51只能勉强上极其简单的实时操作系统,所以arm常用来开发手机等多媒体产品,51只能完成有限的实时控制功能,形象一点说,51和arm的等级差别就像手机和个人电脑的等级差别。

arm与单片机的区别
  1、软件方面

这应该是最大的区别了,引入了操作系统,为什么引入操作系统?有什么好处嘛?

1)方便:主要体现在后期的开发,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还是要专业人士来做。

2)安全:这是LINUX的一个特点。LINUX的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统死掉。这在单片机的软件开发中没见到过。3)高效。引入进程的管理调度系统,使系统运行更加高效。在传统的单片机开发中大多是基于中断的前后台技术,对多任务的管理有局限性。

2、硬件方面

现在的8位单片机技术硬件发展的也非常得快,也出现了许多功能非常强大的单片机。但是与32ARM相比还是有些差距吧。ARM芯片大多把SDRAM,LCD等控制器集成到片子当中。在8位机,大多要进行外扩。总的来说,单片机是个微控制器,ARM显然已经是个微处理器了。

总结一下,
除速度和字长外,DSP与单片机的区别:
单片机学名微控制器(MCU),有4位,8位,16位,32位等。而使用英国ARM公司推出的架构方案的32位微控制器就是你说的ARM芯片。
它和4、8、16位单片机的差别就是内部资源比较多,可内嵌的内存较大,总线带宽较宽等等……还有像楼上说的有高速缓存,可外接的资源接口较多,可以实时运行操作系统(内存管理是操作系统内的东西,不是ARM芯片的)。而JTAG不是ARM的专利,我用PIC和MSP430等8位16位MCU也可以使用这些。

最大的区别就是,单片机是MCU,即微型控制器;而ARM只不过是MPU,微处理单元,相当于单片机内部的运算单元(CPU或ALU)而已。它们很明显能看出来的是单片机内部自带RAM和FLASH,而ARM是没有的,需要外部拓展。这就像是电脑上的CPU一样,需要硬盘和内存。不过现在有不少公司将FLASH和RAM做进ARM芯片,但这也只不过是相当于外围电路的扩展而已

1、存储器结构不同

单片机使用冯.诺依曼存储器结构。这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核。

大多数DSP采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。

2、 对密集的乘法运算的支持

单片机不是设计来做密集乘法任务的,即使是一些现代的GPP,也要求多个指令周期来做一次乘法。而DSP处理器使用专门的硬件来实现单周期乘法。DSP处理器还增加了累加器寄存器来处理多个乘积的和。累加器寄存器通常比其他寄存器宽,增加称为结果bits的额外bits来避免溢出。

3、 零开销循环

DSP算法的一个共同的特点,即大多数处理时间都花在执行较小的循环上,也就容易理解,为什么大多数的DSP都有专门的硬件,用于零开销循环。所谓的零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值,条件转移到循环大额顶部,将循环计数器减1。

单片机是Single-chip Microcomputer的较准确译法,但最能准确反映单片机设计思想、并且有长远技术眼光的词汇是Microcontroller(微控制器)。

扩展资料:

DSP主要针对一些计算能力要求较高的应用,如视频图像处理、智能机器人、数字无线、宽带访问、数字音频、高分辨率成像和数字电机控制等。

单片机应用最为广泛,主要利益于它的成本控制上,使它能在许多对计算能力要求不那么高的应用立足。相信在未来几年里,MCU市场关键增长驱动力将来自于绿色能源,智能电子设备,智能电网以及电子产品的升级换代比如汽车电子。

单片机与ARM嵌入式,DSP,FPGA的联系与区别_第9张图片

参考资料:百度百科-单片机

百度百科-数字信号处理

DSP:适合于数字信号处理,例如FFT、数字滤波算法、加密算法和复杂控制算法等。
ARM:具有强大的事务处理功能,可以配合嵌入式操作系统使用
单片机:适用于简单的测控系统,功能相对简单,价格较低
ARM是通用处理器,和x86一样,可以在上面跑各种操作系统。
DSP根据名字就知道他是干嘛的了,一般用来作为专门处理数字信号。
单片机的工作ARM和dsp都能作,只是它便宜(而且有些单片机可靠性比arm和dsp都要
强,比如工业控制用的单片机),主要当作简单的控制器来使用,比如工业中的温度控制等

DSP与单片机,两者相比,DSP是专做数字信号处理的芯片,运行速度快,具有专门的硬件乘法器,可以用来快速的实现各种数字信号处理算法;而普通的单片机则不具备这些能力,但是凭借成本低廉的优势一般很适合在嵌入式领域使用。你可以把DSP看成是针对特殊领域进行优化和加强了的单片机,就好比带有3D加速的iPhone 4 (A4处理器)在玩3d游戏时秒杀MTK平台的国产手机一样,但是两者在处理短信的收发上区别就不明显了,再或者说带独显的电脑和集显的电脑在打开word文档的速度上是差别不大的,但是在玩游戏的时候独显能跑的很流畅,集显的很可能就在放幻灯片—卡了。

其实你也可以想想,现在出现的很多pu,apu,bpu,cpu,dpu,gpu,npu等等,它们可能可以叫做什么什么处理器,但往往很多只能叫做加速器,因为他们没有指令集,与我们熟悉的通用性cpu,以及arm,甚至单片机,dsp都差远了,像寒武纪他们做的已经出了指令集,能够以cpu的形式执行指令完成操作,也往往只能叫做协处理器,不能取代cpu中央处理器的位置。




这里其实还有一篇写的很的一篇博文,我想贴下来,怕以后就看不了了。。

浅谈单片机、ARM和DSP的异同
互联网 2014年08月28日 18:00 • 1488次浏览

犹记得当年读书的时候,老师说单片机、ARM、DSP有互通之处,都是CPU,但听老师讲都听不懂。

我该如何理解他们,并找出他们的异同呢?我们来看看行内人的看法:

ICer,从事ARM CPU的SOC设计

按我的理解说几句吧,希望能说薄一点。

首先,说CPU,中央处理器,本质就是一个集成电路,实现的功能就是从一个地方(如rom)读出一个指令,从一个地方(如ram)读出数据,然后根据指令的不同对数据做不同的处理(如相加),然后把结果存回某个地方(如ram)。不同架构的cpu会有不同的指令,不同的存取方式,不同的速度,不同的效率,等等的差异。

然后,说单片机(通常意义所说的微控制器MCU),ARM(通常意义所说的高效能RISC),DSP(通常意义所说的通用数字信号处理器),这三个CPU分别是针对不同的应用而产生的CPU。当然这也不是绝对的,因为ARM现在出的CPU囊括了MCU(如M0),RISC(如A8),DSP(如M4)。

微控制器的目的主要是用作控制,他不需要多快的速度,如电饭锅的控制器,只需要控制发热元件的通断,信号等的开关等,但是对成本要求很严格,所以一般做得比较简单,4位,8位的很多。

高效能的RISC,常用于一些数据处理比较多的地方,最常见的莫过于现在的消费性电子产品了,手机,pad,MP4等等,目前ARM的商业模式主要是卖内核,集成到各家的SOC中间。他其实就是个通用的CPU,能干各种各样的活,和Intel的CPU一样。但是通用就有效能问题,在某些特殊场合,效能就显得没那么高了,如大量运算(譬如做FFT)的时候。这样就有DSP的用武之地了。

DSP,数字信号处理器,只要是做数字信号处理的模块都可以叫做一个DSP,如视频解码的IP核。但你老师所说的应该是指通用的数字信号处理器,如Ti的TMS320C55x DSP。该CPU的长处就是在于运算,大量循环的计算,如连续1024个乘加。他的指令针对这种应用有特殊的处理,相比RISC可以更快速高效地完成这类运算。

总的来说,学习CPU,首先就是要了解其指令集,然后了解去指令执行的方式,然后针对具体的芯片了解其外围电路,程序都是用C写的,基本使用就没啥问题了。

入门教材就不知道了,学好微机原理先吧。

qccc

一种设备能称之为CPU,是因为它能够融入到计算机的冯诺依曼体系中。冯诺依曼的计算机模型规定了计算机“运算器、存储器、控制器、外存储器、输入和输出设备”,而CPU的重要地位在于解决了运算问题,计算机的CPU能够访问存储器的数据和指令进行运算,从实现运算这一点的角度上看,无论是单片机、ARM、DSP都可以称之为CPU。

单片机集成完整的冯诺依曼体系所规定的结构,是一个完整的计算机体系。实现特定的运算功能,应用领域集中在工业自动化控制等专门化需求的运算领域。

ARM出品的芯片精髓在“R”,是RISC精简指令集的意思,和传统大型机以及PC微处理器采用的指令系统相比,RISC指令集根据80%的时候只用到了20%的处理器指令的状况,使用了经过精简设计的指令系统,使得整个处理器的设计可以更加简洁,功耗、体积大大缩小,所以ARM在目前的手机、平板等职能移动设备上得到了广泛应用。随着ARM处理能力的不断增强,加上其功耗小的特点,也不断在扩展其企业级服务器集群应用的可能性,为企业降低能耗成本。

DSP是数字信号处理器,相较于普通计算机实现通用计算的特点,DSP只负责数字信号(视频、音频或者其他传感器获得数字信号)处理。在日常生活中,常见的DVD、蓝光播放机、数字电视机顶盒、MP3、MP4等都广泛使用了DSP,由于设计的专门化,所以可以在较低的成本下,使DSP执行异常复杂的编码、解码等信号处理工作,而无需使用价格昂贵的通用处理器。

所以从广义上讲,单片机、ARM和DSP都可以算做CPU,但是这种说法并不严格,因为如今CPU往往指代的是兼容x86架构的通用处理器,例如你电脑里的intel和amd出品的cpu。如果把单片机、ARM和DSP都称作CPU,会在理解上产生偏差。

谢文洋,嵌入式爱好者

这些的确都能算CPU,前面大家已经说过共同点了,我主要说说区别吧。主要区别在于用途不同造成了功能侧重的区别。

比如单片机和低端ARM(如M3),更严谨的说法应该称作Microcontroller 或 MCU(Micro Control Unit),中文一般叫“微控制器”。而CPU叫做“中央处理器”。一个Control 和 Process 还是有很大区别的。 微控制器不需要一般也不具备强大的计算能力,重点在于实现各种逻辑和非逻辑控制。

而DSP的(Digital Signal Processor), PROCESS表明它相比于通用单片机具有更为强大的处理,运算能力。可以实现对数字信号的各种算法的处理。

举一个简单的例子。一个MP3可能由一块普通MCU+一块专用DSP 芯片组成。 其中普通MCU叫主控芯片,负责全局控制。诸如通过处理按键来响应用户的操作,控制屏幕输出相关播放信息给用户等等。而DSP只负责音频文件的解码。可见,全局的控制工作,逻辑比较繁琐,比如显示中各级菜单的实现,这是MCU适合的工作。而音频解码需要强大的运算能力,普通MCU难以胜任,就需要DSP来进行。

而ARM和单片机,我个人认为没有特别严格意义的界限,主要看功能和需求的划分。ARM本身已经给我们划分的很好了:”ARMv7架构定义了三大分工明确的系列:‘A’系列面向尖端的基于虚拟内存的操作系统和用户应用;‘R’系列针对实时系统;‘M’系列对微控制器。“ 所以诸如STM32之类的Cortex-M3芯片其实也可以理解做高端单片机的范畴。侧重于控制,片内集成,低功耗等指标。相比传统51,AVR。 Contrex-M系列的微控制器集成了更多的资源(如更高位的AD,更多的串口,以及I2C,SPI之类的外设总线)。而且32位相比传统8位和16位的单片机也更有优势。

而消费类电子产品中的ARM显然需要更为强大的运算功能。 这一块我不太熟悉,就不多说了。

额,发现楼主还问了如何学习。其实很简单,就是实践。买一块开发板实际动手做比什么都强,有机会参与一些项目更好,自学现在网络资源也非常丰富,不用担心。可以从8位单片机学起,作为入门。虽然近些年大家都说51落伍了,但是作为单片机入门还是很好的,相对简单,网上资源到处都是。你去买任何一个模块几乎都会给你提供51的例程。。。我现在就经常拿51测试模块,测试好了再改一下代码用到stm32上。

总之,只看书是没有用的。还是要多动手。写写代码,烧烧程序,焊焊简单的电路。你会收获很多。

anning865

我也来说一下自己的理解。

首先,“嵌入式”这是个概念,准确的定义没有,各个书上都有各自的定义。但是主要思想是一样的,就是相比较PC机这种通用系统来说,嵌入式系统是个专用系统,结构精简,在硬件和软件上都只保留需要的部分,而将不需要的部分裁去。所以嵌入式系统一般都具有便携、低功耗、性能单一等特性。

然后,MCU、DSP、FPGA这些都属于嵌入式系统的范畴,是为了实现某一目的而使用的工具。

MCU经过这么多年的发展,早已不单单只有普林斯顿结构的51了,性能也已得到了很大的提升。因为MCU必须顺序执行程序,所以适于做控制,较多地应用于工业。而ARM本是一家专门设计MCU的公司,由于技术先进加上策略得当,这两年独霸单片机市场。ARM的单片机有很多种类,从低端M0(小家电)到高端A8、A9(手机、平板电脑)都很吃香,所以也不是ARM的单片机一定要上系统,关键看应用场合。

DSP叫做数字信号处理器,它的结构与MCU不同,加快了运算速度,突出了运算能力。可以把它看成一个超级快的MCU。低端的DSP,如C2000系列,主要是用在电机控制上,不过TI公司好像称其为DSC(数字信号控制器)一个介于MCU和DSP之间的东西。高端的DSP,如C5000/C6000系列,一般都是做视频图像处理和通信设备这些需要大量运算的地方。

FPGA叫做现场可编程逻辑阵列,本身没有什么功能,就像一张白纸,想要它有什么功能完全靠编程人员设计。如果你够NB,你可以把它变成MCU,也可以变成DSP。由于MCU和DSP的内部结构都是设计好的,所以只能通过软件编程来进行顺序处理,而FPGA则可以并行处理和顺序处理,所以比较而言速度最快。

那么为什么MCU、DSP和FPGA会同时存在呢?那是因为MCU、DSP的内部结构都是由IC设计人员精心设计的,在完成相同功能时功耗和价钱都比FPGA要低的多。而且FPGA的开发本身就比较复杂,完成相同功能耗费的人力财力也要多。所以三者之间各有各的长处,各有各的用武之地。但是目前三者之间已经有融合的态势,ARM的M4系列里多加了一个精简的DSP核,TI的达芬奇系列本身就是ARM+DSP结构,ALTERA和XINLIX新推出的FPGA都包含了ARM的核在里面。所以三者之间的关系是越来越像三基色的三个圆了。

一句话以蔽之“你中有我,我中有你”。




目前可以说arm在嵌入式领域独霸天下,其最强的对手应该是英特尔,两者在移动端和pc端两个平台上独领风骚,但也在相互渗入,抢占市场。
这里主要针对ARM公司不同架构的芯片区别。

Cortex系列属于ARMv7架构,这是到2010年为止ARM公司最新的指令集架构。(2011年,ARMv8 架构在 TechCon 上推出)ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。

单片机与ARM嵌入式,DSP,FPGA的联系与区别_第10张图片

图中的ARM7,ARM9,ARM11是ARM公司未更名前的芯片命名规则,其中ARM7属于低端处理器,ARM9,ARM11为中高端处理器。

目前差用的STM32为Cortex-m3内核,属于微控制器类;

而Cortex-A系列,则属于高端处理器,属于微处理器类;

高端处理器和低端处理器最明显的区别就是能不能跑系统。

这里的系统并不是指Ucos这种实时系统,而是像Linux这种系统。

它们的区别在于,低端处理器没有CACHE和MMU:

Cache存储器:电脑中为高速缓冲存储器,是位于CPU和主存储器DRAM(DynamicRandomAccessMemory)之间,规模较小,但速度很高的存储器,通常由SRAM(StaticRandomAccessMemory静态存储器)组成。它是位于CPU与内存间的一种容量较小但速度很高的存储器。CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从Cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。Cache又分为L1Cache(一级缓存)和L2Cache(二级缓存),L1Cache主要是集成在CPU内部,而L2Cache集成在主板上或是CPU上。

MMU:是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。

将线性地址映射为物理地址

现代的多用户多进程操作系统,需要MMU,才能达到每个用户进程都拥有自己独立的地址空间的目标。

主要参考:
http://www.elecfans.com/emb/danpianji/20170521517972.html

http://www.elecfans.com/app/api/focus/index/id/341

https://blog.csdn.net/godloveyuxu/article/details/80027501

https://blog.csdn.net/long_long666/article/details/81449346

你可能感兴趣的:(数字电路)