单片机和嵌入式的区别
任何从事电子、信息技术相关工作的人想必都听说过嵌入式和单片机。
我们都知道这两个名词和硬件系统有着非常密切的关系。但是,如果要问到底什么是嵌入式,什么是单片机,它们之间有什么区别,相信大部分人都无法解释清楚。
今天,尝试给大家介绍一下。
我们经常说51,STM32,到底是什么?嵌入式又是什么?
首先,让我们看看什么是嵌入式。
嵌入式,一般指嵌入式系统,英文叫:embedded system。嵌入式开发实际上就是嵌入式系统的开发。
IEEE(电气和电子工程师协会)对嵌入式系统的定义是:“用于控制、监视或协助机器和设备运行的设备”。
国内的学术定义更具体一些,也更容易理解。
嵌入式系统,以应用为中心,以计算机技术为基础,软硬件可切割,适用于对功能、可靠性、成本、体积、功耗等有严格要求的特殊计算机系统。
以应用为中心表明嵌入式系统具有明确的实际用途。以计算机技术为基础,表明它实际上是一种特殊的计算机。硬件和软件都可以切割,说明它具有很强的灵活性和可定制性。
特殊计算机系统,“特殊”对应“一般”。我们经常使用个人PC、笔记本电脑、数据中心服务器,可以用于多种用途,是“通用计算机系统”。
嵌入式系统的具体“专用”方向是什么?
以下是一些示例。
个人通信和娱乐系统:手机、数码相机、音乐播放器、可穿戴电子设备、PSP 游戏机
家电:数字电视、扫地机、智能家电
办公自动化:打印机、复印机、传真机
医疗电子产品:生化分析仪、血液分析仪、CT
网络通讯产品:通讯类交换设备、网络设备(交换机、路由器、网络安全)
汽车电子产品:发动机控制、安全系统、汽车导航和娱乐系统
工控产品:工控机、交互终端(POS、ATM)、安防监控、数据采集传输、仪器仪表
军用和航空产品:无人机、雷达、作战机器人
上述所有领域都使用嵌入式系统。这只是冰山一角。
可以说,嵌入式系统完全包围着我们,无时无刻不在影响着我们的工作和生活。
嵌入式系统,既然是计算机系统,必然离不开硬件和软件。
嵌入式系统的典型架构如下: 从硬件上看,嵌入式系统是以处理器(CPU)为核心,依靠总线(Bus)进行连接的多模块系统。
上图就是一个嵌入式系统板子有CPU,有RAM,有ROM、网卡、串口、电源等。可见嵌入式系统虽小,但五脏俱全。 嵌入式系统的核心是嵌入式处理器。
嵌入式处理器一般分为以下几种典型类型。
嵌入式微控制器MCU(微控制单元)
嵌入式DSP处理器(数字信号处理器)
DSP处理器专用于信号处理,在系统结构和指令算法上进行了专门设计。它广泛用于数字滤波、FFT 和频谱分析。典型代表是 TI (Texas Instruments) 的 TMS320C2000/C5000 系列。
嵌入式微处理器 MPU(微处理器单元)
MPU由通用处理器演变而来,具有高性能和丰富的外围组件接口。典型代表有AM186/88、386EX、SC-400、PowerPC、MIPS、ARM系列等。
此外,还有嵌入式片上系统SoC(System on Chip)和可编程片上系统SoPC(System on a Programmable Chip)。我们的单片机属于上述的第一个——MCU(嵌入式微控制器)。
单片机(微控制器)Microcontroller,英文全称为Single-Chip Microcomputer。
它实际上是一个集成电路芯片,它是一种超大规模集成电路技术,把CPU、RAM、ROM、输入/输出和中断系统、定时器/计数器等功能都塞进一个硅片,变成一台微型计算机。这么看来,单片机不就是嵌入式系统吗?
术语“单片机”实际上是一个旧名称。由于之前半导体技术不成熟,不同的功能无法做到一个芯片(Chip)中,所以会有多片机。现在半导体技术早就很先进了,所以没有多片机。然而,“单片机”这个名称一直沿用至今。
很多高校教师喜欢强调单片机姓“单”,除了指单片机只是一个硅芯片,更多的是指单片机的功能单一,就是完成计算、逻辑控制、通信等功能的单个模块。即使它的性能再强大,功能依然单一。
单片机技术诞生于 1970 年代后期,早期是 4 位,后来发展为 8 位、16 位和 32 位。它在真正崛起是在 8 位时代。8位单片机功能非常强大,广泛应用于工控、仪器仪表、家电、汽车等领域。
我们在研究单片机的时候,经常会听到两个词——51单片机,STM32。下面介绍一下它们的真正含义。
51单片机,其实就是一系列单片机的统称。该系列单片机,兼容Intel 8031指令系统。它们的鼻祖,英特尔(Intel) 8004单片机。
请注意,51系列单片机并非都是英特尔的产品。包括ATMEL(爱德梅尔)、飞利浦(Philips)、华邦、达拉斯(Dallas)、西门子(Siemens)、STC(国产宏芯片)等公司,也有不少产品属于51单片机系列。
长期以来,51单片机曾经是市场上最主流、应用最广泛的单片机,占据了很大的市场份额。
不得不承认51单片机其实现在没有技术优势,是很老的技术了。之所以能如此坚韧,除了曾经的人气之外,就是英特尔彻底开放了51核的版权。因此,无论任何单位或个人,都可以使用51单片机,不用担心付费,不用担心版权风险。
此外,51单片机拥有强大的库存基础和大众基础。很多老项目都在使用51单片机,出于成本考虑,有时只能继续沿用51单片机技术升级。而且,很多老一辈的工程师都精通51单片机开发技术。因此,51单片机的生命力得以延续。
然后看STM32。
STM32,是意法半导体公司推出的基于ARM Cortex-M内核的通用微控制器。
意法半导体是全球最大的半导体公司之一,于1987年6月由意大利SGS微电子和法国汤姆森半导体合并而成。
ARM是目前全球最强大的芯片设计公司之一,利用手机芯片的快速发展和物联网市场份额的巨大上升,在微控制器领域,ARM的Cortex-M内核具有压倒性优势,已成为绝对主流。许多半导体公司已经放弃了原来的架构,转而使用ARM架构的微控制器。STM32的硬件配置可以满足大多数物联网开发需求,开发工具及相关文档齐全,已成为当前微控制器学习的首选对象。
嵌入式和微控制器的区别
说到这,我们来看看,嵌入式和微控制器有什么区别。
从前面的介绍来看,嵌入式系统是一个大类,而微控制器(单片机)是重要的子类之一。嵌入式系统就像一台完整的计算机,而微控制器更像是一台没有外围设备的计算机。以往单片机包含的并不多,两者的硬件差异比较明显。但是,随着半导体技术的飞速进步,现在各种硬件功能都可以做成单片机了。因此,嵌入式系统和微控制器的硬件差异越来越小,分界线越来越模糊。因此,人们倾向于在软件中进行区分。
从软件上来说,业界往往把芯片不带MMU(内存管理单元,memory management unit)因而不支持虚拟地址,只能运行裸机或RTOS(实时操作系统,如ucos、Huawei LiteOS、RT -Thread、freertos等)系统,称为微控制器(如STM32、NXP LPC系列、NXP imxRT1052系列等)。
同时,芯片自带的MMU可以支持虚拟地址,可以运行Linux、Vxworks、WinCE、Android等“高级”操作系统,称为嵌入式。
在某些时候,微控制器本身足够强大,可以用作嵌入式系统。它的开发和维护成本更低,难度也相对较小,特别是对于一些更有针对性的应用程序。另一方面,嵌入式系统在理论上更强大且应用更广泛,但更复杂且难以开发。
嵌入式和微控制器的学习价值
最后说一下嵌入式和单片机的学习价值,到底嵌入式和单片机没必要学。
近年来,有一句话广为流传,那就是——“软件为王”。人们普遍认为,软件知识的价值远大于硬件,而学习软件,从事软件方向的工作,会更容易找到工作,并且收入更高,更有前途。
嵌入式和单片机,常归为“硬件”方向,被人们“嫌弃”。另外,嵌入式和单片机学习比较困难,学习周期长,需要很长的“磨难”,所以越来越多的人放弃了这条路。
我认为这个想法是不正确的。
首先,嵌入式和单片机不是纯粹的“硬件”类方向。正如我之前所说,它们是软件和硬件的紧密结合。如果要学习嵌入式和单片机,只知道数字电路和微机接口这样的硬件知识是不够的,还需要学习更多,就是汇编、C/C++语言、数据结构和算法知识。
拥有软硬件结合的能力,远比简单地掌握某种程序开发语言更有价值。
其次,嵌入式和微控制器应用场景广泛,各个领域都有项目需求和人才需求。据权威机构统计,目前中国每年的嵌入式人才短缺高达50万人。尤其是嵌入式软件开发是未来几年最热门、最受欢迎的职业之一。10年经验的高级嵌入式工程师,年薪约30万-50万人民币。而随着5G建设的深入,全社会正朝着“万物互联”的方向迈进。物联网技术也将迎来前所未有的历史机遇,嵌入式人才待遇也会水涨船高。
因此,尽管学习过程会很艰难,但我仍然建议有抱负的年轻人专注于这条赛道。技术越难,过程越痛苦,越有利于建立竞争壁垒。后期可以进一步体现个人价值。
单片机和嵌入式的区别相关推荐
- 单片机与嵌入式的区别
声明:此文章转载至微信公众号鲜枣课堂. https://mp.weixin.qq.com/s/fuZCNR7Zxk4kLk5Lj9P5Sw 凡是从事计算机或电子信息相关领域工作的童鞋,一定都听说过嵌入 ...
- 单片机和嵌入式哪个好?单片机会被嵌入式取代吗?
很多初学者都搞不清楚单片机和嵌入式的区别. 今天就和大家来聊一聊这个话题. 嵌入式和单片机,我喜欢用老爸和儿子的关系来区分它们. 嵌入式开发细分很多方向,而单片机就是其中一个方向. 除了单片机以外,还 ...
- 单片机和嵌入式Linux的区别
单片机和嵌入式他们最终都是要跑硬件的,所以你也会遇到像GPIO口.I2C.串口.SPI.定时器.看门狗这些问题. 所以如果你学了单片机,那么你在这些东西上肯定是有积累的.那么这些就是你的优势,如果你让 ...
- 单片机和ARM的区别
1.软件方面 这应该是最大的区别了.引入了操作系统.为什么引入操作系统?有什么好处嘛? 1)方便.主要体现在后期的开发,即在操作系统上直接开发应用程序.不像单片机一样一切都要重新写.前期的操作系统移植 ...
- 单片机转嵌入式Linux的思考
一.你真的决定要转嵌入式Linux吗? 要不要从单片机转嵌入式Linux是一个影响到职业发展的严肃决策,火哥不能帮你拿主意,只能帮你列出利弊,你需要根据自身的各种环境(比如所在城市Linux嵌入式相关 ...
- 【物联网毕设基础】单片机_嵌入式的实时性疑问解答
1 前言 最近有一组学弟学妹问我一个问题,他们做的飞控系统,实时性总是达不到标准,来问我是怎么回事. 这涉及到了单片机/嵌入式系统实时性的问题,学长在这做一个系统性的解答. 2 单片机和嵌入式 说实话 ...
- 嵌入式开发比单片机要难很多?谈谈单片机和嵌入式开发设计经历
嵌入式开发比单片机要难很多?谈谈单片机和嵌入式开发设计经历 \\\插播一条:文章末尾有惊喜哟~/// 单片机和嵌入式,其实没有什么规范的定义来区分他们,对于进行过单片机和嵌入式开发的开发者来说,都有他 ...
- 单片机是否为嵌入式技术,单片机和嵌入式学哪个?
单片机和嵌入式,我喜欢用儿子和爸爸这种关系去区分它们. 我当初是通过嵌入式挖到了单片机开发,所以说单片机和嵌入式是一个包含关系,嵌入式包含了单片机. 这层关系一定要先搞清楚. 嵌入式总共分为以下几个主 ...
- 单片机c语言位运算写法,单片机与嵌入式系统中C语言的位运算小记
原标题:单片机与嵌入式系统中C语言的位运算小记 编了个PIC的项目,对里的还是蛮有感悟的,特此记录一下. 譬如说,在程序中定义了一个char类型的变量, purge_short_enable_flag ...
- C语言位运算的高级应用(尤其适合单片机和嵌入式编程)
位运算加速技巧 本方法可以让c语言指令进一步接近汇编指令的执行效率,提高单片机,嵌入式系统的速度和稳定性, 但编程时应采取函数化的编程法--例如使用swap()函数时,必要时加注释. 注:本例涉及一些 ...
最新文章
- [跟我学UML] UML包图中的包引入和包合并
- xcode升级之后,VVDocument失效的解决办法
- python 共享内存变量_浅谈python多进程共享变量Value的使用tips
- web公选课第三节2020.5.18
- LVS(6)——NAT准备工作
- android 圆环温度控件,android 圆环倒计时控件
- C++(18)--复制构造函数
- Linux 常用命令随笔(二)
- 微信小程序黑客马拉松即将开始,来做最酷的 Mini Program Creators! 1
- jquery操作表格
- CDH报错: 主机的 NTP 服务未同步至任何远程服务器
- ajax 保存xmldoc对象,AJAX XML 实例
- SQL中的join总结
- 单交换机的VLAN的配置
- Java版实现一个简单的电话簿
- 胡谈编程语言:从C语言到Julia
- c语言智能手环程序,c+智能手环怎么用 c+智能手环使用图文教程
- 什么软件可以测试手长,心率检测专家-可以让你通过按压手指检测出心率的健康app...
- Linux下dcm2niix使用
- 人耳能听的声音范围与各种发音的频率范围
热门文章
- linux手机 电脑传文件怎么安装,centos7上成功安装iptux,成功实现安卓手机和Linux传送文件...
- php养老院管理系统论文,养老院一卡通管理
- 本地项目上传至git码云步骤(超详细,附图文)
- 分享一大波高清电子元器件矢量图,速速下载收藏!
- 【学习中】layui前端框架
- Matlab抓取网页数据
- 案例研究:手机APP的UI设计流程
- Nessus下载离线升级包all-2.0 .tar.gz方法
- (干货,建议收藏)备战2021年软考中级网络工程师-01计算机硬件基础
- C#-概念-类库:类库