艾克姆科技
nRF52832 开发指南-上册
[基于 Nordic 蓝牙低功耗/2.4GHz Soc-nRF52832]
艾克姆科技飞宇团队
[2017.8.5]
官方店铺:https://acmemcu.taobao.com
官方论坛:http://930ebbs.com
艾克姆科技原创发布
本文档技术支持负责人:强光手电
[本文档以艾克姆科技 IK-52832DK 开发套件为硬件平台,通过原理分析和实验程序讲解
以及实验演示,让读者以最短的时间掌握 nRF52832 的开发]
修订历史记录
Revision Records
日期
版本
编制
审核
说明
Date
Version
Written By
Checked By
Explanation
2017.2.2
A
强光手电
飞宇
初建
2017.5.1
B
强光手电
飞宇
节进行了重新规划,对原理部分进
以 SDK15.0 为基础重写编写。对章
行了更深入的分析。
目录
第一章:开发板硬件描述 ............................................................................................................... 5
1. 功能特点 ................................................................................................................................... 5
2. 硬件原理 ................................................................................................................................... 5
nRF52832 特点 ......................................................................................................... 7
2.1.
电源 ........................................................................................................................... 8
2.2.
指示灯 ....................................................................................................................... 8
2.3.
按键和触摸按键 ....................................................................................................... 9
2.4.
蜂鸣器 ..................................................................................................................... 10
2.5.
电位器光敏检测 ..................................................................................................... 10
2.6.
红外接收 ................................................................................................................. 11
2.7.
显示模块接口 ......................................................................................................... 12
2.8.
Wifi 模块接口......................................................................................................... 12
2.9.
2.10. 温湿度和 PM2.5 检测模块接口 ............................................................................ 13
2.11. 运动传感器模块接口 ............................................................................................. 13
TF 卡和 NFC 天线接口 ......................................................................................... 14
2.12.
2.13. 调试接口 ................................................................................................................. 14
3. 开发板硬件连接 ..................................................................................................................... 16
第二章:开发工具 ......................................................................................................................... 17
1. 硬件设备 ................................................................................................................................. 17
2. 软件工具 ................................................................................................................................. 17
第三章:搭建开发环境 ................................................................................................................. 18
1. 需要的工具软件 ..................................................................................................................... 18
2. 搭建开发环境 ......................................................................................................................... 18
安装串口驱动 ......................................................................................................... 18
安装 MDK5.23 ....................................................................................................... 19
Keil μVision 简介 ........................................................................................... 19
2.2.1.
2.2.2. MDK5.23 安装步骤 ....................................................................................... 19
安装 pack ................................................................................................................ 23
安装 nRFgo Studio ................................................................................................. 25
手机端 APP 安装 ................................................................................................... 33
第四章:新建和配置工程 ............................................................................................................. 34
1. SDK 库简介 ............................................................................................................................ 34
2. 新建和配置工程 ..................................................................................................................... 36
新建工程模板 ......................................................................................................... 36
2.1.1. 规划工程目录 ................................................................................................. 36
2.1.2. 新建工程 ......................................................................................................... 37
2.1.3. 新建 main.c 文件并添加到工程。 ................................................................ 42
2.1.4. 添加需要的组件 ............................................................................................. 43
2.1.5. 设置头文件包含路径 ..................................................................................... 46
2.1.6. 引用头文件 ..................................................................................................... 48
配置工程 ................................................................................................................. 49
2.2.1. 配置“Target”选项卡 ..................................................................................... 49
2.3.
2.4.
2.5.
2.1.
2.2.
2.1.
2.2.
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.2.2. 配置“Output”选项卡 .................................................................................. 50
2.2.3. 配置“C/C++”选项卡 .................................................................................. 51
2.2.4. 配置“Debug”选项卡 .................................................................................. 52
编写驱动 LED 代码 ............................................................................................... 54
编译工程 ................................................................................................................. 55
程序烧写 ................................................................................................................. 55
MDK 常用操作 ...................................................................................................... 56
第五章:GPIO 输出驱动 LED ...................................................................................................... 60
1. 学习目的 ................................................................................................................................. 60
2. 硬件电路设计 ......................................................................................................................... 60
控制方式 ................................................................................................................. 61
LED 限流电阻的选取 ............................................................................................ 62
3. GPIO 输出驱动原理 .............................................................................................................. 64
功能描述 ................................................................................................................. 64
引脚的驱动能力 ..................................................................................................... 65
GPIO 应用注意事项 .............................................................................................. 66
4. 软件设计 ................................................................................................................................. 67
GPIO 配置 .............................................................................................................. 67
库函数的应用 ......................................................................................................... 71
驱动 LED 闪烁 ....................................................................................................... 75
4.3.1. 代码编写 ......................................................................................................... 75
4.3.2. 硬件连接 ......................................................................................................... 76
4.3.3. 试验步骤 ......................................................................................................... 76
实现流水灯 ............................................................................................................. 77
4.4.1. 代码编写 ......................................................................................................... 77
4.4.2. 硬件连接 ......................................................................................................... 80
4.4.3. 试验步骤 ......................................................................................................... 80
3.1.
3.2.
3.3.
4.1.
4.2.
4.3.
4.4.
第一章:开发板硬件描述
IK-52832DK 是艾克姆科技设计的低功耗蓝牙系列开发套件之一,开发板以 Nordic 的
nRF52832-QFAA 为主芯片,nRF52832 是 32 位 ARM® Cortex®-M4F 处理器,64MHz 、512kB
片内 Flash 和 64kB 片内 RAM、单电源供电、支持多协议,具备极低的功耗和优异的无线
性能,完美适用于各种应用场景如手环等穿戴式设备、BLE 鼠标键盘、BLE 或 2.4G 遥控器
等等。
IK-52832DK 开发板采用了分离式的设计,板上设计了指示灯、按键、串口电路、蜂鸣
器、AD 采样电路以及各种常用传感器和显示设备的专用接口,同时,也设计了跳线选择的
电路,当我们不需要使用某个功能部件(如指示灯)时,可以通过跳线断开这部分电路,将这
些 I/O 用于其他用途,极大地方便了我们灵活地使用 I/O。
1. 功能特点
IK-52832DK 开发板完全兼容官方 nRF52832 开发板 nRF52DK (PCA10040),根据用户
需求的实际情况,增加了很多实用功能,如红外、触摸按键、各种流行传感器接口等。
并且 IK-52832DK 开发板兼容官方最新版的 SDK,并增加了很多例程代码。
开发板采用分离式的设计,NRF52832 模块可以方便的取下,NRF52832 芯片型号:
nRF52832-QFAA(512K Flash,64K Ram)。所有 IO 通过排针和排母的方式引出,开发
板上的外设占用的 GPIO 可以通过短路帽连接或断开,极大地方便开发时对管脚的分
配,同时,评估电流很方便。
开发板上设计了 NFC 天线接口(开发板配备了 NFC 天线)、USB 转串口电路、3V 有源
蜂鸣器、光敏检测电路、触摸按键、38KHz 红外接收电路、电位器等功能部件。
开发板上设计 OLED 和 TFT 彩屏接口,无需接线即可使用 0.96/1.3 吋 OLED,1.8/2.2
吋 TFT 彩屏,可根据需求选择合适的显示模块,避免接线的麻烦。
开发板上设计了各类流行传感器接口,无需接线即可使用 MPU6050、LIS3DH(百度手
环开源项目用的加速度传感器)、LIS3DSH、MPU9250、PM2.5 传感器。这些传感器和
蓝牙 BLE 配合,可拓展出各种应用,充分发挥自己的设计能力。
开发板上设计了 ESP8266 串口转 Wifi 模块接口,让蓝牙 BLE 进入网络,紧贴物联网应
用。
2. 硬件原理
开发板实物图:
图 1-1:IK-52832DK 开发板实物图
开发板硬件原理框图:
图 1-2:IK-52832DK 开发板硬件原理框图
2.1. nRF52832 特点
1. 超低功耗的无线 SoC:
多协议:支持 BLE、私有 2.4G、ANT 和 NFC。私有 2.4G 兼容 Nordic 的 NRF24lxx
系列无线芯片。
片内集成 Balun:进一步减少了外部元件,降低了设计难度。
接收灵敏度:BLE 模式下-96 dBm,发射功率: (-20 ~ +4)dBm 可通过软件设置,
步进 4 dB。
超低功耗:TX (0 dBm)-5.3 mA , RX - 5.4 mA。
2. Cortex-M4F 内核:
32 位处理器,64MHz。
强大的运算能力和浮点运算能力。
支持 SWD 调试。
3. 超大的内存(两种内存配置):
xxAA:片内 Flash 512K 字节,400KB 的 Flash 可以用于应用程序,片内 RAM 64K
字节。
xxAB:片内 Flash 256K 字节,超过 100KB 的 Flash 可以用于应用程序,片内 RAM
32K 字节。
4. 灵活的电源管理:
工作电源范围:1.7 V–3.6 V。
片内 LDO 和 DC/DC 整流。
0.3 μA:OFF 模式 。 0.7 μA: OFF 模式 ,64KB RAM 数据保持。 1.9 μA:
ON 模式, RAM 数据不保持,RTC 唤醒。
5. 丰富的外设:
多达 32 个 GPIO。
片内集成温度传感器。
3 个 4 通道 PWM,带 EasyDMA。
数字麦克风 PDM。
5 个 32 位 Timer,具备计数功能。
64 级比较器。
15 级低功耗比较器 (LPCOMP) ,可从 System OFF 模式下唤醒。
12 位,200 ksps ADC, 8 个可配置通道。
3 个 SPI,带 EasyDMA。
2 个 I2C。
一个 I2S,带 EasyDMA。
一个 UART,带 EasyDMA。
正交译码器 QDEC。
3 个 RTC。
AES 硬件加密处理器。
可编程外设互联 PPI。
IO 自由映射。
6. 两种封装:
QFN48,6 × 6 mm。
WLCSP,3.0 × 3.2 mm。
2.2. 电源
开发板的工作电源可通过两种方式获取:
USB:通过 USB 接口给开发板供电,用 MINI USB 数据线连接计算机和开发板后,计
算机通过 USB 接口输出 5V 电源,注意,计算机的 USB 输出的 5V 电源的电流最大
500mA,一般情况下,500mA 完全足够,但是如果在开发板上连接了对电流需求较大
的模块如 GPRS 模块等,需要单独给这些模块供电或者使用电源适配器通过外部 DC 电
源接口供电。
外部 DC 电源接口:开发板上提供了一个外部电源的输入接口 J3,可以通过外部 5V 电
源供电。
2.3. 指示灯
开发板 LED 指示灯电路原理图如下:
开发板上设计了四个用户指示灯 D1、D2、D3、D4,分别有 GPIO P0.17、P0.18、P0.19
图 1-3:指示灯电路