[原创] 【NXP Rapid IoT评测】 NO5. 开发套件的硬件模块评测

传媒学子   2019-1-13 17:23 楼主
NO5. 开发套件的硬件模块评测
这次就这套rapid lot的硬件部分做一个简单评测,主要结合实际例程库和自建工程来进行评测。
一、模块概述
1.1主控制模块
rapid lot开发套件,内部含有两个主控制器,主要用来运行程序, 并且控制无线通信模块和各个用户传感器模块。
用于主应用的Kinetis K64F,采用ARM® Cortex® -M4 内核,用于无线连接的Kinetis KW41Z,采用ARM® Cortex® -M0+内核。
MK64FN1M0VMD12K6x Kinetis K时钟频率高达120MHz,内置1,024KB 闪存和256KB RAM 存储器,两个16 位模数控制器(ADCs) - 在12 位模式下的采样速率高达80 万样本/秒,还提供众多串行接口以及多个定时器和GPIO。
这样的配置,足以应对嵌入式领域大多数场景,而无线控制部分,则主要采用KW41Z/31Z/21Z Kinetis W 系列,突出优点就是低功耗,并且可以实现BLE蓝牙和Thread双工工作的能力。
说了这么多,其实这些你都可以不care, 只要用web IDE编写工程,编译好你的程序,生成BIN文件,下载到rapid LOT套件的内存中,即可实现程序自动引导 加载,整个过程与原来先编译C,再下载HEX文件相比,简单快速了很多。
1.2 传感器模块的简介 1.2.1 加速计和磁力计 采用的是数字低功耗和六轴加速计/磁力计传感器FXOS8700CQ,通过串行I2C1接口和三个GPIO连接到K64F MCU,FXOS8700CQ的I2C地址为0x1E(SA0和SA1下拉)。 1.加速度和磁力计.JPG 整个硬件设计如上,I2C的接口是比较普遍的,传感器的外围电路也是比较简单的,因此,实际应用中,可以参照这样的原理图。 1.2.2 陀螺仪 数字低功耗三轴陀螺仪传感器I2C1FXAS21002CQ通过串行接口和三个GPIO连接到K64F MCU。这里也是I2C1,因此,主机通过I2C的从机地址,实现与想要的传感器通信。这里指出一点,由于I2C总线上接了不止1个器件,因此,数据的回传相对于单器件来讲,会有所延迟,但在实际的应用中,是比较普遍的,真个I2C工作在100Khz下, 数据的读取应该还能比较快的完成。FXAS21002CQ的I2C地址为0x20。 2.陀螺仪.JPG 同样,陀螺仪的外围电路也是比较简单,我们可以结合上边的那附图,在以后的设计中,可以借鉴如何在I2C总线上实现多器件通信的设计。 1.2.3 压力和温度以及湿度和温度 数字气压/高度压力和温度传感器MPL3115A2通过I2C1串行接口和两个GPIO连接到K64F MCU。 需要注意手册上的一句话:压力和温度传感器(MPL3115)仅受附近环境的影响。温度测量 偏移值7~8℃,因此我们开发套件上的温度仅供参考了,在实际的应用中,可以合理的放置温度传感器的位置,以得到真正的环境温度,这里必竟是开发套件,供大家评测,学习。 数字相对湿度和高精度温度传感器ENS210通过I2C1串行接口连接到K64F MCU,ENS210的I2C地址为0x43,ENS210提供自动低功耗待机(40nA)功能,在不进行感测时使用。但同样,这个传感器和上边的一样,受环境影响。 1.2.4 空气质量 CC811是一种气体传感器片上系统芯片(SSoC),采用低功耗传感技术来探测室内的挥发性有机化合物(VOCs),能够用来检测CO2等气体,是一个比较常见的空气质量传感器。 后续的彩色显示器串行闪存等则是SPI总线接口。 从下面这幅图上,大家可以看到5X5CM不到的PCB板上,密密麻麻的布满了十几种器件,MCU传感器,这是不得不佩服NXP工程师们的水平,感叹时代的进步,科技的进步。 3.内部硬件.JPG 其它的传感器在这里不过多叙述了,应用手册上都有,接下来,结合实际工程项目,详细讲解一下,用这些传感器可组成的各个应用。 二、小小天气站 -- 看rapid lot 如何快速构建(上一帖子不是太详细,这里就硬件部分评测,详细讲解一下) 如何进入web ide? 首先在浏览器中登陆:https://rapid-iot-studio.nxp.com/ 注册账号并登陆, 找到天气站,然后打开,并且编译。 天气站.JPG 点击下载firmware, 保存生成的Rapid IoT Weather Station firmware.bin。 先按着S4,然后用扣针按背面的S5,等一会松掉,电脑会弹出一个可移动U盘,大小为880KB,然后将你下载的固件放进去,然后绿灯会变色,系统自动加载该BIN文件,过一会,套件会自动重启。然后就可以看到天气站已经OK。 测试了一下,手机端接收数据大概延迟1秒左右,基本上是同步的。 下面这幅图是手机端接收的各个传感器的数据(这个例程好像云端没有数据需要自己创建): 微信图片_20190113214002.jpg 下面几幅图是套件显示的: 微信图片_20190113213957.jpg 微信图片_20190113213953.jpg 微信图片_20190113213948.jpg 微信图片_20190113213944.jpg 微信图片_20190113213939.jpg 云端上设定好界面后,手机端也会实时更新,同样的手机端设定好后,云端也会实时更新。 云端: 云端显示数据.JPG 手机端: 微信图片_20190113213920.jpg 云端显示数据.JPG 从上边数据来看,传感器的输出精度可以满足生活和普通应用的大多数场景,数据传输速度也比较快。 总结:在单纯天气站的模式下,貌似处理器的负荷不是太大,没有太大的热量,从数据变化速率上看传感器比较灵敏,结合数据图像显示,我们可以很清楚的看到温度,光照等变化,可以说,这个应用可以直接应用到农业大棚温湿度监测,以及养猪场等农业养殖,以及教室家庭环境测量等领域。 另外,NXP rapid lot套件传感器等硬件模块设计为广大开发者提供了非常全面的设计参考,无论是软件、界面还是硬件设计上,都让我们节省了大量精力,而专注于应用的实现,这一点非常值得称赞。 此内容由EEWORLD论坛网友传媒学子原创,如需转载或用于商业用途需征得作者同意并注明出处
本帖最后由 传媒学子 于 2019-1-13 21:46 编辑
  • 微信图片_20190113213932.jpg

回复评论 (5)

我还以为在帖子还在审核。。。 本帖最后由 传媒学子 于 2019-1-15 20:56 编辑
点赞  2019-1-15 20:54
模块充电和不充电时显示的温度能差2、3度,如何动态补偿才能把环境温度测准?
点赞  2019-1-15 22:01
引用: bjemt 发表于 2019-1-15 22:01
模块充电和不充电时显示的温度能差2、3度,如何动态补偿才能把环境温度测准?

这个很难,不改硬件,有两种办法,你可以补偿。
1.根据你系统的时钟速率进行补偿,120MHZ运行一段时间大概相差7-8度,你可以调整运行速率,纪录温差值,进行补偿。
2.还有一种简单的方法,就是,你直接全速运行,然后依据运行时间进行补偿,开机到5分钟内,采用线性补偿,大于5分钟直接温度减七度作为补偿。

修改硬件,增添外部温度传感器,即可。
点赞  2019-1-16 10:47
我的Temperature Calibration Offset 设置为-11,结果刚开机时显示温度为13度,最后稳定在23度,这个与室温差不多。这种与主机板一体的温度传感器真是只能做参考,没法使用。
点赞  2019-1-16 12:07
引用: bjemt 发表于 2019-1-16 12:07
我的Temperature Calibration Offset 设置为-11,结果刚开机时显示温度为13度,最后稳定在23度,这个与室温 ...

这个主要是评测开发板,后续你自己设计,可以将温度传感器布置在合理的区域内,温度就会准确了。

这个开发套件就是告诉你,用它可以来干什么。
点赞  2019-1-16 15:29
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复