一个的51、STM32,究竟是什么?(上)

从事信息技术相关工作的人一定听说过嵌入式和单片机。

众所周知,这两个术语与硬件系统有着非常密切的关系。

但是,如果要问什么是嵌入式,什么是单片机,它们之间有什么区别,相信大部分人都无法解释清楚。

今天小枣君就给大家科普一下,揭晓以上问题的答案。

同时我也顺便解释一下硬件开发转嵌入式开发难吗,我们常说的51、STM32是什么。

▉ 嵌入什么

首先,让我们看一下嵌入的内容。

Embedded,一般是指嵌入式系统,英文叫:embedded system。嵌入式开发实际上就是嵌入式系统的开发。

IEEE(电气和电子工程师协会)将嵌入式系统定义为:“用于控制、监视或协助机器和设备操作的设备。”

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

嵌入式系统以应用为中心,基于计算机技术,软硬件可定制,适用于对功能、可靠性、成本、尺寸、功耗等有严格要求的特殊计算机系统。

以应用为中心,表明嵌入式系统具有明确的实用目的。基于计算机技术,意味着它实际上是一种特殊的计算机。软件和硬件都可以定制,说明它具有很强的灵活性和可定制性。

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

嵌入式系统用于哪些“特殊用途”方向?

一个例子如下:

嵌入式系统的应用领域

在这些领域中,使用嵌入式系统。这只是冰山一角。

可以说,嵌入式系统完全包围着我们,无时无刻不在影响着我们的工作和生活。

嵌入式系统,既然是计算机系统,必然离不开硬件和软件。

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

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

从硬件上看,嵌入式系统是以处理器(CPU)为核心,通过总线(Bus)连接的多模块系统:

与个人 PC 相同

下图是一个嵌入式系统的物理示例:

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

▉ 什么是“MCU”?

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

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

DSP处理器专门用于信号处理硬件开发转嵌入式开发难吗,系统结构和指令算法经过专门设计。广泛应用于数字滤波、FFT、频谱分析。典型代表是TI(德州仪器)的TMS320C2000/C5000系列。

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

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

我们的单片机属于上面提到的第一种类型——MCU(嵌入式微控制器)。

让我们详细描述一下。

单片机,又称单片机,英文称为Single-Chip Microcomputer。

它实际上是一种集成电路芯片。它采用超大规模集成电路技术,将CPU、RAM、ROM、I/O和中断系统、定时器/计数器等功能放入一块硅芯片中,变成一台超小型计算机。

那么,单片机不就是嵌入式系统吗?别着急,我们往下看。

“微控制器”其实是一个古老的名字。过去,半导体制程技术不成熟,不同的功能无法集成在一个芯片上,所以会有多个芯片。现在半导体技术已经很发达了,所以还没有多片机。不过,“MCU”的名称一直延续到今天。

很多高校老师喜欢强调单片姓是“单”。单片机除了单片机指硅片外,还指单功能单片机。它是一个完成操作、逻辑控制、通讯等功能的单一模块。再强大,功能依旧是单一的。

单芯片技术诞生于 1970 年代后期。早期是4位,后来发展成8位、16位、32位。它确实在 8 位时代兴起。8位单片机功能强大,广泛应用于工控、仪器仪表、家电、汽车等领域。

我们在研究微控制器的时候,经常会听到两个词——51微控制器,STM32。让我解释一下它们是什么。

图片[1]-一个的51、STM32,究竟是什么?(上)-老王博客

51单片机,其实就是一系列单片机的统称。该系列单片机兼容Intel 8031指令系统。他们的祖先是英特尔的 8004 微控制器。

请注意,这 51 款 MCU 并不都是英特尔产品。包括ATMEL(爱德美)、飞利浦(Philips)、华邦、达拉斯(Dallas)、西门子(Siemens)、STC(国产宏晶)等公司,也有不少产品属于51MCU系列。

ATMEL 的 51 微控制器,AT89C51

这是51单片机开发板,中间的芯片是51单片机

长期以来,51单片机一直是市场上最主流、应用最广泛的单片机,​​占有很大的市场份额。

51单片机其实目前没有技术优势,是很老的技术了。之所以生命力顽强,除了人气之外,还在于英特尔彻底开放了51核的版权。

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

此外,51单片机具有扎实的库存基础和群众基础。很多老项目使用51单片机。出于成本考虑,有时只能继续使用51单片机技术进行升级。而且很多老一辈的工程师都精通51单片机开发技术。因此,51单片机的生命力得以延续。

我们再来看看STM32。

STM32是意法半导体推出的基于ARM Cortex-M内核的通用微控制器。

STM32微控制器

意法半导体是全球最大的半导体公司之一。1987年6月由意大利SGS微电子与法国汤姆森半导体合并成立。1998年5月,SGS-THOMSON Microelectronics公司更名为STMicroelectronics Limited。

意法半导体LOGO

ARM公司小早君之前给大家介绍过。它是目前世界上最强大的芯片设计公司之一。它利用手机芯片的快速发展而崛起,并占据了物联网市场的巨大份额。

在微控制器领域,ARM的Cortex-M内核具有压倒性优势,已成为绝对主流。许多半导体公司已经放弃了原有的架构,转而使用基于 ARM 的微控制器。

STM32单片机开发板

STM32的硬件配置可以满足大部分物联网的开发需求。开发工具及相关文档齐全,成为单片机学习的首选。

▉ 嵌入式和单片机的区别

说了这么多,我们来看看嵌入式和微控制器有什么区别。

从前面的介绍来看,嵌入式系统是一个大类,单片机是重要的子类之一。嵌入式系统就像一台完整的计算机,而微控制器更像是一台没有外围设备的计算机。

以往单片机不包含很多东西,两者的硬件差异比较明显。然而,随着半导体技术的飞速发展,现在可以将各种硬件功能集成到单片机中。因此,嵌入式系统与单片机的硬件区别越来越小,分界线也越来越模糊。

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

从软件上看,业界往往芯片中没有MMU(内存管理单元,内存管理单元),因此不支持虚拟地址,只能跑裸奔或者跑RTOS(实时操作系统,如ucos、Huawei LiteOS、RT-Thread、freertos等)系统,称为微控制器(如STM32、NXP LPC系列、NXP imxRT1052系列等)。

同时,芯片内置的MMU可以支持虚拟地址,能够运行Linux、Vxworks、WinCE、Android等“高级”操作系统的系统称为嵌入式。

在某些时候,微控制器本身足够强大,可以用作嵌入式系统。它的成本较低,开发和维护的难度相对较小,特别是对于一些更有针对性的应用。嵌入式系统理论上性能更强,应用更广泛,但复杂度高,开发难度大。

▉ 嵌入式和单片机的学习价值

最后说一下嵌入式和单片机的学习价值。有必要学嵌入式和单片机吗?

近年来,有一种说法广为流传,那就是——“软件为王”。人们普遍认为,软件知识的价值远大于硬件,学习软件和从事软件方向的工作会更容易找到工作,找到一份薪水更高、更有前途的工作。

嵌入式和单片机往往被归类为“硬件”,被人们“反感”。另外,嵌入式和单片机学习难度大,学习周期很长,需要很长的“折磨”,所以越来越多的人放弃了这条路。

小枣君认为这个想法是错误的。

首先,嵌入式和微控制器并不是纯粹的“硬件”类别。正如我之前所说,它们是软件和硬件的紧密结合。

如果要学习嵌入式和单片机,仅仅了解数字电路、微机接口等硬件知识是不够的。你需要学习的是汇编、C/C++语言、数据结构和算法知识。

拥有将软件和硬件结合起来的能力,远比简单地掌握某种编程语言更有价值。

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

据权威部门统计,目前我国每年短缺50万嵌入式人才。尤其是嵌入式软件开发,是未来几年最热门、最受欢迎的职业之一。10年工作经验的高级嵌入式工程师,年薪在30万-50万元左右。

而且,我国现在大力发展芯片产业,也将带动嵌入式人才的就业,提高他们的待遇。

随着5G的深入建设,全社会正朝着“万物互联”的方向发展。物联网技术也将迎来前所未有的历史机遇。嵌入式和单片机技术是物联网技术的重要组成部分,也将进入发展快车道。

因此,虽然学习过程会比较艰难,但小枣君还是建议有志青年关注这条赛道。技术难度越大,工艺难度越大,越有利于构建竞争壁垒。后期可以进一步体现个人价值。

那么关于嵌入式和单片机的内容,今天小枣君就介绍到这里。如果觉得对你有帮助,请点击右下角“好看”转发。

谢谢你们!

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论