不增加成本的32位移植设计

最新更新时间:2014-12-22来源: 互联网关键字: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位处理器的汇编语言代码是不可移植的。如果你在当前设计中有任何的汇编代码,考虑在C下面重写它,在开始移植过程开始之前。

  封装特别的代码。如果你的代码已经模块化了(编码最佳实践)。代码的移植直接与单片机寄存器对应,比如读I /O端口,应该和文件中和其余部分的代码分开。在这些文件中封装代码并按功能命名,例如UART_Receive()。然后你可以重写这些功能为新的单片机无需更改代码的其余部分。

  其他体系结构更改一个新的单片机可能允许您卸载功能从CPU到外围设备。此外,一个新的IDE可以自动生成代码。利用这些特性,考虑重新建构代码的部分或全部。

  因为32位CPU更容易实现任务切换,考虑重新建构代码作为一组单独的任务被一个实时操作系统(RTOS)使用。例如:32位系统RTOS供应商Segger和Micrium。

  增加的构建和调试,在设计新代码时,最佳的做法是小部分小部分的增加、测试和调试代码

  。这使得它更容易找到并修复缺陷。这同样适用于移植——在新的MCU上移植、测试和调试代码也是一部分一部分的进行。

  CPU和MCU举例,为了对移植过程有更好地理解,让我们来详细了解一下上下文中ARM Cortex-M0和PSoC 4000。ARM Cortex-M0处理器是最小的ARM核心。其寄存器架构(图4)和指令集使它支持C工具。

 

  图4:Cortex-M0登记册架构

  所有寄存器都是32位,使用32位寻址,拥有4Gbyte地址空间。大多数8 位CPU仅限于64Kbyte的地址空间。

  有12的通用寄存器。(低寄存器R0-R7有更多的支持指令集)。特殊寄存器包括:

  双堆栈指针(R13)来帮助实现一个实时操作系统(RTOS)

  链接寄存器(R14)快速从函数调用返回

  程序计数器(R15)

  程序状态寄存器(PSR)包含指令的结果如零和保持标志以及当前异常数

  中断屏蔽寄存器

  控制寄存器控制堆栈指针哪个有效

  Cortex-M0核心指令集设置简单但功能强大并且有大量的处理模式。它拥有优秀的代码密度。从一个8位的CPU将C代码移植到Cortex-M上,CPU经常使用更少的内存。

  ARM Cortex-M系列CPU指令流水线,如图5所示。这就增加整体代码执行速度,因为CPU可以执行一条指令的同时抓取和解码后续指令。

  

 

  图5:Cortex-M处理器中的流水线划分

  ARM Cortex-M CPU系列集成支持中断直接进入CPU内核,使用一个嵌套矢量中断控制器(NVIC)。NVIC功能包括:

  自动动态优先级和优先等待中断嵌套

  低延迟——CPU自动存储和恢复其状态没有指令的开销

  迟到——一个高优先级的中断在一个低优先级中断服务堆栈推操作期间到来时被优先执行。

  这些特性能够更快并决定中断处理。系统定时器”SysTick”促进RTOS的使用和可以操作在CPU睡眠,也包括在内。有高水平中断支持可用,您可以考虑改变你的架构更依赖中断处理。

  ARM的Cortex-M处理器系列集成调试功能在CPU内核,支持多个IDE便于调试。

  Cortex-M0内核是Cortex-M处理器大家庭的一部分,它们有相同的寄存器架构和执行部分或全部Thumb-2指令集,这使得它更容易升级到一个更强大的CPU。例如Cypress的PSoC 5 LP Cortex-M3处理器。

  PSoC 4000是入门级PSoC 4系列的一员。除了Cortex-M0处理器,它有一组可灵活动态配置外围设备,如图6所示。

  

 

  图6:PSoC 4000框图

  这种CPU也有电容式触摸感应特性。电容式感应在成本、性能和防静电保护方面比机械按钮有显著的优势。

  电容式感应功能包括:

  容易实现按钮、滚动条和接近报警解决方案,每个I/O引脚拥有16个输入路经

  高信噪比(信噪比)确保在嘈杂的环境中的触摸精度

  SmartSense自动调节速度和不需要校准

  电容式感应块包括两个DAC和一个比较器,您可以把它用作其他目的如果CapSense不需要使用。

  Cypress也提供PSoC开发工具,一个适用于PSoC3、4和和5 LP设备的集成设计环境(IDE)。PSoC开发工具是一个免费的基于windows的IDE支持PSoC-based系统的硬件和固件设计。

  你可以使用经典的,熟悉原理图来设计。组件包括自动生成API代码,可以大大减少您编写的代码量。使用PSoC开发工具是很容易实现在PSoC系列之间的设计移植在。如图7所示。

  您还可以导出PSoC的设计到其他IDE,例如:µVision 和IAR。

  

 

  图7:PSoC开发工具进行组件配置

  现在升级遗留8位和16位设计到32位平台是很简单的,同时仍然满足成本目标。几个因素必须牢记当计划移植到一个新的CPU;要选择的一个初级32位单片机并且有好的IDE支持。

关键字:32位  移植设计 编辑:探路者 引用地址:不增加成本的32位移植设计

上一篇:用于SIP系统的三维多层LTCC延迟线设计
下一篇:采用Cortex-M3单片机设计的WiFi物联网小车

推荐阅读最新更新时间:2023-10-12 22:50

运用32位高集成度混合信号微控制单元简化系统设计
  ARM Cortex内核改变了MCU产品的传统形态,毕竟通用的标准有助于减少整体系统成本、降低设计复杂度并缩短开发时间。开发人员在为特定设计选择MCU时需考虑诸多因素,如存储大小、输入输出引脚数量、通信接口等。然而,在多种基于ARM标准内核的MCU产品都满足基本需求的情况下,SILICon Labs认为开发人员可从下列因素中进一步缩小选择范围,例如:混合信号集成度、可配置性、功耗和开发难度等。Silicon Labs期望通过Precision32系列产品,重塑32位MCU产品领域的多功能、一体化、高能效和易用特性。   集成多种外设降低系统成本   Precision32结合了Cortex-M3 CPU和多种模拟组件,主要
[单片机]
运用<font color='red'>32位</font>高集成度混合信号微控制单元简化系统<font color='red'>设计</font>
MSP430F5438 32位硬件乘法器的介绍和使用详细概述
32 位硬件乘法器是一个并行器件,而不是 CPU 内核的一部分。这也就意味着:它在工作时不会涉及 CPU 的活动。硬件乘法寄存器是可以通过 CPU 汇编指令的读或着写进行操作。 硬件乘法器特点: ○无符号乘法; ○ 有符号乘法; ○ 无符号乘加操作; ○ 由符号乘加操作; ○ 8 位,16 位,24 位,和 32 位操作数; ○ 整数乘法 ○ 小数乘法 ○ 8位和 16 位操作数与 16 位硬件乘法器兼容; ○ 8位和 24 位在没有符号位扩展的情况下,依然可以进行乘法操作; 硬件乘法器结构图: 硬件乘法器支持 8 位,16 位,24 位,32 位无符号操作数,有符号操作数,无符号乘、加操作和有符号乘、加操作。操作数的
[单片机]
MSP430F5438 <font color='red'>32位</font>硬件乘法器的介绍和使用详细概述
爱特梅尔32位AVR UC3L微控制器降低功耗达90%
爱特梅尔公司(Atmel® Corporation)宣布,其采用picoPower®技术、嵌入电容式触摸控制器外设的新一代爱特梅尔32位AVR® UC3L微控制器(MCU) 现已在产供货。爱特梅尔通过将静态功耗降低90%,动态功耗降低45%,为微控制器市场带来了无与伦比的性能/功耗比。新型微控制器具有1.5 DMIPS/MHz性能以及唾手可得的数字信号处理(DSP)指令,可为嵌入式系统工程师带来超越以往的性能指标。这些产品的目标应用包括:USB和蓝牙耳机等音频处理应用、游戏操纵杆和高级语音或触摸人机接口装置。爱特梅尔32位AVR UC3L系列采用非常紧凑的5.5 x 5.5mm TLLGA封装,具有高性能和低功耗特性,以满足
[单片机]
爱特梅尔<font color='red'>32位</font>AVR UC3L微控制器降低功耗达90%
μC/GUI在Nios II上的移植设计研究
便携式医疗监护仪已成为人们日常生活中不可缺少的一部分。便携式设备是由硬件与软件紧凑组合的一个单元模块,是一种体积小、智能化程度高、功能全、使用灵活、操作方便的便携机,适合家庭使用、外出携带等用途。为了使便携式心电监护仪实现友好的人机交互和更加方便的显示,这里提出一种GUI界面系统设计,就是在基于NiosⅡ处理器的嵌入式平台上实现μC/GUI的移植,使之实现系统功能。 1 μC/GUI的系统移植 1.1 μC/GUI简介及可移植性分析 μC/GUI是Micrium公司开发的通用的嵌入式图形用户界面软件,其中图形用户接口GUI(Graphical User Interface)。该界面软件被设计用于为任何使用
[模拟电子]
μC/GUI在Nios II上的<font color='red'>移植</font><font color='red'>设计</font>研究
中国32位MCU市场前景广阔
2007 年,中国的MCU(微控制器)市场出现了迅速增长。2008年,该市场还将继续保持增长,特别是在 32 位 MCU 领域。 MCU 是嵌入了存储器的功能齐全的芯片,它可以连接和控制从基本家电到先进富媒体消费设备的电子系统。从早上醒来到晚上入睡,人们每天都在跟数以百计的 MCU 打交道。它们存在于闹钟、环境控制系统、收音机、电视机、洗碗机、电脑、手机、汽车等许多与人们生活息息相关的产品中。 由于中国经济的惊人发展和对汽车、工业、消费、办公自动化及其他产品需求的不断增长,MCU 也在迅速增长。市场研究机构 Market Avenue Partners 的报告显示,2006 年中国的 MCU 销售额达到了 43.6 亿
[单片机]
不增加成本的32位移植设计
  一个8位的或者16位的CPU或许能够满足你当前的应用需求。但是为了保持竞争力,你必须对你的产品做出持续不断地改进,包括你要不断的增加它的新特性、不断地提升它的速度,并在提升它规格的同时降低成本。如果你不做这些,而你的竞争对手在做,你将被甩开。   保持竞争优势的一个方法是通过逐步改善你现有的设计。但随着时间的推移,架构的限制可能会是这个过程变得越来越缓慢,成本也越来越高。因此你可以将你的设计移植到32为平台,这会提升你产品在以下几个方面的性能。        表1:移植到32位平台的优势   你真的需要将你的产品移植到32位平台吗?   当你把产品重一个8位的CPU移植到一个32位的CPU上面的时候,有几点时一定要考虑的。首
[电源管理]
不增加成本的<font color='red'>32位</font><font color='red'>移植</font><font color='red'>设计</font>
32位单片机知识讲解:Microchip PIC32系列(三)
工作原理   中断控制器负责对来自一些片上外设的中断请求(IRQ)进行预处理,并按相应顺序将它们送入   处理器。   图8-2 给出了PIC32MX 中的中断处理的图示。中断控制器设计为最多可从处理器内核、能够产生中断的片上外设和5 个外部输入处接收96 个IRQ。所有IRQ 都在SYSCLK 下降沿进行采样,并锁存到关联的IFSx 寄存器中。待处理的IRQ 由IFSx 寄存器中的标志位等于1 来指示。如果中断允许(IECx)寄存器中的相应位清零,则待处理的IRQ 不会得到进一步处理。IECx 位用于对中断标志进行门控。如果允许中断,则所有IRQ 将编码为5 位宽的向量编号。5 位向量可产生编号为0 至63 的唯
[模拟电子]
Atmel推出32位AVR® 32微控制器AT32UC3L
爱特梅尔公司 (Atmel® Corporation) 宣布推出采用其picoPower™ 低功耗技术和嵌入式电容性触摸控制器外设的32位AVR® 32微控制器,型号为AT32UC3L。该器件是业界功耗最低的32位微控制器,在处理实时应用时的工作模式下,功耗低至0.48mW/MHz。AT32UC3L还是首个具有内置电容性触摸界面的微控制器产品,适用于广泛的嵌入式应用。AT32UC3L 的推出扩展了爱特梅尔包括ARM 及AVR32 产品的 32位MCU系列。 picoPower 技术设定全新的 32位微控制器功耗标准:AT32UC3L 采用爱特梅尔的picoPower 技术,在32 KHz 实时时钟工作模
[单片机]
Atmel推出<font color='red'>32位</font>AVR® 32微控制器AT32UC3L
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved