控制/MCU
微控制器的讨论焦点常常是最新的 32 位器件。它是最快的吗?它带有最多的内存吗?它是否具有最大的外围设备集?它的功率最低吗?
然而,对于这些新设备找到归宿的每一个应用,8 位微控制器可以满足更多需求。
传统的 8 位应用程序曾经受内存限制,并通过简单的串行接口进行通信。软件通常是手工制作的汇编代码,旨在以最少的内存压缩代码的最大处理量。今天,仍然有几种 8 位架构,包括经典的通用 8051 设计。对于每个架构,通常有多个实现。每种实现都可以有大量的变体,具有不同的处理器速度、不同的功耗、不同的内存配置、不同的外围设备选择以及不同的封装选项。将这些结合起来,通常会在一个系列中获得数百个不同的部分,并为特定架构获得数千个不同的部分。
为特定应用程序选择最佳配置很快就会成为一个问题。幸运的是,除了定义需求的传统“纸笔”方式外,还有一些板允许开发原型以探索配置,提供更好的信息来帮助决定最适合该应用的设备。
在致力于特定架构之前探索应用程序的一种方法是通过Arduino。阿杜诺是一个开源项目,正如 Arduino 网站所说,“制造比台式计算机能够感知和控制更多物理世界的计算机”。这也许是嵌入式系统的一个定义。它围绕着 Arduino 板展开,这是一个小型开发板系列,每个都带有一个 Arduino 处理器——来自 AVR 系列的 Atmel ATMega 8 位处理器。该处理器使用 Arduino 编程语言在 Windows、Macintosh OSX 和 Linux 操作系统下运行的 Arduino 开发环境中进行编程。开发板可作为完全填充板、裸板或设计文件提供。支持这一点的是许多接口板(再次填充或构建您自己的)和教育套件。鼓励 Arduino 用户在项目网站上分享设计和代码。
Parallax采用BASIC Stamp微控制器/模块提供了 一种表面上相似的方法。这些模块采用大型双列直插式封装,由 9 V 电池供电。它们通过串行端口与 PC 通信——第一个设计是在 1990 年。该模块包含自己的 BASIC 解释器来执行 pBASIC——一种 BASIC 方言,具有一系列面向微控制器的命令和功能。与 Arduino 一样,有来自 Parallax 和第三方的支持板和开发套件,还有一个社区网站。然而,与 Arduino 不同的是,Parallax 是一个商业组织。
最近进入开发市场的是mbed。虽然 Arduino 和 Stamp 面向教育/业余爱好者,与专业领域略有重叠,但 mbed 相当于半专业数码相机市场的高端,强烈倾向于专业人士。该网站称“mbed 是一种使用微控制器进行快速原型设计的工具”,后来清楚地阐明了 mbed 的用途:
“……mbed 专为快速实验和迭代而设计……专业的嵌入式工具就像一个复杂的 CAD 程序,有利于完善每一个细节。相比之下,mbed 更像是铅笔和纸,非常适合在资源、库和开发人员社区的支持下快速草拟设计。”
电路板的核心处理器是基于 ARM® Cortex™-M0 的 NXP LCP11U24和基于 ARM® Cortex™-M3 的 NXP LPC1768。最初的 mbed 板使用 NXP LPC2368 和 ARM7 架构。这些都是 32 位架构,可以利用广泛的 C 和 C++ 库以及 ARM 生态系统的相关位。该项目最初是 ARM 内部的一个 skunk-works 项目,现在得到了公司的正式支持。这些板通过 USB 与主机通信,并具有 SPI、I²C 和 CAN 等接口与其他设备通信,以及 PWM 和模拟接口。
正如 mbed 人所说,这些开发环境通常是勾勒出一个想法或调查应用程序可能配置的一种方式。在开发真实系统时,开发人员可能需要更重量级的工具集。许多 8 位处理器的内存大小和处理速度表明,在应用程序开发中摆脱汇编程序而使用高级语言(通常是 C)已经成为可能。反过来,这需要更详细的调试工具。大多数芯片制造商将这些作为其通用资源的一部分提供。
一个重要的趋势是将通用 8 位处理器扩展到使用 8 位控制器作为特殊应用的可编程基础。例如,小微型器件的增长领域是电容感应。当应用程序使用触摸屏、滑块或滚轮时,解析输入并将其传递给适当的应用程序软件需要处理能力。实现这一点的一个有吸引力的方法是将处理卸载到一个 8 位处理器上,通常通过一个简单的串行接口与主处理器通信。例如,意法半导体开发了 STM8-TOUCH-LIB 免费软件库,可将任何 8 位 STM8 微控制器转换为电容式触摸感应控制器。Microchip有一个类似的mTouch™ 库适用于 PIC16 8 位控制器。
在汽车中,虽然安全关键型应用程序通常在 32 位设备上实现,但在一系列接口和控制应用程序中,8 位处理器是最佳解决方案。示例包括门窗电机控制、仪表板显示器以及音频和卫星导航系统等信息娱乐应用。总线控制器(例如 CAN 或 LIN)通常是 8 位设计的变体。
用于汽车应用的处理器必须满足汽车中的极端环境条件,从低至 -40 到至少 +105 摄氏度,有时甚至高达 +125 摄氏度。满足汽车温度的通用设备的一个示例是 Atmel Mega168-15AD。
在消费类应用中,小微型通常是白色家电(冰箱、洗衣机、洗碗机等)中的处理器。顶级机器可能有多个设备,包括中央处理器、接口控制器和电机控制器,而在较低级别的机器中,这些功能可以在单个处理器上共享。虽然到目前为止我们一直在研究基于 8 位处理器的特定技术,但具有 PIC 系列的 Microchip 采用了不同的方法。事实上,该公司过去曾表示,位数无关紧要,重要的是使处理器(速度和功率)、内存和外围设备的封装与应用程序相匹配。如果您有兴趣,内部结构从 8 位到 16 位再到 32 位,但所有设备共享一个共同的开发平台:MPLAB IDE。在这个保护伞下是一系列开发板、软件开发工具和库、调试器和探针,甚至是第三方 RTOS。近日,公司推出了Android™ 附件框架,带有一个开发板和一个软件库,用于创建在 PIC 系列的 Android™ 下运行的应用程序,通过 USB 连接进行通信。
德州仪器是少数仍在推出 16 位级别新产品的公司之一。这些产品专为低功耗应用而设计,而且价格通常非常低。MSP430 架构,由 Code Composer Studio IDE 和LaunchPad 开发支持和软件库,适用于开发电池供电产品的开发人员,例如个人健康和健身以及便携式消费设备。它们部署在各种基于传感器的应用程序中。尚未发布的是 Wolverine 平台,该平台使用 FRAM(铁电 RAM),具有超低功耗要求,适用于由能量收集供电的应用——无需电线或电池的远程和便携式设备。
正如我们之前所讨论的,当您将处理器速度、内存容量和外围设备的不同选项组合在一起时,特定处理器系列的选项可能非常庞大。赛普拉斯半导体有另一种方法:PSoC或可编程片上系统。他们对它的介绍将其描述为微控制器、ASIC 和标准产品的结合,具有所有这些优点和较少的缺点。
单个芯片上有一个 8 位微控制器,可以是久负盛名的 8051 或赛普拉斯 M8C 控制器(尽管正在推出 ARM® Cortex™-M3 32 位产品)。除此之外,还有可编程模拟和数字模块;闪存和SRAM;和广泛的 IO 功能。在设计时,工程师确定将需要的功能以及它们之间的连接。这些设置存储在设备上的寄存器中。上电时,寄存器配置器件。然而,芯片可以动态重新配置——也许一种配置用于设置系统,另一种配置用于正常系统执行。如果应用程序仅在特殊情况下需要特定功能,也许只有偶尔使用的特定任务需要特定通信接口时,
ARM® Cortex™ 系列中的 32 位内核,尤其是 Cortex-M0 和其他 32 位架构,正在进入传统的 8 位应用领域。然而,仍然存在广泛的应用,其中 8 位处理器的小尺寸和低功耗,通常与经过验证的遗留软件相结合,将继续在成本、功耗和开发速度方面提供非常有吸引力的选择。在未来很长一段时间内,开发人员将尽可能地利用这些微型计算机。
全部0条评论
快来发表一下你的评论吧 !