1. 什么是嵌入式,嵌入式与单片机区别联系

嵌入式,即嵌入式系统,英文:Embedded system。

1.1 嵌入式定义

1)定义1

国内认同度比较高的的定义:以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

定义注意两个重点:

(1)以应用为中心,即嵌入式最终服务于实际应用设备系统;

(2)专用计算机系统,即嵌入式是一个计算机系统,但是目标比较单一是专用性质的,不是通用的计算机系统。

2)定义2(定义比较笼统)

IEEE的定义:Devices used to control, monitor, or assist the operation of equipment, machinery or plants.控制、监视或者辅助设备、机器和车间运行的装置

1.2 嵌入式类型

  1. 微控制器MCU(Micro Control Unit)

结构:CPU + 片内内存 + 片内外设

早期的微控制器是将一个计算机集成到一个芯片中,实现嵌入式应用,故称单片机(singlechip microcomputer)。随后,为了更好地满足控制领域的嵌入式应用,单片机中不断扩展一些满足控制要求的电路单元。目前,单片机已广泛称作微控制器(MCU)。

也有由微处理器发展的微控制器,比如,Intel的386EX就是很成功的80386微处理器的微控制器版本。它与嵌入式应用的微处理器一样,也称为嵌入式微处理器。嵌入式处理器的高端产品有:Advanced RISC Machines公司的ARM、SiliconGraphics公司的MIPS、IBM和Motorola的Power PC 、Intel的X86和i960芯片、AMD的Am386EM、Hitachi的SHRISC芯片。

MCU(Micro Control Unit):叫微控制器,其实就是我们平常说的单片机。是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的芯片,比如51、STC、AVR、STM32

这些芯片,内部除了CPU外还有RAM、ROM,也就是在一块芯片中集成了整个计算机系统,可以直接加简单的外围器件(电阻,电容)就可以运行代码了。它本质上仍是一个完整的单片机,有处理器,有各种接口,所有的开发都是基于已经存在的系统架构,应用者要做的就是开发软件程序和加外部设备。而像ARM(Cortex-A系列)直接放代码是运行不了的,因为它本质上只是增强版的CPU,必须添加相应的RAM和ROM。

  1. DSP微处理器(Digital Signal Processor)

结构:CPU

一种独特的微处理器,是以数字信号来处理大量信息的器件,数字信号处理器(DSP)里的CPU是专门设计用来极快地进行离散时间信号处理计算的,比如那些需要进行音频和视频通信的场合;DSP内含乘加器,能比其它处理器更快地进行这类运算。

最常见的是TI的TMS320CXX系列和Motorola的5600X系列。

  1. 微处理器(Micro Processor Unit)

结构:CPU

单片机发展时间早,处理能力弱,一般的用在相对简单的控制领域。随着大规模集成电路的发展,嵌入式微处理器同步也发展起来了,与单片机相比,嵌入式微处理器处理能力强。

MPU (Micro Processor Unit),叫微处理器(不是微控制器MCU,很多人会把微处理器和微控制器混淆),MPU通常代表一个功能强大的CPU(暂且理解为增强版的CPU吧),但我在工作用到的芯片中,也有提到MCU有MPU单元的。MPU不是为任何已有的特定计算目的而设计的芯片。这种芯片往往是个人计算机和较为高级的芯片,一般在嵌入式系统中会提及。例如Intel 的X86,ARM的一些Cortex-A芯片如飞思卡尔i.MX6、全志A20、TI AM335X等都属于MPU。

嵌入式微处理器现有的有两种说法:

一种说法:嵌入式微处理器MPU是由通用计算机中的CPU演变而来的,微处理器(MPU)通常代表一个功能强大的CPU但不是为任何已有的特定计算目的而设计的芯片。这种芯片往往是个人计算机和高端工作站的核心CPU。最常见的微处理器是Motorola的68K系列和Intel的X86系列。

另外一种说法:嵌入式微处理器是在一个芯片上集成了复杂的功能,同时一些微处理器还把常见的外部设备控制器集成到芯片内部。例如ARM体系内部规定了32位总线,芯片厂家可以在总线上扩展外部设备控制器,把内核和外设控制器集成在一个芯片内,由于嵌入式微处理器功能强大内部度杂,在嵌入式微处理器上一般开发操作系统,帮助嵌入式系统应用简化开发、提高效率。

  1. 片上系统(System on Chip)

SOC称为系统级芯片,也称片上芯片,是一个专有目标的集成电路的产品,其中包括完整系统并有嵌入软件的全部内容。目前SOC更多的集成处理器(包括CPU,GPU,DSP),存储器,基带,各种接口控制模块,各种互联总线等,其典型代表为手机芯片。

SoC(System on Chip),整体的一个电路系统,完成一个具体功能的东西,指的是片上系统,MCU只是芯片级的芯片,而SoC是系统级的芯片,它既MCU那样有内置RAM、ROM同时又像MPU那样强大,不单单是放简单的代码,可以放系统级的代码,也就是说可以运行操作系统(以Linux OS为主)(将就认为是MCU集成化与MPU强处理力各优点二合一)。

  1. 可编程片上系统(System on a Programmable Chip)

SoPC(System On a Programmable Chip)与上述几项概念相比,SoPC的出现频率并不是那么高,但这并不影响它的重要性。SOPC是System On a Programmable Chip的缩写,即 可编程片上系统,SoPC与MCU、MPU、SoC最明显的区别在于:可更改硬件配置,也就是说自己构造芯片。

举个例子说明便于理解,单片机的硬件配置是固化好了的, 我们能够编程修改的就是软件配置,本来是串口通信功能,通过修改代码变成AD采样功能,也就是说硬件配置是固定了的,我们只能通过修改软件来选择其中的一项或多项功能;而SoPC可以修改硬件配置信息使其成为相应的芯片,可以是MCU,也可以是SoC。

1.3 嵌入式与单片机的区别联系

说到这里,我们来看看,嵌入式和单片机的区别到底是什么。

从前文的介绍来看,嵌入式系统是一个大类,单片机是其中一个重要的子类。嵌式系统像是一个完整的计算机,而单片机更像是一个没有外设的计算机。

以前单片机包括的东西并不算多,两者的硬件区别较为明显,但是,随着半导体技术的突飞猛进,现在各种硬件功能都能被做进单片机之中。所以,嵌入式系统和单片机之间的硬件区别越来越小,分界线也越来越模糊。

于是,人们倾向于在软件上进行区分。

从软件上,行业里经常把芯片中不带MMU(memory management unit,内存管理单元)从而不支持虚拟地址,只能裸奔或运行RTOS(实时操作系统,例如ucos、华为LiteOS、RT-Thread、freertos等)的system,叫做单片机(如STM32、NXP LPC系列、NXP imxRT1052系列等)。

同时,把芯片自带MMU可以支持虚拟地址,能够跑Linux、Vxworks、WinCE、Android这样的高级操作系统的system,叫做嵌入式。

在某些时候,单片机本身已经足够强大,可以作为嵌入式系统使用。它的成本更低,开发和维护的难度相对较小,尤其是针对一些针对性更强的应用。而嵌入式系统理论上性能更强,应用更广泛,但复杂度高,开发难度大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值