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

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

3天内不再提示

基于蜂窝技术的物联网平台电路设计

h1654155282.3538 来源:电子迷 作者:电子迷 2020-08-16 10:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

得益于硬件制造商和蜂窝服务提供商的新兴解决方案,蜂窝技术为物联网连接提供的选择日益受到青睐。尽管蜂窝硬件模块的可获得性不断提升,但由于开发人员需设法应对低级握手协议和更高级别的服务协议,且同时要确保安全实现,物联网开发仍面临严重延迟。

本文简要回顾了蜂窝技术作为物联网应用的有效连接选项而兴起的背后因素,并讨论了其实现面临的挑战。然后会介绍 STMicroelectronics 提供的一个现成的蜂窝开发平台,并展示它如何用于解决实际连接问题,包括对物联网设备越来越重要的高级通信和安全性。

物联网的无线选择

无线连接已成为许多物联网应用的基本要求。尽管存在各种可用无线技术,但技术的选择通常主要取决于对数据速率和传输范围的要求(图 1)。

虽然蓝牙ZigbeeWi-Fi 继续在短距离通信中占据主导地位,但许多物联网应用需要达到的物理距离远非这些技术所能及。对于这些应用,新兴的低功耗广域网 (LPWAN) 技术(如 LoRaWAN,Sigfox 等)可满足范围要求,但通常无法支持更高的数据速率。

面向物联网的 LTE

商用蜂窝提供商通过扩充 LTE 网络迅速进军物联网领域,提供的带宽和范围远远超出其他常用无线连接选项。它们还具有使用许可频带的优势,这些频带不易受到干扰。随着第三代合作伙伴计划 (3GPP) LTE 版本 13 中定义的窄带 LTE 服务变得可用,即使对于功率受限的设备,蜂窝也已经成为可行的选择。

更为人所熟悉的 LTE 服务满足了对视频流所需的高带宽网络日益增长的需求,而包括 LTE CAT M1 和窄带物联网 (NB-IoT) 在内的窄带 LTE 服务对带宽和功能性的要求较为适中。这些更简单的要求进而使 LTE 收发器制造商能够构建出相应的解决方案,以满足物联网设计人员对更易于在资源受限型设计中集成的低功耗设备的需求。

LTE 收发器制造商提供了更有效的解决方案,而蜂窝提供商的 CAT M1 和 NB-IoT 服务则实现了更广泛的地理覆盖范围,这两者相结合,使得蜂窝连接成为物联网设计人员的可行选择。实际上,开发人员可以利用的窄带 LTE 模块选择越来越多,例如 u-blox 的 SARA-R410M 或 Link Labs 的 LL-LTE-M-VZN-SE,这些模块已通过运营商认证,可以为物联网设备和其他连接应用快速开发蜂窝连接。这些 CAT M1 和 NB-IoT 模块将嵌入式处理器与收发器和完整的 RF 信号路径结合在了一起,包括了输出功率放大器 (PA)、输入放大器交换机滤波器(图 2)。

对于开发人员而言,将这些高度集成的设备整合至定制设计中时,在硬件和软件层面都相对简单。这些模块通常支持一个或多个标准串行接口,并支持 GPIO、天线检测和 SIM 卡接口等。因此,开发人员只需添加合适的天线并将模块连接到主处理器的 SPI 或 I2C 总线,或使用基本的 UART 控制,即可快速完成硬件集成。

这些模块的软件控制要求也同样简单。与大多数收发器模块一样,自最早期的计算机调制解调器开始,窄带 LTE 模块就能响应所用的相同类型 AT 命令序列协议。但是,这些 LTE 模块的功能性获得了明显提升,允许开发人员使用单个 AT 命令执行更复杂的操作。使用 u-blox 的 SARA-R410M 模块,开发人员可以从主机发送 AT + USOCO = 0、“8.8.8.8”、1111 等命令,以建立与远程服务器的对等网络连接。在这种情况下,模块将完成在端口 1111 上与远程主机 8.8.8.8 建立连接(识别为套接字 0)所需的事务处理序列,自动执行 TCP 连接的握手协商。

虽然硬件和命令接口在基础级别很简单,但在更高级别的通信协议中使用它们时要复杂得多。物联网开发人员可能发现自己很难实现许多应用所需的高级协议和服务。但是,使用 STMicroelectronics 的 P-L496G-CELL02 开发套件和相关软件,开发人员可以更快速地在物联网设备中部署蜂窝连接。

蜂窝开发平台

P-L496G-CELL02 套件提供完整的蜂窝物联网开发平台,包括 MCU 主机板、LTE 模块扩展板、天线和 SIM 卡。作为 STMicro 的 Discovery 开发板系列的一员,主机板基于 STMicro STM32L496AGI6P MCU 构建而成,并提供板载调试器以及麦克风、LED 和用作基本用户界面功能的按钮。

虽然该开发板相对简单,但 STM32L496 MCU 可提供广泛的功能。MCU 基于带浮点单元 (FPU) 的 Arm® Cortex®-M4 32 位内核,集成了 1 MB 闪存和 320 KB SRAM。这为代码映像,甚至为固件更新过程中经常使用的多个代码映像提供了充足的容量。全套集成模拟和数字外设支持数据采集、电机控制等一系列典型的物联网应用需求。

为了满足 MCU 本身无法提供的要求,开发人员可以使用主机板的 Arduino 接口,通过各种可用的 Arduino 盾板所具备的功能来增强主机板。物联网应用中蜂窝连接的新兴应用之一是将本地物联网设备的小型网络连接到云端。对于这种使用场景,开发人员可以使用 P-L496G-CELL02 套件作为网关,通过蜂窝服务连接到云端,并通过 Arduino 盾板提供的短距离无线连接选项连接到本地设备。

例如,开发人员可以通过添加 Inventek Systems 的 ISMART43340-C 盾板来支持 Wi-Fi 和蓝牙连接,或通过添加 DFRobot 的 DFR0015 XBee 适配器盾板和 Digi International 带集成天线的 XBP24CZ7WIT-004 XBee 模块,来支持 Zigbee 连接。

当然,此类蜂窝网关的关键部分是蜂窝连接。借助 STMicro 的 P-L496G-CELL02 套件,开发人员只需将 LTE 模块扩展板插入主机板的 STMod+ 连接器,即可使用 LTE CAT M1 或 LTE NB-IoT 运营商服务支持蜂窝连接。为了补充此蜂窝硬件平台,STMicro 提供了一个广泛的软件环境,可演示蜂窝连接,并成为构建定制应用的基础。

软件环境

STMicro 的软件环境建立在其 STM32Cube 软件架构之上,该架构提供基于中间件组件的应用软件支持,包括实时操作系统、USB 支持、文件系统服务等。中间件层位于硬件抽象层 (HAL) 之上,可实现跨越不同 STMicro MCU 系列的可移植性。在开发期间,开发人员可使用 STMicro 的 STM32CubeMX 工具中的图形向导来指定配置,该工具可自动生成 C 语言初始化代码。

开发人员可在 STM32Cube 环境基准功能的基础之上,进一步添加扩展包,从而提供所需的库和软件示例以支持特定功能区域。值得一提的是,对于物联网开发人员来说,两个 STM32Cube 扩展包所支持的功能对任何连网的应用都很重要:STMicro X-CUBE-CLD-GEN 物联网云软件扩展和 STMicro X-CUBE-SBSFU(安全引导和安全固件更新)软件扩展。

为了支持通信,X-CUBE-CLD-GEN 软件包添加了全套中间件组件,包括 Eclipse Paho 项目的 MQTT 服务、mbed TLS 和 lwIP TCP/IP 堆栈(图 3)。该扩展包还提供样例应用程序,演示如何使用 MQTT 和 HTTP 协议连接到物联网云平台,包括 Eclipse Mosquitto、Litmus Automation 和 Ubidots。

包含在 X-CUBE-CLD-GEN 发行版中的 MQTT 样例应用程序 GenericMQTTXcubeSample.c 提供了实现基于 MQTT 的云连接所需代码的详细示例。除了各种辅助函数外,该模块还演示了打开 MQTT 连接、构建消息以及将消息发布到 MQTT 服务器所需的软件设计模式。

STMicro 使设置基于 MQTT 的基础网络变得更加容易。P-L496G-CELL02 套件配有 EMnify 蜂窝 SIM 卡,并可免费订购 EMnify 网络三个月。使用此 SIM 卡,开发人员可以将 CELL02 套件连接到通过 EMnify 网络与应用服务器相连的虚拟专用网络 (VPN)。在此,可使用一个在开发环境中的实验室计算机上或生产环境中的公共网络主机上运行的 VPN 网关,通过 OpenVPN 隧道直接在连网设备和应用服务器之间进行数据交换(图 4)。通过配置 VPN 网关以重定向流量,这些连接可以直接在应用服务器和设备之间进行,而无需网络地址转换 (NAT)。

X-CUBE-CLD-GEN 扩展解决了物联网设备中云连接的基本要求,而 X-CUBE-SBSFU 软件扩展则可减轻与云连接相关的常见来源威胁。STMicro X-CUBE-SBSFU 扩展提供了所需的安全固件更新和安全引导功能,阻止意在用受损代码替换设备固件的攻击,这些代码可使物联网设备沦为进一步攻击物联网网络和应用的工具。

除样例应用程序外,X-CUBE-SBSFU 软件包还通过两个额外的中间件组件(安全引擎和加密库)扩展了 STM32Cube 环境(图 5)。安全引擎组件提供处理受保护代码和数据的服务,而加密库则提供用于固件验证和解密的基于软件的非对称和对称加密机制。

在大多数系统中,基于软件的加密可能会为能够渗透底层机制的黑客提供攻击面。因此,安全专家通常建议使用基于硬件的机制来提高安全性。但是,对于 STMicro X-CUBE-SBSFU 软件包,其基于软件的机制会受到内置于 MCU 硬件的硬件式基本安全功能的保护。

STM32L496 MCU 具有多种基于硬件的存储器保护机制,其中包括存储器保护单元 (MPU),允许开发人员为不同的闪存和 SRAM 区域指定不同的访问权限。例如,SBSFU 代码会配置 MPU,以确保在执行 SBSFU 代码时不执行来自其他存储器区域的代码。举例来说,在执行用于固件验证或安全引导加载的代码之后,SBSFU 扩展会重新配置 MPU,以允许正常执行用户应用程序。

除了 MPU 功能外,STM32L496 MCU 还提供写保护机制,以保护受信任代码免受外部或内部来源的修改,包括意外或故意的运行代码尝试。此外,STM32L496 MCU 的专有代码读出保护 (PCRP) 机制允许开发人员将闪存区域定义为“仅执行”。该 PCRP 机制确保不能通过正常的读写操作访问此“仅执行”代码区域。

作为进一步的安全措施,STM32L496 MCU 包含一个内置防火墙机制,可保护受信任的代码和数据免受防火墙之外代码的任何访问。通过防火墙访问受保护区域仅能通过单个调用门进行,该调用门是位于代码段基址第二个字的单个入口点。调用门机制提供可访问受保护代码和数据的唯一途径,任何通过调用门之外的途径访问受保护存储器的尝试都会导致系统复位。

SBSFU 扩展使用这些硬件机制来保障基于软件的中间件,能够可靠地确保固件验证和安全引导。例如,要加载加密认证机制所需的密钥,SBSFU 代码使用调用门函数打开防火墙,并运行受 PCRP 保护的仅执行代码,该代码将密钥从闪存移动到受保护的 SRAM 区域,供库的加密算法使用(图 6)。

开发人员使用 SBSFU 安全引擎 (SE) 应用编程接口 (API) 来激活这些均基于硬件的安全机制,以访问受保护的代码和数据。SE 接口本质上是此调用门机制的包装器,提供了一种相对简单的机制,以在应用中实现安全功能。要访问受保护的闪存,用户应用会调用 SE 接口,该接口可确保关于使用调用门、访问安全引擎、清理堆栈和恢复防火墙的正确操作顺序(图 7)。开发人员唯一的责任是确保在进入此受保护空间之前已禁用中断,并在退出时重新启用中断。

开发人员可以检查 X-CUBE-SBSFU 说明文档和源代码,以查找关键设计模式,包括使用调用门机制的基本方法。对受保护存储器区域的任何调用均以调用 SE 接口 SET_CALLGATE() 函数开始,该函数将指针设置为 CallGate 函数,然后调用 SE_EnterSecureMode() 以禁用系统中断。从这一点开始,对 SE 接口的后续调用使用调用门指针来访问受保护的代码和数据。最后,调用序列以对 SE_ExitSecureMode() 的调用来结束,其中至少包括启用系统中断。

除了这些低级别机制外,X-CUBE-SBSFU 还包含更高级别的功能,旨在简化安全固件更新和安全引导的实现。开发人员可以利用这些相同的代码模式,使用 SE API 函数(如 SE_CRYPTO_Encrypt_Init,SE_CRYPTO_Decrypt_Init 和 SE_CRYPTO_AuthenticateFW_Init 及相关函数)实现自定义身份验证和加密功能。

总结

LTE 蜂窝技术正迅速成长为长距离、高可用性物联网连接的首选方案。尽管高级 LTE 模块简化了硬件设计,但实现更高级别的功能仍然是一项挑战。使用 ST P-L496G-CELL02 LTE 蜂窝开发套件和附带的软件,开发人员可以快速利用窄带 LTE 连接实现安全的物联网应用。

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

    关注

    2939

    文章

    47357

    浏览量

    408589
  • 蜂窝技术
    +关注

    关注

    0

    文章

    46

    浏览量

    21416
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    学习联网怎么入门?

    随着联网技术的不断发展,越来越多的人开始关注学习这一领域。但是对于初学者来说,联网似乎是一个庞杂的概念,学习起来很困难。因此,从哪里开始学习
    发表于 10-14 10:34

    蜂窝联网模组在冷链运输行业的应用价值

    蜂窝联网模组作为冷链物流数字化转型的核心技术支撑,正以迅猛态势重塑整个行业格局。从2020年至2025年,中国冷链物流市场规模已突破5000亿元,预计到2030年将达到1.5万亿元以
    的头像 发表于 09-01 16:31 648次阅读

    5G 时代蜂窝联网的设计考量

    蜂窝联网是一个基于3GPP全球标准的快速发展的生态系统,并得到越来越多的移动网络运营商以及设备、芯片组、模块和网络基础设施供应商的支持。更重要的是,蜂窝网络提供无与伦比的全球覆盖范围
    的头像 发表于 08-04 14:47 1154次阅读
    5G 时代<b class='flag-5'>蜂窝</b><b class='flag-5'>物</b><b class='flag-5'>联网</b>的设计考量

    5G 时代蜂窝联网的设计考量

    蜂窝联网是一个基于3GPP全球标准的快速发展的生态系统,并得到越来越多的移动网络运营商以及设备、芯片组、模块和网络基础设施供应商的支持。更重要的是,蜂窝网络提供无与伦比的全球覆盖范围
    的头像 发表于 08-04 09:44 146次阅读
    5G 时代<b class='flag-5'>蜂窝</b><b class='flag-5'>物</b><b class='flag-5'>联网</b>的设计考量

    联网的应用范围有哪些?

    在生活中的一个小小体现。 从技术层面看,联网融合了多种技术,包括传感器技术、网络通信技术、大数
    发表于 06-16 16:01

    联网工程师为什么要学Linux?

    联网工程师需要掌握Linux的主要原因可以从技术生态、开发需求、行业应用及就业竞争力四个角度来分析: 一、技术生态与行业适配性 1)嵌入式开发的主流
    发表于 05-26 10:32

    智慧消防联网平台

    本人想建立一个联网智慧消防平台,想找懂技术的有合伙意愿的共同投资开发,有感兴趣的联系我13633612945
    发表于 04-15 22:18

    蜂窝联网的超低功耗特性

    针对低功耗进行优化的蜂窝联网 革命性的蜂窝解决方案: 无与伦比的电源效率 要打造卓越的蜂窝
    的头像 发表于 04-07 14:57 849次阅读

    Nordic NRF9151低功耗蜂窝模组 助力卫星联网应用.

    合作伙伴关系,在Skylo的卫星网络服务上认证Nordic的nRF9151低功耗蜂窝模组。 两家公司合作为小型、受限的联网设备实现无缝卫星连接,开启了全新的大规模
    发表于 03-24 11:12

    利用蜂窝和卫星技术实现无缝全球覆盖

    联网(IoT)应用形式多样,对带宽、移动性、功耗和使用寿命的要求也各不相同。人们通常认为,许多联网应用都依赖蜂窝
    的头像 发表于 03-18 13:59 919次阅读

    蜂窝联网怎么选

    的数据传输速率。有了蜂窝联网技术,您就不必在功耗和数据传输速率之间做出妥协,而是可以两全其美。 终身成本:虽然某些 LPWAN 技术的前期成本可能看起来很吸引人,但评估整个生命周期的
    发表于 03-17 11:46

    为什么选择蜂窝联网

    的基础设施。 数据传输速率和稳健性: 由于 LPWAN 技术通常用于不频繁发送/接收数据的设备,因此许多技术都针对这种使用情况进行了优化。然而,某些操作(如远程固件更新)需要更高的数据传输速率。这正是蜂窝
    发表于 03-17 11:42

    聊聊 全面的蜂窝联网解决方案

    是为什么我们将蜂窝产品的所有不同部分整合为一个完整的解决方案--一个完全由 Nordic 拥有和支持的产品,包括硬件、软件、工具、云服务和我们全球领先的技术支持。
    发表于 03-17 11:39

    搭建家庭云平台电脑,搭建家庭云平台电脑的操作方法

    在数字化浪潮的汹涌冲击下,传统电脑逐渐显露出局限性,而云电脑犹如一颗璀璨的新星,在信息技术的天空中冉冉升起,以其独特的魅力吸引着众多目光。今天就为大家介绍搭建家庭云平台电脑的操作方法。    搭建
    的头像 发表于 01-13 14:26 1367次阅读
    搭建家庭云<b class='flag-5'>平台电</b>脑,搭建家庭云<b class='flag-5'>平台电</b>脑的操作方法

    技术分享!蜂窝模组开机电路设计

    模组的上电开机,是硬件设计调试的第一步。在前期设计阶段,尤其要注意优化外部电路设计(特别是电源部分)。 本文特别分享常见开机电路设计相关注意事项。适合大多数蜂窝模组,在实际开发中可灵活应用。 一
    的头像 发表于 12-17 18:05 1502次阅读
    <b class='flag-5'>技术</b>分享!<b class='flag-5'>蜂窝</b>模组开机<b class='flag-5'>电路设计</b>