MCU 是一种采用单个集成电路的小型计算机,包含一个或多个 CPU(处理内核)、存储器和可编程输入/输出外设。 这些微型芯片是一种经济实惠且流行的负责物理世界数据采集、传感和控制的产品。
MCU 可应用于各种系统,从汽车发动机控制和植入式医疗设备到遥控器、办公机器、电器、电动工具、玩具和其他嵌入式系统。它们充当了现实与物理世界的桥梁,使通信协议和硬件抽象层能够交互并运行设备操作所必须的系统。
微控制器的共同特征
微控制器在一个微小的封装中提供了强大的功能,是嵌入式设备的首选大脑。 无论架构如何,所有 MCU 都有一些共同点:
基于位数的 MCU 核心架构:MCU 使用的位数(8、16、32)(有时称为位深度或数据宽度),CPU的位数是指CPU能一次同时寄存和处理二进制数码的位数,这和CPU中寄存器的位数对应。简单理解8位MCU的寄存器就是8位,但是地址总线的宽度可以和CPU字长不同,比如初代PC的8086就是16位的CPU,但地址总线是20位,可以支持最大1MB(2²⁰ Byte)内存。
内存:MCU 有两种类型的内存。程序存储器(闪存)存储在MCU上运行的代码,而数据存储器(RAM)存储代码使用的数据。
外围设备和通信接口:这些内置接口使微控制器能够与外界交互,例如感测温度或控制电机。
安全性:MCU安全性对于保护固件知识产权、保护设备内私有数据、保障服务执行至关重要。
什么是 8 位 MCU
自 20 世纪 80 年代以来,8 位 MCU 一直是嵌入式开发的核心,即使 32 位架构变得更加普遍,它仍然在物联网开发中发挥着重要作用。 现代 8 位 MCU 的简单性和成本效益确保它们多年来仍将是工程师的关键器件之一。
以下是流行的 8 位 MCU 架构的一些示例:
PIC:PIC 芯片由 General Instruments 于 1975 年开发,现在属于Microchip旗下,为无数玩具、遥控器和经济实惠的小工具提供动力。
AVR:AVR 芯片由 Atmel 开发,如今同样属于Microchip,深受爱好者和专业人士的喜爱,是 Arduino 板的核心,使每个人都可以使用电子产品。 它们是创新的催化剂,广泛应用于嵌入式系统。
8051:由英特尔于 1980 年开发,是真正的老牌产品,8051 在工业应用和医疗设备中蓬勃发展,凸显了简单性和可靠性的持久吸引力。
8位MCU的优点
8 位微控制器比 32 位微控制器有几个显著优点。
成本:8 位 MCU 价格实惠,非常适合注重预算的项目和爱好者实验。
功耗:8 位 MCU 比 32 位 MCU 简单得多,因此非常适合功耗至关重要的简单应用。
代码大小:8 位 MCU 的代码占用空间较小,适合内存占用不大的应用。
易于使用:8 位 MCU 易于学习和使用。 借助现成的开发工具和在线社区,用户可以立即开始编码。
可用性:8 位 MCU 随时可用,有大量选项可供选择。 无论您是构建简单的机器人还是智能家居传感器,8 位 MCU 都能将创意变为现实。
8 位 MCU 的不足
尽管 8 位微控制器因经济实惠且尺寸紧凑而广受欢迎,但与更高位的微控制器相比,它确实存在一些局限性。
有限的存储空间:8 位微控制器的主要缺点之一是存储空间有限,这可能会给执行复杂任务或处理大量数据带来挑战。
处理速度:由于其限制指令集、8 位 MCU 执行复杂任务或处理大量数据的能力可能受到限制。 这对于需要实时处理或高速数据传输的应用来说可能是一个显着的缺点。
再来看看32位MCU
32位MCU擅长处理复杂的任务、处理大量数据并支持高级代数和浮点计算。以下是流行的 32 位 MCU 架构的一些示例:
ARM Cortex-M:ARM Cortex-M 系列是专为嵌入式系统设计的 32 位微控制器系列。 是智能手机、无人机和可穿戴设备背后的强大力量。
PIC32:PIC32 微控制器是 Microchip 开发的 32 位微控制器系列。 从工业自动化到机器人技术,PIC32 能够高效地处理艰巨的任务。
AVR32:AVR32 是 Atmel 开发的 32 位微控制器架构,将用户友好的 AVR 世界带入 32 位领域,使其成为业余爱好者和专业人士的完美选择。
RISC-V:RISC-V是开源架构(ISA),是RISC架构家族的最新发展,其设计简单、模块化、可扩展。 RISC-V 架构因其开源特性而越来越受欢迎,它允许更大的灵活性和定制性。 RISC-V MCU 广泛用于各种应用,包括嵌入式系统、物联网设备和高性能计算。
32位MCU的优点
与 8 位微控制器相比,32 位微控制器具有多种优势。 以下是一些最显着的优势:
处理能力:32 位 MCU 旨在提供高性能和功效。 它们比 8 位和 16 位同类产品更快、更强大,但仍然节能。 32 位 MCU 可以支持更大的 RAM 和 Flash,以及更高的时钟速度。 这使得它们非常适合需要高性能计算的应用,例如 FFT 计算、高质量音频或视频、高分辨率图像处理以及各种边缘计算应用。
内存:32 位内存总线提供比 8 位内存总线更宽的数据路径,使其能够在单个时钟周期内传输更多数据。 这会带来更快的数据传输速率并提高整体系统性能,从而使我们能够保存高分辨率图像、复杂算法甚至整个操作系统。
外设:32位MCU在外设方面具有多种优势。 它们提供更先进的通信接口,例如 UART、USB、以太网、CAN、SDMMC、集成 LCD 控制器等。这些外设对于物联网设备、汽车系统和工业自动化等许多现代应用至关重要。 32 位 MCU 还提供更先进的ADC,DAC、高级定时器、可编程计数器和高精度内部 RC 振荡器等等。
编码效率:32 位 MCU 可以在每个周期中打包更多指令,从而实现更快的执行速度和更低的功耗。 这是因为它们在每个时钟周期可以处理更多的数据位,这意味着它们可以用更少的资源做更多的事情。 此外,32 位 MCU 可以实现卓越的代码效率,这意味着可以使用更小的程序来执行复杂的操作。
库和驱动程序的可用性:能够随时访问各种库和维护良好的驱动程序对于高效的软件开发和无缝硬件集成至关重要。 当开发人员可以利用现有的库和驱动程序时,可以显着提高工作效率,并有助于创建强大的应用程序,从而提供更好的用户体验。
32位MCU的不足
尽管32 位微控制器在功能和多功能性方面占据主导地位,但它们并不是一种万能的解决方案。 在为您的项目提供支持之前,请考虑以下权衡:
功耗:32 位架构增加了复杂性,使得实现最佳低功耗操作比简单的 8 位 MCU 复杂得多。 开发人员可能需要管理更复杂的能源状态并进行外围权衡以达到类似的功耗指标。
复杂性:32 位 MCU 比 8 位 MCU 更复杂,这使得它们更难以编程和调试。
代码大小:对于不太复杂的操作,32 位 MCU 的代码可能比 8 位 MCU 更大,这对于内存有限的应用程序来说可能是一个缺点。 然而,代码大小很大程度上取决于产品开发所使用的代码优化工具。
选择合适的MCU
在嵌入式开发领域,选择合适的处理器平台至关重要,8 位和 32 位 MCU 都能应对不同的挑战,并在现代物联网开发中占有一席之地
就经济性和效率而言,8 位 MCU 是冠军!它们经济高效且结构紧凑,非常适合无线物联网传感器等简单任务。 与 32 位 MCU 相比,其卓越的功效也使其成为电池供电设备的首选。
另一方面,32 位 MCU 比 8 位 MCU 提供更强的处理能力和内存。 这使得它们更适合需要更高性能和更多内存的应用程序。然而,这会增加复杂性。
那么,谁能在物联网领域胜出呢? 对于基本任务和预算限制,8 位 MCU 可以发挥作用。 但是,当需要强大的性能来执行密集型任务时,32 位 MCU 就会更合适。