实现8位微控制器升级至32位的关键
的数据传输率,需要处理器的及时响应。采用一个外围直接内存访问 (DMA) 控制器就可消除这种约束。不同于CPU逐个字节地传输数据,这种DMA无需CPU干涉,便可直接把数据按模块进行传输。在每个模块传输结束时产生一个单独的中断,不再需要对外围设备轮询 (polling)。采用双指针机制 (dual pointer mechanism) 就可以自动管理模块数据传输,避免了对时间要求严格的指针重配置。 单电源 先进的CMOS技术使微控制器中的内核电源电压逐渐降低。采用0.18μm工艺时,其典型值是1.8V。不过,如果要保留与原有8位系统的兼容性,32位MCU必须采用电压范围在3.0V~3.6V之间的单电源。在这种情况下,可以利用一个内置电压调节器 (图4) 来产生内核及其它片上子系统所需的1.8V电压。该调节器的输出电压在生产阶段时校准。 以外部连接方式来提供1.8V电压环,能根据主板能力对功率源进行更好的控制。对于采用片上电压调节器、还是效率更高或待机耗电更低的外部电压调节器,最终用户拥有绝对的控制权。 使用外部连接方案的另一项优点,是可能使板上的其它IC也由内部产生的1.8V供电。 当 CPU 以较低的速度 (500Hz ~1.5MHz) 运行时,电压调节器会处于闲置 (idle) 模式,此时电压调节器的功耗降到2μA。这种情况下,最大输出电流为1mA,便足以维持CPU和大多数外围设备的活动。这有助于弥补32位MCU待机电流稍高的不足。 减低8位升级至32位过程的复杂性 要增加低成本32位ARM微控制器的市场接受程度,必须使用现有固件,以便于移植。简化专为C语言而最佳化的器件编程模型 (device programming model)、提供强有力的调试功能,以及使已建立的8位开发工具支持32位微控制器等,都是加快用户学习速度的关键。 一个适用于整个微控制器系列集成式外围设备、而且全面和一致的编程模型,正是简化升级复杂性的基础。要做到这种模型,最好的方法是通过一种均匀寄存器结构 (homogeneous register structure) 为所有外围设备指定系统和中断结构地址。只需一个紧密地集成在外围地址空间的外围DMA控制器,就可以显着减低对软件的要求。 为用户提供外围设备驱动器和完整的项目实例 (如可重用的源代码),可加快他们的学习进程,并尽快开始工作。当代码能够迅速被更新,而一旦被加载后器件就能完全自主时,片上闪存的优点就变得显而易见。ARM7 处理器适合于多种操作系统和软件模块如协议堆栈。此外,ARM 微控制器的顾问人数正日益增加,能有效帮助升级中的客户处理移植过程上遇到的各种问题。 对软件开发商而言,要加快移植过程并使固件有效,调试工具的质量至关重要。支持硬件断点 (hardware breakpoints) 的在线仿真 (In-Circuit-Emulation) 接口,提供对处理器的寄存器和内部存储空间的全面访问能力,此外也是连接软件可控追踪 (software-controlled trace) 调试器的界面。目前它们是具有最佳性价比的调试解决方案 (见图5)。编程人员使用指令集仿真器 (Instruction Set Simulator),可以在硬件调试之前提高固件的质量水平,从而缩短开发时间。 除了微控制器调试埠之外,使用片上硬件 (on-chip hardware) 也可以加快开发速度。一般而言,错位 (mis-aligned) 的数据存取极难处理,除非片上监控器能够予以识别,并向处理器发出一个异常中断请求。这正是ARM架构的功能之一。当处理器在调试模式下被中止时,有可能会发生监视器溢出 (overflow) 事故。但若在调试时自动把监视器中止,就可以预防这种情况的发生。此外,外围设备还可能在调试期间产生无效的中断请求,这些请求应该被过滤。 要避免在升级过程差不多完成时才出现最后错误,最好的方法是用闪存来存储程序。这样,在开发的最终阶段也可以对软件进行修改,不会影响生产周期,灵活性极佳。 总 结 从8位升级到32位微控制器不仅仅是器件成本的问题,而且还必须拥有近年来8位微控制器所达到的高集成度;提高实时性能的水平;并提供多元化的内存容量选择。就相同的功能集而言,现今的先进制造技术能使32位微控制器达到8位的价位。熟悉的开发工具和先进的调试解决方案,也使32位微控制器的升级变得更加简易。 由8位、16位和32位系统通用的开发工具支持的ARM微控制器,正渐渐成为业界嵌入式32位微控制器标准。Atmel公司的智能型ARM微控制器系列正是这一市场上的领先产品。
- RS编译码的一种硬件解决方案 (06-21)
- DSP编程过程中的几个关键问题的研究(06-05)
- Linux系统启动时间优化方案(05-02)
- 基于DSP编程的几个关键问题(03-26)
- 基于关键点控制的网络嵌入式设备在线升级的实现(04-24)
- 存储器冗余的关键区域分析(06-05)