简介

    实际应用中, 我们经常需要将模拟量转换为数字量供 CPU 处理,如电池电压检测、温度检测等等,对于 CPU 来说,它能处理的是数字量,所以,需要通过 A/D 转换(模数转换)将时间连续、幅值也连续的模拟量转换为时间离散、幅值也离散的数字信号,从而实现 CPU对模拟信号的处理,能够实现A/D转换功能的电路称之为模数转换器(ADC: Analog-to-digitalconverter)。

    ADC 的结构和实现原理有多种方式,常见的 ADC 的类型有积分型逐次逼近型并行比较型/串并行型Σ -Δ调制型等。

nRF52832 集成的是逐次逼近型 ADC,称为 SAADC(Successive approximation analog-todigital converter)。 SAADC 是利用二分法逐步比较,在有效精度范围内找到最接近输入模拟信号的数字量。由此可见,这种结构的 ADC 要完成一次转换,至少要比较 N 次, 所以其转换速度较慢,同时电路结构也比较简单,功耗较低,适用于便携式、穿戴式等低功耗应用领域

nRF52832 的 SAADC 主要特征

nRF52832的ADC叫做SAADC,其特征如下:

  1. 8/10/12 位分辨率,使用过采样可达到 14 位分辨率。
  2. 共 8 个输入通道。
    ⚫ 单端输入时使用 1 个通道, 2 个通道可组成差分输入。
    ⚫ 单端和差分输入时均可配置为扫描模式。
  3. 满量程输入范围(0 to VDD)。
  4. 可以通过软件触发采样任务启动采样,也可以使用低功耗的 32.768kHz RTC 或更加精确
    1/16MHz 定时器通过 PPI 触发采样任务,从而使能 SAADC 具备非常灵活的采样频率。
  5. SAADC 支持单次模式和扫描模式:
    ⚫ 单次模式一次采样一个通道。
    ⚫ 扫描模式按照顺序采样一系列通道。通道之间的采样延迟是 tack + tconv,各个通道
    之间的采样延迟可能不一样,因为 tack是软件可配置的。
  6. 通过 EasyDMA 可以直接将采样结果保存到 RAM。
  7. 无需外部定时器即可实现连续采样。
  8. 单个采样和缓冲区满均可产生事件中断。
  9. 差分和单端采样数据存储为 16 位 2 的补码值。
  10. 内部电阻串。
  11. 即时门限监测功能。

nRF52832 的 ADC 支持多达 8 个外部模拟输入通道,它的数字引脚是可以自由映射的,但是模拟输入的引脚是固定的,如下表所示,ADC 和 COMP、 LPCOMP 等其它外设共用模拟输入 AIN0-AIN7,但是这些外设功能需要分配到不同的引脚

代码示例

以P0.04 io单次采样读取AD采样值为例,对应ADC为 AIN2。

SAADC头文件

#include "nrf_delay.h"   //nRF52832延时函数头文件#include "nrf_drv_saadc.h"

SAADC配置

//SAADC事件回调函数,因为是堵塞模式,所以不需要事件,这里定义了一个空的事件回调函数
void saadc_callback(nrf_drv_saadc_evt_t const * p_event){}//初始化SAADC,配置使用的SAADC通道的参数
void saadc_init(void)
{ret_code_t err_code;//定义ADC通道配置结构体,并使用单端采样配置宏初始化,//NRF_SAADC_INPUT_AIN2是使用的模拟输入通道nrf_saadc_channel_config_t channel_config =NRFX_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN2);//初始化SAADC,注册事件回调函数。err_code = nrf_drv_saadc_init(NULL, saadc_callback);APP_ERROR_CHECK(err_code);//初始化SAADC通道0err_code = nrfx_saadc_channel_init(0, &channel_config);APP_ERROR_CHECK(err_code);}

ADC数值读取

while(1)
{  //启动一次ADC采样(阻塞模式)。nrfx_saadc_sample_convert(0,&saadc_val);//串口输出ADC采样值。printf("Sample value is:  %d\r\n", saadc_val);//延时300ms,方便观察SAADC采样数据nrf_delay_ms(500);
}

效果如下

nRF52832 之ADC的使用相关推荐

  1. NRF52832 saadc

    本博客参考https://blog.csdn.net/qq_36347513/article/details/103853796 本博客基于NRF--SDK17.0.0协议栈的ble_app_temp ...

  2. NRF52810能不能替代NRF52832

    NRF52810能不能替代NRF52832?答案是可以的. 主要是FALSH和RAM有点不一样. 先给大家说说他的特征 关键特性 64 MHz的手臂®Cortex-M4 192kb Flash + 2 ...

  3. NRF52832+DW1000通信系统架构设计

    DW1000芯片是一款完全集成的单芯片超宽带(UWB)低功耗低成本收发器IC,符合IEEE802.15.4-2011.它可用于双向测距或时差定位系统,定位精度为10厘米,支持以高达6.8 Mbps的速 ...

  4. NRF52832官方SDK介绍

    SDK(Software Development Kit)是指软件开发包,一般是由官方提供,主要用来介绍开发流程,提供常用的例程代码等等.可以降低开发者使用的门槛,提高开发效率,所以在开发者在进行具体 ...

  5. 02 nRF52832芯片简介

    nRF52832芯片简介 nRF52832 SoC是一款功能强大,高度灵活的超低功耗多协议SoC,非常适合低功耗蓝牙,ANT和2.4GHz超低功耗无线应用.它和普通的单片机如51.stm32等最大的不 ...

  6. nRF52833及蓝牙5系列NRF52832低功耗蓝牙芯片对比

    目录 NRF52833简介 NRF52833结构框图 芯片特性 对比NRF52832 及蓝牙52系列选型参考 NRF52833简介 nRF52833是一款通用多协议SoC,具有蓝牙测向功能,可在-40 ...

  7. NRF52832学习笔记(33)——低功耗实现

    一.功耗模式 nRF52 上只有两种电源模式:SYSTEM_ON 和 SYSTEM_OFF 1.1 SYSTEM_ON低功耗模式 SYSTEM_ON:此状态有持续延迟和低功率子模式.当系统空闲进入 S ...

  8. NRF52833对比NRF52832低功耗蓝牙5.0芯片

    nRF52833是一款通用多协议SoC,具有蓝牙测向功能,可在-40°C至105°C的温度范围内运行.它是行业领先的nRF52系列的第5款产品,系NRF52832升级版,围绕64 MHz Arm Co ...

  9. 低成本低功耗蓝牙芯片PHY6212可代替NRF52832

    PHY6212是一款超低功耗物联网蓝牙无线通信芯片,搭载32位ARM Cortex-M0 CPU,配备138KSRAM/Retention SRAM,具有超低功耗.高性能和无线多模的特点,支持安全性. ...

最新文章

  1. 矢量图面层和线层相交得到相交后的线层文件(gis相交)
  2. 用枚举来处理java自定义异常
  3. php 前端及时同步,php与前端界面的实时通信
  4. Java通过链表实现队列
  5. 《啊哈!算法》笔记_Day02
  6. c语言is stack empty,C语言实现栈的问题
  7. 按钮不通过表单连接servlet_JavaWeb之Servlet(一)
  8. sqlserver2008r2安装
  9. 从小小后视镜看物联网的生态(上)
  10. 【实际经验】一台无系统PC机连接局域网产生的问题
  11. mysq命令行导出sql_mysql利用命令导出数据sql语句
  12. python分词,提高分词准确率
  13. 要学习使用 calib3D 模块在图像中创建 3D 效果-姿势估计
  14. 平行四边形不等式优化详解
  15. [论文笔记]Rob-GAN: Generator, Discriminator, and Adversarial Attacker(CVPR 2019)
  16. python smtp QQ邮箱 发送附件
  17. 小米市场魅力所在?你读懂小米了么?
  18. MySQL 时间戳操作
  19. 云服务器和共享主机,共享虚拟主机、独享虚拟主机还是云服务器?
  20. 前端知识总结之基础知识

热门文章

  1. 信息化教学设计教案计算机,信息化教学设计教案培训资料.pdf
  2. 导航电子地图的一些研究主题与核心问题
  3. 毕业设计 基于单片机的双足机器人
  4. 安徽大学计算机学硕复试线,安徽大学2020年考研复试分数线
  5. 【转】光纤视频收发产品的光模块选型
  6. OnCancel()与OnOK()
  7. php手机访问地址吗,如何用php判断电脑访问还是手机访问
  8. LKD 文件系统部分
  9. 入门图形学:图形学原理(三)
  10. storm 入门教程——storm基础知识(W3Cschool)