首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于ARM的系统构件模块有助优化微控制器开发周期

基于ARM的系统构件模块有助优化微控制器开发周期

本文将探讨微控制器市场随着应用需求不断演变而在功能上的应对要求;并讨论各种片上和外置内存及不同存储容量,以及高系统集成度,所有讨论都建基于业界标准的微控制器 (MCU) 核。此外,文中还概述 Atmel公司针对这些市场需求开发出的一个模块化架构。该架构能优化最终产品周期中的各方面,包括完成MCU的应用适配、PCB设计、应用软件开发和产品更新换代。

    微控制器市场的需求
现今的微控制器市场是一个既计较成本又追求高系统集成度的市场,往往要求在集成系统中包含能与应用紧密适配的各种功能。无论是来自电路板尺寸、功耗,还是材料成本方面的压力都要求微控制器产品具有前所未有之高的系统集成度。诸如调压电路、欠压检测电路 (brownout detector) 和上电重设电路 (power-on-reset) 等电源接口,都得像振荡器或PLL和系统定时器之类的时序电路一样成为片上内置电路。

要紧密配合应用的需求,微控制器的内存、外设和网络接口配置是非常重要的。不同的应用需要不同类型和不同容量的内存。一般来说,微控制器都有启动ROM、RAM 空间以及片上闪存这些基本构件,但其内存的容量却随应用而异。微控制器通常都得具备一些适配各种类型和不同容量的内存的外部接口,如NAND或NOR Flash和SDRAM等。至于网络连接,一般为 USB、以太网 (Ethernet)、CAN、SPI或USART 接口。在安全性方面,可能还要集成 AES 或 DES加速引擎。许多应用都寻求模拟解决方案。

与多元化的外设选项相反,处理器核的选择范围很小。目前市场上只有为数不多的几种满足业界标准的MCU核,其中以32位家族中的 ARM® 微控制器核为主。

简易的应用开发是一项重要、甚至是最重要的要求。应用开发最基本的要求是使用方便,价格合理而且满足产业标准的开发工具。此外,微控制器应同时配备所有外设的底层驱动程序,以及标准通讯接口的协议堆栈,这样才能大幅度地缩短应用程序的开发时间和降低开发成本。如果应用程序需要某种操作系统,该操作系统必须已经植入MCU架构,并且能很容易地集成到软件开发环境中。

基于微控制器的各种应用会不断更新换代。有些产品 (尤其是消费电子) 的市场寿命只有几个月。新版本的产品必须具有更完善的功能、更简单的用户接口和更小的体积,而且成本也必须降低。为支持最终产品的更新换代,作为系统中心的微控制器也必须更新。然而,要升级微控制器,升级过渡必须尽可能简单和无风险。对硬件来说,这要求同一系列器件之间的封装和接脚兼容性;在软件层面上,关键则在于能否重复利用现有的软件模块,以及能否轻易将新的软件模块整合进来。


    模块化的 ARM 系统构件
为应对这些应用要求,Atmel公司采取的策略是着眼于整个 MCU 产品的生命周期。Atmel 公司基于业界标准的 ARM 微控制器核开发出了一整套针对各种内存、外设和标准通信接口的模块化 IP 核构件。这些构件都配有相应的软件设备驱动程序、通信接口协议堆栈、操作系统和应用开发工具。每个产品系列的相关构件都基于一个共享架构平台;而同一系列器件都有相同的封装和接脚。其目的就是要尽量地实现产品的循环再用,并快速地开发出产品,以满足客户降低产品成本和缩短开发周期的要求。


    架构平台
图1所示为 ARM微控制器系统级芯片的典型架构平台。该平台上的每个内存块、外设和通信接口都是一个功能完备的模块。每个模块都可独立开发和测试,并可就具体的应用进行配置 (如配置不同容量成闪存或SRAM)。外设构件配有用 C/C++ 编写的软件设备驱动程序,而且这些驱动程序都可直接整合到应用程序代码中。每个目标应用都选配了经优化的内存、外设和通信接口配置。为了更贴切地适配同一应用领域中不同的客户需求,Atmel 还开发出不同内存容量的器件。同一系列的器件具有相同的封装和引脚。

这个架构平台具备一系列的通用功能。所有器件都配有同一业界标准的ARM处理器核。此外,所有外设和通信接口都具有一个被映像至处理器地址空间的共享寄存器结构。这样就可以重复使用现有的代码,大大降低软件开发的成本。

另外,所有器件都有一个外设 DMA 控制器,只需很少的处理器资源就可处理内存与外设间的数据传输。该平台还配有一个提升处理器核基本中断服务功能的高级中断控制器 (advanced interrupt controller, AIC),它只需几个指令周期就可完成对中断服务程序的转换。此外,该平台还采用了一个并行输入/输出控制器 (parallel input/output, PIO) 来实现I/O 线路与众多通用输入/输出端的多任务,从而减少接脚数量,并增加I/O 编程的灵活性。所有器件都有一个快速闪存编程接口 (fast Flash programming interface, FFPI) 以及用于简化闪存编程的ROM启动辅助芯片 (SAM-BA)。

所有器件都整合了以往从未内置在芯片上的多种系统功能,包括用于时序的振荡器和PLL,以及一些系统定时器 (实时定时器、可编程间隔定时器、监视定时器)。功率管理控制器 (power management controller, PMC) 能关断未使用的外设,并提供只有实时定时器在工作的待机模式,从而把系统功耗降至最低。电压调节器为处理器核和外围设备提供一个1.8V的电源,并可向外部的1.8V器件提供电源。此外,该平台还包括一个上电重设电路 (POR) 和欠压监测器 (BOD),用于在外部电源中断时确保系统安全地关断和启动。


    电路板布局
Atmel公司这种策略从两个方面简化了最终产品中的电路板布局:其一,系统集成度高,大大减少了电路板上的组件数目;其二,同一系列中的所有器件都采用相同的封装和接脚数,这样进行内存扩充升级时就只需更换内存块。如图2所示,AT91SAM7S系列5款型号中4款都采用了相同的封装和接脚数。

应用开发
是否能简化应用开发和降低开发成本是选择微控制器的决定因素之一。Atmel公司基于ARM核的构件解决方案在这一点上具有明显的优势。如图3所示,同一块低成本评测板可支持应用主导的产品系列中所有器件。

采用业界标准的处理器核意味着可以在系统设计中使用业界标准的软件开发工具,其好处在于开发人员不必去学习五花八门的开发工具,可少走甚至不走弯路。如果需要某种操作系统,则相应的ARM核中几乎肯定已植入了这种操作系统。现成的片上外设的驱动程序和I/O构件模块的通信协议堆栈,以及可重复使用的现有应用程序代码均能降低开发成本。采用闪存作为程序内存意味着可对器件开发中的应用程序代码进行反复编程调试,直到排除所有错误为止。为简化这种程序,系统还包括了一个用于加快开发器件编程的片上启动加载器 (SAM-BA),以及用于生产系统并行编程的启动加载器 (SAM-PROG)。

产品更新换代
电子产品一直不断地更新换代。Atmel 公司的微控制器产品系列采纳了模块化的构架策略,目的就是要使这种更新换代的过程顺利流畅。片上闪存可以被重复编程,这样即使在使用中的产品上也可以增加新的功能。如果要扩充内存,只需更换一个容量更大的内存件,而涉及的软件升级工作极少。同样地,若要添加新的外围设备或通讯接口,借着共享架构平台和开发工具,便可以把软件和电路板的更改工作减至最少。

本文来源:中国电子商情    作者:Dany Nativel
返回列表