大家好,今天我们继续学习基础知识。
本期的主角:嵌入式和单片机
这部分是小编最喜欢的了,因为很多人知道,这两个词和硬件系统有着非常密切的关系。而,小编最喜欢的就是硬件了,一听到它们,就联想到插满芯片和针脚的电路板:
摩尔狮的实验室照片库存是不是很眼熟呢?想起了,那些在实验室的日子?
今天,摩尔狮就给大家做一个入门科普,一起往下看吧。
一、 嵌入式定义嵌入式,是指嵌入式系统,是一种专用的计算机系统,英文叫作:embedded system。嵌入式开发,其实就是对嵌入式系统的开发。
IEEE(美国电气和电子工程师协会)对嵌入式系统的定义是:“用于控制、监视或者辅助操作机器和设备的装置”。
国内学术界的定义更为具体一些,也更容易理解:
嵌入式系统,是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。
一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成。“嵌入式计算机系统”是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成;“执行装置”又称为“被控对象”,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY 智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。
说起来比较抽象,一起通过下图,看嵌入式系统的组成吧:
一、硬件层
硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在 ROM 中。
二、中间层
硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或者板级支持包(Board Support Package,BSP),它系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。 实际上,BSP是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。设计一个完整的BSP需要完成两部分工作:系统的硬件初始化的BSP功能,设计硬件相关的设备驱动。
三、系统软件层
系统软件层由实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Inte ** ce,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。
下面这张图,是一个嵌入式系统的实物样例:
中间偏左上角,S3C2440,是CPU,中间是RAM,然后还有ROM、网卡、串口、电源等等。可以看出,嵌入式系统麻雀虽小,五脏俱全。
如果想了解嵌入式微处理器体系结构,实时调度系统、嵌入式系统中信息表示与运算基础的具体知识,欢迎持续关注我们,通过点赞的形式让我们看到需求哈~感谢
二、 什么是单片机在讲单片机之前,我们不得不提到嵌入式处理器(即嵌入式的核心)。目前,嵌入式处理器一般分为以下几种典型类型:
嵌入式微控制器MCU(Micro Control Unit)MCU内部集成ROM/RAM、总线逻辑、定时/计数器、看门狗、I/O、串口、A/D、D/A、FLASH等。典型代表是8051、8096、C8051F等。
嵌入式DSP处理器(Digital Signal Processor)DSP处理器专门用于信号处理,在系统结构和指令算法进行了特殊设计。在数字滤波、FFT、频谱分析中广泛应用。典型代表是TI(德州仪器)公司的TMS320C2000/C5000系列。
嵌入式微处理器MPU(Micro Processor Unit)MPU由通用处理器演变而来,具有较高的性能,拥有丰富的外围部件接口。典型代表是AM186/88、386EX、SC-400、PowerPC、MIPS、ARM系列等。
此外,还有嵌入式片上系统SoC(System on Chip)和可编程片上系统SoPC(System on a Program ** ble Chip)。
单片机,就属于上述的第一种——MCU(嵌入式微控制器)。
接下来,我们来详细介绍一下它:
单片机,又称单片微控制器,英文叫Single-Chip Microcomputer。
它其实就是一种集成电路芯片,是通过超大规模集成电路技术,将CPU、RAM、ROM、输入输出和中断系统、定时器/计数器等功能,塞进一块硅片上,变成一个超小型的计算机。
这么说来,单片机不就是一个嵌入式系统?
别急,我们先往下看。
单片机技术从上世纪70年代末诞生。早期的时候是4位,后来发展为8位,16位,32位。它真正崛起,是在8位时代。8位单片机功能很强,被广泛用于工业控制、仪器仪表、家电汽车等领域。
在研究单片机的时候,经常会听到两个词——51单片机、STM32(大学课本里一定有)。看看还有多少人记得?
51单片机:是一系列单片机的统称。该系列单片机,兼容Intel 8031指令系统。它们的始祖,是 Intel 的8004单片机。
注意,51单片机并的产品。包括ATMEL(艾德梅尔)、Philips、华邦、Dallas(达拉斯)、西门子、STC(国产宏晶),也有很多产品属于51单片机系列。
这是一个51单片机的开发板,中间那个芯片才是51单片机51单片机曾经在很长时间里都是市面上最主流、应用最广泛的单片机,占据大量的市场份额。
再来看看STM32:
STM32:是推出的基于ARM Cortex-M内核的通用型单片机。
STM32单片机意法半导体(STMicroelectronics)是世界之一,于1987年6月成立,是由意大利的SGS和法国Thomson合并而成。1998年5月,SGS-THOMSON Microelectronics 名称改。
意法半导体LOGOARM公司是目前全球做芯片之一,利用手机芯片的快速发展而崛起,占有物联网市场极大的份额。
在单片机领域,ARM的Cortex-M内核拥有压倒性的优势,已经成为绝对的主流。很多都放弃了自己原先的架构,转做ARM架构的单片机
STM32的硬件配置可满足大部分的物联网开发需求,开发工具和相关的文档资料齐全,已经成为目前单片机学习的首选对象。
三、嵌入式和单片机的区别现在,我们来看看,嵌入式和单片机的区别到底是什么。
从前面的介绍来看,嵌入式系统是一个大类,单片机是其中一个重要的子类。嵌入式系统像是一个完整的计算机,而单片机更像是一个没有外设的计算机。
以前单片机包括的东西并不算多,两者的硬件区别较为明显。但是,随着半导体技术的突飞猛进,现在各种硬件功能都能被做进单片机之中。所以,嵌入式系统和单片机之间的硬件区别越来越小,分界线也越来越模糊。
于是,人们倾向于在软件上进行区分。
从软件上,行业里经常把芯片中不带MMU(memory ** nagement unit,内存管理单元)从而不支持虚拟地址,只能裸奔或运行RTOS(实时操作系统,例如ucos、华为LiteOS、RT-Thread、freertos等)的system,叫做单片机(如STM32、NXP LPC系列、NXP imxRT1052系列等)。而把芯片自带MMU可以支持虚拟地址,能够跑Linux、Vx这样的“高级”操作系统的system,叫做嵌入式。
在某些时候,单片机本身已经足够强大,可以作为嵌入式系统使用。它的成本更低,开发和维护的难度相对较小,尤其是针对一些针对性更强的应用。而嵌入式系统理论上性能更强,应用更广泛,但复杂度高,开发难度大。
—— END ——
建议有志青年关注这一赛道。技术越难,过程越苦,越有利于构建竞争壁垒。到了后期,个人价值可以得到进一步的体现。
好了,关于嵌入式和单片机的内容,今天就介绍到这里。如果觉得对你有帮助,欢迎转发。
谢谢大家啦!