构建更有效的智能设备:第 3 部分 – 处理器性能
投稿人:DigiKey 北美编辑
2018-10-30
编者按:本系列文章分为三个部分,将探讨如何构建更有效的智能设备。第 1 部分讨论用于平衡功率和性能的低功耗设计方法。第 2 部分解决应对用户透明安全性的挑战。第 3 部分(本文)检讨满足设计目标所需的 MCU 规格。
用户期望智能器件既功能强大、安全可靠,又能延长电池寿命。为了满足这些期望,开发人员现在主攻可任其发挥的 MCU,让这些 MCU 不仅能提供足够的低功耗性能和存储器以满足中等特性要求,又能够实现安全更新以实现功能增强和故障修复。
随着 MCU 成为可穿戴设备、物联网设备和其他智能便携式产品的核心,MCU 必须组合好高性能和低功耗,以便在小尺寸产品中执行日益复杂的软件应用,同时最大限度地减少电池消耗。除了安全保证,长工作寿命和易用性对用户体验同样至关重要。
本文将介绍如何使用 Maxim Integrated 提供的支持力度大的现有 MCU 系列来满足这些要求。
明确好的用户体验
在很多方面,用户的要求与开发人员过去努力去满足的并没有根本的不同。然而,对于新兴智能产品的可接受解决方案,设计人员却面临着重大的差异。用户越来越期望产品结构紧凑、重量轻,并且可以舒适地放在身上,或者放在家中或公司里也不会太引人注意。用户更有可能接受这样的智能产品:不需要给予过度关注,使用、充电、更新操作不会非常繁琐,同时始终安全。
除了易于交互之外,用户还希望智能产品能够与提供类似功能的传统产品一样,具有大致相同的尺寸和外观,包括“风格”。例如,用户较可能接受的可穿戴健身设备更像是一只手镯或腕表,而不是戴在手腕上的一个怪模怪样的东西。
当然,如果产品无法为用户提供足够的价值,那么即使易于交互且风格很受欢迎,产品仍然会失败。一个时尚腕戴式设备若提供的有用信息非常之少,那么与昂贵的腕带无异。要将技术和风格很好地接合起来,这需要一定程度的隐形智能。
为了实现这种隐形智能,开发人员需要调整一些高级特性,例如舒适的交互、熟悉的外观和高价值信息等,将其转化为适合应用的独特要求。
扩充要求
对于设计人员而言,若要满足用户对轻松交互的期望,就要提供足够的性能来让智能产品上运行的更复杂应用软件快速输出结果。这些功能需求又转化为对处理器的需求,处理器必须能够执行该软件,同时从日益增多的传感器模态中提取更多有用信息。
在获取信息时,这些设备将获得对特权信息的访问权限,特权信息则要求通过强大的安全机制来给予保护,同时又不破坏应用性能。
除了这些直接需求之外,智能设备还需要通过隐形运行的软件更新来应对新类型的攻击,但这些更新又不能给用户增加负担。与此同时,设计需要具备高效的节电特性,以便能延长电池寿命,使用户无需携带笨重的电池或频繁充电。
确保易用性涉及的各种要求本身就具有挑战性,而满足用户对智能产品美观性的期望,又进一步加大了挑战难度。大体积的电池、超大的设计尺寸或笨拙的用户界面可能会扼杀用户的兴趣,打消他们尝试与产品交互的愿望。
将智能融入设计时,开发人员需要在形式与功能的两极之间找到平衡点。为实现这一平衡,开发人员需要进一步限定备选解决方案,重点关注能够解决高性能和低功耗、丰富功能与尺寸、灵活性与安全性这些传统冲突的方案。
另一个因素是成本。物联网、可穿戴设备和智能产品在快速发展,开发人员必须提供硬件及软件更新来支持未来需求。在规划未来的功能增强时,需要在初始设计中增加备用的功率和存储空间,开发人员必须平衡好可能因此带来的成本增加。
对于开发人员来说,若要解决上述众多需求,最佳着眼点就在作为嵌入式智能产品设计核心的 MCU 上。虽然 8 位和 16 位 MCU 仍然很受欢迎,但随着用户期望的提升,智能产品需要提供更高的性能和功能。因此,32 位 MCU 也颇受智能产品系统设计的欢迎。例如,与 8 位或 16 位 MCU 相比,32 位 MCU 可以用更少的指令周期完成 32 位加法等基本运算(清单 1)。
Copy anl PSW, #0E7H ;Register Bank 0 mov a, r0 ;load X low byte into acc add a, r4 ;add Y low byte mov r0, a ;save result mov a, rl ;load X next byte into acc addc a, r5 ;add Y next byte with carry mov rl, a ;save result mov a, r2 ;load X next byte into acc addc a, r6 ;add Y next byte mov r2, a ;save result mov a, r3 ;load X high byte into acc addc a, r7 ;add Y high byte with carry mov r3, a mov C, OV ret (A) mov a, r0 add rl mov r0, a ret (B)
清单 1:为执行 32 位加法,8 位 MCU 需要的指令周期数 (A) 显著多于 32 位 MCU 的周期数 (B)。(代码来源:Maxim Integrated)
随着设计人员在传感器融合算法中结合多个传感器数据流,高性能 32 位 MCU 变得更加重要。传感器融合算法有很多应用,例如生成精确方向和室内位置信息,这是用户越来越希望从可穿戴设备和移动产品获得的信息。在这种情况下,像 Maxim Integrated 的 Darwin MCU 系列这样的高级 MCU 的能力对于实现隐形智能至关重要。
实现隐形智能
Darwin MCU 专为支持新兴智能产品的需求而设计。该系列将低功耗操作与全套集成功能结合在一起,产品包括 MAX32620、MAX32625 和 MAX32630。
Darwin MCU 基于带浮点单元 (FPU) 的 32 位 Arm® Cortex®-M4,其不仅全面支持低功耗操作,而且具备专门用于外设管理、电源监控和加密的模块(图 1)。安全型版本(如 MAX32631)通过集成信任保护单元 (TPU) 来扩展对安全性的支持,该单元能够在智能产品与外部主机的每次交互中保障机密性、完整性和真实性。
图 1:Darwin MCU(如 MAX32630 及其安全型版本 MAX32631)将 32 位处理性能与全套外设、接口、专用模块结合在一起,并且在 MAX32631 中纳入了支持关键安全机制的信任保护单元 (TPU)。(图片来源:Maxim Integrated)
开发人员可以利用 MCU 的多个模拟和数字外设以及串行接口,来简化使用多个传感器的系统的硬件设计。Maxim Integrated 通过其 MAXREFDES100 评估套件展示了这种简化设计。该套件包括一块展示多个传感器使用方法的电路板和参考设计,具体包括 Maxim MAX30205 体温传感器、MAX30003 ECG 模拟前端 (AFE)、MAX30101 脉搏血氧计,以及其他适用于典型可穿戴健身设备的传感器。
虽然在捕获更复杂数据的过程中必须使用灵活的接口,但 Darwin 指令集架构能够使这些 MCU 快速执行复杂的算法,不断满足从这些数据提取有用信息的需要。该指令集融合了 16 位和 32 位指令,减少了应用软件的占用空间,同时保留了 32 位架构每字节执行更多指令的能力。除了集成 FPU 外,Darwin CPU 架构还含有高速硬件乘法累加运算 (MAC) 和单指令多数据 (SIMD) 并行处理能力,从而提供数字信号处理功能。
这种浮点和 DSP 指令的结合有助于 Darwin MCU 更快地执行数据密集型算法,以便满足在下一代产品中内建智能的需求。同时,这些 MCU 集成了足够大的片上存储器,可以存储算法和其他应用代码,以及越来越多的系统级软件,包括实时内核、通信堆栈和安全协议栈。在 Darwin MCU 系列产品中,开发人员可以找到最适合其应用的闪存与 SRAM 组合。MAX32630/MAX32631 MCU 提供 2 MB 闪存和 512 KB SRAM;MAX32620 提供 2 MB 闪存和 256 KB SRAM;MAX32625 提供 512 KB 闪存和 160 KB SRAM。为简化这些存储器的使用,Darwin MCU 支持一致的存储器映射,将各种存储器类型和存储器映射寄存器合并到单个地址空间中(图 2)。
图 2:Darwin MCU 使用单个地址空间,其中包含各种存储器类型以及用于功能块的存储器映射寄存器。(图片来源:Maxim Integrated)
开发人员可以进一步扩展可用闪存,以支持非常大的代码集或系统库。Darwin MCU 支持芯片内执行 (XIP) 操作,允许 CPU 直接从外部闪存执行代码。Maxim Integrated 在其 MAXREFDES100 参考设计中展示了这种方法,其中包括一个 32 MB Cypress Semiconductor S25FS256SAGNFI001 闪存器件。
尽管有强大的存储器和处理能力,Darwin MCU 仍能满足开发人员对低功耗的需求。在本文提及的产品中,MAX32630/MAX32631 MCU 支持最大的集成存储器,只需低至 3.4 微瓦 (μW) 的功耗即可保持其 512 KB SRAM。在完全活动模式下,其功耗仍然只有 130 μW/MHz。这两者之间还有一个中间地带:在使用集成外设管理单元 (PMU) 的特殊模式中,消耗 30 μW/MHz 即可支持外设操作,同时 CPU 内核处于超低功耗休眠状态。
Darwin MCU 在处理器休眠的同时能够运行外设,这使得开发人员可以通过限制 CPU 需要保持活动模式的时间来降低功耗。开发人员不必使用完全活动的 CPU 定期轮询传感器并将结果传输到主机,而是可以使用 Darwin MCU 针对“等待中断”、“等待事件”和“退出时休眠”的指令,最大限度地减少有效占空比,并降低整体系统功耗(图 3)。
图 3:在可穿戴或其他传感器系统中,开发人员可以通过最大限度增加 CPU 处于低功耗休眠状态的时间来大幅降低系统功耗,唤醒时间只需足以获取传感器数据并将结果传输到主机即可。(图片来源:Maxim Integrated)
较慢的 MCU 从休眠模式转换到活动模式常常会浪费一些功耗,而这些 MCU 的唤醒时间为 5 μs,可以降低转换期间所浪费的功耗。结合其 SRAM 保持休眠状态,这些器件可以快速恢复处理,不存在因为使用外部非易失性存储器来保存和恢复状态而导致的长时间延迟与功耗浪费。因此,工程师可以开发出非常高效的功耗敏感型应用。
为了支持这些应用的开发,Maxim 提供了 MAX326XX 固件软件开发套件 (SDK),其中包括外设驱动程序、电路板支持驱动程序和样例应用程序(图 4)。
图 4:Maxim Integrated 的 MAX326XX 固件软件开发套件 (SDK) 为应用软件开发人员提供样例应用程序,展示了如何使用基于 Arm Cortex 微控制器软件接口标准 (CMSIS) API 而构建的 SDK 外设和板卡驱动程序。(图片来源:Maxim Integrated)
MAX326XX 固件 SDK 外设和电路板库基于 Arm Cortex 微控制器软件接口标准 (CMSIS) API 而构建。反过来,应用软件虽然通常与外设和电路板库交互,但可以直接与 CMSIS 交互,以便根据需要访问底层硬件。
总结
用户希望可穿戴设备、物联网设备和其他智能设备能够在系统中提供复杂的应用,并且易于交互、佩戴舒适以及很有使用价值。为了满足这些需求,开发人员需要将丰富的功能、高性能处理能力和低功耗操作结合在一起的 MCU。
Maxim Integrated 的 Darwin 系列 MCU 专为满足这些需求而设计,能够让开发人员在设备中更轻松地构建隐形智能,不断满足智能产品用户的期望。
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。