不增加成本的32位移植设计
一个8位的或者16位的CPU或许能够满足你当前的应用需求。但是为了保持竞争力,你必须对你的产品做出持续不断地改进,包括你要不断的增加它的新特性、不断地提升它的速度,并在提升它规格的同时降低成本。如果你不做这些,而你的竞争对手在做,你将被甩开。
保持竞争优势的一个方法是通过逐步改善你现有的设计。但随着时间的推移,架构的限制可能会是这个过程变得越来越缓慢,成本也越来越高。因此你可以将你的设计移植到32为平台,这会提升你产品在以下几个方面的性能。
表1:移植到32位平台的优势
你真的需要将你的产品移植到32位平台吗?
当你把产品重一个8位的CPU移植到一个32位的CPU上面的时候,有几点时一定要考虑的。首先是你现有的CPU是否仍然时可用,你将产品搬到32为平台是否能够有一个优势的提升或者性能的改进。8位的应用程序通常是通过简单的计算实施基本的感知和控制。8位的CPU在计算值低于256的时候,它的位操作和应用程序的表现是很好的,例如一个广为人知的架构8051。
即使最小的32位CPU也能做到8位CPU所能做到的一切,如图1所示。
1、能够处理更复杂的计算。例如包括本机自带的DSP、图像处理以及姿势识别功能。
2、数据挖掘和分析、数据库查找。
3、实时的多任务处理系统。
图1-使用Dhrystone做基准的单片机性能比较
即使你不需要使用上述的这些强大性能,32位CPU也能从如下几个方面提升你的设计:
能耗:例如这样一个常见的低功耗设计:CPU先处于睡眠的低功耗模式,定期醒来并在主动模式下执行代码(图2)。在两种模式下32位CPU可能需要比8位CPU更多的用电,但32位CPU花更少的时间执行代码。因此,32位CPU更多的时间是在低功耗模式下的。在许多情况下,这可能会导致它的平均功率比8位CPU更小。
图2:计算密集型任务的平均能耗比较
可升级:现在,大多数CPU的销售是跟着一个可以从低性能升级到高性能的产品系列销售的。如果你的的产品想要升级,那么你的CPU也是必须可以升级的。CPU升级是就从以下方面而言的:
1、指令集、系列里的高端成员应该有更多的指令或者更多现有指令的操作模式,同时保持对低端成员的的向后兼容性。
2、更多的寄存器、或者现有的寄存器有更多的定义位。
3、更多的功能,例如中断控制和调试。
ARM Cortex-M处理器家族是CPU可升级的最好的例子。如图3所示:
图3-ARM Cortex-M处理器家族概述
成本:也许会有一个感知的错误,会认为32位CPU会花费跟多的成本。但是随着技术的发展,32位的CPU不一定会比8位的CPU贵,现在已经有很多的低成本的32位CPU了。例如:因为它简单的设计和占有小硅区域的ARM Cortex-M0内核,使它更加划算。举一个Cypress半导体入门级PSOC 4000CPU为例,它只有0.29美元的价格。
此外,表1显示支持高代码密度和更快执行速度的32位CPU可以帮助降低成本。
这不仅仅关系到CPU
通常只关注您的固件代码移植到新的CPU。但是,请记住CPU只是MCU的一部分,MCU可以尽可能的为它的CPU提供改进机会去满足客户的改进要求。例如:
1、MCU的外围设备能够提升产品的功能吗?
2、外围设备操作能使用更少的代码吗?能够降低CPU的负载吗?这可能导致该系统使用更少的内存,可能降低成本。
3、该器件可以帮你节省板级和系统级的成本吗?例如,你可以将PCB板上的某些功能移动到MCU里。
4、MCU足够灵活,能够让你适应不断变化的需求,而不必制定新电路板吗?
最后,请注意,单片机设备通常只有集成开发环境(IDE)支持它。确认新的IDE不仅仅是一个编辑器,编译器和调试器。IDE使您能够快速构建整个应用程序、使用单片机的硬件特性以及固件可以显著加速设计。开发工具包和应用笔记也很有帮助。
代码移植技巧
如果你决定移植一个设计到32位CPU上去,记住这些注意事项:
选择一个入门级的32位CPU /单片机和IDE。作为你的第一个移植进入32位器件代码,请保持它简单,这将减少引入缺陷的风险,你也会熟悉32位设计的不同之处。选择一个基本的入门级设备,以及一个IDE,可以简化移植过程。Cypass半导体的一个例子是PSoC 4000MCU,由PSoC创造IDE支持。
选择一个新的编译器。当你代码移植到一个新的CPU,你也必须选择一个新编译器。大量的编译器,其中一些是免费的,可用于32位CPU。例如:GCC,ARM/Keil MD,IAR。
让你的构建和调试工具工作。创建一个小测试程序,例如闪烁LED灯。你会获得使用新工具的经验,这将帮助您完成下面的步骤。
汇编代码重写。理想情况下,你的现有代码应该用C(或者其他一些更高级的语言)。任何8位处
- DSP与单片机通信的多种方案设计(03-08)
- SoC前段(ARM)嵌入式系统开发实作训练(上) (02-28)
- 如何采用FPGA协处理器实现算法加速(04-29)
- 嵌入式系统中“软外设”的研究 (07-12)
- 彻底看穿双核CPU Intel与AMD多核处理器剖解 (07-12)
- 基于自适应DVFS的SoC低功耗技术研究(06-19)