打印
[活动]

【Nordic nRF7002开发板试用体验】I2C控制ATH10实现温湿度采集

[复制链接]
1555|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
开箱
近日,我参与了21ic组织的Nordic低功耗高集成无线开发套件nRF7002 DK的测评。nRF7002 DK是nRF7002 Wi-Fi 6协同IC的开发套件,它包含了在单板上启动开发工作所需的一切。这款DK具有一个nRF53®多协议系统级芯片(SoC),作为nRF7002的主处理器。这款DK支持低功耗Wi-Fi应用的开发工作,并支持实现OFDMA、波束成形和目标唤醒时间等Wi-Fi 6功能。总而言之,Nrf7002芯片能扩展已有的芯片方案,为你的项目加上wifi6的功能实现高速度的数据无线传输。
       在拿到开发板后,拆开包装,里面主要有三个东西:开发板,柔性天线以及开发板介绍的小册子。
评估版硬件以及芯片架构理解
做嵌入式开发,首先就是需要有对电路板充分的理解。在拿到板子后,我也查找了相关的硬件资料,着重阅读了pcb schematic 以及 Nrf7002,nrf5340的datasheet。
Nrf7002datasheet

Nrf7002是一款WIFI 6 companionIC,也就是说它需要与带wifi6协议栈的主机芯片一起组合才能实现wifi6的功能。Nrf7002通过spi/qspi总线实现与主机芯片的通信,内部主要由MAC以及PHY组成。这种companionIC的好处就是在于灵活,可以与各种的主机芯片一起搭建实现wifi6,不过也可能在一些面积受限的应用中受限。
NRF5340 datasheet
       Nrf5340是一款非常成熟的射频SOC,芯片内集成了各种外设如USB,SPI,I2C,PDM,I2S等等,已经在市场上有了广泛的应用。Nrf5340内包含了两个cortex-M33的核,一个用于通信,一个是应用核,两者通过异步通道实现通信。
Nrf7002-DK schematic
开发板上有两颗NRF5340,一颗用于固件下载,一颗用作NRF7002的主控芯片,同时板上还有2.4G以及NFC的天线引出.该评估板也可用于NRF5340的测试
开发环境以及IDE使用

                              
NRF7002使用的nordic公司开发的Nrf Connect SDK开发工具进行开发。
nRF Connect SDK 是一个可扩展的统一软件开发套件,用于构建基于我们所有 nRF52nRF53, nRF70 nRF91 系列无线设备的产品。它为开发人员提供了一个可扩展的框架,用于为内存受限的设备构建尺寸优化的软件,以及为更高级的设备和应用程序构建强大而复杂的软件。它集成了 Zephyr RTOS 和各种示例、应用程序协议、协议栈、库和硬件驱动程序。
Nordic 提供基于vs code nrf connect sdk开发工具。
nRFConnect for VS Code - nordicsemi.com
开发环境搭建1.安装nrf connectfor desktop
下载路径 : nRFConnect for VS Code - nordicsemi.com
2.安装toolchainmanager
在安装好的nrfconnect for desktop中安装toolchain mananger
3.安装sdk
在toolchain manager中安装sdk
4.安装nRFConnect for VS Code插件
5.在toolchainmanager 中打开vscode,会自动配置路径
Vscode中配置好sdk路径以及toolchain 路径
6.选择新建application
       由于已经下载好了sdk以及toolchain,因此选用freestandingapplication type 选用本地电脑上的sdk。
       Applicationlocation为工程的路径
       Applicationtemplate 为工程模板,可以选择sdk中提供的例子
       Applicationname 为工程名
7.调用sdk 模板
可以看到一段helloworld的代码
8.配置编译以及调试
配置build configuration
程序能正常运行,打印输出helloworld
编译过程中遇到一些问题
在toolchain manager 中多次update,问题解决
开发板I2C读取温湿度传感器ATH10的数据
       ATH10是一款I2C接口的温湿度传感器,能实现24bit的温度和湿度采集输出,用于一些加湿器,消费电子以及智能家居领域。
       ATH10的芯片地址为0x38 + R/W,通过给芯片发送0xac的指令能触发采集,等待约75ms后能获取采集的数据,输出数据格式如下图,可得到24位的温湿度数据
       从采样数据到温度和湿度转化如上图。
       程序设计中使用了i2c_configure 和ic_get_config函数实现ATH10的配置和验证。写入触发采集指令后,等待1s读出采样数据,并进行数据转换,通过串口打印输出

总结与收获
       经过这次体验NRF7002-DK,有非常多的收获:
       Nordicnrf connect sdk 是一个非常有用的开发工具,集成了相当多的有用案例,给我们的开发提供了非常有利的支持。
       Nrf7002是一款应用广泛,功能强大的芯片,在任何需要wifi高速数据传输的场景都能使用
       感谢nordic 公司 以及21ic网对这项测评工作提供的帮助
参考资料
Introduction— nRF Connect SDK 2.4.99 documentation (nordicsemi.com)

使用特权

评论回复

相关帖子

沙发
zwsam| | 2023-10-27 08:56 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

0

粉丝