介绍
概览
什么是嵌入式
嵌入式系统由硬件和软件组成。是能够独立进行运作的器件。其软件内容只包括软件运行环境及其操作系统。硬件内容包括信号处理器、存储器、通信模块等在内的多方面的内容。相比于一般的计算机处理系统而言,嵌入式系统存在较大的差异性, 它不能实现大容量的存储功能,因为没有与之相匹配的大容量介质,大部分采用的存储介质有E-PROM、EEPROM等, 软件部分以API编程接口作为开发平台的核心。
嵌入式的特点
- 专用性强。由于嵌入式系统通常是面向某个特定应用的,所以嵌入式系统的硬件和软件,尤其是软件,都是为特定用户群设计的,通常具有某种专用性的特点。
- 体积小型化。嵌入式计算机把通用计算机系统中许多由板卡完成的任务集成在芯片内部,从而有利于实现小型化,方便将嵌入式系统嵌入目标系统中。
- 实时性好。嵌入式系统广泛应用于生产过程控制、数据采集、传输通信等场合,主要用来对宿主对象进行控制,所以对嵌入式系统有或多或少的实时性要求。例如,对武器中的嵌入式系统,某些工业控制装置中的控制系统等的实时性要求就极高。有些系统对实时性要求也并不是很高,例如,近年来发展速度比较快的掌上电脑等。但总体来说,实时性是对嵌入式系统的普遍要求,是设计者和用户应重点考虑的一个重要指标。
- 可裁剪性好。从嵌入式系统专用性的特点来看,嵌入式系统的供应者理应提供各式各样的硬件和软件以备选用,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中更具竞争力。
- 可靠性高。由于有些嵌入式系统所承担的计算任务涉及被控产品的关键质量、人身设备安全,甚至国家机密等重大事务,且有些嵌入式系统的宿主对象工作在无人值守的场合,如在危险性高的工业环境和恶劣的野外环境中的监控装置。所以,与普通系统相比较,嵌入式系统对可靠性的要求极高。
- 功耗低。有许多嵌入式系统的宿主对象是一些小型应用系统,如移动电话、MP3、数码相机等,这些设备不可能配置交流电源或容量较大的电源,因此低功耗一直是嵌入式系统追求的目标。
- 嵌入式系统本身不具备自身开发能力,必须借助通用计算机平台来开发。嵌入式系统设计完成以后,普通用户通常没有办法对其中的程序或硬件结构进行修改,必须有一套开发工具和环境才能进行。
- 嵌入式系统通常采用“软硬件协同设计”的方法实现。早期的嵌入式系统设计方法经常采用的是“硬件优先”原则,即在只粗略估计软件任务需求的情况下,首先进行硬件设计与实现,然后在此硬件平台之上进行软件设计。如果采用传统的设计方法,则一旦在测试中发现问题,需要对设计进行修改时,整个设计流程将重新进行,对成本和设计周期的影响很大。系统的设计在很大程度上依赖于设计者的经验。20世纪90年代以来,随着电子和芯片等相关技术的发展,嵌入式系统的设计和实现出现了软硬件协同设计方法,即使用统一的方法和工具对软件和硬件进行描述、综合和验证。在系统目标要求的指导下,通过综合分析系统软硬件功能及现有资源,协同设计软硬件体系结构,以最大限度地挖掘系统软硬件能力,避免由于独立设计软硬件体系结构而带来的种种弊病,得到高性能、低代价的优化设计方案。
嵌入式的种类
- 嵌入式微处理器
嵌入式微处理器(Embedded Microprocessor Unit,EMPU)是以通用计算机中的标准CPU为微处理器,并将其装配在专门设计的电路板上,且仅保留与嵌入式应用有关的母板功能,构成嵌入式系统。与通用计算机相比,其系统体积和功耗大幅度减小,而工作温度的范围、抗电磁干扰能力、系统的可靠性等方面均有提高。 在EMPU中,微处理器是整个系统的核心,通常由3大部分组成:控制单元、算术逻辑单元和寄存器。
- 嵌入式微控制器
嵌入式微控制器(Microcontroller Unit,MCU)又称单片机。它以某一种微处理器为核心,芯片内部集成有一定容量的存储器(ROM/EPROM、RAM)、I/O接口(串行接口、并行接口)、定时器/计数器、看门狗、脉宽调制输出、A/D转换器、D/A转换器、总线、总线逻辑等。与嵌入式微处理器相比,微控制器的最大特点是单片化、体积小、功耗低、可靠性较高。微控制器是嵌入式系统工业的主流。
- 嵌入式处理器
嵌入式数字信号处理器(Embedded Digital Signal Processor,EDSP)对系统结构和指令进行了特殊设计,使其适合执行DSP算法,编译效率高,指令执行速度也较快,在数字滤波、FFT、谱分析等方面,DSP算法已广泛应用于嵌入式领域,DSP应用正从在单片机中以普通指令实现DSP功能,过渡到采用EDSP。
- 嵌入式片上系统
嵌入式片上系统(System on Chip,SoC)是集系统性能于一块芯片上的系统组芯片。它通常含有一个或多个微处理器IP核(CPU),根据需求也可增加一个或多个DSP IP核,相应的外围特殊功能模块,以及一定容量的存储器(RAM、ROM)等,并针对应用所需的性能将其设计集成在芯片上,成为系统操作芯片。其主要特点是嵌入式系统能够运行于各种不同类型的微处理器上,兼容性好,操作系统的内核小,效果好。
嵌入式的应用
嵌入式系统的应用十分广泛,涉及工业生产、日常生活、工业控制、航空航天等多个领域,而且随着电子技术和计算机软件技术的发展,不仅在这些领域中的应用越来越深入,而且在其他传统的非信息类设备中也逐渐显现出其用武之地。
- 工业控制
基于嵌入式芯片的工业自动化设备将获得长足的发展,已经有大量的8位、16位、32位嵌入式微控制器在应用中。网络化是提高生产效率和产品质量、减少人力资源的主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。就传统的工业控制产品而言,低端产品往往采用的是8位单片机。随着计算机技术的发展,32位、64位的处理器已逐渐成为工业控制设备的核心。
- 交通管理
在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式技术已经获得了广泛的应用,内嵌GPS模块、GSM模块的移动定位终端已经在各种运输行业获得了成功。GPS设备已经从尖端的科技产品进入了普通百姓的家庭。
- 信息家电
家电将成为嵌入式系统最大的应用领域,冰箱、空调等的网络化、智能化将让人们的生活步人一个崭新的空间。即使不在家,也可以通过电话、网络对家电进行远程控制。在这些设备中,嵌入式系统将大有用武之地。
- 家庭智能系统
水表、电表、煤气表的远程自动抄表系统,安全防火、防盗系统,嵌有专用控制芯片,这种专用控制芯片将代替传统的人工操作,完成检查功能,并实现更高、更准确和更安全的性能。在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。
- 网络及电子商务
公共交通无接触智能卡(Contactless Smart Card,CSC)发行系统、公共电话卡发行系统、自动售货机等智能ATM终端已全面走进人们的生活,在不远的将来手持一张卡就可以行遍天下。
- 环境工程与自然
在很多环境恶劣、地况复杂的地区需要进行水文资料实时监测、防洪体系及水土质量监测堤坝安全与地震监测、实时气象信息和空气污染监测等时,嵌入式系统将实现无人监测。
- 机器人
嵌入式芯片的发展将使机器人在微型化、高智能方面的优势更加明显,同时,会大幅度降低机器人的价格,使其在工业领域和服务领域获得更广泛的应用。
单片机
正如本网站域名所述,本站以嵌入式微控制器(MCU)为主,嵌入式微控制器又称单片机。很多初学者都是从单片机入手嵌入式。
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
51单片机
51单片机是对兼容英特尔8051指令系统的单片机的统称。51单片机广泛应用于家用电器、汽车、工业测控、通信设备中。因为51单片机的指令系统、内部结构相对简单,所以国内许多高校用其进行单片机入门教学。
注意
51单片机很难担任许多项目的开发,性能一言难尽,因此,引用网上流传甚广的一句话:“51单片机除了给初学者学习一无是处”,这句话作者也很赞同。如果你想尽快完成单片机的学习,建议直接跳过51单片机。但是如果你想了解单片机底层原理,时间充裕的话,认真学习51单片机也是可以的。
STM32单片机
STM32是意法半导体推出的32位ARM Cortex-M内核微控制器系列,具有高性能、低功耗、可靠性强等特点,广泛应用于工业控制、智能家居、汽车电子、医疗设备等领域。
- 高性能
STM32 系列单片机采用了 ARM Cortex-M 内核,具有出色的处理性能和运行速度。此外,它们还具有较大的 Flash 存储器和 SRAM 存储器,可以轻松处理复杂的应用程序。
- 丰富的外设
STM32 系列单片机具有丰富的外设,包括多个定时器、计数器、PWM 输出、ADC、DAC、通信接口等。这些外设可以帮助开发人员实现各种不同的应用需求。
- 低功耗
STM32系列单片机采用了先进的低功耗技术,可以在不降低性能的情况下降低功耗。这使得它们非常适合需要长时间运行、或者需要在电池供电的设备中使用。
- 易于开发
STM32提供了丰富的软件和硬件工具,以帮助开发者快速开发嵌入式应用程序。一些易于使用的工具如下:
- STM32CubeIDE
集成开发环境(IDE),包括调试器和代码生成器,用于开发基于STM32的嵌入式系统。它提供了一种易于使用的方法来创建,配置和生成C代码,以及对嵌入式应用程序的调试和测试。
- STM32CubeMX
用于 STM32 系列微控制器的图形化配置工具,可帮助开发者快速生成初始化代码和配置文件。
- HAL库
HAL(硬件抽象层)库是针对 STM32 系列微控制器的低级驱动程序,提供了一组可重用的 API,可加速开发流程并提高代码重用性。
说明
STM32是一个在国内非常流行的单片机,很多高校也以此为重点进行教学。许多竞赛、项目甚至消费产品都使用STM32单片机,可见STM32的知名度甚高。一些公司也仍在使用这款经典的单片机,可见STM32的使用之广。
ESP32单片机
ESP32是一系列低成本,低功耗的单片机微控制器,集成了Wi-Fi和双模蓝牙。 ESP32系列采用Tensilica Xtensa LX6微处理器,包括双核心和单核版本,内置天线开关,RF射频模块,功率放大器,低噪声接收放大器,滤波器和电源管理模块。
ESP32由总部位于上海的中国公司乐鑫信息科技创建和开发,由台积电采用40纳米工艺制造,具有超高的射频性能、稳定性、通用性和可靠性,以及超低的功耗,满足不同的功耗需求,适用于各种应用场景。它是ESP8266微控制器的后继产品。
- 性能稳定
ESP32 性能稳定,工作温度范围达到 –40°C 到 +125°C。集成的自校准电路实现了动态电压调整,可以消除外部电路的缺陷并适应外部条件的变化。
- 超低功耗
ESP32 专为移动设备、可穿戴电子产品和物联网 (IoT) 应用而设计。作为业内领先的低功耗芯片,ESP32 具有精细的时钟门控、省电模式和动态电压调整等特性。 例如,在低功耗 IoT 传感器 Hub 应用场景中,ESP32 只有在特定条件下才会被周期性地唤醒。低占空比可以极大降低 ESP32 芯片的能耗。射频功率放大器的输出功率也可调节,以实现通信距离、数据率和功耗之间的最佳平衡。
- 高集成度
ESP32 是业内领先的高度集成的 Wi-Fi+ 蓝牙解决方案,外部元器件只需大约 20 个。ESP32 集成了天线开关、射频 Balun、功率放大器、低噪声放大器、滤波器以及电源管理模块,极大减少了印刷电路板 (PCB) 的面积。 ESP32 采用 CMOS 工艺实现单芯片集成射频和基带,还集成了先进的自校准电路,实现了动态自动调整,可以消除外部电路的缺陷,更好地适应外部环境的变化。因此,ESP32 的批量生产可以不需要昂贵的专用 Wi-Fi测试设备。
- Wi-Fi 和 蓝牙解决方案
ESP32 可作为独立系统运行应用程序或是主机 MCU 的从设备,通过 SPI / SDIO 或 I2C / UART 接口提供 Wi-Fi 和蓝牙功能。
说明
不得不说,作者对ESP32情有独钟,因为ESP32弥补了STM32的网络拓展缺陷,而且有着非常广泛的平台支持,几乎所有的平台和语言都支持ESP32,而且ESP32是国产单片机,支持国产!
PIC单片机
IC单片机是由微芯科技(Microchip Technology)公司生产的一系列微控制器(Microcontroller),其名称“PIC”来源于“Peripheral Interface Controller”(外围接口控制器)。PIC单片机广泛应用于嵌入式系统中,主要用于控制和处理外设设备。
AVR单片机
AVR单片机是一种基于哈佛架构的8位微控制器,由Atmel公司(现在是Microchip Technology的一部分)开发。AVR单片机以其高性能和低功耗而闻名,广泛应用于嵌入式系统、家用电器、汽车电子、工业控制和消费电子等领域。
树莓派
树莓派(Raspberry Pi)是一种小型、廉价的单板计算机,由英国树莓派基金会开发。它的设计初衷是为了促进计算机科学教育,但由于其高性价比和广泛的功能,迅速在业余爱好者、教育工作者和专业人士中流行开来。
综合比较
名称 | 51单片机 | STM32 | ESP32 | PIC | AVR | 树莓派 |
---|---|---|---|---|---|---|
架构 | Intel MCS-51 | ARM Cortex-M | Xtensa双核或单核LX6 | Microchip | Atmel(现为Microchip) | ARM Cortex-A |
性能 | 低功耗,低性能,适用于简单控制任务 | 高性能,广泛的处理能力和外设接口,适用于复杂应用 | 内置Wi-Fi和蓝牙,适用于物联网应用,高度集成 | 中等性能,丰富的外设,适用于工业控制和家用电器 | 中等性能,广泛应用于嵌入式系统,Arduino平台基础 | 高性能,类似于低端PC,适用于多媒体、教育和复杂计算任务 |
开发环境 | Keil uVision, SDCC | STM32CubeIDE, Keil MDK, IAR Embedded Workbench | Thonny, ESP-IDF, Arduino IDE, PlatformIO | MPLAB X IDE | Atmel Studio, Arduino IDE | Thonny, Visual Studio Code |
应用场景 | 简单控制任务 | 工业控制、医疗设备、高性能嵌入式系统 | 物联网设备、智能家居、无线连接应用 | 工业控制、消费电子、家用电器 | 教育、开源硬件项目(如Arduino)、中低复杂度的嵌入式系统 | 教育、原型开发、媒体中心、家庭自动化、轻量级服务器 |
价格 | 非常便宜 | 价格中等 | 性价比高 | 价格从低到中等 | 价格适中 | 价格较高 |
市场 | 大规模生产的低成本应用 | 广泛的中高端应用 | 物联网应用 | 工业和消费市场 | 教育和DIY项目 | 需要高计算能力的应用 |
每种单片机都有其独特的优势和适用场景。51单片机适合简单、低成本的控制任务;STM32适合需要高性能的复杂嵌入式应用;ESP32在物联网和无线应用中表现出色;PIC在工业和家用设备中应用广泛;AVR特别适合教育和开源硬件项目;树莓派则在教育、原型开发和多媒体应用中占据重要地位。选择哪种单片机,主要取决于具体的应用需求、预算和开发资源。