NRF52832DK入门手册

来自谷雨文档中心
Ghostyu讨论 | 贡献2019年12月11日 (三) 20:39的版本 解压谷雨实验例程
跳转至: 导航搜索

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]

BLE技术 蓝牙5.jpg

2 nRF52832芯片简介

nRF52832芯片主要特点介绍。

  • 2.4GHz radio,支持多种无线协议,例如BLE,ANT等。
  • 32位 ARM Cortex-M4F 处理器,增强浮点运算能力,可以提供更复杂的算力支持。
  • 512KB程序存储空间和64KB内存空间。
  • 31个GPIO,每个IO均可灵活配置。

芯片功能框图如下图所示:

NRF52832 芯片功能框图.png

3 开发板简介

52DK采用核心板与底板分离的设计,核心板是用我们的模块:BLE520,该模块引出芯片的全部GPIO。开发板底板上,设计了LED电路,按键电路,蜂鸣器电路等,专为初学者设计,电路简单易懂。

有关52DK开发板完整的硬件说明,请阅读《NRF52832DK硬件设计手册[参考 2]》。

52DK开发板硬件功能如下图所示:

NRF52832DK-硬件说明.png

4 开箱测试

我们为开发者准备了完整的开箱测试视频和文档说明,详情请阅读《NRF52832DK开箱测试》[参考 3],下面是NRF52832DK的开箱视频。

(这里插入优酷开箱视频)

5 开发资料

我们为52DK编写了丰富的开发资料,资料按照存储形式分为两大部分:

  • 在线文档,例如入门教程,硬件手册等。特点是纯技术文档,可能需要经常更新。可在线阅读,也可另存为pdf本地阅读。
  • 归档资料,比如协议栈安装包,软件安装包等。特点是文件较大、很少需要更新的文件或文档。

资料截图如下图所示(实际内容可能已经更新,仅供参考)。

NRF52832DK-开发资料截图.png

6 软件开发环境搭建

软件开发环境主要包含三个部分的安装:

  • 集成开发软件IAR for ARM
  • nRF蓝牙协议栈SDK
  • nRF52832芯片烧写软件nRFgo

(入门手册需要配套有一个视频)

6.1 集成开发软件IAR

IAR软件安装手册位置:归档资料/1-编译器/编译器IAR/IAR for ARM v7.8安装教程.pdf

请根据此安装教程操作即可。IAR安装后如下图所示。

NRF52832DK-集成开发软件IAR.png

6.2 蓝牙协议栈SDK

本节涉及两个内容。

首先是安装Nordic官方提供的协议栈SDK(包括协议栈固件SoftDevice),SDK中自带非常丰富的实验例程。

其次是解压我们谷雨针对NRF52832DK开发板提供的实验例程。

6.2.1 安装协议栈sdk

SDK位置:归档资料/2-协议栈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_9412b96。由于压缩包较大,小文件较多,需要数分钟的解压时间。解压后的协议栈结构如下图所示:

NRF52832DK-协议栈SDK目录结构.png

主要目录说明:

目录或文件 作用
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 协议栈固件SoftDevice

SoftDevice是Nordic封装的蓝牙协议栈底层固件库(二进制文件Hex的形式提供),该固件库烧需要使用仿真器烧写到芯片Flash的指定地址中,然后由协议栈SDK中的例子来调用。

这种方式可以带来很多好处,SoftDevice不需要跟你的应用一起编译或者链接,大大节省调试时间。Softdevice运行在固定的Flash空间中,使用固定的RAM空间,从而与你的应用完全隔离开,实现了真正的模块分离,也便于芯片的固件升级。

SoftDevice固件目录:nRF5_SDK_15.2.0_9412b96\components\softdevice\s132\hex,注意s132,softdevice目录下有多个版本的固件,我们这个sdk使用的是s132版本。如下图所示。

NRF52832DK-SoftDevice文件位置.png

6.2.3 安装nRFx_MDK_IAR

由于我们使用的是IAR开发软件,因此需要安装协议栈sdk中的nRF5x_MDK_8_17_0_IAR_NordicLicense.msi,双击运行安装即可。如下图所示。

NRF52832DK-NRF52-MDK-IAR-安装.png

6.2.4 解压谷雨实验例程

谷雨实验例程位置:归档资料/1-协议栈SDK/谷雨实验源码包/nrf52832dk.rar

实验例程【必须】解压到协议栈的指定目录,因为其完全依赖协议栈的文件结构。解压后的实验例程如下图所示。

NRF52832DK-谷雨实验例程.png
目录结构说明
目录或文件 说明
peripheral 基础实验,是nRF52832芯片外设的示例程序,例如GPIO控制,UART收发,FLASH读写等。
ble 协议栈实验,例如蓝牙主机,蓝牙从机等示例程序
ble_advance 协议栈高级实验,例如主从一体,iBeacon等。
Icon-info.png
提示:压缩包解压时务必注意,不能多产生一层目录,例如: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软件界面如下图所示:

NRF52832DK-nRFgo软件界面.png


6.4 其他软件工具

暂无。

7 硬件环境搭建

开发套件硬件环境搭建包括硬件的准备和驱动程序的安装。需要准备的硬件如下图所示。

NRF52832DK-硬件开发工具.png

硬件说明如下:

类型 说明
开发板 开发板型号为NRF52832DK。
仿真器 使用谷雨Jlink-Lite仿真器,10p灰色排线直连NRF52832DK开发板。

若使用其他Jlink仿真器,注意仿真器接口要与NRF52832DK的烧写接口匹配。

详情可查看《NRF52832硬件设计手册》[参考 2]中的Jlink-Lite接口

显示屏 支持谷雨的三款显示屏
  • 128x128分辨率的1.44寸TFT显示屏
  • 240x240分辨率的1.32寸TFT显示屏
  • 200x200分辨率的1.54寸ePaper电子墨水屏

需要安装的驱动程序有:

  • 开发板USB驱动
  • 仿真器Jlink驱动

7.1 安装开发板USB驱动

驱动位置:归档资料/4-驱动程序/开发板USB驱动

nRF52DK开发板采用CH340C芯片,将蓝牙芯片的UART信号转换为USB接口信号,方便电脑端使用USB接口来调试模块串口。

CH340驱动安装.png

7.2 安装仿真器Jlink驱动

驱动位置:归档资料/4-驱动程序/仿真器JLINK驱动

若已经安装了nRFgo Studio软件,会自动安装Jlink驱动,无需重复安装。若想使用最新版的仿真器驱动,可以安装我们提供的

7.3 其他硬件

暂无。

8 开发环境验证

软硬件开发环境已经搭建完毕,现在测试一下整个工具链是否能够正常工作。

8.1 硬件连接

按照前文硬件环境搭建中的图片连接开发板与仿真器,并将仿真器的USB与电脑连接。若驱动未安装,则根据上一节内容安相关驱动。

8.2 打开IAR工程

我们以最简单的LED点灯实验的为例,工程文件位于:E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\peripheral\01_Led_blinkly_example\gyLaunchIot.eww

NRF52832-LED点灯工程文件.png

eww后缀的文件是IAR工程文件,双击启动IAR编译软件,如下图所示。

NRF52832DK-LED点灯.png

8.3 下载程序

点击菜单 Project->Download And Debug,使用IAR下载测试程序。如下图所示。点击Go按钮,开始运行程序,点击旁边的Stop Debugging按钮,结束仿真下载。

NRF52832DK-LED点灯程序下载.png

此时可以看到开发板上的四个LED轮流点亮和熄灭。

如果程序下载程序,但是开发板指示灯没有反应,多数是因为芯片中原先烧写了ble协议栈,需要将协议栈擦除。

Icon-info.png
注意,若芯片中烧写了协议栈程序,需要将芯片flash全部擦除,才能运行基础例程中的裸机代码。

8.4 擦除程序

使用nRFgo Studio软件来擦除和烧写芯片,如下截图。

NRF52832DK-nRFgo擦除和烧写.png

首先点击左侧Device Manager中的nRF5x Programming选项,然后右侧的内容才会显示出来,如果选型是灰色或者右侧内容没有显示,请先检查硬件连接(电脑与仿真器,放着器与开发板)。

点击A区域的Erase All按钮,将擦除整个Flash空间。擦除完成后,在下方的Log消息框中,将打印:Erase completed

B区域用来烧写协议栈SoftDevice和App,在后面的章节会使用到该功能。

8.5 烧写出厂固件

开发板默认烧写出厂测试程序,出厂测试程序的功能请参考开箱测试中的说明。

出厂测试固件位于百度云盘:

9 实验例程介绍

我们根据实验例程的类型分为三类,分别是:

  • 基础实验,针对nRF52832芯片硬件外设的示例实验,例如GPIO实验,UART串口实验等。
  • 协议栈实验,针对蓝牙协议栈的示例实验,例如蓝牙从机实验,蓝牙主机实验等。
  • 协议栈高级实验,蓝牙实验的进阶,例如蓝牙主从一体,iBeacon等,更接近真实项目的示例程序。

9.1 基础实验

基础实验是指针对nRF52832芯片的硬件外设的示例程序,例如GPIO实验,UART串口实验。

各实验如下图所示,文件夹位置:E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\peripheral

NRF52832DK-基础实验.png

9.2 协议栈实验

协议栈实验是针对蓝牙协议栈的示例实验,例如蓝牙从机实验,蓝牙主机实验等。

各实验如下图所示,文件夹位置:E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\ble

NRF52832DK-协议栈实验.png

9.3 协议栈高级实验

协议栈高级实验是蓝牙实验的进阶,例如蓝牙主从一体,iBeacon等,更接近真实项目的示例程序。

各实验如下图所示,文件夹位置:E:\project-nordic\nRF5_SDK_15.2.0_9412b96\nrf52832dk\ble_advance

NRF52832DK-协议栈高级实验.png

10 参考资料

本文涉及的相关参考文档列表如下:

  1. BLE技术揭秘》,一文读懂低功耗蓝牙
  2. 2.0 2.1 《NRF52832DK硬件设计手册》,详细描述开发板的硬件设计说明
  3. NRF52832DK开箱测试》,开发板的开箱测试指导

本PDF由谷雨文档中心自动生成,点击下方链接阅读最新内容。

取自“http://doc.iotxx.com/index.php?title=NRF52832DK入门手册&oldid=2520