欢迎来到天天文库
浏览记录
ID:27915108
大小:30.00 KB
页数:9页
时间:2018-12-07
《教你选择合适的微控制器.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、教你选择合适的微控制器 系统性能并不等价于计算能力。较低的功耗、丰富的片内外设以及实时的信号处理能力对于大部分嵌入式应用来说是最为重要的。传统的8位、16位单片机已经很好的处理了这类问题,但是随着当今嵌入式设计不断增长的功能需求和特殊要求,许多微控制器厂商开始抛弃他们传统的8位、16位单片机。但是选择32位处理器对于某些任务来可能并不是最适宜的。下面我们就讨论一下单片机的选型问题。 理解系统性能 MIPS(millioninstrucTIonsper教你选择合适的微控制器 系统性能并不等价于计算能力。较低的功耗、丰富的片内外设以及实时的信号处理能力对于大部
2、分嵌入式应用来说是最为重要的。传统的8位、16位单片机已经很好的处理了这类问题,但是随着当今嵌入式设计不断增长的功能需求和特殊要求,许多微控制器厂商开始抛弃他们传统的8位、16位单片机。但是选择32位处理器对于某些任务来可能并不是最适宜的。下面我们就讨论一下单片机的选型问题。 理解系统性能 MIPS(millioninstrucTIonspersecond),是微控制器计算能力的表征。但是,所有的嵌入式应用不仅仅是需要计算能力,所以应用的多样化决定了系统性能衡量方式的多样化,大部分参数都同等重要并且难于用一个参数来表示,我们并不应该仅仅从MIPS就判定系统的好
3、坏。也许某一应用由于成本的限制,需要一款高集成度的微控制器,该控制器需要多个定时器和多种接口。但是另一个应用需要高的精度和快速的模拟转换能力。两者的共同点可能仅仅是供电部分,比如采用电池供电。对于一个实时的顺序处理应用来说,通信的失败可能会导致灾难性后果。这样的场合下就需要一个灵巧的控制器。这个控制器应当能够以正确的顺序处理任务,并且响应时间必须均衡。所有上述应用的共同问题可能就是定期的现场升级能力。 除了与具体的产品要求有关外,系统性能的衡量也可以考虑是否有容易上手、容易使用的开发工具、应用示例、齐全的文档和高效的支持网络。 系统性能的相关问题 1.传统8
4、位单片机的局限 大多数工程师十分关注系统性能,因为越来越多的8位和16位单片机家族已经无法满足当今日益增长的需求。陈旧和低效的架构限制了处理能力、存储器容量、外设处理和低功耗要求。8位的处理器架构,比如8051、PIC14、PIC16、PIC18、78K0和HC08是在高级语言(比如C语言)出现之前开发的,其指令集仅用于汇编开发环境。并且这类架构的中央处理单元(CPUs)缺乏一些关键功能,比如16位的算数运算支持、条件跳转和存储器指针。 许多CPU架构执行一条指令需要若干时钟周期。Microchip的8位PIC家族执行一条最简单的指令需要4个时钟周期,这导致使
5、用20M的时钟仅能达到5MIPS.对于其他CPU架构,比如8051内核。其执行一条指令至少需要6个时钟周期,这就使得实际的MIPS要比给定的时钟频率低很多。 intmax(int*array) { chara; intmaximum=-32768; for(a=0;amaximum) maximum=array[a]; return(maximum); } 上述代码是一个简单的C语言函数,表1列出了在三种不同CPU架构上编译这段代码的相应结果。8051内核的执行时间几乎是PIC16内核的4倍,对于AVR架构更是达到了28倍。 表1不同CPU架构
6、的代码容量和执行时间 CPU架构代码容量(字节)执行时间(周期) 80511129384 PIC16872492 AVR46335 一些半导体厂商解决了时钟分配问题,使得微控制器实现了单时钟周期指令。当时钟频率为100MHz时,SiliconLabs声称他们基于8位8051架构的微控制器能够达到100MIPS的峰值。但是,这里有几个问题: 第一,由于大部分指令需要两个时钟周期甚至更多,所以其实际能力接近于50MIPS; 第二,8051是基于累加器的CPU,所有需要计算的数据必须拷贝到累加器。查看8051处理器的汇编代码,可以发现65%-70%的指令用
7、来移动数据。由于现代8位和16位单片机架构中有一系列和算术逻辑单元(ALU)相连的寄存器。因此,8051内核的50MIPS仅相当于现代8位和16位单片机架构的15MIPS. MOVA,0x82 ADDA,R1 MOV0x82,A MOVA,0x83 ADDCA,R2 MOV0x83,A MOVXA,@DPTR MOVOxF0,A INCDPTR MOVXA,@DPTR RET 第三,较老的CPU架构缺乏对大容量存储器的支持。早在七十年代,很难想象需要超过64KB存储器的嵌入式应用,这使得许多CPU设计师选择16位的地址总线。因此,CPU、寄
8、存器、指令
此文档下载收益归作者所有