专注工科类创新实验教学、科研开发20余年!方案覆盖嵌入式、IOT、AI、机器人、集成电路、新能源等领域。
 
  当前位置:首页 >> 新闻动态 >> 产品资讯
 
公司新闻
 
培训与竞赛
 
行业新闻
产品资讯

 
如何选择微处理器
     革新科技  来源:革新科技 日期:2011/5/9 13:21:17 阅读:1899 次
- 返回 -
 


    系统性能并不等价于计算能力。较低的功耗、丰富的片内外设以及实时的信号处理能力对于大部分嵌入式应用来说是最为重要的。传统的8位、16位单片机已经很好的处理了这类问题,但是随着当今嵌入式设计不断增长的功能需求和特殊要求,许多微控制器厂商开始抛弃他们传统的8位、16位单片机。但是选择32位处理器对于某些任务来可能并不是最适宜的。下面我们就讨论一下单片机的选型问题。

理解系统性能

    MIPS(million instructions per second),是微控制器计算能力的表征。但是,所有的嵌入式应用不仅仅是需要计算能力,所以应用的多样化决定了系统性能衡量方式的多样化,大部分参数都同等重要并且难于用一个参数来表示,我们并不应该仅仅从MIPS就判定系统的好坏。也许某一应用由于成本的限制,需要一款高集成度的微控制器,该控制器需要多个定时器和多种接口。但是另一个应用需要高的精度和快速的模拟转换能力。两者的共同点可能仅仅是供电部分,比如采用电池供电。对于一个实时的顺序处理应用来说,通信的失败可能会导致灾难性后果。这样的场合下就需要一个灵巧的控制器。这个控制器应当能够以正确的顺序处理任务,并且响应时间必须均衡。所有上述应用的共同问题可能就是定期的现场升级能力。

    除了与具体的产品要求有关外,系统性能的衡量也可以考虑是否有容易上手、容易使用的开发工具、应用示例、齐全的文档和高效的支持网络。

系统性能的相关问题

1. 传统8位单片机的局限

    大多数工程师十分关注系统性能,因为越来越多的8位和16位单片机家族已经无法满足当今日益增长的需求。陈旧和低效的架构限制了处理能力、存储器容量、外设处理和低功耗要求。8位的处理器架构,比如8051、PIC14、PIC16、PIC18、78K0和 HC08是在高级语言(比如C语言)出现之前开发的,其指令集仅用于汇编开发环境。并且这类架构的中央处理单元(CPUs)缺乏一些关键功能,比如16位的算数运算支持、条件跳转和存储器指针。

    许多CPU架构执行一条指令需要若干时钟周期。Microchip的8位PIC家族执行一条最简单的指令需要4个时钟周期,这导致使用20M的时钟仅能达到5MIPS。对于其他CPU架构,比如8051内核。其执行一条指令至少需要6个时钟周期,这就使得实际的MIPS要比给定的时钟频率低很多。

int max(int *array)
{
  char a;
  int maximum=-32768;
 
  for (a=0;a<16;a++)
     if (array[a]>maximum)
        maximum=array[a];
  return (maximum);
}

    上述代码是一个简单的C语言函数,表1列出了在三种不同CPU架构上编译这段代码的相应结果。8051内核的执行时间几乎是PIC16内核的4倍,对于AVR架构更是达到了28倍。
表1  不同CPU架构的代码容量和执行时间
CPU架构 代码容量(字节) 执行时间(周期)
8051 112 9384
PIC16 87 2492
AVR 46 335

    一些半导体厂商解决了时钟分配问题,使得微控制器实现了单时钟周期指令。当时钟频率为100MHz时,Silicon Labs声称他们基于8位8051架构的微控制器能够达到100MIPS的峰值。但是,这里有几个问题:

第一, 由于大部分指令需要两个时钟周期甚至更多,所以其实际能力接近于50MIPS;

第二, 8051是基于累加器的CPU,所有需要计算的数据必须拷贝到累加器。查看8051处理器的汇编代码,可以发现65%-70%的指令用来移动数据。由于现代8位和16位单片机架构中有一系列和算术逻辑单元(ALU)相连的寄存器。因此,8051内核的50MIPS仅相当于现代8位和16位单片机架构的15MIPS。

MOV      A,0x82
ADD      A,R1
MOV      0x82,A
MOV      A,0x83
ADDC     A,R2
MOV      0x83,A
MOVX     A,@DPTR
MOV      OxF0,A
INC       DPTR
MOVX     A,@DPTR
RET

第三, 较老的CPU架构缺乏对大容量存储器的支持。早在七十年代,很难想象需要超过64KB存储器的嵌入式应用,这使得许多CPU设计师选择16位的地址总线。因此,CPU、寄存器、指令集以及程序存储器和数据存储器的数据总线始终受此限制。

第四, 在2006年,约有9%的8位嵌入式应用使用了64KB甚至更多的程序存储空间,这代表了8位MCU市场26%的收益。推测2009年,14%的8位嵌入式应用会代表36%的收益。而这14%的应用会使用64KB甚至更多的程序存储空间。

从系统性能的角度来看,所有这些使得较旧的8位MCU逐渐失去竞争力。

2. 不适宜32位处理器的场合

    旧式CPU架构无法满足当今的市场需求,为了解决这个问题,许多厂商升级至32位的处理平台。对于需要32位处理能力的应用来说这无疑是最棒的选择,但是许多设计师转换到32位平台并非最正确的选择。使用32位MCU来解决8位和16位单片机的自身限制将会导致过高的成本。

    大部分32位微控制器无法提供高速、高分辨率的模数(ADC)转换,EMC性能通常较低,且ESD保护较弱。而8位和16位单片机在这些方面优势明显。另外,强的IO驱动能力,可供选择的多种内部、外部振荡器,无需外部器件的片内电压调整器等是8位和16位单片机的另一些优点。

    显然,32位CPU包含比任何8位和16位CPU都要多的数字逻辑单元,这导致了高的制造成本。虽然使用一些特殊的半导体工艺可以降低成本,但是弊端是会导致较高的漏电流和静态功耗。某些应用,像水表、燃气表、收费公路电子标签、安全系统等,在他们生命期中的大部分时间,CPU处于睡眠模式,即为停止状态。这类应用的电池寿命必须在5-10年,所以这情况中,不可能将CPU从8位或者16位升级至32位处理器。如果想要提升系统性能只有采用别的方法。

保持采用统一产品线

    生产商会定期生产新的嵌入式产品扩展产品线以保持竞争力。这些新产品通常是完善需求、升级性能或者降低成本。其他因素还包括制造工艺升级、提升竞争力和市场发展趋势。独立于最先的设想,新产品总是基于一些核心思想。因此,新的产品或者升级版本会依赖于已经存在的平台和源代码。

    研究表明,半数公司潜在重用已有硬件和软件以减少开发时间。工程师对特定MCU产品家族的了解程度、相关MCU的开发文档是否详细以及是否具有高效的开发工具也是降低开发时间和成本的重要因素。

保护知识产权和处理保密信息

    一些嵌入式应用用来处理个人信息。另一些授权访问受限区域或者金融领域。几乎所有的微控制器都在运行具有产权的程序。如果相关软件被破解,甚至克隆产品在市场流通,知识产权的所有人可能会失去未来的收益。正是由于这个原因,大部分微控制器都有保护机制。这种机制可以阻止黑客或者第三方使用编程器、调试器或者测试接口来读出程序存储器。

    当今,越来越多的应用采用层次设计或者功能模块设计。不同功能模块或者部件之间的有线通信或者无线通信成为一个越发困难和值得注意的问题。为了阻止第三方的非法访问,必须进行加密。这方面的一个例子就是遥控车门开关(Remote Keyless Entry, RKE)或者家庭无线网络。如果传输的数据没有加密,那任何人都有可能使用您的车或使用您的无线互


 
 
   
销售电话:010-82608898     技术支持:82608898-800    Email:sales@gexin.com.cn
Copyright © 2012-2024 版权所有:北京革新创展科技有限公司   京ICP备20004067号-1