控制/MCU
接近基于微控制器 (MCU) 的嵌入式系统设计项目时,团队经常面临艰难的选择,要么坚持使用 8 位或 16 位 MCU 架构,要么选择更强大的 32 位选项。乍一看,选择似乎很简单。传统上,设计团队选择具有最小指令宽度产品类别的 MCU,以处理应用需求。然而,今天,32 位产品提供的代码密度可以与 8/16 位 MCU 相媲美,有时更高的处理性能实际上可以降低系统功耗。相反,8/16 位处理器通常提供较低的绝对动态和静态功耗。此外,软件兼容性也被考虑在内。让我们考虑每个类别的 MCU 系列来检查这些权衡。
恩智浦最近将其低端 MCU 工作重点放在 32 位处理器上,这些处理器可以在白色家电、各种仪表和工业传感器网络等传统的 8/16 位应用中竞争。该公司仍提供一些传统的 8/16 位 MCU,但最近专注于 ARM-Cortex-M0 内核作为其低端 MCU 产品组合的基础。恩智浦在其 LPC1100 系列中提供了 32 位架构,现在有十几种特定配置可供选择,而且肯定会推出。
德州仪器 (TI) 采取了不同的方法,专注于低端的 MSP430 16 位系列,同时提供多种架构,包括用于高端应用的 32 位 ARM Cortex-M3。TI 已将 MSP430 定位为超低功耗 MCU 系列,并且确实将其营销工作更多地集中在篡夺 8 位设计胜利上,而不是保护 16 位地盘免受 32 位入侵者的侵害。TI 最近在 MSP430G2xx2 超值系列中为该系列增加了 64 款器件,这些器件具有处理电容式触摸用户界面等新特性。
32 位音高
NXP、ARM 和其他 Cortex-M0 被许可方关于为何 32 位架构是更好选择的说法相当简单。两家公司相信 Cortex-M0 最终会提供卓越的代码密度和性能,从而最终在系统级也提供更低的成本。
代码大小很重要,因为它会影响托管应用程序所需的内存量。传统上,较短的指令字提供更好的代码密度,因此应用程序更容易适应 MCU 上可用的有限内存。Cortex-M0 处理器使用 ARM Thumb-2 指令集。Thumb-2 是完整 32 位 ARM 指令集的 16 位子集。
据 NXP 称,与 8/16 位架构(例如 8051 系列、Microchip PIC18 和 PIC24 系列以及 TI MSP430 系列)相比,Thumb-2 具有代码密度优势。NXP 指出,即使是 8 位 8051 也使用可以扩展到 24 位的可变长度指令,同样,16 位 MSP430 也有长达 64 位的指令。Thumb-2 指令的长度固定为 16 位。
代码密度的有效比较肯定需要比简单查看指令长度更复杂的比较。例如,Cortex-A0 使用 RISC(精简指令集计算机)架构,其中固定长度指令是该方法的宗旨。但是具有可变长度指令的 CISC(复杂指令集计算机)体系结构在每个指令周期中完成的工作比 RISC 体系结构更多。这并不意味着恩智浦的代码密度声明一定是错误的,但这确实意味着嵌入式设计团队应该检查与他们的应用和正在考虑的候选 MCU 相关的代码密度。
性能和功率
在性能方面,32 位架构通常具有由处理的数据元素的宽度和处理器运行的时钟速率驱动的优势。对于以高达 50 MHz 的时钟速度运行的 LPC1100 系列而言,这通常是正确的。NXP 声称 MCU 提供超过 45 DMIPS (Dhrystone MIPS),而 NXP 估计典型的 16 位性能为 3 到 5 DMIPS。
当然,性能必须相对于功耗来考虑。恩智浦在发布时表示,该系列在全速时需要不到 10 mA 的驱动电流。然而,许多应用程序不需要 50-MHz 级别的性能。查看 MCU 数据表可以发现,在 12 MHz 时,驱动电流在 2 到 3 mA 范围内变化,具体取决于 1.8 到 3.6 V 之间的电源电压。
与 LPC1100 系列相比,16 位 TI MSP430 系列并没有显着降低有源功耗。典型器件的额定电流为 220 µA/MHz,输入电压为 2.2 V。在 12 MHz 时钟速率下,MSP430 的电流为 2.6 mA,与 NXP 器件处于相同范围内。
TI 产品系列确实提供了更简陋的低压模式范围,最低为 0.1 µA,同时保留了 RAM 的内容。TI 还吹捧 MCU 系列能够非常快速地从低功耗模式中恢复,从而消除了与经常使用此类模式相关的任何性能损失。
在性能和功耗方面,嵌入式团队在比较 16 位和 32 位选项时面临着严峻的挑战。恩智浦认为 32 位架构提供的更高性能意味着 MCU 可以在活动模式下花费更少的时间,而在低功耗模式下花费更多时间——有效降低系统级功耗。
TI 将反驳 MSP430 系列现在包括可以在 25MHz 时钟速度下运行的器件这一事实。此外,这两个产品系列的相对性能比 NXP 让您相信的更接近。在 EEMBC CoreMark 网站上发布的基准分数中,MSP430 条目获得的分数范围为 0.616 至 0.737 CoreMark/MHz,而 NXP1100 条目获得的分数范围为 0.978 至 1.410 CoreMark/MHz。在每个时钟的基础上,32 位架构显然最多是 16 位架构的两倍。
为了做出最佳选择,设计团队必须深入了解每个处理器如何处理手头的应用程序。团队必须辨别处理应用程序所需的时钟频率,并尝试估计低功耗模式的影响——假设功耗很重要。
全部0条评论
快来发表一下你的评论吧 !