梳理一下嵌入式和单片机之间的关系

news2024/11/19 5:55:07

一定有很多人都听说过嵌入式和单片机,但在刚开始接触时,不知道大家有没有听说过嵌入式就是单片机这样的说法,其实嵌入式和单片机还是有区别的。单片机与嵌入式到底有什么关系?

下面我们就来说说嵌入式和单片机之间的联系和区别吧。

01 

什么是单片机?

首先,我们来了解一下到底什么是单片机。

嵌入式系统的核心是嵌入式处理器。嵌入式处理器一般可以分为以下几种类型:

  • 嵌入式微控制器MCU(Micro Control Unit)

  • 嵌入式DSP处理器(Digital Signal Processor)

  • 嵌入式微处理器MPU(Micro Processor Unit)

  • 嵌入式片上系统SoC(System on Chip)

  • 可编程片上系统SoPC(System on a Programmable Chip)

图片

我们的单片机属于嵌入式微控制器MCU(Micro Control Unit)

MCU内部集成ROM/RAM、总线逻辑、定时/计数器、看门狗、I/O、串口、A/D、D/A、FLASH等。典型代表如8051、8096、C8051F等。

单片机就是在一个芯片(Chip)上集成了CPU、SRAM、Flash及其他需要模块,在一个Chip上实现一个微型计算机系统,所以就叫Single Chip Microcomputer,也就是单片机了。

它其实就是一种集成电路芯片,是通过超大规模集成电路技术,将CPU、RAM、ROM、输入输出和中断系统、定时器/计数器等功能,塞进一块硅片上,变成一个超小型的计算机。

这么说来,单片机不就是一个嵌入式系统?

别急,我们往下看。

“单片机”其实是一种古老的叫法。在那个年代半导体工艺还在起步阶段,集成能力很差,往往是CPU一个芯片,SRAM一个芯片,Flash一个芯片,需要中断的话又得有个专门处理中断的芯片,所以一个完整可用的计算机系统是很多个芯片(Chip)做在一个PCB板上构成的。

不同的功能无法做进一个芯片(Chip),所以会有多片机。现在半导体技术早已非常发达,所以不存在多片机。但是,“单片机”的叫法却一直延用至今。

单片机技术从上世纪70年代末诞生,早期的时候是4位,后来发展为8位,16位,32位。它真正崛起,是在8位时代。8位单片机功能很强,被广泛应用于工业控制、仪器仪表、家电汽车等领域。

我们在研究单片机的时候,经常会听到一个词——51单片机。让我们来了解一下它究竟是什么。

51单片机,其实就是一系列单片机的统称。该系列单片机,兼容Intel 8031指令系统。它们的始祖,是Intel(英特尔)的8004单片机。

注意,51单片机并不全是英特尔公司产品。包括ATMEL(艾德梅尔)、Philips(飞利浦)、华邦Dallas(达拉斯)、Siemens(西门子)、STC(国产宏晶等公司,也有很多产品属于51单片机系列。

ATMEL公司的51单片机,AT89C51这是一个51单片机的开发板,中间那个芯片才是51单片机

51单片机曾经在很长时间里都是市面上最主流、应用最广泛的单片机,占据大量的市场份额。

51单片机其实放在现在毫无技术优势,是一种很老的技术。之所以它的生命力顽强,除了它曾经很流行之外,还有一个原因,就是英特尔公司彻底开放了51内核的版权。

所以,无论任何单位或个人,都可以毫无顾忌地使用51单片机,不用付费,也不用担心版权风险,所以很多学校也都在用这个。

此外,51单片机拥有雄厚的存量基础和群众基础。很多老项目都是用的51单片机,出于成本的考虑,有时候只能继续沿用51单片机的技术进行升级。

而且,很多老一辈的工程师,都精通51单片机开发技术。

所以,51单片机的生命力得以不断延续。

02 

什么是嵌入式?

嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。

事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。

从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:

以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

嵌入式系统具体应用于哪些“专用”方向呢?

举例如下:

  • 办公自动化:打印机,复印机、传真机

  • 军事及航天类产品:无人机、雷达、作战机器人

  • 家电类产品:数字电视、扫地机器人、智能家电

  • 医疗电子类产品:生化分析仪血液分析仪、CT

  • 汽车电子类产品:引擎控制、安全系统、汽车导航与娱乐系统

  • 网络通信类产品:通信类交换设备、网络设备 (交换机、路由器、网络安全)

  • 通信与娱乐:手机、数码相机、音乐播放器、可穿戴电子产品、PSP游戏机

  • 工业控制类产品:工控机交互式终端 (POS、ATM)、安全监控、数据采集与传输、仪器仪表

上述这些领域,都使用了嵌入式系统。这还只是冰山一角。

可以说,嵌入式系统完完全全地融入了我们,时刻影响着我们的工作和生活。

嵌入式系统,既然是一个计算机系统,那么肯定离不开硬件和软件。

一个嵌入式系统的典型架构如下:

图片

这里最重要的就是嵌入式操作系统和嵌入式微处理器。

从硬件角度来看,嵌入式系统就是以处理器(CPU)为核心,依靠总线(Bus)进行连接的多模块系统:

图片

其实大家不难看出和个人PC是一样的方式。

单片机是有清晰定义的,就是单个片(chip)上的计算机系统。而不同的单片机虽然配置不同,性能不同,厂家不同,甚至指令集和开发方式不同,但是都是在一个片上的完整的计算机系统,这个定义不会错。

而嵌入式就是个不清晰的定义了,并没有非常明确的关于“嵌入式”这个词的定义。他也不像单片机一样,是个确定的“物”的名字。

03 

单片机是不是嵌入式?

那么单片机到底是不是嵌入式呢?

简单来说:是。

因为很多嵌入式产品中被嵌入的计算机系统就是单片机,譬如空调中嵌入的控制板其实核心就是个单片机。实际上大部分家电产品中嵌入的计算机系统都是单片机。

因为单片机足够简单便宜而且够用,所以使用单片机是最划算最适合的。

而单片机现在出货量最大的领域也就是家电产品了,当然未来IOT类的应用会越来越多,会成为单片机的很大的增量市场。

04 

广义和狭义的嵌入式

嵌入式这个概念实际上很泛化,现在讲嵌入式这个词的人,可能想表达的意思并不相同。咱们上面讲的嵌入式的概念是嵌入式本来的定义,也就是所谓广义上的嵌入式。

而狭义的嵌入式,其实是“嵌入式linux系统”的简称。

这种狭义的嵌入式最初指的是运行了linux系统的嵌入式计算机系统。后来也包括运行了和linux同级别的其他嵌入式系统(譬如WinCE、Vxworks、Android等)的计算机。

看过上面的介绍之后你就知道到底单片机是不是嵌入式了,其实这两者之间的联系有很深,总之,不管你是准备学习嵌入式或是单片机,都要自己想好了再做决定。

05 

嵌入式和单片机的区别

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

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

以前单片机包括的东西并不算多,两者的硬件区别较为明显。

但是,随着半导体技术的突飞猛进,现在各种硬件功能都能被做进单片机之中。所以,嵌入式系统和单片机之间的硬件区别越来越小,分界线也越来越模糊。

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

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

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

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

06 

我们为什么要学习嵌入式和单片机

今天我也只是给大家简单地介绍了一下单片机和嵌入式以及他们之间的关系和区别,虽然嵌入式系统已经有30多年的历史,但其实一直隐藏在背后的,自从物联网上升为国家战略后,嵌入式系统也渐渐从后台走到前台。

嵌入式和单片机并不是纯“硬件”类方向。如果你想学好嵌入式和单片机,只懂数字电路和微机接口这样的硬件知识是不够的,你更需要学习的,是汇编、C/C++语言、数据结构和算法知识。拥有软硬结合的能力,远远比单纯掌握某种程序开发语言更有价值。

其次,嵌入式和单片机拥有广泛的应用场景,在各个领域都有项目需求和人才需求。而且我们国家现在正在大力发展芯片产业,也会带动嵌入式人才的就业,提升待遇。

随着5G建设的深入,整个社会正在向“万物互联”的方向变革。

物联网技术也将迎来前所未有的历史机遇。嵌入式和单片机技术是物联网技术的重要组成部分,也将进入快速发展的时代。

技术越难,过程越苦,越有利于构建竞争壁垒。大学里很多同学都热衷于学习各种编程语言,往往忽视了这一块,可以说在嵌入式开发这一块的人才我们国家还是比较欠缺的。因此,我觉得大家非常值得投入时间去学习嵌入式开发的技能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1294660.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring IOC介绍

spring的Ioc真是个好东西啊,那它到底是什么东西呢,控制反转,到底是怎么转的呢? 假设啊你现在是一个导演,想排部戏,那是不是得需要演员和舞台(spring中的bean),如果按平常的编程思维就是new 一个…

在linux上如何运用虚拟数据优化器VDO

本章主要介绍虚拟化数据优化器。 什么是虚拟数据优化器VDO 创建VDO设备以节约硬盘空间 16.1 了解什么是VDO VDO全称是Virtual Data Optimize(虚拟数据优化),主要是为了节省硬盘空间。 现在假设有两个文件file1和 file2,大小都是10G。file…

如何正确使用网管工业交换机

工业交换机是一种专为满足工业应用需求而设计的通讯设备。它具备工业级品质,如耐受高温和低温的能力,能够抵御振动、防雷和防尘。此外,工业交换机还集成了多种丰富的协议,包括路由、交换和安全功能。根据是否可进行“网络管理”的…

下跌中寻求上涨,昂首资本根据交易量预判牛市

各位投资者你是不是也害怕熊市,担心在熊市中被套,但是投资者你知道吗?专业的投资者难道在熊市中就不会交易吗?昂首资本肯定的告诉你,肯定是交易的,并且常常还是以盈利结束交易。其实我们投资者和专业高手的…

跨境企业必看,数据跨境传输相关要求详解

对于跨境企业而言,数据的跨境传输既是业务拓展、竞争力提升、运营效率优化的重要手段,也是全球化发展和国际合作的必要条件。然而,这一过程伴随着法律差异、技术难题等多重挑战,企业需要谨慎应对,确保数据的安全、合规…

深入理解Dubbo-2.Dubbo功能之高级特性分析

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理、分布式技术原理🔥如果感觉博主的文章还不错的话&#xff…

用虚拟信用卡绑定直接支付 (Google play账号绑定教程)

虚拟信用卡的用途十分广泛,可用于购买应用,游戏内购、谷歌商店以及自己账号的充值,对于喜欢外服游戏的小伙伴来说,学会使用谷歌商店绑定虚拟信用卡是十分重要的。谷歌账号如何绑定信用卡呢?谷歌商店如何充值&#xff1…

各大厂商证书申请遇到的问题

证书作用: 确保数据传输过程中不被篡改、拦截 遭受中间件攻击、确保数据完整性、保密性 申请方式: 文件验证、cname验证(需要在域名平台上添加cname记录) 本次采用文本验证 添加需要申请的域名 将tx生成的txt文件放在 IIS站点…

空中“千里眼” 复亚环保监测无人机助力生态保护

生态环境保护是全球共同关注的重要议题,为了持续改善环境、加强执法效能,复亚智能环保监测无人机在环保领域大显身手。该智能系统为环境执法人员提供了全新的工具,使其能够在无人机的“千里眼”下,及时发现和制止环境违法行为&…

表单小程序作用体现在哪

表单的用途非常广泛,它是线上收集信息或用户预约/需求服务的重要方式,对商家来说如今线上平台非常多,生意开展的形式也越来越多,比如常见的预约、报名、收款、产品支付等都可以通过表单实现。 接下来啊让我们看看通过【雨科】平台…

一文详解大模型归因机制,幻觉问题有救了!

作者 | 谢年年、python 大模型的幻觉问题一直是一个亟待解决的挑战。由于大模型的训练语料来源广泛,且都是未经筛选的现实世界文本,预训练的目标也仅在于预测下一个单词,并未对生成内容的真实性进行建模和验证,这导致了大模型幻觉…

基于SuperMap iObjects Java生成地图瓦片

作者:dongyx 前言 在GIS领域,地图瓦片技术作为GIS领域的关键技术,是提高地图服务性能的关键手段之一。通过预先生成地图的瓦片数据,可以显著提升用户访问地图时的响应速度和体验。SuperMap iObjects for Java作为一款强大的GIS开…

浏览器渲染页面的过程以及原理

什么是浏览器渲染 简单来说,就是将HTML字符串 —> 像素信息 渲染时间点 浏览器什么时候开始渲染? 网络线程发送请求,取回HTML封装为渲染任务并将其传递给渲染主线程的消息队列。 问题:只取回HTML吗?那CSS和JS呢&am…

帆软认证FCRP第二题

【题目要求】 数据库中有一张地区数据统计表,但是并不规则 ,记录类似于,225100:02:3:20160725是一串代码,以:分割,第1位为地区代码,第2位为分类代码,第3位为数量,第4位为…

Leetcode—901.股票价格跨度【中等】

2023每日刷题&#xff08;五十二&#xff09; Leetcode—901.股票价格跨度 算法思想 实现代码 class StockSpanner { public:stack<pair<int, int>> st;int curday -1;StockSpanner() {st.emplace(-1, INT_MAX);}int next(int price) {while(price > st.top(…

[网鼎杯 2020 朱雀组]phpweb1

提示 call_user_func()函数先通过php内置函数来进行代码审计绕过system&#xff08;##不止一种方法&#xff09; 拿到题目养成一个好的习惯先抓个包 从抓到的包以及它首页的报错来看&#xff0c;这里死活会post传输两个参数func以及p func传输函数&#xff0c;而p则是传输参数的…

关于前端原生技术-Jsonp的理解与简述

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/134777717 出自【进步*于辰的博客】 在学习了Jsoup这个知识点之后&#xff0c;发觉js的这一特点…

2、Redis变慢原因排查(下)

感觉Redis变慢了&#xff0c;这些可能的原因你查了没 &#xff1f;(下) Redis变慢排查的上一篇【感觉Redis变慢了&#xff0c;这些可能的原因你查了没 &#xff1f;(上)】&#xff0c;我们是基于Redis命令为入口&#xff0c;比如命令使用不得当&#xff0c;bigkey问题&#xf…

Vue3组件使用问题

Vue3组件学习 文章目录 Vue3组件学习一、Message 全局提示组件返回数据换行问题二、DatePicker 日期选择框组件限制选定年份问题 一、Message 全局提示组件返回数据换行问题 问题&#xff1a;使用中发现仅仅通过写入\n或<br/>&#xff0c;无法实现回车显示的结果。 解决…

网站高性能架构设计——web前端与池化

从公众号转载&#xff0c;关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、高性能浏览器访问 1.减少HTTP请求 HTTP协议是无状态的应用层协议&#xff0c;也就是说每次HTTP请求都需要建立通信链路、进行数据传输&#xf…