8位MCU升级至32位MCU的最佳设计
扫描二维码
随时随地手机看文章
一个古老的嵌入式设计问题,就是在你的新设计中使用 8位还是32位内核?如果你问自己的同事,可能会发现他们的观点截然不同。无论是否喜欢,32为内核存在于今。那么这意味着什么呢?它意味着,在某一天,无论你多么努力尝试避免,都不得不从你喜爱的8位内核转向新的、复杂的32位内核。这类移植是痛苦的吗?使用正确的技巧和方法,情况并非如此。
目前的MCU市场分为三个部分, 8位、16位和32位内核(4位内核MCU现在已相当少用,故在本次比较中将其忽略)。对于这三个部分中的每一个,其规模大体相同。传统上8位内核占最大的市场份额。根据一些分析人士报告,可能32位内核市场占有率已经超过了8位内核。即使目前尚未超过,时间也不会太长。32位内核市场份额是迄今为止增长最快的。8位内核和16位内核仍在增长,但在速度方面远不如32位内核(8位内核的增长速度仍快于16位内核)
在很长的一段时间内, 很多人相信16位MCU可能会被8位MCU和32位MCU取代。目前的32位MCU器件采用最新技术制造(与8位内核和16为内核相比)。
MCU制造商能够使用这些最新的技术,使得32位MCU体积变得越来越小,因而变得越来越廉价。由于32位MCU所具有的价格和性能,很多分析人士相信,设计工程师将跳出16位领域, 直接转向具有高性能的产品,保证其设计的未来。
8位MCU无论是在性能还是存储处理能力方面均达到了其极限。这也是目前存在16位和32位MCU的原因之所在。随着行业按照摩尔法则的轨迹发展, 32位MCU变得越来越小和越来越廉价,以至于在传统的8位和16位领域方面也具有了竞争力。
与8位和16位MCU相比,这些新的32位MCU具有更高的处理能力。典型的8位MCU的速度在10~30MIPS之间。16位MCU介于20和40 MIPS之间。而新的32位MCU通常具有80~ 100 MIPS的处理能力!这是处理能力和速度方面的重大改进。
与8位和16位MCU相比,很多 32位MCU具有更小的体积,通常具有更低的 功耗。较小的体积通常意味着更好的功耗、更低的电流消耗和更低的有效输入电压。一些新产品的休眠电流几乎无法测量,提供的输入电压低至0.5V。这就为32位MCU提供了巨大优势。在当今市场上,功率为王。即使某一应用不是以电池为供电, 目前的设计人仍不得不考虑功耗。对于插入栅板的应用,出于多种原因,仍必须是“绿色”的。某些顶级产品必须针对市场目的,或是因为政府命令和标准。例如,最新的消费电子器件目前均是兼容能源之星(Energy Star)的。
如果你目前正在使用8位MCU,你可能会在下一设计中考虑32位MCU。即使下一代设计仍继续使用8位MCU,目前也有很多步骤方法可帮助你做好最终的移植备。今天做一些研究,并进行正确决策,就能为明天的设计提供保证。
当你开始考虑转移至32位MCU时,或许会认为将遇到一些问题。例如,你认为自己需要学习新的架构;你可能需要重写自己的所有代码,以便与新的内核协调工作;或许你感觉32位MCU过于艰难和复杂,它们不是为了便于使用而设计的,而是为了性能设计的,这意味着,你将不得不考虑它们所拥有的数以千计的寄存器;或许你关心可能将不得不学习一整套新的软件工具,你将需要熟悉全新的硬件工具;或许你还认为,32位MCU并不针对你的应用,你无法为自己的设计找出正确的成套外围器件。你可能会关心上述一种或多种问题, 但它们全都是必要的考虑事项吗?让我们分别分析它们。
大多数设计者认为,当他们从8位MCU转移到32位MCU时,将不得不学习新的体系架构。问题是大多数公司有自己的老式8位MCU产品系列和新的32位MCU产品系列。 每年,他们可能仍会为8位产品系列推出少量新的产品,他们希望把握机会,从失误中学习,并在32位系列中更正错误。你或许无法在器件上发现相同的外围部件。不同系列的代码不兼容,或不具有管脚兼容性,因而你将不得不重新完成整个电路板。
尽管真实的情形是这样的,你无法在不改变设计核心的情况下实现移植,但你也希望无需再次学习所有的内容。一些公司开始发布新的产品,在8位版本和32位版本之间具有完全相同的成套外围组件。组件中唯一改变的是其内核。其他部分,包括管脚布局位置,均保持不变。如果你目前使用的是8位MCU,明天就能移植到该公司的32位MCU上,同时仍能使用相同的印刷电路板。这方面的一个例子是Cypress半导体公司最近发布的PSoC? 3和PSoC 5架构。这两种架构具有相同的外围组件、封装和管脚。PSoC 3架构,采用了新的单周期/指令 8051,运行频率高达67 MHz,能够方便地与PSoC 5版本兼容。PSoC 5版本采用了ARM? Cortex?-M3处理器,运行频率高达80 MHz。这类产品使得从一种架构到另一架构的移植变得简单易行。
图1:点击按钮,就能从8位变为32位
人们还认为,你将不得不为新的32位产品重写所有的代码。情形并非总是如此。对于在8位和32位内核之间具有匹配外围组件的很多这类新产品,它们的固件也是兼容的。这些芯片采用高级语言(如C语言),能够编写一套代码,可以选择针对8位产品进行编译,或选择32位产品并重新编译。你可以采取略微复杂的方法,使用高级语言编写代码,仍调用针对特定内核的寄存器,如果你遵守高级编程的精神,移植仍相当容易。
你可能考虑工具会怎样呢?与你正在使用的特定内核相比,你可能更关注集成开发环境(IDE)。一旦你掌握了它,你不会愿意学习新的。但是,如果你拥有一种可在两种架构上工作的IDE,情况会怎样呢?Cypress公司新的PSoC Creator?软件就是这方面的一个例子。它是一种能与8位器件和32位器件一起工作的集成开发环境(IDE)。保证设计未来前景的一种良好方式是,在今天就选择相应的产品(即使你仍与8位内核打交道),通过该产品,能够为8位设计和32位设计使用相同的工具。
与软件工具类似,硬件工具也出现在跨平台应用方面。一些公司已开发出了带有硬件开发工具箱的模块系统。这样,你就能够拔出8位模块,并用32位模块取而代之。板上的所有其他部分保持不变。它们通常采用相同的编程和调试工具。你真正能够做到,学习一次,普遍适用。
真正应考虑的是,很多公司为销售8位产品的不同市场开发了32位产品。这意味着你无法找到支持设计的正确的32位产品。因而,你不仅要为32位产品支付更多的成本,还需花费更多的成本购买外部分离器件。但是,如果你能设计自己的芯片会怎样呢?类似于 FPGA或CPLD,但以更简单的方式使用图形环境会怎样呢?如果你能在工具中实现自己的设计方案,创建它并将程序纳入器件中,是否会很好呢?太好以至于似乎不真实,是吗?当然不。使用PSoC 3和PSoC 5,这是可能的。你现在可以围绕32为内核设计外围器件,确保它们是适合于设计的正确器件。使用这些新工具,能够按照你所希望的方式进行设计。
图2: PSoC Creator软件内的设计示意
与以往相比,对于设计人员来说目前更重要的是灵活性。市场比以前变化得更快,竞争每天都在加剧,每个人都致力于更低的成本。今天选择正确的8位器件系列能够保障你的明天。使用这些新的工具,能够对8位MCU进行设计,或许它是贵公司产品组合的基本版本,随后,你可以承担你的任务,使用相同的项目文件,并将其移植到32位内核上。现在你能够增加更多性能。很快,它将成为贵公司的高端特色产品,从而获得更高的利润。
32位MCU是嵌入式设计的下一代方向。何时采取行动取决于你。或许是现在,或许是数年内,但在某一点上,你的8位MCU将耗尽其能力,无法满足当前市场始终变化的需求。大多数设计人员对该步骤感到恐惧。但它并不一定是痛苦的。我们考察了一些目前可以采取、使该转变尽可能平稳的行动。如果你目前仍在进行8位内核设计,请确保你所使用的产品系列具有32位的对应产品。对于工具来说情况同样。目前很多公司均提供能在不同架构上使用的相同软件和硬件工具。今天选择正确的器件(8位或32位)将能够帮助你以及你的设计在明天获得更大的成功。