认知篇----嵌入式与单片机的关系之优秀

简介: 认知篇----嵌入式与单片机的关系之优秀

目录


1、单片机与嵌入式之间的关系

第一个问题:什么是嵌入式

第二个问题:什么是单片机

第三个问题:嵌入式和单片机的区别    

第四个问题:嵌入式和单片机的学习价值


1、单片机与嵌入式之间的关系

从事电子信息领域多年的同学一定听说过,单片机和嵌入式,一定也了解过两者之间的对应关系,让人想到插满芯片和针脚的电路板。

aa82b1474e744c5f8aa7693d82d989a6.jpg但是,如果想要搞清楚什么是嵌入式,什么是单片机,它们之间究竟有什么区别,大部分人不能很好的解释清楚。

今天和大家一起探讨一下,以上问题的答案,并和大家一起,聊一聊经常听到的51,STM32,准确的说是什么。

第一个问题:什么是嵌入式

 

嵌入式,一般是指嵌入式系统,英文叫作:embedded system。嵌入式开发,其实就是对嵌入式系统的开发。


IEEE(美国电气和电子工程师协会)对嵌入式系统的定义是:“用于控制、监视或者辅助操作机器和设备的装置”。

国内学术界的定义更为具体一些,也更容易理解:


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


以应用为中心,说明嵌入式系统是有明确实际用途的。以计算机技术为基础,说明它其实就是一种特殊的计算机。软硬件可裁剪,说明它有很强的灵活性和可定制能力。


专用计算机系统,“专用”所对应的,就是“通用”。我们常用的个人PC、笔记本电脑、数据中心服务器,可以用于多种用途,就是“通用计算机系统”。


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


举例如下:

  • 个人通信与娱乐系统:手机、数码相机、音乐播放器、可穿戴电子产品、PSP游戏机
  • 家电类产品:数字电视、扫地机器人、智能家电
  • 办公自动化:打印机,复印机、传真机
  • 医疗电子类产品:生化分析仪、血液分析仪、CT
  • 网络通信类产品:通信类交换设备、网络设备 (交换机、路由器、网络安全)
  • 汽车电子类产品:引擎控制、安全系统、汽车导航与娱乐系统
  • 工业控制类产品:工控机、交互式终端 (POS、ATM)、安全监控、数据采集与传输、仪器仪表
  • 军事及航天类产品:无人机、雷达、作战机器人

373dd7a8f3634f8fa64078c7c17ee9d3.jpg

上面这些只是嵌入式领域的一个方面,可以说,嵌入式系统完完全全在我们的生活周围,时刻影响着我们的生活和生活。嵌入式系统,既然是一个计算机系统,那么它肯定是离不开硬件和软件的支持。

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

189d066dba32431f8d458084b423f4eb.png

注意:嵌入式系统中最重要的是嵌入式操作系统和嵌入式微处理器

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

37c9c10d100b49bbae1424b80b7b05aa.png

               和个人PC是一样的方式

 下面这场图,就是一个嵌入式系统的实物样例:

a7d6668a53e84018a1660c0080b4529a.png

 中间偏左上角,S3C2440,是CPU,中间是RAM,然后还有ROM、网卡、串口、电源等等。可以看出,嵌入式系统麻雀虽小,五脏俱全。      

第二个问题:什么是单片机

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


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


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


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

DSP处理器专门用于信号处理,在系统结构和指令算法进行了特殊设计。在数字滤波、FFT、频谱分析中广泛应用。典型代表是TI(德州仪器)公司的TMS320C2000/C5000系列。

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

MPU由通用处理器演变而来,具有较高的性能,拥有丰富的外围部件接口。典型代表是AM186/88、386EX、SC-400、PowerPC、MIPS、ARM系列等。


此外,还有嵌入式片上系统SoC(System on Chip)可编程片上系统SoPC(System on a Programmable Chip)

我们的单片机,就属于上述的第一种——MCU(嵌入式微控制器)。

d322baab1cd841fe91bcff5725be713e.png

我们来详细介绍一下它。


单片机,又称为单片微控制器,英文叫Single-Chip Microcomputer。


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


这么说来,单片机不就是一个嵌入式系统?别急,我们往下看。


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


很多高校老师喜欢强调单片机姓“单”,除了指单片机只是一个硅片之外,更多是指单片机的功能单一,它是完成运算、逻辑控制、通信等功能的单一模块。即便它性能再强大,功能依然是单一的。


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


我们在研究单片机的时候,经常会听到两个词——51单片机、STM32。我来介绍一下它们究竟是什么。


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


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

2d262a4c2dc64c0db0324e866247ee59.png


注意:这个是一个51单片机的开发板,中间那个芯片才是51单片机


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


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


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


此外,51单片机拥有雄厚的存量基础和群众基础。很多老项目都是用的51单片机,出于成本的考虑,有时候只能继续沿用51单片机的技术进行升级。而且,很多老一辈的工程师,都精通51单片机开发技术。所以,51单片机的生命力得以不断延续。


再来看看STM32。


STM32,是意法半导体公司推出的基于ARM Cortex-M内核的通用型单片机。


b47f7618584e462f811aa5a232dc0708.png

意法半导体(STMicroelectronics)是世界最大的半导体公司之一,于1987年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics 将公司名称改为意法半导体有限公司。


    ARM公司是目前芯片设计比较好的公司之一,利用手机芯片的快速发展而崛起,占物联网市场较大的份额。

第三个问题:嵌入式和单片机的区别    

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


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


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


从软件上,行业里经常把芯片中不带MMU(memory management unit,内存管理单元)从而不支持虚拟地址,只能裸奔或运行RTOS(实时操作系统,例如ucos、华为LiteOS、RT-Thread、freertos等)的system,叫做单片机(如STM32、NXP LPC系列、NXP imxRT1052系列等)。而把芯片自带MMU可以支持虚拟地址,能够跑Linux、Vxworks、WinCE、Android这样的“高级”操作系统的system,叫做嵌入式。


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

第四个问题:嵌入式和单片机的学习价值

最后我们来说一说嵌入式和单片机的学习价值,到底有没有必要学习嵌入式和单片机。


最近这些年,有一句话被广泛传播,那就是——“软件为王”。人们普遍认为软件知识的价值远远大于硬件,而学习软件,从事软件方向,会更容易找到工作,找到更高收入、更有前途的工作。


而嵌入式和单片机,往往被归为“硬件”方向,遭人“嫌弃”。加上嵌入式和单片机的学习难度较大,学习周期很长,需要漫长的“煎熬”,所以越来越多的人放弃这条路。


    笔者认为这样的想法是不正确的。


第一个:嵌入式和单片机并不是纯“硬件”类方向。前面多次强调,它们是软件和硬件的紧密结合。


dc106d6d8fd54caa878fe57c68fa3eb9.png

第二个:想学好嵌入式和单片机,只懂数字电路和微机接口这样的硬件知识是不够的,你更需要学习的,是汇编、C/C++语言、数据结构和算法知识。


第三个:拥有软硬结合的能力,远远比单纯掌握某种程序开发语言更有价值。


最重要的是:


嵌入式和单片机拥有广泛的应用场景,在各个领域都有项目需求和人才需求。


根据权威部门统计,目前我们国家每年的嵌入式人才缺口高达50万。尤其是嵌入式软件开发,是未来几年最热门和最受欢迎的职业之一。具有10年工作经验的高级嵌入式工程师,年薪可以达到30-50万元左右。而且我们国家现在正在大力发展芯片产业,也会带动嵌入式人才的就业,提升待遇。


f6febf95446449889911057931dac347.png

总结:随着智能时代的到来,社会必将进入“万物互联”的时代。物联网和人工智能将进入前所未有的机遇。嵌入式和单片机技术是物联网技术和人工智能的重要组成部分,也将进入发展的快车道。总之,学习过程会比较艰辛,但是仍然是有志青年值得关注的赛道,技术越复杂过程越苦,越有利于构建竞争壁垒。到了后期,个人价值可以得到进一步的体现。

目录
相关文章
|
5月前
|
物联网 Linux 芯片
学习嵌入式是选择单片机还是Linux?
单片机通常指的是一种集成了处理器、存储器和各种外设接口的微控制器芯片,常见的有STC、51系列、AVR、ARM Cortex-M等。单片机具有低成本、低功耗、实时性强等特点,适用于对资源要求较低、功耗要求较低、实时性要求较高的嵌入式系统。学习单片机开发可以让您深入了解嵌入式系统的底层原理和硬件编程,对于对嵌入式系统底层开发感兴趣的人来说,是一个很好的选择。
136 4
|
5月前
|
Web App开发 传感器 Linux
【嵌入式软件工程师面经】STM32单片机
【嵌入式软件工程师面经】STM32单片机
143 1
|
6月前
|
缓存 编译器 程序员
嵌入式开发环境Vscode开发STM32单片机程序
嵌入式开发环境Vscode开发STM32单片机程序
160 0
|
6月前
|
网络协议 Linux
嵌入式单片机开源的串口示波器实现方法
嵌入式单片机开源的串口示波器实现方法
56 0
|
6月前
|
传感器 图形学 芯片
嵌入式单片机上练手的小型图形库
嵌入式单片机上练手的小型图形库
48 0
|
存储 安全 编译器
价值 1k 嵌入式面试题-单片机 main 函数之前都做了啥?
价值 1k 嵌入式面试题-单片机 main 函数之前都做了啥?
183 0
|
存储 大数据 芯片
嵌入式单片机智能药盒设计(含代码)
嵌入式单片机智能药盒设计(含代码)
嵌入式单片机智能药盒设计(含代码)
|
传感器 存储 算法
嵌入式单片机智能手表实验之优秀
嵌入式单片机智能手表实验之优秀
196 0
嵌入式单片机智能手表实验之优秀
|
6月前
|
编译器 C语言 开发者
单片机原理与应用:探索微型计算机世界
单片机原理与应用:探索微型计算机世界
57 1