基于ARM的系统构件块有助于优化整个MCU开发周期
扫描二维码
随时随地手机看文章
如今,对成本敏感的微控制器市场需要可使产品功能紧密地适合应用的高层次系统集成。PCB尺寸、电源消耗和材料成本的压力也需要比以往更高层次的系统集成。此外,稳压器、电压不足检测器、上电复位等电源接口与晶振/PLL、系统定时器等定时单元一样,都需要在片内得到实现。
为紧密地适合应用,存储器、外围设备与连接之间的正确组合非常重要。对存储器的需求在类型和密度上是不同的。小容量的引导ROM、RAM工作区以及用于存储软件和参考数据的片上闪存都是必需的,但不同应用对密度需求不一样。NAND或NOR闪存、SDRAM等各种存储器类型和密度都需要高效率的外部接口。在连接性方面,微控制器一般需要提供USB、以太网、CAN、SPI或USART总线连接,而为保证安全性,可能还需要AES或DES加速器。此外,许多应用还需要微控制器具有模拟功能。
与外围设备组合变化多样不同,处理器内核的可选范围很窄。只有少数几种工业标准MCU内核占市场主导地位,ARM则是32位MCU内核的代表之一。
图题:基于ARM的MCU系统级芯片AT91SAM7S的架构平台。
应用开发的简易性是一个关键要求,而且常常是最重要的。最基本的要求就是工业标准开发工具必须易于使用且价格合理。此外,MCU还应该提供所有片上外围设备的低层器件驱动程序和标准通信接口的协议堆栈。这些都将大大减少应用开发的时间和成本。如果应用需要操作系统,那么该操作系统应该已具备与MCU架构的接口,并且可以很容易集成到软件开发环境中。
基于微控制器的应用在不断发展。一些产品的生命周期,特别是消费类电子产品的生命周期只有短短数月的时间,因此新型产品必须具有更强的性能、更简单的用户接口以及更小的外形尺寸,而且其价格也更低。为支持这种最终用户产品的发展趋势,位于系统中心的微控制器必须不断发展。不过,向更高级 MCU升级的过程必须简单,并要尽可能避免发生风险。在硬件层面上,这要求同一系列中不同器件的封装和引脚必须兼容;而在软件层面上,关键是要能复用已有的软件模块,并能够方便地集成新模块。
基于ARM的模块化系统构件
Atmel公司应对这些需求的策略是关注整个MCU产品生命周期,在工业标准ARM微处理器内核的基础上为存储器、外围设备和标准通信接口开发了一系列IP模块。软件设备驱动程序、通信接口的协议堆栈、操作系统以及应用开发工具都对这些IP模块提供支持。这些IP模块将被嵌入到整个产品系列使用的公共架构平台中。同一系列的器件具有相同的封装和引脚,这是为了实现最大化复用并快速开发出产品,以满足用户对降低产品成本和缩短开发周期的需求。
1. 架构平台
基于ARM的MCU系统级芯片的典型架构平台如图所示。每个存储器模块、外围设备和通信接口都是一个独立的模块。这些模块经过单独开发和测试,可以针对每个实现进行参数化处理(如闪存或SRAM存储器的密度)。外围设备模块可被软件设备驱动程序支持,这些用C/C++编写的驱动程序已被集成到应用代码中。针对每个目标应用,可以选择最佳的存储器、外围设备和通信接口配置。为尽可能满足相同应用领域中不同用户的需要,Atmel还开发了一系列具有不同存储器密度的器件,该系列中的每个器件都具有相同封装和引脚。
这个架构平台具有许多公用特性。所有器件都采用相同的工业标准ARM处理器内核,而且所有外围设备和通信接口都具有一个被映射到处理器地址空间的公共寄存器结构。通过复用已有的代码,这将大大减少软件开发的费用。
所有器件都具有一个外围设备DMA控制器,该控制器能以最小的处理器开销处理存储器到外围设备的数据传输。高级中断控制器(AIC)可增强处理器内核的基本中断功能,以便在很少几个指令周期内实现到中断处理程序的传递。并行的输入/输出(PIO)控制器可使I/O线与多个通用输入/输出进行复用,从而减少引脚数量、提高I/O编程的灵活性。所有这些器件都有一个快速闪存编程接口(FFPI)和基于ROM的引导辅助(SAM-BA)以便于进行闪存编程。
所有器件都集成了以前片内所没有的多种系统功能,包括用于定时源的晶振和PLL,以及实时定时器、可编程间隔定时器和看门狗定时器等的众多系统定时器。电源管理控制器(PMC)可通过关闭不用的外围设备将器件功耗减至最小,并提供只有实时定时器工作的睡眠模式。稳压器则用来提供1.8V电压供内核和外围设备使用,也可外接供外部1.8V器件使用。上电复位(POR)和电压不足检测器可确保在外部电源中断时系统能安全地关闭和启动。
2. PCB设计和应用开发
在Atmel的方案中,有二个因素可简化最终用户产品的PCB设计:高层的系统集成可大大减少元器件数量;相同系列中的所有器件都具有相同封装和引脚,这意味着升级到更高存储器密度只需进行简单替换。
应用开发的简易性和成本是选择微控制器时的一个主要决定性因素。Atmel提供的基于ARM的构件块方法具有显著好处,同一个低成本评估板可支持面向应用的产品系列中的所有器件。
工业标准处理器内核允许使用工业标准软件开发工具进行应用开发,从而缩短甚至不需要相关的学习过程。如果需要操作系统,也有基本现成的版本可用于ARM内核。用于外围设备的软件设备驱动程序、用于I/O模块的通信协议堆栈,加上对传统应用代码的复用,可有效减少软件开发方面的费用。使用闪存编程存储器意味着器件在开发过程中可以用应用代码进行反复编程,直到消除所有错误。如果使用片上引导装载器(SAM-BA)对开发器件进行快速编程,并且使用相关下载器(SAM-PROG)对产品系统进行并行编程,那么这一过程还可进一步简化。
本文小结
所有电子产品都在不断发展,在Atmel微控制器产品系列中采用模块化方法,旨在使这一发展过程尽可能平滑顺利。片上闪存可以被重复编程,这样即使在用户正在使用的产品上,也可增加新的功能。如果需要更高的存储器密度,可以用增强型存储器件进行直接替换,所需的软件升级非常少。如果需要增加新的外围设备或通信接口,公共架构平台和开发工具可使软件和PCB设计仅需做最少的改动。
因此,在MCU产品开发的各个方面(包括架构、封装、软件、应用开发和产品升级等)采用Atmel的模块化方法,可对最终用户产品周期进行全面优化。