8位向32位转换之决策
时间:08-04
来源:互联网
点击:
作者:Ankur Tomar,e络盟;Anthony Huereca,飞思卡尔
e络盟社区致力于服务设计工程师已有8年时间。在这段时间内,技术不断发展,32位架构上市,使得工程师能够前所未有地推进其设计,我们也得以亲眼见证了微控制器市场的发展变化。
在全世界每天使用的数十亿件嵌入式设备中,许多仍然采用传统的8位和16位微控制器。很多嵌入工程师是跟着这些较老的架构一起成长起来的,这些架构成本低、功耗低而且十分简单,即使32位设备发展迅猛也没有妨碍它们的受欢迎程度。但是,32位设备声望渐隆,我们有必要对这个新架构的差异、优势和机遇进行详细说明。
现在,每个新项目都需要先回答下列问题:继续采用8位架构会错过什么?32位架构能够提供什么?32位设备目前占据着嵌入式MCU销售的领先地位,我们是否应该立即采取行动以避免落后?
幸运的是,我们的行业创新永无止境。有了Freescale®(飞思卡尔)、Atmel®、NXP®及其它设备所采用的ARM® Cortex®- M0+等内核,32位处理器就能够媲美传统8/16位MCU的实力,同时还能够提供众多的优势,让升级变得极具吸引力。Cortex-M0+内核为转换而生,它的32位功能可将项目提升到一个全新的高度。
为什么要向32位转换?
如果你问学工程的新生为什么要从8位向32位转换,那么你可能会得到这么一个明确的答案:32位是8位的4倍,位越高当然越好!实际上事情并非那么简单,不过32位MCU十分重要自有其很多令人信服的理由,即使对于 “传统的”8位和16位项目来说也是如此。
• 提高性能:向32位内核转换之后,相对于目前使用的8位和16位架构来说,每MHz性能可以提高2-40倍。你可以获得更快的32位数学运算处理速度,以及单周期32位乘法运算。而且,你还可以获得单周期IO,用于位拆裂和软件协议仿真。
所有这些功能开启了全新的可能性,涉及软件堆栈(USB、蓝牙等)、RTOS、高级UI等等,而且还剩余充足的处理能力用于应用软件的自定义功能。
• 提高能源效率:Cortex-M0+内核效率极高,其Coremark/mA较8位或16位竞争性产品高达2倍。嵌入式系统结合这种强大的Cortex-M0+内核,可以更快地完成任务并返回睡眠模式,从而节省能源。
即使睡眠模式也能够很好地节省功耗:在飞思卡尔Kinetis® L 系列产品上进入9种模式中的最深度睡眠模式时,其功耗低至<1uA。而且,由于Kinetis系列产品上的外围模块采用智能设计,因此你可以在不唤醒内核的情况下做更多的事情,从而进一步节省功耗。
• 提高代码密度:似乎违反直觉的是,使用32位处理器将导致代码长度减小。不过,Cortex-M0+内核使用Thumb-2指令,其中许多指令仅占用16位闪存。而且请记住,8位处理器上的许多指令实际长于8位。此外,视具体应用而定,8位指令的多个字节可以用32位MCU的一个指令取代,就像下面的16位乘法运算一样。
结果显示,向使用Thumb-2指令的32位架构转换,可以极大地提高代码密度。
• 可扩展:当项目和性能需要提升时,捆绑于某个制造商提供的某个8位架构的装置不再是妨碍。32位设备注重C码而非装置,因此减少了开发和调试的时间,并且可以更加简便地将代码移植至新的设备。随着32位ARM MCU在全世界广泛普及,软件生态系统将变得十分庞大,并且还将不断扩展。
但是……
你觉得这一切听起来真不错,但我仍然需要8/16位MCU为我的应用提供较小的尺寸、较低的成本和易于使用的特点。幸运的是,32位MCU也能够做到这些:
• 尺寸:正如飞思卡尔Kinetis KL03系列产品上所见,32位MCU的尺寸小至1.6x2.0毫米,是世界上最小的ARM MCU,所以非常小的尺寸也能够提供卓越的32位性能。
• 成本:设备起步价低至0.49美分,所以32位MCU甚至可以用于此前望成本兴叹的各种应用。而且因为代码密度提高,所以需要的闪存也比较少。
• 复杂性:令人称奇的是,32位架构在某些方面实际上更为简单。有了32位地址空间,便无需对内存地址进行分页,所以可以直接访问。Cortex-M0+内核架构拥有一个全功能干扰控制器,可简化干扰处理。此外,32位架构还附带一个追踪缓存,可以方便调试,并给希望继续使用装置的用户仅提供56条指令,这样一来,向32位“跨跃”的一大步从复杂性的角度来说更像是一小步。
利用32位开展开发工作:
使用32位ARM内核的主要优势之一,在于海量的可用软件和硬件,其中包括大量兼容的编译器和调试器。当项目在Cortex-M0+和更为强大的Cortex-M4等内核之间进行调整时,我们可以十分简便地重复使用各种硬件和软件。此外,因为飞思卡尔Kinetis MCU引脚和模块具备兼容性,并且该系列的设备数以百计,所以沿着性能/闪存曲线上下移动非常简便。
飞思卡尔进一步促进了32位的开发工作,推出了Processor Expert®软件建模工具和MQX™-Lite实时操作系统(RTOS),有助于迅速启动和推进全新的32位项目。Processor Expert软件建模工具是一种GUI补充工具,用于代码生成,可创建客户化的驱动程序,从而极大地缩短开发时间。
MQX-Lite RTOS是MQX RTOS的简化版,专门针对内存低于4KB的微控制器设计。RTOS驱动程序来自于Processor Expert软件建模工具,MQX-Lite RTOS是MQX RTOS的子集,因此未来可轻松升级至更为强大的设备。它很好地补充了Processor Expert软件建模工具,而且对于带有USB功能的设备,它还提供一个USB补充堆栈。
e络盟社区致力于服务设计工程师已有8年时间。在这段时间内,技术不断发展,32位架构上市,使得工程师能够前所未有地推进其设计,我们也得以亲眼见证了微控制器市场的发展变化。
在全世界每天使用的数十亿件嵌入式设备中,许多仍然采用传统的8位和16位微控制器。很多嵌入工程师是跟着这些较老的架构一起成长起来的,这些架构成本低、功耗低而且十分简单,即使32位设备发展迅猛也没有妨碍它们的受欢迎程度。但是,32位设备声望渐隆,我们有必要对这个新架构的差异、优势和机遇进行详细说明。
现在,每个新项目都需要先回答下列问题:继续采用8位架构会错过什么?32位架构能够提供什么?32位设备目前占据着嵌入式MCU销售的领先地位,我们是否应该立即采取行动以避免落后?
幸运的是,我们的行业创新永无止境。有了Freescale®(飞思卡尔)、Atmel®、NXP®及其它设备所采用的ARM® Cortex®- M0+等内核,32位处理器就能够媲美传统8/16位MCU的实力,同时还能够提供众多的优势,让升级变得极具吸引力。Cortex-M0+内核为转换而生,它的32位功能可将项目提升到一个全新的高度。
为什么要向32位转换?
如果你问学工程的新生为什么要从8位向32位转换,那么你可能会得到这么一个明确的答案:32位是8位的4倍,位越高当然越好!实际上事情并非那么简单,不过32位MCU十分重要自有其很多令人信服的理由,即使对于 “传统的”8位和16位项目来说也是如此。
• 提高性能:向32位内核转换之后,相对于目前使用的8位和16位架构来说,每MHz性能可以提高2-40倍。你可以获得更快的32位数学运算处理速度,以及单周期32位乘法运算。而且,你还可以获得单周期IO,用于位拆裂和软件协议仿真。
所有这些功能开启了全新的可能性,涉及软件堆栈(USB、蓝牙等)、RTOS、高级UI等等,而且还剩余充足的处理能力用于应用软件的自定义功能。
• 提高能源效率:Cortex-M0+内核效率极高,其Coremark/mA较8位或16位竞争性产品高达2倍。嵌入式系统结合这种强大的Cortex-M0+内核,可以更快地完成任务并返回睡眠模式,从而节省能源。
即使睡眠模式也能够很好地节省功耗:在飞思卡尔Kinetis® L 系列产品上进入9种模式中的最深度睡眠模式时,其功耗低至<1uA。而且,由于Kinetis系列产品上的外围模块采用智能设计,因此你可以在不唤醒内核的情况下做更多的事情,从而进一步节省功耗。
• 提高代码密度:似乎违反直觉的是,使用32位处理器将导致代码长度减小。不过,Cortex-M0+内核使用Thumb-2指令,其中许多指令仅占用16位闪存。而且请记住,8位处理器上的许多指令实际长于8位。此外,视具体应用而定,8位指令的多个字节可以用32位MCU的一个指令取代,就像下面的16位乘法运算一样。
结果显示,向使用Thumb-2指令的32位架构转换,可以极大地提高代码密度。
• 可扩展:当项目和性能需要提升时,捆绑于某个制造商提供的某个8位架构的装置不再是妨碍。32位设备注重C码而非装置,因此减少了开发和调试的时间,并且可以更加简便地将代码移植至新的设备。随着32位ARM MCU在全世界广泛普及,软件生态系统将变得十分庞大,并且还将不断扩展。
但是……
你觉得这一切听起来真不错,但我仍然需要8/16位MCU为我的应用提供较小的尺寸、较低的成本和易于使用的特点。幸运的是,32位MCU也能够做到这些:
• 尺寸:正如飞思卡尔Kinetis KL03系列产品上所见,32位MCU的尺寸小至1.6x2.0毫米,是世界上最小的ARM MCU,所以非常小的尺寸也能够提供卓越的32位性能。
• 成本:设备起步价低至0.49美分,所以32位MCU甚至可以用于此前望成本兴叹的各种应用。而且因为代码密度提高,所以需要的闪存也比较少。
• 复杂性:令人称奇的是,32位架构在某些方面实际上更为简单。有了32位地址空间,便无需对内存地址进行分页,所以可以直接访问。Cortex-M0+内核架构拥有一个全功能干扰控制器,可简化干扰处理。此外,32位架构还附带一个追踪缓存,可以方便调试,并给希望继续使用装置的用户仅提供56条指令,这样一来,向32位“跨跃”的一大步从复杂性的角度来说更像是一小步。
利用32位开展开发工作:
使用32位ARM内核的主要优势之一,在于海量的可用软件和硬件,其中包括大量兼容的编译器和调试器。当项目在Cortex-M0+和更为强大的Cortex-M4等内核之间进行调整时,我们可以十分简便地重复使用各种硬件和软件。此外,因为飞思卡尔Kinetis MCU引脚和模块具备兼容性,并且该系列的设备数以百计,所以沿着性能/闪存曲线上下移动非常简便。
飞思卡尔进一步促进了32位的开发工作,推出了Processor Expert®软件建模工具和MQX™-Lite实时操作系统(RTOS),有助于迅速启动和推进全新的32位项目。Processor Expert软件建模工具是一种GUI补充工具,用于代码生成,可创建客户化的驱动程序,从而极大地缩短开发时间。
MQX-Lite RTOS是MQX RTOS的简化版,专门针对内存低于4KB的微控制器设计。RTOS驱动程序来自于Processor Expert软件建模工具,MQX-Lite RTOS是MQX RTOS的子集,因此未来可轻松升级至更为强大的设备。它很好地补充了Processor Expert软件建模工具,而且对于带有USB功能的设备,它还提供一个USB补充堆栈。
飞思卡尔 嵌入式 MCU Freescale Atmel NXP ARM Cortex Cortex-M0 仿真 USB 蓝牙 LCD 电路 MEMS 传感器 相关文章:
- 飞思卡尔用超低功率8位微控制器简化绿色嵌入式设计(01-09)
- 飞思卡尔利用基于优化微控制器技术的先进电表参考设计(09-11)
- 飞思卡尔 i.MX 处理器助力 Sharp 的 NetWalker(08-12)
- 艾默生与飞思卡尔携手开发面向小型板卡的Power Architecture技术(02-03)
- 飞思卡尔嵌入式硅片为福特汽车下一代SYNC系统提供动力(01-08)
- 飞思卡尔半导体使用Tektronix IConnect软件为发射机建模 (04-01)