作者: 时间:2008-12-05 来源:52RD硬件研发 | |
现今对于嵌入式微控制器(MCU)的应用与功能的要求不断增多,因此,对微控制器的性能和储存容量的要求也大为提高。从8位元升级到32位元微控制器不仅仅是元件成本的问题,而且还必须达到8位元微控制器的高整合度、提高即时性能的水准,并提供多元化的记忆体容量选择。本文将讨论如何透过系统整合将8位元功能加入至32位元系统中,以及提供功能强大的低成本开发工具,加快这种升级过程。 现今对于嵌入式微控制器(MCU)的应用与功能的要求正不断增多,例如,电机控制必须具有更高的能源效率;以往独立式的应用也必须进行联网。在这种情况下,对微控制器的性能和储存容量的要求也大为提高。对一些应用而言,解决的方法就是从8位元或16位元MCU升级至32位元。这样一来,虽然性能得以提高,但也可能导致单位成本、系统复杂性以及软件开发成本的增加。本文将讨论如何透过系统整合将8位元功能加入至32位元系统中,以及提供功能强大的低成本开发工具,加快这种升级过程。 透过提升制造技术可以降低单位成本。不过,除非32位元MCU具备和8位元或16位元系统相同的系统整合度,否则这些优点都将因为加入外部元件的成本而一笔勾销。高性能系统独有的快取记忆体等往往令系统变得复杂。但是对那些正在升级至 32 位元系统的典型即时控制应用而言,这些并不是必需的功能。虽然,把现有代码移植到新一代更高性能微控制器的成本是无法省去的,但为了减少整体所需的工作量,可以透过开发工具的设计来推动这种升级过程。 市场趋势:转向32位元MCU 此外,目前产业界还出现了一个明显趋势,就是ARM RISC处理器正逐渐成为32位元MCU的产业标准,一如当初8051架构是8位元系统的标准。目前,ARM 在32位元嵌入式RISC MCU市场的佔有率达 75%,截至2005年1月,ARM各合作伙伴已使用超过25亿片的ARM核心的MCU。 成本:技术和整合度的考虑 32位元元件必须採用单电源运作、整合大电流驱动I/O和收发器、控制系统通电、透过低成本石英震盪器生成系统时脉,而且其 I/O上应具有可编程上拉电阻(pull-up)。此外,32位元元件还应确保在任何环境下应用的行为都可以预测,这需要一个节电检测器 (brown-out detector)、一个可编程监视器,以及一个高整合RC振盪器,而不需快取记忆体和快闪记忆体加密位元(lock bit)。
目前业界的0.18μm制程技术能在30MHz的ARM微控制器上进行单週期记忆体存取,原始性能可达27MIPS,远高于现有的一般 8位元微控制器。 ■提高中断处理能力
■独立位元设置/重设 这种解决方案是透过两个虚拟暂存器(virtual register),一个用于位元设置(使启动),另一个用于位元重设(使失效),这能透过单条储存指令来启动位元或使之失效(图三)。由于这种指令对ARM处理器的影响是单独的,故不必遮罩中断。
■週边DMA控制器 ■单电源 以外部连接方式来提供1.8V电压环,能根据主机板能力对功率源进行更好的控制。对于採用SoC电压调节器、还是效率更高或待机耗电更低的外部电压调节器,最终用户拥有绝对的控制权。 使用外部连接方案的另一项优点是,可能使主机板上的其他IC也由内部产生的1.8V供电。
当CPU以较低的速度(500Hz到1.5MHz)运行时,电压调节器会处于闲置(idle)模式,此时电压调节器的功耗降到20μA。这种情况下,最大输出电流为1mA,便足以维持CPU和大多数週边设备的活动。这有助于弥补32位元MCU待机电流过高的缺点。 ■减低8位元升级至32位元过程的复杂性 一个适用于整个微控制器系列整合式週边设备、并全面且一致的编程模型,正是简化升级复杂性的基础。要做到这种模型,最好的方法是透过一种均匀暂存器结构(homogeneous register structure)为所有週边设备指定系统和中断结构位元址。只需一个紧密地整合在週边位元址空间的週边DMA控制器,就可以明显降低对软体的要求。 为用户提供週边设备驱动器和完整的专案实例(如可重用的源代码),可加快他们的学习时程,并尽快开始工作。当代码能够迅速被更新,而一旦被载入后元件就能完全自主时,SoC快闪记忆体的优点就变得显而易见。ARM7处理器适合于多种作业系统和软件模组如协定堆叠。此外,ARM微控制器的技术顾问人数正日益增加,能有效帮助升级中的客户处理移植过程上遇到的各种问题。 对软件开发商而言,要加快移植过程并使硬件有效,除错工具非常重要。支援硬件中断点(hardware breakpoints)的线上仿真(In-Circuit-Emulation)介面,提供对处理器的暂存器和内部储存空间的全面存取能力,此外也是连接软件可控追踪(software-controlled trace)除错器的介面。目前它们是具有最佳性价比的除错解决方案(图五)。编程人员使用指令集模拟器(Instruction Set Simulator),可以在硬件除错之前提高硬件水准,进而缩短开发时间。
除了微控制器除错埠之外,使用SoC硬件(on-chip hardware)也可以加快开发速度。一般而言,错位元(mis-aligned)的数据存取极难处理,除非SoC监控器能够予以识别,并向处理器发出一个异常中断请求。这正是ARM架构的功能之一。当处理器在除错模式下被中止时,有可能会发生监视器溢出(overflow)事故。但若在除错时自动把监视器中止,就可以预防这种情况的发生。此外,週边设备还可能在除错期间产生无效的中断请求,这些请求应该被过滤。 要避免在升级过程差不多完成时才出现最后错误,最好的方法是用快闪记忆体来储存程式。这样,在开发的最终阶段也可以对软体进行修改,而不会影响生产週期,灵活性极佳。 总结 由8位元、16位元和32位元系统通用之开发工具支援的ARM微控制器,正渐渐成为业界嵌入式32位元微控制器标准。
|
用户188034 2009-9-14 19:34