剖析物联网的需求 第一部分

与非网 中字


图6:多核嵌入式 MCU 示例(PSoC 6 BLE)

处理器间通讯(实现外设共享和信息交换):

多核 MCU 通过需要处理器间通讯(IPC)来协调内核之间的运行。IPC 充当分配处理器间消息的通信管理器。现代 CPU 架构(如 ARM Cortex)支持硬件和固件中的多核通信,比如 SEV(发送事件)指令在执行时会提示设备中的所有核心。MCU 供应商采用多种方法来实现 IPC:

中断法:这种方法让一个内核向另一个内核发送一个中断来指示一个应用程序事件。通常中断程序非常紧凑,不会占用太多的代码存储空间。与任何中断机制一样,每个中断都有自己的 ISR(中断服务程序),通过它可以让相应的内核执行特定的任务。在实际的数据传递中,有一个可以被多个内核访问的共享内存。除了共享数据之外,它还提供了请求和确认消息的机制。

邮箱:邮箱是 RAM 中的专用存储空间,用于让每个 CPU 相互发送和接收消息。每个内核都要维护自己的 RAM 内存(邮箱)并将消息发送到其他内核的邮箱。

消息队列:消息队列使用共享内存的两个区域来存储每个核心发送给另一个核心的消息。第一个区域是被称为命令缓冲器的专用存储器,用于存储从主机发送到从机的命令。另一个专用存储器被称为消息缓冲器,它使从机能够响应主机。

图7:处理器间通讯(IPC)的各种模式

信号量:信号量是一种防止多个源同时访问共享资源的机制。在多核处理器中,共享硬件位置作为信号量指示特定内核是否正在使用特定的共享外设等。在访问外设之前,系统中的其他内核会读取信号量状态以查看是否可用。

串行存储器接口(IoT 内存的选择):

内存是任何物联网系统不可缺少的组成部分。其功能主要是代码和数据存储。现代物联网设备不断增长的智能化需求带动了对更大代码和数据存储器的需求。但是将所有这些内存作为内部存储器集成到设备中会增加 MCU 的芯片尺寸和成本。另一种方法是根据需要提供外部扩展内存。这样开发人员就能够根据最终应用程序的需要添加内存。另外,如果在开发过程中内部存储空间预算不足,则可以增加外部存储器而不必重新设计整个系统。

了解外部存储器接口的速度和安全性以及使用方法也很重要。通常情况下,在节省 MCU上有限的 IO 引脚方面,串行存储器比并行存储器更好。基于 SPI 的串行存储器为数据记录提供了理想的接口速度,而直接执行外部代码则需要更高的速度。这些要求使 MCU 制造商必须提供 SPI 的替代品。以下是不同方案的数据吞吐量速度比较。

SPI:支持1位/循环的吞吐量

双路SPI:支持2位/循环的吞吐量

四路SPI:支持4位/循环的吞吐量

双四路SPI:支持1字节/循环的吞吐量

通常情况下,MCU 同时支持多种类型的存储器,为开发人员提供了最大的灵活性。

由于许多物联网系统会处理用户的个人数据,因此确保数据的安全尤为重要。代码存储器也同样需要保护,以防止设备被非法入侵。外部存储器在安全性方面更加脆弱,因此需要特殊的机制来保护外部存储的数据。为此,MCU 使用各种加密技术(例如 AES、DES、RSA)来保护数据和代码免受非法访问。例如,赛普拉斯半导体的 PSoC 6 BLE MCU 提供了一个特殊的串行存储器接口(SMIF)外设,该外设支持直接执行外部代码的 XIP(现场执行)模式和记录数据的 MMIO(内存映射 IO)模式。它使用特殊命令进行控制,比如闪存的编程/擦除、存储器设备的睡眠模式输入等。

图8:串行存储接口(SMIF)示例

SMIF 允许用户配置多个相同或不同类型和大小的存储设备。在内存(XIP)模式下,多个内存设备被映射到不同的地址。它们可以是不同类型和用途的存储器,也可以是在连续地址空间中配置以模拟连续大存储器的相同存储器设备。SMIF 外设和 SPI 闪存的组合使用可以替代外部 NAND 和 NOR 闪存,并且可以节省电路板空间。由于串行闪存直接映射到处理器的内存空间数据存储中并且支持 XIP 的执行,所以其易用性高于 NAND 内存。

系统的网络安全、隐私和设备安全(信任根源):

设备一旦连网就存在被黑客入侵的可能性。因此,无论设备是运动手环还是联网汽车,物联网设备的安全性都是一个不容忽视的因素。所有层面都需要数据保护,包括存储、处理和通讯期间,从而确保系统的可靠性。另外,任何处理数据的软件或固件都应得到保护。可以在两个层面上实现这种安全性。第一个层面是软件安全,第二个层面是硬件安全,即通过硬件保护软件。

通常,安全软件使用存储在代码空间内的密钥。虽然这在技术上可以实现加密和解密,但这个过程仍然容易受到黑客攻击。这是因为它是一个存储代码,当代码被解码的那一刻,安全性就荡然无存了。

安全硬件则使用集成电路来保护系统,比如代码和数据的加密和解密。安全硬件是独立的,不需要任何额外的软件来操作,这杜绝了恶意代码、感染、污染或其他漏洞破坏系统、客户数据和服务的可能性。因此,在保护敏感数据或代码时,安全硬件是首选方法。所以用于物联网的 MCU 具有复杂的集成硬件安全特性,如密码块、代码保护 IP 和其他基于硬件的机制。

与固件相比,安全硬件还具有提供更快性能和更低功耗的优势。比如,赛普拉斯 PSoC 6 BLE MCU 中的专用加密模块可加速加密功能。此外,该模块提供了真随机数生成功能、对称密钥加密和解密、哈希、消息认证、随机数生成(伪随机和真随机)、循环冗余校验以及诸如启用/禁用、中断设置和标记等实用功能。该 MCU 组件还配备了安全启动功能。该功能使用 ROM 程序在闪存中验证用户数据。安全启动是一项包含加密技术的过程,它使物联网设备开始执行已认证的可信软件。因此,系统可以从一个已知、可信的状态开启。

在第一部分中,我们介绍了先进的工艺技术、低功耗设计技术、多核系统的功耗、内核间通讯、串行存储器接口以及系统安全性。第二部分将介绍高级 BLE 无线链路、模拟前端、智能触摸界面以及其他重要的物联网设计技术。

图9:物联网 MCU 的安全生态系统

声明: 本文系OFweek根据授权转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存