登录/注册

da14580 adc差分

更多

好的,关于 DA14580 ADC 的差分模式,以下是详细的中文说明:

DA14580 内置一个 12 位、最高 2.5 MHz 采样率 的 ADC。它支持两种输入模式:

  1. 单端模式: 测量某个引脚(正输入端)相对于 GND(负输入端)的电压。
  2. 差分模式: 测量两个特定引脚(正输入端和负输入端)之间的电压差。这是你询问的模式。

差分模式的关键点

  1. 引脚对: 差分输入需要使用 预先定义好的 ADC 引脚对。DA14580 的差分模式只对特定通道组合有效(通道号与引脚组合紧密相关)。常见的支持差分的通道组合有:

    • 通道 0: P0_5 (正) 和 P0_6 (负)
    • 通道 1: P0_7 (正) 和 P0_8 (负)
    • 通道 2: P0_9 (正) 和 P0_10 (负)
    • 通道 3: P0_11 (正) 和 P0_12 (负)
    • 通道 4: P0_13 (正) 和 P0_14 (负)
    • 通道 5: P0_0 (正) 和 P0_1 (负) (注意:P0_0/P0_1 常用于 UART,使用 ADC 时需谨慎)
    • 通道 6: P0_2 (正) 和 P0_3 (负) (注意:P0_2/P0_3 常用于 UART,使用 ADC 时需谨慎)
    • 通道 7: P0_4 (正) 和 VBAT (负) (这是一个特殊组合,用于测量 P0_4 相对于 VBAT 的电压)
    • 通道 14: VDD_RTC (正) 和 VSS (负) (内置测量 RTC 域电源电压)
    • 通道 15: VBAT_3V (正) 和 VSS (负) (内置测量 VBAT 电压)
    • 通道 16 - 18: 与通道 0-2 相同,但负输入为内部参考 (非标准差分)
    • 通道 19: 内部温度传感器(单端)
    • 通道 20: VDD_REF (正) 和 VSS (负) (内置测量参考域电源电压)
    • 通道 21: VBAT_3V (正) 和 VDD_REF (负) (内置差分测量)
    • 通道 22: VDD_RTC (正) 和 VBAT_3V (负) (内置差分测量)
    • 通道 23: VBAT_3V (正) 和 VDD_3V (负) (内置差分测量)
    • 通道 24: VDD_3V (正) 和 VBAT_3V (负) (内置差分测量)
    • 通道 25: 内部带隙电压参考 (单端)
    • 通道 26: GND (用于校准)
    • 通道 27: VDCDC (用于调试)
    • 通道 28 - 31: 保留
  2. 输入范围:

    • 典型差分输入范围: -0.5V 到 +0.5V (以 1.8V 为共模中心参考点)。
    • 绝对范围 (避免损坏): 正输入端和负输入端的电压都必须在 0V 到 VDCDC/VDDRF (通常为 0V 到 1.8V 或 0V 到 3.0V, 取决于电源配置) 之间。
    • 共模范围: 两个输入引脚的共同电压 (共模电压) 也必须在此范围内。差分信号应在共模电压附近波动 ±0.5V。
    • 超出范围: 如果差分电压 (Vpos - Vneg) 小于 -0.5V,结果会接近 0x000;如果大于 +0.5V,结果会接近 0xFFF (满量程)。如果共模电压超出范围,测量会不准确甚至损坏 ADC。
  3. 转换结果:

    • ADC 结果是一个 12 位的无符号整数 (0x0000xFFF)。
    • 差分模式含义: ADC 结果代表了 (Vpos - Vneg) 的量化值。
    • 负数表示: 如果 Vneg 高于 Vpos (Vpos - Vneg < 0),结果小于 0x800 (2048) 代表负的差值。
      • 数值 0x000 (0) 代表 (Vpos - Vneg) = -0.5V (或接近下限)。
      • 数值 0x800 (2048) 代表 (Vpos - Vneg) = 0V
      • 数值 0xFFF (4095) 代表 (Vpos - Vneg) = +0.5V (或接近上限)。
    • 软件读取结果后需要将其转换为有符号数才能方便地表示正负电压差。常用方法是:int16_t signed_result = (int16_t)(adc_data & 0x0FFF) - 2048;。这样 signed_result 的范围大约是 -2048 到 +2047 (对应 -0.5V 到 +0.5V)。
  4. 分辨率:

    • 在 ±0.5V 量程下,理论最小可分辨电压步长 (LSB) 约为:(1.0V) / 4096 ≈ 244µV

配置差分模式的关键步骤 (代码层面)

  1. 配置 GPIO 为 ADC 输入:

    GPIO_ConfigurePin(P0_5_PORT, P0_5_PIN, INPUT, PID_ADC, false); // 配置正输入引脚 P0_5 为 ADC 功能
    GPIO_ConfigurePin(P0_6_PORT, P0_6_PIN, INPUT, PID_ADC, false); // 配置负输入引脚 P0_6 为 ADC 功能
    // ... 根据你选用的差分引脚对配置对应的两个引脚 ...
  2. 初始化 ADC (adc_init 或类似函数):

    • 设置 ADC 时钟 (adc_set_clk)。
    • 可选:配置增益 (adc_set_gain) - 注意:内部 PGA 增益在差分模式下可能不可用或受限制,需查数据手册。
    • 可选:配置偏移 (adc_set_offset)。
  3. 配置差分模式和启动单次转换:

    adc_config_t cfg;
    
    // 清除配置结构体
    memset(&cfg, 0, sizeof(cfg));
    
    cfg.input_mode = ADC_INPUT_MODE_DIFF; // !!!关键:设置为差分模式
    cfg.channel = 0;                     // !!!关键:选择你想要使用的差分通道号 (例如此处是通道0对应P0_5/P0_6)
    cfg.fsm = ADC_FSM_SINGLE_SHOT;       // 单次触发模式 (也可选 ADC_FSM_CONTINUOUS)
    cfg.fsm_clk_div = 0x10;              // 设置 FSM 时钟分频,控制采样率和转换速度 (根据所需速度调整)
    cfg.clk_delay = 0;                   // 时钟延迟设置
    
    // 启动单次转换 (阻塞方式,轮询等待完成)
    adc_init(&cfg); // 这个调用同时进行配置并启动一次转换
    // 或者使用中断方式,这里以轮询为例
    while ((GetWord16(ADC_CONTROL_REG) & ADC_CTRL_REG_ADC_MASK_IRQ) == 0); // 等待转换完成
    uint16_t adc_data = GetWord16(ADC_DATA_REG) & 0x0FFF; // 读取12位原始数据 (0x000 - 0xFFF)
    
    // 将无符号原始数据转换为有符号差分值 (-2048 到 2047 约等于 -0.5V 到 0.5V)
    int16_t diff_voltage_code = (int16_t)adc_data - 2048; // !!!关键:转换为有符号数表示电压差
    • 核心设置是:cfg.input_mode = ADC_INPUT_MODE_DIFF;cfg.channel = [你的通道号];。这两项必须正确匹配你想要使用的差分引脚对。
    • ADC_DATA_REG 读取的是 16 位值,最低 12 位 (0x0FFF) 是有效数据,高位可能是状态或其他信息(DA14580/581/583 通常直接是 12 位数据右对齐)。

重要注意事项

总结

DA14580 的 ADC 支持差分模式,需要配置特定的引脚对 (input_mode = ADC_INPUT_MODE_DIFF) 并选择正确的 channel 号码来匹配你想要的物理引脚。输入范围通常限制在 ±0.5V (共模在 0V 到 VDD 之间),结果需要从无符号的 12 位原始值转换为有符号数以表示正负电压差。仔细注意电压范围限制和通道与引脚的对应关系是成功应用差分模式的关键。

DA14580蓝牙串口透传连接死机怎么解决?

DA14580采用官方SDK 5.15.02版的DSPS为基础,修改广播函数为自己的函数后出现建立连接后,很快连接中断,调试界面键入nmi中断中。

2023-11-10 07:03:46

DA14580UNDB-P

PRO DAUGHTERBRD DA14580 WLCSP34

2023-03-29 19:43:58

DA14580A3DB-P

PRO DAUGHTERBOARD DA14580 QFN48

2023-03-29 19:42:53

DA14580 数据表

DA14580 数据表

资料下载 刘丰标 2023-07-10 19:13:38

DA14580 范围扩展器参考设计原理图版本 2

DA14580 范围扩展器参考设计原理图版本 2

资料下载 淡淡的爱 2023-07-04 20:31:42

DA14580 RD Tester Electrical 原理图

DA14580 RD Tester Electrical 原理图

资料下载 赵辉 2023-07-04 19:28:31

DA14580 数据表

DA14580 数据表

资料下载 鼠爱米 2023-03-23 19:22:40

DA14580 RD Tester Electrical 原理图

DA14580 RD Tester Electrical 原理图

资料下载 h1654155275.0032 2023-02-03 18:55:43

DA14580蓝牙硬件系统总览相关资料推荐

DA14580蓝牙硬件系统总览(三)接续上一篇:DA14580蓝牙硬件系统总览(二)3.7 TIMERS3.7.1 Software timerThe Software timer block

2022-01-21 14:19:24

DA14580蓝牙硬件系统相关资料分享

DA14580蓝牙硬件系统总览(二)接续上一篇:DA14580蓝牙硬件系统总览(一)3.6 INTERFACES接口3.6.1 UARTS (串口)The UART is compliant

2022-01-21 08:25:05

DA14580蓝牙硬件系统包括哪些呢

DA14580蓝牙硬件系统总览The DA14580 contains the following internal blocks:DA14580

2021-12-13 06:13:35

DA14580具有哪些功能特性优势?

DA14580具有哪些功能特性优势?

2021-10-09 07:29:40

有哪些方法可以去启动DA14580芯片

DA14580芯片的启动顺序是怎样的?如何去启动DA14580芯片?有哪些方法?不同启动方式在功耗、工作电压以及启动时间等方面有何不同?

2021-08-12 06:57:46

智能穿戴DA14580开发板套件资料分享

今天将为您介绍一款DA14580开发板: 它使用DA14580蓝牙MCU,功耗业界最低,有基本的计步、睡眠监测、卡路里计算,还有心率及体温测量,各种智能提醒,体感游戏,远程遥控拍照,碰碰交友,读写

2020-08-28 03:47:21

请问DA14580这个芯片的开发?

目前在学习DA14580这款芯片,以前没有搞过蓝牙的开发,这款芯片的资料比较少,而且全是英文的,对初级学习有点难入门,大家有什么好的学习方法或资料

2020-08-17 08:00:31
7天热门专题 换一换
相关标签