首页 > 新能源汽车

升级 8 位和 16 位 MCU 设计:32 位 MCU 架构

来源:新能源汽车网
时间:2023-03-06 17:08:02
热度:

升级 8 位和 16 位 MCU 设计:32 位 MCU 架构现代嵌入式设计需要广泛的功能,包括低功耗支持、高性能/吞吐量、功能丰富的外围设备、不同的连接选项、大容量内部存储器、可

现代嵌入式设计需要广泛的功能,包括低功耗支持、高性能/吞吐量、功能丰富的外围设备、不同的连接选项、大容量内部存储器、可扩展的 CPU 内核、高代码密度以及易于访问开发工具和硬件. 由于这些选项在 32 位 MCU 设备中可用,因此这将是设计人员的共同选择。

ARM 是一种流行的 32 位内核,已获得多家供应商的许可。这为设计人员提供了一种独特的灵活性,可以从一个供应商转移到另一个供应商,而不必担心应用程序开发环境是否会发生变化。选择 32 位设备不仅意味着找到满足当前系统要求所需的特殊外围设备,而且还意味着确保将来能够升级设备。使用 32 位设备更容易实现这一点,因为大多数嵌入式系统研发工作都集中在 32 位内核上。

但是,您必须小心并了解如何利用 32 位 CPU 的特性来发挥您的应用程序的优势。本文讨论了从 8/16 位 MCU 迁移到 32 位系统的必要性,并探讨了在迁移以缩短上市时间时需要考虑的问题。

吞吐量和 CPU 性能: 
吞吐量是 CPU 在给定时间单位内可以处理的指令数。吞吐量越高,系统可以完成的工作就越多。有两个因素决定了 CPU 在给定时间单位内的工作能力。个是CPU执行指令的速度。Dhrystone 基准测试是一种流行的嵌入式系统综合基准测试,用于以 DMIPS/MHz 为单位衡量 CPU 性能。例如,表 1 显示了不同 8 位和 32 位内核的性能测量。毫不奇怪,32 位内核显示出显着的性能优势。

表 1:CPU 性能比较

建筑学处理器示例性能(速度,MIPS)设备详情
8位M8C内核PSoC 1高达 24 MHz,4 MIPS CY8C29XXX
8 位 PIC 内核PIC18F高达 40 MHz,10 MIPS PIC18FXX2
增强型 8 位 8051 内核AT89LP高达 20 MHz,20 MIPS AT89LP828
增强型 8 位 8051 内核PSoC 3高达 67 MHz,33 MIPS CY8C38XXX
32 位 ARM Cortex-M0+PSoC 4高达 48 MHz、0.9 DMIPS/MHz、43 DMIPS CY8C4Axx
32 位 ARM Cortex-M3PSoC 5高达 80 MHz、1.25 DMIPS/MHz、100 DMIPS CY8C58LP

第二个因素是 CPU 在给定速度下可以处理的数据量。一个 8 位 CPU 有 8 条并行的数字线(数据总线)。 这允许 8 位 MCU每个时钟周期仅使用 0 到 2 8 (255) 之间的值。相比之下,32 位 CPU 有 32 条并行数字线,允许它在 每个时钟周期处理从 0 到 2 32 (4,294,967,295) 的值。这显示了 32 位架构在处理能力方面优于 8 位架构的重要性。

这对执行数学运算的效率有影响。32 位 MCU 在处理长于 8 位的数字的数学运算时效率更高。与 32 位 CPU 相比,使用 8 位 MCU 实现 32 位数字的数学运算需要更多的 CPU 周期。这可能会影响电路的性能,具体取决于您的应用程序的处理强度和计算量。

凭借其更大的数据总线,32 位 MCU 还可以访问更大的内存空间。与 8 位 MCU 相比,32 位数据路径还可以更快地复制大块数据,因为 32 位 MCU 能够处理四倍的数据。对于主要功能是将数据从一个地方流式传输到另一个地方的应用程序(例如,实现 UART 到 USB 桥),32 位 MCU 比 8 位 MCU 更合适。

表 2:8 位与 32 位的数据/内存访问能力

8位32位
数据/内存访问能力2 8 = 2552 32 = 4,294,967,295

功耗: 
对于电池供电的嵌入式系统,功耗是您需要在设计早期考虑的关键因素。虽然 CPU 的数据表可能会提供一些关于有源电流和某些低功耗模式电流消耗数字的见解,但平均功率终决定了给定应用程序的效率。借助的工艺技术,与 8 位 MCU 相比,32 位 MCU 不再耗电。此外,32 位 MCU 在给定时间内能够比 8 位 MCU 完成更多的工作,因为它们每个时钟可以处理更多的数据位并实现更高的代码密度。因此,与 8 位处理器相比,32 位处理器可以在更短的时间内完成给定任务并更快地返回低功耗模式,从而改善整体功耗。

32 位 MCU 可以快速处理指令,使 CPU 能够从低功耗睡眠模式唤醒、处理和传输数据,并尽快返回睡眠状态。图 1 和图 2 显示了一个这样的示例,其中 32 位 MCU 的平均功耗优于 8 位 MCU。


图 1:平均功耗的 32 位 MCU 示例


图 2:平均功耗的 8 位 MCU 示例

驱动总线线路需要对总线电容进行充电和放电。因此,需要的总线活动越多,消耗的功率就越多。驱动 32 条线会比 8 条线消耗更多的功率,因此显然 8 位 CPU 具有功率优势。但是,如果需要大于 8 位的常量,则需要多次访问。不仅数据线需要多次充电,地址线也是如此。图 3 显示了一个 8 位 MCU 的示例,其中地址总线必须更改 4 次才能执行 32 位数据传输:


图 3:使用 8 位 CPU 的 32 位数据传输

 
在这种情况下,32 位处理器将只需要内存访问(也可以更快地切换到低功耗模式),因此全局功耗更低。


图 4:使用 32 位 CPU 进行 32 位数据传输

32 位 MCU 架构的进步导致引入了低功耗模式。例如,根据内核的不同,32 位 MCU 可以一直运行到 20 nA。与 8 位内核相比,这些低功耗模式有助于降低 32 位内核的平均功耗。表 3 和表 4 显示了 8 位和 32 位 MCU 的各种低功耗模式的示例。

表 3:8 位 MCU 低功耗模式示例

电源模式电流范围(典型值)健康)状况
积极的6.6毫安@24MHz,25℃,Vdd 2.7 至 5.5V
低功耗模式(睡眠)2.2微安CPU 和外围设备关闭,I2C 唤醒和 POR 除外
休眠200 毫安Vdd = 2.7 至 3.6V @ 房间 T

表 4:32 位 MCU 低功耗模式示例

电源模式电流范围(典型值)健康)状况
积极的6.7毫安@24MHz,25℃,Vdd 1.71 至 5.5V
低功耗模式(深度睡眠)1.3微安CPU 和外围设备关闭,I2C 唤醒和 POR 除外
休眠150 毫安Vdd = 1.8 至 3.6V @ 房间 T
停止20 纳安CPU 和外围设备关闭,GPIO 唤醒除外

从这些表中可以看出,32 位架构提供了多种功耗模式来优化应用程序级别的功耗。

先进的模拟和数字外设: 
随着行业从 8 位向 32 位发展,原始设备制造商不仅期望 CPU 提供更高的性能和功率,而且还希望在不增加系统成本或尺寸的情况下寻找先进的模拟和数字外设。这些要求促使业界将主控制器和独立外围控制器集成到单个芯片中。尽管要求因您设计产品的特定细分市场而异,但与主控制器集成的外围设备的基本需求保持不变。

考虑一个示例应用程序,例如现代洗衣机。OEM 需要实施差异化功能,例如图形显示、液位检测、滚筒振动分析、多电机控制、带感应传感器的门锁、水泵控制和安全功能(例如电压/电流硬件监控)全部开启一个芯片。大批量应用对功能的需求促使芯片制造商将这些功能与各种模拟、数字和连接外设集成到他们的 CPU 中。


图 5:家用电器(洗衣机)单芯片示例

图 6 显示了一个基于 ARM 的 MCU 设备示例,适用于控制洗衣机中实现的某些功能。


图 6:用于洗衣机应用的基于 ARM 的 MCU 示例

从 8 位到 32 位的另一个重要行业是可穿戴产品。可穿戴设备通常需要一个可以作为主处理器工作的 CPU,能够与一组丰富的传感器(例如心率传感器、GPS、运动传感器和环境传感器)连接,具有外部存储器,并包括电容式触摸板接口、音频接口和显示驱动程序以及对无线(BLE 或 Wi-Fi)连接的支持。图 7a 显示了可穿戴健身监测器的示例,以及单芯片 32 位 MCU 如何集成主 MCU、模拟前端 (AFE)、数字逻辑和 BLE 无线电。这些功能使设备能够通过 BLE 连接到传感器集线器,连接多个模拟和数字传感器,并驱动基于 PWM 的振动电机。 


图 7a:可穿戴健身追踪器单芯片示例


图 7b:可穿戴健身追踪器芯片框图

设备内部框图(图 7b)显示了 Cortex-M0 设备中的组件,这些组件使其能够支持各种可穿戴产品,例如运动和健身监视器、游戏控制器、医疗设备以及其他基于传感器的低功耗系统物联网。器件的主要特性是用于提高性能的 MCU、可编程 AFE,包括运算放大器、PGA、比较器、滤波器、ADC、用于自定义数字外设的可编程数字逻辑、定时器、计数器、PWM 和多个接口(SPI、I2C和 UART)。这种集成水平简化了总体设计、降低了成本并增加了功能,使 32 位架构成为当今许多应用程序的理想选择。

在本文中,我们讨论了 32 位系统在性能、功耗和模拟、数字外设方面的几个好处。

在这个由两部分组成的系列的第二篇文章中,我们将介绍现代软件工具、硬件开发生态系统和现成的固件堆栈以及代码示例如何简化 32 位系统的系统设计和开发。