设计师在查看任何电子元件目录时,能够很明显地注意到,会有很多潜在的微控制器(MCU)选项。可供选择的产品种类繁多,从另一侧面也证明 MCU 已成为现代系统实现中必不可少的一部分,目前很难找到不包含 MCU 的电子产品。
考虑到设计师需要为设计找到最佳选项,而且要以一种更有条理的方式区面对快速的变化,这种广泛的可能性也呈现出巨大的挑战。在查看 MCU 选项时,需要考虑以下七个关键方面,这样能够有助于找出目录中哪些产品最能满足您的特定需求。
架构
对于嵌入式设计,最重要的考虑因素是 MCU 核心处理器内核性能是否可以充分满足预期的工作要求。基本的 8 位流水线(pipeline)型 MCU 能够处理涉及监控 I/O 端口,并根据这些输入更改状态等控制任务。但是,如果任务中涉及算法(例如闭环控制)中输入的算术操作,则系统可能需要更复杂的指令集,这需要转移到 16 位甚至 32 位流水线型 MCU。位数较高的流水线 MCU 具有将采样和其他实际数据一并处理的优势。 而对于一个 8 位流水线 MCU,除了最小数据值外,所有其他数据均需要分成子单元进行处理,这会影响性能。对于闭环控制,能够支持数字信号处理的 16 位架构通常会在成本与算术性能之间具备最佳平衡。但是,对于需要支持控制、通信和管理等复合功能的系统,可能需要更高的 32 位流水线 MCU 能力。
图 1:PIC18F46Q10T-I / PT 是 Microchip 深受市场欢迎的 PIC 系列 8 位 MCU
I/O 端口
使用 MCU 进行设计的巨大优势是它们都具有多种集成的 I/O 端口。通过精心选择 I/O 端口的组合,这些端口可以专门针对一些特定应用量身定制,端口可以从寄存器可编程数字信号线到智能电机控制单元,再到用于 IoT 连接的整个无线子系统。首先确定应用需要哪些功能,通常可以直接使用参数搜索来创建合适器件的候选清单。在理想的情况下,总有一个 MCU 具有应用所需的全部 I/O。但是,现实却可能不是这样,尤其是对于更多的细分市场设计。许多外围设备都符合通用接口规范(例如 I2C 或 SPI),或者可以采用并行接口,由此可以连接到存储器总线,或者可以通过控制通用 I/O 线进行访问。通过分析设计中所需的外部组件可确定除内置外设之外,MCU 是需要串行 I/O 还是并行 I/O 端口。
存储器
存储器通常是在 MCU 系列中选择特定部件的主要考虑标准。由于外部存储器会增加总体成本,而且访问所需的额外周期常常会降低性能,因此,尽管通常在系统断电时可使用外部串行存储器用于存储配置数据,确保目标应用与所选 MCU 的存储器限制能够匹配非常重要。至于性能评估,设计团队需要估计具体应用和随附的操作系统(如果只需要一个操作系统)会在程序和数据存储方面占用多少字节。通常,在选择 MCU 之前,应用无法完全确定。此外,即便使用函数点(function-point)分析之类的估算技术,仍然很难确定实际存储器使用情况的准确预测。因此,建议选择一个 MCU 系列,它能够轻松调节包括闪存和 SRAM 等存储器大小。由于 MCU 都具有配置多种存储器大小的变型,因此通常可以直接转换到下一个器件,而不会影响引脚布局或设计的其他方面。
功率
能耗已成为嵌入式系统设计人员考虑的一个主要问题。当今的许多物联网项目都会依靠单节电池运行数年,即使对于采用市电供电的系统,能效目前也已成为工程师的核心考虑标准之一。通过精心选择 MCU 可以有多种方式来提高能效。一种是继续转向更密集的处理,以便利用扩展的优势(不仅局限在逻辑和存储容量上,而且在功耗方面)。然而,当 MCU 必须运行的工作载荷较轻时,通常可以策略性地采用低活动性和睡眠模式来提高能效。将活动分解成短脉冲,设计人员可以利用睡眠模式将电流消耗降低到仅为 nA 级。此外,越来越多的 MCU 可提供智能外围控制器,使得无需唤醒处理器内核即可执行常规功能。这样可以使睡眠时间最大化,因而减少了运行该应用所需的功率。
图 2:德州仪器(TI)MSP430F2132QRHBREP 的框图。
工具
工具支持是许多领先 MCU 架构的关键差异化因素。尽管通过参数搜索会得到来自不同处理器体系结构的多个候选者,但是工具支持在多大程度上能够适合开发团队的需求,这是决定选择哪种 MCU 的重要考虑因素,同时要强调的是需要考虑开发人员的技能和经验。拥有大型系统开发所需高级语言深度知识的工程师自然会倾向于使用 ARM 等 32 位架构,因为它们能够提供最广泛的编译器选择。而如果存储器和成本限制是主要的考虑因素,或许更应该采用 8 位或 16 位体系结构,并考虑它们对 C 代码可能施加的某些限制。在许多情况下,可以使用各种各样的工具。编译器、调试器和链接器(linkers)的完整工具链支持主要的 8 位和 16 位 MCU 架构,这些工具链通常包含在集成开发环境(IDE)中,并且价格非常合理。
封装
在许多设计中,容纳 MCU 所需的空间是一个重要的考虑因素。用户经常倾向于选择采用高集成度 MCU 解决方案,因为这种方案可以实现紧凑的外形尺寸。但是,核心封装设计和板级设计可以支持的功能之间需要进行折衷权衡。例如,越来越多的 MCU 以芯片级封装提供,以便尽可能减少这些器件所占用的空间。封装下方的互连密度可能会对 PCB 设计造成很大挑战,需要采用成本更高的堆叠和组装工艺。电路板空间还会受到所需支持组件数量以及目标 PCB 上可用的布线选择等影响。在较少层数或灵活的 PCB 方案中,如果需要大量连接,则 MCU 周围布线到 I/O、时钟、接地和电源所需的空间会迅速增大。工程师还需要根据设计的目标用途来考虑将器件安装在 PCB 上时的可靠性,高振动和冲击等工作环境可能会需要采用专用封装,进而可能需要转向其他 MCU 系列。
套件
由于 MCU 能够极大地简化硬件设计,因而在上市时间非常重要的情况下,它是一个理想的设计平台。供应商现在提供的综合软件工具可确保最终应用能够快速整合在一起。即使有了一些项目加速器,设计团队也可以通过选择带有评估板和开发套件的 MCU 来获得更大的领先优势。这些所选 MCU 具备现成的开发板,以及典型应用所需的所有附加 I/O。此外,许多开发板现在都提供能够插入主板的 I/O 板系列,以便工程师可以用比分销商交付包裹更少的时间组装定制的硬件解决方案。团队可以通过简单地将原型软件下载到评估系统中来构建概念设计,并可随时向客户展示。非常有潜力的是,这些评估套件有可能为产品尽早入市打好坚实基础,而硬件设计团队同时开发成本优化的解决方案,从长远来看,这种解决方案将更具吸引力。