NRF52832DK是基于Nordic蓝牙芯片nRF52832的开发板(下文简称52DK),支持低功耗蓝牙(BLE),为广大开发人员提供了一个硬件开发平台,帮助工程师快速的了解和学习nRF52832的BLE特性,和实现产品原型阶段的开发工作。
52DK采用核心板与底板分离的设计,核心板采用谷雨物联网的低功耗蓝牙模块BLE520,该模块引出nRF52832的全部IO,支持蓝牙5.0。
本文帮助开发者,快速的了解和使用52DK开发板。
目录
1 低功耗蓝牙简介
BLE低功耗蓝牙的英文缩写(Bluetooth Low Energy),是蓝牙4.0版本起开始支持的新的、低功耗版本的蓝牙技术规范。
蓝牙技术联盟(Bluetooth SIG)在2010年发布了跨时代的蓝牙4.0,它并不是蓝牙3.0的简单升级版本,而是全新的技术架构,蓝牙4.0版本分两种模式:单模蓝牙和双模蓝牙。
常见的蓝牙音箱,是典型的双模蓝牙,它需要传输大量的音频数据。而小米手环,蓝牙温度计则属于单模蓝牙。行业里一般不讲单模蓝牙,而是统一称为低功耗蓝牙。
如今,蓝牙5.0已经发布和应用,4倍通信速度、2倍的通信距离以及Mesh组网特性,将使蓝牙成为物联网领域的重要的技术之一。
有关详细的低功耗蓝牙协议介绍请阅读《BLE技术揭秘》[参考 1]
2 nRF52832芯片简介
nRF52832芯片主要特点介绍。
- 2.4GHz radio,支持多种无线协议,例如BLE,ANT等。
- 32位 ARM Cortex-M4F 处理器,增强浮点运算能力,可以提供更复杂的算力支持。
- 512KB程序存储空间和64KB内存空间。
- 31个GPIO,每个IO均可灵活配置。
芯片功能框图如下图所示:
3 开发板简介
52DK采用核心板与底板分离的设计,核心板是用我们的模块:BLE520,该模块引出芯片的全部GPIO。开发板底板上,设计了LED电路,按键电路,蜂鸣器电路等,专为初学者设计,电路简单易懂。
有关52DK开发板完整的硬件说明,请阅读《NRF52832DK硬件设计手册[参考 2]》。
52DK开发板硬件功能如下图所示:
4 开箱测试
我们为开发者准备了完整的开箱测试视频和文档说明,详情请阅读《NRF52832DK开箱测试》[参考 3],下面是NRF52832DK的开箱视频。
(这里插入优酷开箱视频)
5 开发资料
我们为52DK编写了丰富的开发资料,资料按照存储形式分为两大部分:
- 在线文档,例如入门教程,硬件手册等。特点是纯技术文档,可能需要经常更新。可在线阅读,也可另存为pdf本地阅读。
- 归档资料,比如协议栈安装包,软件安装包等。特点是文件较大、很少需要更新的文件或文档。
资料截图如下图所示。
6 软件开发环境搭建
软件开发环境主要包含三个部分的安装:
- 集成开发软件IAR for ARM
- nRF蓝牙协议栈SDK
- nRF52832芯片烧写软件nRFgo
(入门手册需要配套有一个视频)
6.1 集成开发软件IAR
IAR软件安装手册位置:归档资料/2-编译器IAR/IAR for ARM v7.8安装教程.pdf
。
请根据此安装教程操作即可。IAR安装后如下图所示。
6.2 蓝牙协议栈SDK
本节涉及两个内容,首先是安装Nordic官方提供的协议栈SDK,SDK中自带非常丰富的实验例程。其次是解压我们谷雨针对NRF52832DK开发板提供的实验例程。
6.2.1 安装协议栈sdk
SDK位置:归档资料/1-协议栈SDK/nRF5_SDK_xx.x.x.zip
,xx.x.x是该协议栈版本号。例如nRF_52_15.2.0.zip
Nordic提供的协议栈SDK无需安装,直接解压即可使用,但是强烈建议使用短小的全英文路径,避免不必要的问题发生。例如:E:\project-nordic\nRF5_SDK_15.2.0
。由于压缩包较大,小文件较多,可能需要数分钟的等待时间。解压后的协议栈结构如下图所示:
主要目录说明:
目录或文件 | 作用 |
---|---|
components | nRF52832芯片的软件或驱动组件库,例如芯片外设驱动,射频(802.15.4)驱动等。SoftDevice组件接口等。 |
examples | Nordic官方示例程序,例如外设的使用示例,协议栈示例等。 |
external | 协议栈使用的其他软件组件,例如文件系统fatfs,网络通信协议lwip等。 |
nRF5x_MDK_8_17_0_IAR_NordicLicense.msi | 当使用IAR时,需要安装此版本的MDK |
nRF5x_MDK_8_17_0_Keil4_NordicLicense.msi | 当使用Keil时,需要安装此版本的MDK |
6.2.2 安装nRFx_MDK_IAR
由于我们使用的是IAR开发软件,因此需要安装协议栈sdk中的nRF5x_MDK_8_17_0_IAR_NordicLicense.msi,双击运行安装即可。如下图所示。
6.2.3 解压谷雨实验例程
谷雨实验例程位置:归档资料/1-协议栈SDK/谷雨实验例程/nrf52832dk.rar
。
实验例程【必须】解压到协议栈的指定目录,因为其完全依赖协议栈的文件结构。解压后的实验例程如下图所示。
目录或文件 | 说明 |
---|---|
peripheral | 基础实验,是nRF52832芯片外设的示例程序,例如GPIO控制,UART收发,FLASH读写等。 |
ble | 协议栈实验,例如蓝牙主机,蓝牙从机等示例程序 |
ble_advance | 协议栈高级实验,例如主从一体,iBeacon等。 |
提示:压缩包解压时务必注意,不能多产生一层目录,例如:E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\nrf52832dk\,这样是错误的,例程将无法成功编译! |
6.3 烧写软件nRFgo
nRFgo软件位置:归档资料/3-烧写软件nRFgo/nrfgostudio_win-YY_x.xx.x_installer.msi
。YY是指32位还是64位的windows系统安装,x.xx.x是指该软件的版本号,例如:nrfgostudio_win-64_1.21.2_installer.msi
nRFgo Studio是Nordic官方提供的芯片固件烧写软件和射频测试软件,需要配套使用Jlink仿真器,可以使用我们的Jlink-Lite,完美支持nRF5系列芯片。
软件安装一路Next即可,安装结束后会随即弹出nRF5x-Command-Line-Tools的安装,根据提示继续安装此工具直到安装结束(期间还会调用J-link驱动的安装)。
安装后的nRFgo软件界面如下图所示:
6.4 其他软件工具
暂无。
7 硬件环境搭建
开发套件硬件环境搭建包括硬件的准备和驱动程序的安装。需要准备的硬件如下图所示。
硬件说明如下:
类型 | 说明 |
---|---|
开发板 | 开发板型号为NRF52832DK。 |
仿真器 | 使用谷雨Jlink-Lite仿真器,10p灰色排线直连NRF52832DK开发板。
若使用其他Jlink仿真器,注意仿真器接口要与NRF52832DK的烧写接口匹配。 详情可查看《NRF52832硬件设计手册》[参考 2]中的Jlink-Lite接口 |
显示屏 | 支持谷雨的三款显示屏
|
需要安装的驱动程序有:
- 开发板USB驱动
- 仿真器Jlink驱动
7.1 安装开发板USB驱动
驱动位置:归档资料/4-驱动程序/开发板USB驱动
。
nRF52DK开发板采用CH340C芯片,将蓝牙芯片的UART信号转换为USB接口信号,方便电脑端使用USB接口来调试模块串口。
7.2 安装仿真器Jlink驱动
驱动位置:归档资料/4-驱动程序/仿真器JLINK驱动
。
若已经安装了nRFgo Studio软件,会自动安装Jlink驱动,无需重复安装。若想使用最新版的仿真器驱动,可以安装我们提供的
7.3 其他硬件
暂无。
8 开发环境验证
软硬件开发环境已经搭建完毕,现在需要测试一下整个工具链是否能够正常工作。
9 实验例程
我们根据实验例程的类型分为三类,分别是:
- 基础实验,针对nRF52832芯片硬件外设的示例实验,例如GPIO实验,UART串口实验等。
- 协议栈实验,针对蓝牙协议栈的示例实验,例如蓝牙从机实验,蓝牙主机实验等。
- 协议栈高级实验,蓝牙实验的进阶,例如蓝牙主从一体,iBeacon等,更接近真实项目的示例程序。
9.1 基础实验
基础实验介绍,以及截图。
9.2 协议栈实验
协议栈实验介绍,以及截图
9.3 协议栈高级实验
实战实验介绍,以及截图
10 参考资料
本文涉及的相关参考文档列表如下:
- ↑ 《BLE技术揭秘》,一文读懂低功耗蓝牙
- ↑ 2.0 2.1 《NRF52832DK硬件设计手册》,详细描述开发板的硬件设计说明
- ↑ 《NRF52832DK开箱测试》,开发板的开箱测试指导