旨在确保家庭设备网络中简单,可靠的连接,Thread为智能产品开发人员提供了极具吸引力的解决方案。尽管如此,开发人员仍然面临着满足这些网络中高性能和低功耗运行要求的挑战。使用专为基于线程的连接而设计的综合开发平台,工程师可以快速实施复杂的解决方案,以充分利用Thread的能力,确保家中网络智能产品的安全可靠连接。
物联网(IoT)承诺为个人和组织提供普遍的连接。随着开发人员寻求利用物联网提供的巨大机遇,他们发现自己不仅面临新的挑战,而且还面临着硬件和软件要求的组合,即使是经验最丰富的设计师也无法阻止。
在硬件方面,无线连接解决方案需要满足对可靠性,安全性和低功耗操作的经常相互冲突的需求。在软件方面,开发人员可能会发现自己陷入应用程序堆栈的较低层,难以调试底层通信,而不是专注于更高级应用程序代码的独特方面。
尽管物联网设计提供与“传统”嵌入式系统相似,它们对从基本无线电性能到高级消息传递能力的连接性提出了独特要求。 Silicon Labs的SLWSTK6000A无线入门套件将基于EFR32MG(Mighty Gecko)无线SoC的全功能系统与基于Thread构建的综合生态系统相结合,这是一种专门用于解决物联网挑战和机遇的独特网络协议。 p>
可靠的连接性
市场研究公司Gartner Inc.预计,到2022年,个人家庭住宅可能包含数百种智能设备,包括娱乐,家用电器,安全,环保和健身产品等。与此同时,缺乏互操作性标准可能会严重阻碍这种增长潜力。在这种环境中,线程规范试图成为“网状网络的Wi-Fi”,并且在各种无线技术中占据一席之地,这些无线技术可能在家庭中连接这些设备的不同角色(表1)。
Wi-Fi蓝牙智能ZigBee PRO线程带宽150 Mbps + 1 Mbps 250 kbps 250 kbps低功耗否是是是本机IP可寻址是否否是简单IP桥接是否否是网状网络否否是是实用网络尺寸限制32 10 250+ 250+安全支持AES-128/256 AES-128 AES-128 AES-128,ECC无单点故障否否否是
The Thread Group由ARM,Big Ass粉丝,恩智浦,三星,Silicon Labs和耶鲁成立于2014年,目前包括约230家成员公司,代表电子行业的广泛领域。基于开放标准,Thread旨在实现安全可靠的网状网络,无单点故障,简单的设置和连接以及低功耗操作。
在线程中,设备可以在多个特定的位置运行角色通过它们在网络中提供其他设备的服务来区分。用作路由器的设备为其他网络设备提供路由服务,以及允许授权设备加入网络的安全服务和服务。网络上的第一台路由器成为一种特殊类型的路由器,称为Leader,它管理网络参数,协调委员以添加新设备,并做出网络决策。另一种特殊类型的路由器,边界路由器,为802.15.4网络内的设备提供服务,包括用于离网操作的路由服务。最后,Sleepy End Devices是仅通过其父路由器进行通信的主机设备。
Thread网络的拓扑结构取决于路由器的数量。如果网络只包含一个路由器或边界路由器,它将形成围绕该路由器的基本星形拓扑。如果网络包含多个路由器或网桥路由器,它会自动将自身配置为网状拓扑(图1,左)。
虽然线程网络可以包含许多执行特殊功能的设备,但Thread堆栈的设计确保可以在不影响Thread网络中正在进行的通信的情况下更换它们。结果,这种网络中的设备不代表单点故障。例如,如果作为领导者的设备发生故障,则另一个路由器成为领导者,甚至将路由器符合条件的终端设备(REED)提升为路由器状态,以在需要时改善连接(图1,右)。
图1:运行线程堆栈的设备自动将自身配置为网状网络,包括Leader,Bridge Routers,Routers和Sleepy End Devices(左侧) ),但是如果诸如领导者之类的关键设备失败(右),则可以快速重新配置。 (来源:线程组)
线程堆栈(图2)建立在6LoWPAN(IPv6低功耗无线个人局域网)之上,它本身建立在IEEE 802.15.4之上,以提供基于IP的网络。 Internet协议(IP)提供了跨IP网络中继数据报的核心机制,其路由功能可实现网络互联。
实际上,IP网络是互联网和任何物联网应用的基础。实际上,基于非IP协议的应用程序面临着明显的性能劣势:本地支持IP的网络解决方案必须首先适应网关中的IP,这一过程需要映射本地网络地址并重新打包网络 - 将有效载荷转换为IP数据报。此外,加密的本地数据包必须在网关处解密,然后在IP数据报中重新保护。执行此转换会在寻求优化设计,成本和性能的环境中进一步增加设计复杂性和成本。 Thread的基于IP的协议有助于简化网络交易和成本。
图2:线程在一层熟悉的标准之上添加了专门的服务,如安全性和调试,以实现基于IP的自我修复智能产品网络。 (来源:线程组)
硬件支持
Silicon Labs EFR32MG1P732F256GM32无线SoC直接支持该堆栈的性能和功能要求。 SoC采用Silicon Labs的低能量Gecko技术构建,具有低功耗能量模式,同时集成256 kB闪存,32 kB RAM,16个数字I/O引脚,7 x 16位定时器和多个通信接口。作为SoC的核心,基于ARM®Cortex®-M4的MCU设计用于极短的响应时间,高代码密度和高32位吞吐量,同时保持严格的成本和功耗预算。
SoC的片上无线电收发器(图3)提供19.5 dBm的最大输出功率,接收灵敏度为-99 dBm(250 kbps O-QPSK DSSS)。该收发器采用低中频接收器架构设计,包括一个低噪声放大器(LNA)和一个I/Q下变频混频器。在由IF模数转换器(IFADC)采样之前,I/Q信号被滤波和放大。自动增益控制(AGC)模块调整接收器增益以优化性能并避免饱和。
图3:Silicon Labs EFR32MG1P732F256GM32和EFR32MG1系列无线SoC的其他成员集成了一个复杂的收发器,旨在适应各种无线协议和PHY,包括802.15.4。 (来源:Silicon Labs)
在其高级功能中,无线电为每个接收帧生成接收信号强度指示器(RSSI)值,为基本线程机制提供必要的硬件支持。使用Thread,设备使用RSSI值发布传入消息到该设备的“链接开销”。反过来,路由器使用通过网络发布的链路成本来确定通过网络的最佳路径。
除了具有实际数据有效负载的消息之外,线程网络中的设备定期发送管理消息,例如链路成本。然而,在安静时段,设备可以进入低功耗静态模式。过去,开发人员需要添加代码以定期唤醒设备以检查消息。不幸的是,如果预期的接收者处于静止模式,这种方法可能导致由于浪费的唤醒时段或重复丢失的消息而导致效率低下。 EFR32MG1通过其集成的RFSENSE模块提供了有效的替代方案。该模块在天线接口检测到宽带RF能量时产生系统唤醒中断,从低功耗模式提供真正的RF唤醒功能。
对于家庭连接应用的开发人员,Thread与应用程序一起工作 - 诸如Google Next Weave,ZigBee和CoAP(约束应用协议)之类的级别协议,以简化因特网上的交互式应用级通信的开发。例如,CoAP作为一种二进制HTTP运行,提供基本的类HTTP事务,包括GET,POST,PUT和DELETE。该协议使用重发和ACK提供有序消息传递和保证传递,但如果应用程序不需要保证传递,开发人员也可以省略消息确认(图4)。
图4:CoAP的类HTTP消息传递协议使用事务提供可确认(CON,左)和不可确认(NON,右)事务标识符(例如,0x7a10,左)和授权令牌(例如,0x73,左)。 (来源:The Thread Group)
快速开发套件
高性能,可靠通信和灵活网络的复杂要求对于为家庭创建连接智能产品的开发人员来说是一个巨大的挑战。工程师可以使用EFR32MG1P732F256GM32无线SoC等设备从头开始构建解决方案,软件包括Thread的开放软件和底层通信层库。另一方面,Silicon Labs的SLWSTK6000A无线入门套件提供了一个全面的开发平台,能够帮助开发人员加速针对新智能家居产品的线程连接解决方案的设计。
在硬件方面,它的主要组成部分是SLWSTK6000A是无线入门套件主板,具有板载J-Link调试器,用于实时电流和电压监控的高级能量监控器,虚拟COM端口接口以及对数据包跟踪接口(PTI)的访问(图5)。 Silicon Labs还包括其Si7021相对湿度和温度传感器,以帮助开发人员熟悉传感应用,而无需额外的硬件开发。除了J-Link板载调试器外,该板还包括一个支持外部硬件和配套无线电板的调试多路复用器。
图5:Silicon Labs SLWSTK6000A无线入门套件接受无线无线卡,例如SLWRB4154A,旨在支持特定的连接选项。 (来源:Silicon Labs)
主板接受一个互补的无线电板,插入主板上的指定插槽。模块化设计支持不同的无线电板,使开发人员能够开发蓝牙低功耗,线程,ZigBee和专有无线应用。 SLWRB4154A无线无线电板旨在支持Thread,包括EFR32MG1P732F256GM32无线SoC和相关组件。 (主板包含一个单独的MCU,负责提供的一些高级套件功能,但不是用户可编程的。)大多数EFR32MG1P732F256GM32的引脚从无线电板路由到主板顶部和底部边缘的分支焊盘。
该工具包提供了一个全面的软件包,其中包括用于Thread SDK和底层协议的软件库以及Silicon Labs Simplicity Studio开发环境。基于Eclipse,Simplicity Studio旨在让开发人员专注于他们的应用程序代码而不是底层的硬件和软件服务层。在启动时,Simplicity Studio会识别连接的硬件,提示开发人员连接硬件(如果没有找到)。然后,Simplicity Studio会自动安装与连接硬件相关的软件包。
Simplicity Studio还通过提供一系列屏幕来简化项目开发,这些屏幕指导开发人员完成项目创建,代码生成和上传到连接的硬件。要创建一个新的应用程序,开发人员只需要完成一个简单的对话框来指定工具包,部分和SDK,这是此上下文中的Thread SDK(图6)。
图6:Silicon Labs Simplicity Studio为开发人员提供了一系列旨在加速项目开发的对话框。在这里,开发人员通过选择套件,部件和SDK来创建一个新项目; Simplicity Studio自动填充套件和部件以识别硬件。 (来源:Silicon Labs)
事实上,如果它检测到硬件,Simplicity Studio会自动填写套件和部件号。在下一个屏幕中,开发人员从包含服务器,客户端和睡眠客户端等的列表中选择设备类型。在Simplicity Studio中,Radio Configurator允许开发人员根据诸如802.15.4之类的标准为Thread应用选择无线电配置文件和无线PHY。添加特定于应用程序的代码后,开发人员使用AppBuilder生成应用程序源文件。此时,开发人员可以手动编译代码,然后将其刷新到连接的开发硬件,甚至更简单,只需允许AppBuilder自动编译并将应用程序刷新到连接的硬件。此时,开发人员拥有完整的基于线程的连接解决方案,可根据需要进行扩展以满足其他要求。
结论
旨在连接家庭中的智能产品,线程提供简单和可靠的有吸引力的组合。但是,对于开发人员而言,在快速交付产品对成功至关重要的市场中,从零开始实施Thread网络可能非常耗时。 Silicon Labs SLWSTK6000等完整的开发平台允许开发人员专注于其应用程序的独特功能,依靠套件的硬件,软件和开发环境来实现底层连接服务。
全部0条评论
快来发表一下你的评论吧 !