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处理器,运
- 嵌入式系统的定义与发展历史(11-15)
- 嵌入式系统亲密接触(11-22)
- 嵌入式系统设计中的USB OTG方案(02-01)
- 嵌入式线控驾驶系统开发过程中设计和测试考虑(02-02)
- 一个典型的嵌入式系统设计和实现 (02-02)
- DDR SDRAM在嵌入式系统中的应用(02-07)