为了在物联网 (IoT) 市场中发挥作用,原始设备制造商 (OEM) 需要能够接受更快的创新速度。物联网应用的可能范围是无穷无尽的,成功的公司使他们的开发人员能够不断地识别和实施新的、更有用的方法来利用传感器的功能、监控不同类型的数据和控制设备的生态系统。
物联网应用跨越许多领域,包括可穿戴设备、汽车、家庭、工业,甚至城市。除了允许开发人员实施创新之外,物联网设备还必须高效、安全且美观。应用程序很重要,必须围绕旨在推广易于使用的设备的直观软件进行包装。
微控制器 (MCU) 是基于物联网的产品的核心,选择合适的 MCU 是满足客户当前和未来需求的关键。本文将探讨当今嵌入式 MCU 可提供的多种功能,以加速设计,同时支持创新应用。在第 1 部分中,我们将介绍先进的工艺技术、低功耗设计技术、多核系统的功耗注意事项、内核间通信、串行存储器接口和系统安全性。
物联网市场(增长最快的引擎)
物联网技术继续改变日常工作和生活方式,使其变得更实惠、更方便、更舒适和更智能。物联网市场可以大致分为两类:消费者物联网和商业物联网。
消费物联网
消费物联网广泛包括家庭、生活方式、健康和移动性。设备通常是个人的连接产品,以提高他们的生产力、安全性和生活方式。从智能家居到联网汽车,从智能医疗到舒适生活方式,消费市场正蓄势待发,迎接下一波浪潮。
商业物联网
商业物联网规模庞大,广泛包括零售、健康、能源、交通、城市、制造和公共服务。商业物联网部门将改变组织和社区,以实现经济增长的新时代。物联网通过连接数据、人员和机器来提高生产力、效率和日常运营来做到这一点。商业物联网还可以作为一种工具,帮助公司在未开发的领域发现新的增长机会。
工艺技术(规模——很重要)
用于制造 MCU 的工艺技术对于确定其性能、低功耗能力和成本至关重要。物联网应用需要高效的有功功耗和低功耗模式消耗,以实现系统的整体电源效率。制造技术的持续进步导致芯片尺寸缩小。这降低了芯片的总体成本,因为它允许在同一块硅晶片上制造更多的 MCU。性能和功率也直接受到芯片收缩的影响。缩小芯片可减少在保持相同时钟频率的同时打开/关闭每个晶体管所需的电流。因此,较小的芯片具有较低的功耗和较高的最大时钟频率,从而导致更高的性能。
例如,用于制造 Cypress Semiconductors 的可编程片上系统 (PSoC) 6 BLE 系列 MCU 的40 nm 工艺技术为各种物联网应用提供了高性能和经济高效的实施方案。深度睡眠电流只需要几微安即可完全保持。其他功耗模式,包括活动、睡眠、低功耗活动和低功耗睡眠,使开发人员能够灵活地优化系统功耗,同时在需要时保持高性能。
【图3 | 用于物联网应用的低功耗 MCU 框图]
权力(最重要)
设计物联网设备时的一大挑战是它们可能很耗电。大多数物联网设备都是永远在线和微型的,这意味着它们可以容纳的电池容量有限。MCU 供应商在针对物联网应用优化 MCU 时会考虑多种因素,例如
改进工艺技术
提供高度灵活的电源模式
启用功耗优化的硬件 IP 块
将重要功能集成到单个芯片中
优化 Flash 访问频率
启用高速缓存
支持更宽的工作电压范围
不幸的是,虽然缩小工艺技术可以提高性能、功耗和集成度,但它带来了管理漏电流的挑战,尤其是在低功耗模式下。为了应对漏电流的挑战,MCU 供应商采用了特殊的晶体管工艺技术,例如多栅极器件、高压晶体管/逻辑/电路、专门设计的存储单元等。
灵活的电源模式的可用性使开发人员能够安排单独的系统事件,从而优化整体功耗。一项关键技术是提供多个外围设备,这些外围设备可以在低功耗模式下运行,并且可以在无需唤醒 CPU 的情况下被唤醒以执行其功能。一些 MCU 还提供特殊的低功耗活动模式,其中外围设备可用于功能有限的操作(例如较低的工作频率和电压),以进一步优化应用功耗。甚至可以设计特定的外围设备以优化功耗;即,BLE 无线电可以设计为支持低功率无线通信。
另一个显着影响功耗的因素是非易失性 (NV) 存储器访问。对于使用闪存(NV 存储器)存储固件代码的 MCU 尤其如此。闪存访问中的任何优化都会导致显着降低功耗。目标是最小化 Flash 访问的频率。这里应用了两种常见的技术。一种方法是提供高速缓冲存储器。这样,不需要在每个执行周期都访问实际的代码存储器(Flash)。另一种方法是增加一个周期中获取的数据量。使用更宽的 Flash 访问会降低 Flash 访问频率。
基于物联网的 MCU 还可以提供灵活的电源系统。通过支持宽电源电压范围,MCU 可以使用多个电源供电。例如,健身追踪器等简单的物联网应用可以由纽扣电池供电,而智能手表等复杂的物联网应用可以由电源管理集成电路 PMIC 供电。一些 MCU 提供内部降压转换器以有效调节功率。
在考虑 MCU 的功耗模式时,重要的是要超越基本架构。例如,标准 ARM CPU 内核支持活动、睡眠和深度睡眠。特定的 MCU 供应商通常会添加额外的电源模式。例如,赛普拉斯 PSoC 6 BLE MCU 在六种功耗模式下运行,增加了低功耗活动、低功耗睡眠和休眠模式。
【图4 | PSoC 6 BLE MCU 中的电源模式转换示例]
多处理器 MCU(更快地运行并行应用程序任务)
物联网系统的复杂性同时随着其功能集的增加而增加,同时物理尺寸也在缩小。MCU 制造商旨在提高系统性能,同时尽可能降低尺寸和功耗。多核 MCU 和片上系统 (SoC) 通过在单个芯片中集成更多功能并最小化芯片空间来提供更高的性能。多核处理器是包含两个或多个独立内核(或 CPU)的 MCU 或 SoC。这些内核通常集成到单个芯片上,尽管它们可以实现为单个封装中的多个管芯。
多核 MCU 有助于提供高性能,同时保持小尺寸。在可穿戴设备等典型物联网设计中,需要多个 MCU:用于无线通信的 BLE 控制器、用于实现用户界面的触控 MCU,以及用于运行应用程序的主 MCU。这三个 MCU 的功能可以通过一个高度集成的多核 MCU 来提供。
多核 MCU 提供了许多其他好处。例如,多核 MCU 集成了足够的资源以允许 CPU 并行处理密集型任务,从而充分利用多任务处理效率。这些还允许开发人员有效地将系统事件分配给特定的内核,从而满足功率和性能目标。例如,在双核可穿戴设计中,可以将需要较少 CPU 干预的周期性功能(如无线广播和触摸感应)分配给一个内核。其他需要大量 CPU 干预的“高接触”功能(例如传感器融合)可以分配给另一个内核。当在系统中运行多个应用程序时,这种分区减少了延迟时间。集成还通过整合协议栈和程序内存来提高效率。
【图5 | 用于物联网应用的多核 MCU 示例]
图 6 显示了一个多核 MCU,即Cypress MCU PSoC 6低功耗蓝牙。该双核设备具有两个 32 位 ARM Cortex CPU,即 Cortex-M4 和 Cortex-M0+。这两个 CPU 都是 32 位处理器,具有 32 位数据路径、32 位寄存器和 32 位存储器接口。Cortex-M4 是主 CPU,专为短中断响应时间、高代码密度和高 32 位吞吐量而设计,同时保持严格的成本和功耗预算。Cortex-M0+ 用作处理安全、安全和保护功能的辅助 CPU。Cortex CPU 实现了 Thumb 指令集的一个子集,并有两种操作模式,称为线程模式和处理程序模式。这些 CPU 在解除复位并执行应用软件时进入线程模式。为了处理异常,CPU 进入 Handle 操作模式。在所有异常处理完成后,CPU 返回线程模式。
【图6 | 多核嵌入式 MCU 示例(PSoC 6 BLE)]
处理器间通信(实现外设共享和信息交换)
在多核 MCU 中,需要处理器间通信 (IPC) 来协调内核之间的操作。IPC 充当通信管理器,处理处理器之间的消息分发。现代 CPU 架构(如 ARM Cortex)支持硬件和固件中的多核通信。一个这样的示例是发送事件 (SEV) 指令,该指令在执行时断言设备中的所有内核。MCU厂商已经采用了多种方法来实现IPC:
基于中断
使用这种方法,一个内核向另一个内核发送中断以指示应用程序事件。通常,中断例程非常紧凑,不会占用太多代码内存。与任何中断机制一样,每个中断都有自己的中断服务程序 (ISR),通过它可以由各自的内核执行特定任务。对于数据的实际传递,有一个可以被多个内核访问的共享内存。除了共享数据之外,它还提供了一种请求和确认消息的机制。
邮箱
邮箱是 RAM 中的专用内存空间,供每个 CPU 相互发送和接收消息。每个核心维护自己的 RAM 内存(邮箱)并将消息发送到其他核心的邮箱。
队列消息
消息队列使用两个共享内存区域来存储每个核心发送给另一个核心的消息。第一个是称为命令缓冲区的专用存储器,用于存储从主机发送到从机的命令。另一个专用存储器称为消息缓冲区,允许从设备响应主设备。
【图7 | 处理器间通信(IPC)的各种模式]
信号量
信号量是一种防止多个源同时访问共享资源的机制。在多核处理器中,共享硬件位置充当信号量来指示,例如,特定共享外围设备是否正在被特定内核使用。在访问外设之前,系统中的其他核读取信号量状态以查看其是否可用。
串行存储器接口(物联网存储器的选择)
内存是任何物联网系统不可或缺的一部分,用于代码和数据存储。现代物联网设备所需的不断增长的智能推动了对更大代码和数据内存的需求。然而,将所有这些存储器作为内部存储器集成到设备中会增加 MCU 的芯片尺寸和成本。另一种方法是提供根据需要在外部扩展内存的选项。这使开发人员能够根据最终应用程序的需要添加内存。此外,如果在开发周期过程中发现预算的内部存储器空间不足,则可以引入额外的外部存储器,而无需重新设计整个系统。
了解外部存储器接口的速度和安全性以及它的易用性也很重要。一般来说,串行存储器是比并行存储器更好的选择,以节省 MCU 上有限的 IO 引脚。虽然基于 SPI 的串行存储器为数据记录提供了合理的接口速度,但直接执行外部代码需要更高的速度。这些要求促使 MCU 制造商提供 SPI 的替代方案。这是不同方案的数据吞吐量的快速比较。
SPI:支持 1 位/周期吞吐量
Dual-SPI:支持 2 位/周期吞吐量
Quad-SPI:支持 4 位/周期吞吐量
Dual Quad-SPI:支持 1 字节/周期吞吐量
通常,MCU 将同时支持多种类型的存储器,从而为开发人员提供最大的灵活性。
由于许多物联网系统处理用户的个人数据,因此确保数据安全非常重要。同样,代码存储器需要保护以防止未经授权使用设备。外部存储器在这方面的安全性方面更容易受到攻击,因此需要特殊的机制来保护外部存储的数据。为此,MCU 使用各种加密技术(例如 AES、DES、RSA)来保护数据和代码免受未经授权的访问。例如,赛普拉斯半导体的 PSoC 6 BLE MCU 提供了一个特殊的串行存储器接口 (SMIF) 外设,支持直接执行外部代码的就地执行 (XIP) 模式和用于数据记录的备忘录映射 IO (MMIO) 模式。它使用特殊命令进行控制,例如闪存的编程/擦除、存储设备的睡眠模式进入等。
【图8 | 串行存储器接口 (SMIF) 的示例]
SMIF 允许用户配置多个相同或不同类型和大小的存储设备。在内存 (XIP) 模式下,多个内存设备被映射到不同的地址。它们可以是不同的内存类型,将它们与系统中的不同目的对齐。它们也可以是配置在连续地址空间中的相同内存设备,以模拟连续的大内存。将 SMIF 外设与 SPI 闪存结合使用是外部 NAND 和 NOR 闪存的可行替代品,并且还可以节省电路板空间。由于串行闪存直接映射到处理器的内存空间数据存储并支持执行 XIP,因此与 NAND 存储器相比,易用性得到了改进。
系统安全、隐私和安全(信任根)
一旦连接了设备,就会引入被黑客入侵的可能性。因此,物联网设备的安全性是一个不可协商的因素,无论该设备是个人可穿戴手环还是联网汽车。所有级别都需要数据保护,包括存储、处理和通信期间,以确保系统可靠性。此外,任何处理数据的软件或固件也应该受到保护。这种安全性可以在两个级别上启用。第一层是软件的安全性。第二层是硬件安全,即通过硬件保护软件。
通常,基于软件的安全性使用存储在代码空间中的密钥。尽管这在技术上可以执行加密和解密,但该过程仍然容易受到黑客攻击,因为它是存储代码。代码被解码的那一刻,安全性就被打败了。
基于硬件的安全使用集成电路来保护系统;例如,代码和数据的加密和解密。基于硬件的安全性是自包含的,不需要任何额外的软件即可运行,从而消除了恶意代码、感染、污染或其他漏洞损害系统、客户数据和服务的可能性。因此,在保护敏感数据或代码时,基于硬件的安全性是首选方法。这就是为什么用于物联网应用的 MCU 具有复杂的集成硬件安全功能,例如加密块、代码保护 IP 和其他基于硬件的机制。
与固件实施相比,基于硬件的安全性还具有提供更快性能和更低功耗的额外好处。例如,赛普拉斯 PSoC 6 BLE MCU 中的专用加密模块可加速加密功能。此外,该块还提供真随机数生成功能、对称密钥加密和解密、散列、消息身份验证、随机数生成(伪和真)、循环冗余检查以及启用/禁用、中断设置和标志等实用功能。 该 MCU 器件还配备了安全启动功能。安全启动使用 ROM 例程来保证 Flash 中用户数据的身份验证。安全启动是一个涉及密码学的过程,它允许物联网设备开始执行经过身份验证且因此受信任的软件来运行。
在第 1 部分中,我们介绍了先进的工艺技术、低功耗设计技术、多核系统的功耗注意事项、内核间通信、串行存储器接口和系统安全性。在第 2 部分中,我们将介绍高级 BLE 无线链路、模拟前端、智能触摸界面以及其他对物联网设计很重要的技术。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !