0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

物联网电路设计应怎样选择?

5CTi_cirmall 来源:YXQ 2019-07-16 09:28 次阅读

确保基于微控制器物联网应用的安全性可能会很棘手。安全性始于硬件层次,然后扩展到嵌入式软件。为了成功保障软件安全,开发人员要求底层硬件支持以下等关键特性:

安全启动

存储器保护

加密引擎加速器

真随机数发生器 (TRG)

安全引脚复用

软件隔离

虽然 Arm® Cortex®-M 处理器(如 M0+、M3/4/7 系列)支持其中一些特性,但要打造成功的解决方案可能既困难又耗时。

开发人员可以在硬件层次上运用一种新解决方案,即使用基于 Armv8-M 架构的新型 Cortex-M23/33 系列微控制器。这些处理器在设计时就考虑了安全性,包含许多安全特性,例如前面列出的那些特性,包括用于微控制器的 Arm TrustZone®。通过本文,我们将更加熟悉 Armv8-M 架构,并探索如何利用 TrustZone 来提高嵌入式系统安全性。

Armv8-M 架构简介

关于 Armv8-M 架构,首先要知道的是它是 Arm 的最新微控制器架构,面向低成本、深度嵌入的实时嵌入式系统而推出。该系列中加入了三款新型处理器:M23 是低功耗版本,M33 是高性能版本,最近推出的 M35P 是一款高性能、物理安全(防篡改)处理器(图 1)。

相对于以前的几代架构,Armv8-M 架构改善了性能,值得注意的几项重要改进包括:

指令集增强功能

灵活的断点配置

动态重设中断优先级

增强的跟踪支持

更简单的存储器保护单元 (MPU) 设置

该架构最大和最有意义的改进是能够使用 Arm TrustZone。TrustZone 是该架构的安全扩展,允许开发人员从物理上隔离执行代码与存储区域,如 RAM、代码空间和硬件中的外设。TrustZone 支持将软件分拆到安全和不安全的区域中,然后在安全或非安全的处理器状态下执行。安全状态允许全面访问处理器的存储器和外设,而非安全状态只能访问非安全区域和故意暴露给非安全代码的安全功能(图 2)。

开发人员可以选择哪些闪存和 RAM 位置属于安全状态,哪些属于非安全状态。当非安全代码调用安全功能时,非安全和安全状态之间的切换完全是在硬件中以确定的方式处理,在最坏的情况下,切换时间开销为三个时钟周期。CPU 中有几个寄存器为安全状态和非安全状态所共享,但每个状态还有自己的堆栈指针、故障和控制寄存器。M33 甚至还有一个堆栈限值寄存器,可用于检测堆栈溢出。

值得注意的是,TrustZone 是一个处理器扩展,这意味着由器件是否包含 TrustZone 支持要由处理器制造商决定。既然 TrustZone 是可选的,下面我们就来了解目前可用的几款 Armv8-M 处理器以及它们如何处理 TrustZone。

选择支持 TrustZone 的 Armv8-M 处理器

目前有几款处理器支持 Armv8-M 处理器。有意思的是,这些器件是如此新颖,以至于到 2018 年夏末,只有 Microchip Technology 一家制造商在生产。

其他处理器制造商(如 Nuvoton)已宣布即将推出此类器件。我们预计在未来 12 个月内,Armv8-M 器件数量将大幅增加,包括那些支持 TrustZone 的器件。

Microchip 主要生产两个版本的 Armv8-M 架构,即 SAML10 和 SAML11 系列器件。SAML10 版本不包含 TrustZone,而 SAML11 版本则包含。图 3 显示了目前正在生产并供货的 SAML10 和 SAML11 器件的所有型号。这些型号之间的主要区别在于 RAM、闪存、引脚和外设的有无及多少,这些是我们在选择微控制器时会考虑的因素。

配置总结

SAM L10/L11 器件特定特性

对于希望开始使用 Armv8-M 的开发人员,有两种开发套件可供选择。Microchip SAML10 Xplained 评估板包括 SAM L10E14A 微控制器,后者含有 16 KB 闪存、2 KB 数据闪存、4 KB SRAM,并采用 32 引脚封装。Microchip SAML11 Xplained 评估板包括 SAM L11E16A 微控制器,后者含有 64 KB 闪存、2 KB 数据闪存、16 KB SRAM,同样采用 32 引脚封装。除了处理器不同之外,开发板是相同的。图 4 所示为 Xplained 板的图片。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路设计
    +关注

    关注

    6565

    文章

    2316

    浏览量

    195313
  • 物联网
    +关注

    关注

    2867

    文章

    41600

    浏览量

    358312

原文标题:架构在左,安全在右,物联网电路设计该如何选择?

文章出处:【微信号:cirmall,微信公众号:电路设计技能】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    干货 智能网关,联网网关设计大全 精华集锦

    联网处理器  【Intel】Quark X1000低功耗联网控制SOC  【Silicon Labs】Si10xx 超低功耗无线MCU  电路图精华:  智能家居系统网关无线收发模块
    发表于 09-23 15:51

    联网设备的电池选择

    度和持续时间取决于电路的活跃在任何一个时间。[tr]电池化学是基于系统的联网的主要动力来源的一个主要考虑因素,因为这将强烈的使用和整体电路的设计模式的互动。一些化学物质提供长期的能源
    发表于 03-02 16:46

    联网平台的发展前景是怎样的?如何才能快速发展?

    如何?怎样才能快速发展?  关于联网平台现在并没有统一的定义,不同类型的联网平台所具备的功能也不同,根据
    发表于 12-14 15:16

    没有联网卡,智能穿戴设备会是怎样的?

    联网卡在智能穿戴设备中扮演着怎样的角色,没有联网卡智能穿戴设备会是怎样的?智能穿戴行业这几年
    发表于 01-17 17:14

    联网卡平台是什么?联网卡平台哪个好?

    需要众多的联网卡支撑,联网卡平台的重要性也随之凸显。  联网卡平台如此重要,企业该
    发表于 01-22 10:37

    无线城市联网怎样选择联网卡在无线城市中的应用

    无线城市联网怎样选择联网卡在无线城市中的应用有哪些?无线城市是随着社会经济发展和科学技
    发表于 01-29 11:28

    联网设备的电流应该怎样检测?

    联网设备的电流应该怎样检测?我们的待机电流μA级别甚至更小,现在用的DMM4050发现测不准,能帮忙推荐下合适设备吗?
    发表于 12-10 09:35

    如何选择合适的联网模块?

    如何选择合适的联网模块? 联网正在彻底改变和改进我们的工作和生活方式,但它只能通过普遍、灵活和长期的无线连接实现。它 的核心是一个称为
    发表于 09-08 17:55

    联网(IoT)开发的模块化方案是怎样的?

    联网(IoT)开发的模块化方案是怎样的?
    发表于 05-17 06:02

    怎样去设计联网无线传感器节点?

    怎样去设计联网无线传感器节点?具体有哪些步骤?
    发表于 05-18 07:03

    什么是联网卡?联网卡的选择标准是什么?

    什么是联网卡?联网卡的选择标准是什么?
    发表于 06-15 06:59

    Python遇上联网又会碰撞出怎样的火花呢

    Python火到什么程度?学习python能做什么?Python遇上硬件、遇上联网又会碰撞出怎样的火花呢?
    发表于 08-27 07:26

    怎样快速实现基于联网技术的共享停车位联网方案?

    怎样快速实现基于联网技术的共享停车位联网方案?
    发表于 01-18 07:33

    怎样在阿里云联网平台上进行单片机程序的编写呢

    阿里云联网平台是怎样设置的?怎样在阿里云联网平台上进行单片机程序的编写呢?
    发表于 02-22 06:04

    PCB电路设计与器件选择

    电路设计与器件选择 详细介绍
    发表于 12-07 15:07 0次下载