×
嵌入式 > 技术百科 > 详情

(金鼠纳福)Thread,低功耗无线网络新标准——NXP FRDM-KW24D512开发板评测

发布时间:2020-06-05 发布时间:
|

依托于物联网,智能家居产业发展迅速,据预测,到2018年,将有228亿美金的市场规模,绝对是未来最具前景的产业之一。在这样一个大背景下,目前无论是上游的半导体商,还是中下游的产品方案设计商,都卯足了劲想在智能家居产业真正发展起来提前布局。

要想深入智能家居产业,那我们不得不提到一个词——IoT(物联网),目前针对物联网的无线通信协议有好多种,主流的包括了WiFi、BLE、Zigbee等,其中WiFi 的功耗比较大,适合传输大量的数据;BLE功耗相对比较低,但能同时连接的设备有限;而Zigbee功耗低,可拓展的节点多,就目前而言,要作为家中多种电器的控制首选,Zigbee当仁不让,但也因各个厂商对Zigbee实现的方式不同,没有一个统一的标准,所以很难兼容不同厂商家的方案,可以说,瑜难掩瑕。而今天,爱板网要给大家推荐一个真正面向智能家居领域的网络协议标准——Thread,爱板网也拿到了可以支持Thread网络协议的硬件方案——由NXP提供的FRDM-KW24D512开发板

Thread

可能第一次见到Thread的朋友会一脸蒙逼,这是神马玩意?脑海中一个大大的问号“What is Thread?”

事实上,Thread几年前就开始规划了,目的就是定义智能家居的通信协议,并将于近期正式发布。NXP是该组织成员的创始之一,并提供全套的软硬件解决方案。简单来说,Thread是一个网络协议标准,是一种基于简化版IPv6的网状网络协议,旨在实现家庭中各种产品间的互联,以及与互联网和云的连接。

同Zigbee类似,Thread同样是基于低成本、低功耗的802.15.4芯片组开发,所以目前很多正在使用的产品,只需一次简单的软件升级,便可支持Thread,非常易于安装,并且可以扩展到数百台设备;但又不同于Zigbee,Thread标准统一,不像Zigbee的产品,由于各个厂家的实现方式不同,导致不同产品间无法兼容使用,这可以说是Thread相较于Zigbee最大的优势。

FRDM-KW24D512开箱

OK,基本了解的Thread的定位,我们再来看看从NXP拿到的整套硬件方案又是如何的?目前的Thread软件时运行在Kinetis平台上,对于原本熟悉Freescale MCU的朋友来说,上手应该还是有即视的熟悉感。(注:NXP与Freescale两家公司于2015年完成合并,新公司的名称为NXP)

从包装盒上我们也可以看到,此次的开发板是基于Kinetis MCU系列,这是NXP基于ARM Cortex-M系列微控制器的一个产品分类,打开包装盒,可以看到盒内装有两块Freedom平台的开发板以及两根miniUSB线,这点看来NXP还是挺有心的,毕竟Thread讲究的就是组网,提供两块开发板,支持点到点开箱即用的连接,方便又贴心,毕竟一块板卡根本没法实现无线通信,一个套件两块以及两块以上板卡是比较合理的,但这里千万也不要有误区,单独的板卡也是可以作为原型设计开发的,我们不都从Freedom平台经历过了嘛。

再三确认,这两块板卡的硬件组成是一样的。

相信熟悉Freedom平台的工程师对这种版型不会陌生,这个平台的板卡都具有相似的特征,如基于Kinetis系列MCU,配以NXP传感器、搭载OpenSDA调试接口、兼容Arduino UNO R3扩展接口等特性,是一种小型化、低功耗、高性价比的微控制器评估和开发的平台。



从快速参考的纸质文档上看,此次板卡的具体型号为FRDM-KW24D512,是基于Kinetis W系列MCU,从产品的分类上可以了解到,Kinetis W系列MCU是集成了Sub-GHz或者2.4 GHz射频收发器的无线MCU产品,提供强大的功能集成,可创建可靠、安全、低功耗的嵌入式无线解决方案。

而我们此次拿到的FRDM-KW24D512板卡所搭载的无线MCU具体型号为MKW24D512VH,属于KW2xD系列产品,基于性能强大的ARM Cortex-M4处理器,支持的协议非常多,除了我们上文提到的Thread协议外,还支持ZigBee Pro 802.15.4MAC以及SMAC,KW2xD系列产品具备-102dBm的灵敏度,高达+8dBm的发射功率,19.5mA接收功耗以及18mA的发射功耗,具体如下表所示。

FRDM-KW24D512硬件

正如上文所说的,FRDM-KW24D512是基于NXP MKW24D512 Kinetis W系列微控制器的开发平台,除了本身丰富的硬件资源外,还可以通过软件支持Thread、ZigBee Pro、802.15.4 MAC、SMAC以及Kinetis软件开发套件(SDK),板载的具体硬件资源如下图所示。

FRDM-KW24D512开发板特性:

  • 支持MKW24D512 Kinetis微控制器(高达50 MHz Cortex-M4 MCU,512 KB闪存)
  • 完全符合IEEE 802.15.4的无线节点
  • 软件支持:Thread、ZigBee Pro、802.15.4 MAC和SMAC以及Kinetis软件开发套件(SDK)
  • 具有小规格、低成本射频节点的参考设计区:
  • 射频电路包括换衡器,将MKW24D512收发器的差分输入/输出引脚转换为板载信号路由的单端配置
  • 较少的片外组件数量
  • SMA接头处的可编程输出功率为-35 dBm至+8 dBm,无Trap
  • 接收器灵敏度:–102 dBm (典型值)
  • 集成的PCB反向F型天线和SMA射频端口
  • 可选电源
  • 32 MHz基准振荡器
  • 32 kHz时钟振荡器
  • 2.4 GHz工作频率(ISM频段)
  • 支持无线编程(OTAP)的外部串行闪存
  • 多个按钮和LED
  • OpenSDA v2.1调试接口
  • 带集成线性加速度传感器和磁力计的6轴组合传感器

开发板硬件系统框图:

Kinetis MKW24D512

板载的Kinetis MKW24D512 MCU是一款低功耗、紧凑型集成式器件,由一个符合IEEE 802.15.4的高性能2.4 GHz无线收发器和一个强大的ARM Cortex-M4内核系统组成,并配有数据连接和高精度混合信号模拟外设,适用于家用和楼宇自动化的控制和监控应用,包括家电、门禁、温度控制、能源管理、照明、安全和安保等应用。

Kinetis MKW24D512 MCU特性:

  • ARM Cortex-M4内核,带16通道DMA,最高主频50MHz
  • 512 KB闪存和64 KB RAM
  • SPI、UART *2、I2C *2
  • 8通道16位SAR ADC、6位DAC
  • 加密加速单元(CAU)、AES加密(FIPS 140)、外部篡改检测、32位CRC
  • 高度集成的2.4 GHz射频收发器
  • 802.15.4数据包处理器
  • 支持单端和分集式天线
  • 双PAN支持
  • 输出功率可设置-30至+8 dBm
  • 灵敏度 -102 dBm
  • TX 17mA @ 0dBm (CPU睡眠)
  • RX 19mA (CPU睡眠)
  • 1.8至3.6V
  • 低压检测
  • 多个低功耗模式
  • 实时时钟(RTC)
  • 在线调试和闪存编程
  • 多达24个通用IO
  • 多个KBI
  • 工作温度–40°C至105°C

如何开发

要想进一步了解FRDM-KW24D512开发板,动手操作是最有效的途径。坦白的说,飞思卡尔FRDM-KW24D512支持的集成开发工具非常多,如IAR、Keil、CodeWarrior、KDS、mbed等,工程师可以根据自己的使用习惯选择对应的工具,对于初次接触开发板的朋友,推荐使用KDS+mbed在线IDE工具的组合。首先这两个都是免费的工具,没有使用限制,也不需要成本,而且还可以互补使用,完全不会有冲突。KDS适合完整项目的开发,包括了代码的编辑、编译、下载,调试,而mbed IDE在线工具除了无法进行调试外,编辑、编译、下载都很方便,可以说,有网的地方就可以使用,而且无需安装。

至于针对FRDM-KW24D512硬件调试工具,那就没什么好争议的,直接使用板载的OpenSDAv2.1调试器最为方便省事。当然,FRDM-KW24D512也支持“有钱可以任性”的想法,你也可以使用第三方的针对ARM内核的硬件调试工具进行板卡开发,比如J-LINK。每个IDE工具的具体使用这里就不再介绍了,可以参考爱板网过往的评测文章。



Demo演示

熟悉Freedom平台的朋友都知道,开发板一般都会内置一个让你快速上手的Demo例程。

而此次开发板内置的是一个基于SMAC网络协议的演示应用,可为用户提供一些测试方式,测试基本的发射-接收功能以及基于ASP和SMAC API的多种先进的测试功能。基本的上电操作在NXP官网有完整的教程指导,有不清楚的网友可以直接前往了解,这里就不多啰嗦了。

在开发板与电脑连接的时候,可以在电脑的管理器上看到一个串口COM号,这是内置SMAC演示例程需要使用到的。

波特率设置为115200,8bits,no parity,1 stop bit,复位板卡即能看到串口输出。

SMAC连接测试的Demo中主要包括连续测试、误包率(PER)测试、Range测试、无线电寄存器编辑、载波监听和传输控制等功能,以误包率的测试为例,需要将两款板卡分别上电,分别设置为发送以及接收。

接收设置

发送设置

误码率测试

距离比较近,从测试中可以看到灵敏度非常好,所以测试结果没有丢包现象。另外,在测试中笔者也将两块板卡尽可能分隔在较远的不同的房间中测试,虽然灵敏度有所降低,但是从目前环境来看,还是没有丢包现象,可以说下,笔者测试的办公室还是挺大的,所以对于目前的家居环境,FRDM-KW24D512的通信距离、通信稳定应该绰绰有余。



Thread通信

当然,此次NXP FRDM-KW24D512开发板最重要的一个功能可以说是支持NXP官方预认证的Thread网络协议栈,一起来瞧瞧。

由于Thread协议栈目前还没有正式发布,其正式的发布时间将在近期。目前如果你对这协议栈感兴趣,首先需要在NXP官网填写申请表单

如果申请通过后会收到NXP官方的邮件回复,内附内部评估版本的下载地址,点击进入后可以在Software文件夹下找到相应的Thread协议栈安装包下载。

下载完成安装

安装结束后你可以看到安装目录下的多种例程,包括了NXP自家的MQX实时操作系统以及freertos实时操作系统,并针对NXP Kinetis系列的不同MCU。

这些例程该如何操作呢?由于Thread组网的特殊性,它的组网中,不同节点所对应的功能也有些不同,具体如下图所示

所以以笔者目前手上的两款板子可以实现的就是Leader Router、Active Router以及End Device功能设备,而Border Router功能需要具备以太网口或者WiFi功能的相应板卡支持。

因此笔者选取了两个例程,一个是thread_end_device,另一个是thread_router_eligible_device,从上图中可以看到,thread_end_device属于末端的节点设备,只能加入网络,无法创建网络,而thread_router_eligible_device既可以创建网络,又可以加入网络。

thread_end_device例程编译下载

thread_router_eligible_device例程编译下载

分别给这两款NXP FRDM-KW24D512下载这两个例程,重新上电启动后可以看到串口输出的组网logo,这里笔者特地试下thread_end_device创建网络,确实不行。

还是按照Thread的规则将thread_router_eligible_device例程的板子创建网络,thread_end_device例程的板子加入到网络中去,如下图所示,Thread通信OK。

当然,由于时间关系,本文只是简单的体验下了Thread的通信机制,但毋庸置疑,在笔者看来,更愿意把Thread当做是Zigbee的升华版,尤其面对智能家居这种“有限”的组网环境下,Thread给人一种青出于蓝而胜于蓝的感觉。Thread的自组网特性、安全性、低功耗特性,以及标准的规范性,将是Thread的最大亮点。

小结

本文介绍了NXP推出的Freedom平台开发套件FRDM-KW24D512的硬件组成以及基本的软件开发情况,板卡基于NXP Kinetis W系列无线MCU MKW24D512,这是一款低功耗、紧凑型集成式器件,内部集成了一个符合IEEE 802.15.4的高性能2.4 GHz无线收发器以及一个强大的ARM Cortex-M4处理器,并配有数据连接和高精度混合信号模拟外设,配合NXP预认证的Thread网络协议栈,非常适合目前智能家居通信产品的开发。从NXP官网的产品列表可以看到,Kinetis W系列即将上市的新产品KW21和KW41也将全面支持Thread。有兴趣的朋友不妨去NXP官网看看,如果对Thread网络协议栈感兴趣的朋友可以向NXP提交申请表单。



更多Freedom平台开发板评测参考:

  • 支持免晶振USB设计——飞思卡尔Freedom FRDM-K22F评测
  • Freedom开发平台FRDM-KE02Z——8位机终结者
  • FRDM-K64F——飞思卡尔Freedom平台的一次重大革新




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil5(MDK5)在调试(debug)过程中遇到的问题