Files
ldc1612_cmake_vscode/LDC1612_REG_LIST.md

48 KiB
Raw Blame History

#define DATA_MSB_CH0            0X00
#define DATA_LSB_CH0            0X01
#define DATA_MSB_CH1            0X02
#define DATA_LSB_CH1            0X03
#define DATA_MSB_CH2            0X04  /* LDC1614 Only */
#define DATA_LSB_CH2            0X05  /* LDC1614 Only */
#define DATA_MSB_CH3            0X06  /* LDC1614 Only */
#define DATA_LSB_CH3            0X07  /* LDC1614 Only */
#define RCOUNT_CH0              0X08
#define RCOUNT_CH1              0X09
#define RCOUNT_CH2              0X0A  /* LDC1614 Only */
#define RCOUNT_CH3              0X0B  /* LDC1614 Only */
#define OFFSET_CH0              0X0C
#define OFFSET_CH1              0X0D
#define OFFSET_CH2              0X0E  /* LDC1614 Only */
#define OFFSET_CH3              0X0F  /* LDC1614 Only */
#define SETTLECOUNT_CH0         0X10
#define SETTLECOUNT_CH1         0X11
#define SETTLECOUNT_CH2         0X12  /* LDC1614 Only */
#define SETTLECOUNT_CH3         0X13  /* LDC1614 Only */
#define CLOCK_DIVIDER_CH0       0X14
#define CLOCK_DIVIDER_CH1       0X15
#define CLOCK_DIVIDER_CH2       0X16  /* LDC1614 Only */
#define CLOCK_DIVIDER_CH3       0X17  /* LDC1614 Only */
#define STATUS                  0X18
#define ERROR_CONFIG            0X19
#define CONFIG                  0X1A
#define MUX_CONFIG              0X1B
#define RESET_DEVICE            0X1C
#define DRIVE_CURRENT_CH0       0x1E
#define DRIVE_CURRENT_CH1       0x1F
#define DRIVE_CURRENT_CH2       0x20  /* LDC1614 Only */
#define DRIVE_CURRENT_CH3       0x21  /* LDC1614 Only */
#define MANUFACTURER_ID         0x7E
#define DEVICE_ID               0x7F

数据寄存器(只读)

DATA_CH0_MSB 0x00

通道0数据高16位 ┌─────────────────────────────────────────────────────────┐ │ 位域分布 (16位) │ ├────┬────┬────┬────┬─────────────────────────────────────┤ │ 15 │ 14 │ 13 │ 12 │ 11:0 │ ├────┼────┼────┼────┼─────────────────────────────────────┤ │ERR │ERR │ERR │ERR │ DATA0[27:16] │ │_UR │_OR │_WD │_AE │ (数据高12位) │ └────┴────┴────┴────┴─────────────────────────────────────┘

位域说明: ┌──────────┬────────┬────────────────────────────────────────┐ │ 位 │ 名称 │ 说明 │ ├──────────┼────────┼────────────────────────────────────────┤ │ 15 │ ERR_UR │ 转换下溢错误标志 │ │ │ │ 0: 无下溢错误 │ │ │ │ 1: 通道0发生下溢错误 │ ├──────────┼────────┼────────────────────────────────────────┤ │ 14 │ ERR_OR │ 转换上溢错误标志 │ │ │ │ 0: 无上溢错误 │ │ │ │ 1: 通道0发生上溢错误 │ ├──────────┼────────┼────────────────────────────────────────┤ │ 13 │ ERR_WD │ 看门狗超时错误标志 │ │ │ │ 0: 无看门狗错误 │ │ │ │ 1: 通道0发生看门狗超时 │ ├──────────┼────────┼────────────────────────────────────────┤ │ 12 │ ERR_AE │ 振幅错误标志 │ │ │ │ 0: 无振幅错误 │ │ │ │ 1: 通道0发生振幅错误(高或低) │ ├──────────┼────────┼────────────────────────────────────────┤ │ 11:0 │ DATA0 │ 28位数据的高12位 │ │ │[27:16] │ │ └──────────┴────────┴────────────────────────────────────────┘

DATA_CH0_LSB 0x01

┌─────────────────────────────────────────────────────────┐ │ 位域分布 (16位) │ ├─────────────────────────────────────────────────────────┤ │ 15:0 │ ├─────────────────────────────────────────────────────────┤ │ DATA0[15:0] │ │ (数据低16位) │ └─────────────────────────────────────────────────────────┘

DATA_CH1_MSB 0x02

同DATA_CH0_MSB

DATA_CH1_LSB 0x03

同DATA_CH0_LSB

DATA_CH2_MSB 0x04

LDC1614专用

DATA_CH2_LSB 0x05

LDC1614专用

DATA_CH3_MSB 0x06

LDC1614专用

DATA_CH3_LSB 0x07

转换时间寄存器RCOUNT

RCOUNT_CH0 0x08

通道0转换时间计数 ┌─────────────────────────────────────────────────────────┐ │ 位域分布 (16位) │ ├─────────────────────────────────────────────────────────┤ │ 15:0 │ ├─────────────────────────────────────────────────────────┤ │ RCOUNT0[15:0] │ └─────────────────────────────────────────────────────────┘

复位值0x0080 取值范围3 ~ 65535 (0x0003 ~ 0xFFFF)

设置通道0的转换时间决定测量分辨率 转换时间计算公式 t_CONVERSION = (RCOUNT × 16) / f_REF

其中:

  • t_CONVERSION单次转换时间
  • RCOUNT寄存器值
  • f_REF参考时钟频率Hz

常用配置参考:

RCOUNT值 40MHz时钟转换时间 典型采样率
0x04D6 (1238) 495µs ~1kSPS
0x0800 (2048) 819µs ~600SPS
0xFFFF (65535) 26.2ms ~38SPS

配置建议: 需要高采样率使用较小的RCOUNT值 需要高分辨率使用较大的RCOUNT值 最小值必须≥3

RCOUNT_CH1 0x09

同RCOUNT_CH0

RCOUNT_CH2 0x0A

LDC1614专用

RCOUNT_CH3 0x0B

LDC1614专用

偏移寄存器OFFSET

OFFSET_CH0 0x0C

通道0数据偏移 ┌─────────────────────────────────────────────────────────┐ │ 位域分布 (16位) │ ├─────────────────────────────────────────────────────────┤ │ 15:0 │ ├─────────────────────────────────────────────────────────┤ │ OFFSET0[15:0] │ └─────────────────────────────────────────────────────────┘

复位值0x0000

作用设置通道0的偏移值用于从测量结果中减去固定偏移。

计算公式:实际输出 = 原始测量值 - OFFSET

如果结果为负,则报告下溢错误(ERR_UR)

应用场景: 消除传感器固有偏移 校准零点 调整测量范围

OFFSET_CH1 0x0D

同OFFSET_CH0

OFFSET_CH2 0x0E

LDC1614专用

OFFSET_CH3 0x0F

LDC1614专用

建立时间寄存器SETTLECOUNT

SETTLECOUNT_CH0 0x10

通道0建立时间计数 ┌─────────────────────────────────────────────────────────┐ │ 位域分布 (16位) │ ├─────────────────────────────────────────────────────────┤ │ 15:0 │ ├─────────────────────────────────────────────────────────┤ │ SETTLECOUNT0[15:0] │ └─────────────────────────────────────────────────────────┘

复位值0x0000 取值范围0 ~ 65535(0x0000 ~ 0xFFFF)

作用设置通道0传感器振荡器建立稳定振荡所需的时间。

建立时间计算公式t_SETTLE = (SETTLECOUNT × 16) / f_REF

其中:

  • t_SETTLE建立时间
  • SETTLECOUNT寄存器值
  • f_REF参考时钟频率Hz

常用配置值:

SETTLECOUNT值 40MHz时钟建立时间 典型应用
0x000A (10) 4µs 高Q值传感器
0x0040 (64) 25.6µs 中等Q值传感器
0x0400 (1024) 409.6µs 低Q值传感器
配置建议:
  • 值过小:传感器未充分稳定,数据不准确
  • 值过大:增加转换周期,降低采样率
  • 需根据实际Q值计算

SETTLECOUNT_CH1 0x11

同SETTLECOUNT_CH0

SETTLECOUNT_CH2 0x12

LDC1614专用

SETTLECOUNT_CH3 0x13

LDC1614专用

时钟分频器寄存器CLOCK_DIVIDERS

CLOCK_DIVIDERS0 0x14

通道0时钟分频器 ┌─────────────────────────────────────────────────────────┐ │ 位域分布 (16位) │ ├────────┬────────┬───────────────────────────────────────┤ │ 15:12 │ 11:10 │ 9:0 │ ├────────┼────────┼───────────────────────────────────────┤ │FIN_DIV │RESERVED│ FREF_DIVIDER │ │ 0 │ │ │ └────────┴────────┴───────────────────────────────────────┘

复位值0x0000

位域说明:

名称 说明
15:12 FIN_DIVIDER0 通道0输入分频器
11:10 RESERVED 保留必须设为00
9:0 FREF_DIVIDER0 通道0参考分频器

FIN_DIVIDER设置

FIN_DIVIDER值 分频比 传感器频率范围
0x0 (0000) 保留,不使用 -
0x1 (0001) 1 f_SENSOR ≤ 8.75MHz
0x2 (0010) 2 8.75MHz < f_SENSOR ≤ 17.5MHz
0x3 (0011) 4 17.5MHz < f_SENSOR ≤ 35MHz
0x4~0xF 保留 -

FREF_DIVIDER设置

  • 值≥1有效
  • 典型值1或2
  • 计算公式f_REF_effective = f_CLKIN / FREF_DIVIDER

常用配置:

配置值 FIN_DIV FREF_DIV 说明
0x1001 1 1 FIN=1, FREF=1
0x1002 1 2 FIN=1, FREF=2推荐用于40MHz双通道
0x2001 2 1 FIN=2, FREF=1

配置建议:

  • 单通道模式f_CLKIN≤35MHzFREF_DIV=1
  • 双通道模式f_CLKIN≤40MHzFREF_DIV=2
  • 单通道模式35MHz<f_CLKIN≤40MHzFREF_DIV=2

CLOCK_DIVIDERS1 0x15

同CLOCK_DIVIDERS0

CLOCK_DIVIDERS2 0x16

LDC1614专用

CLOCK_DIVIDERS3 0x17

LDC1614专用

状态寄存器STATUS

STATUS 0x18

设备状态寄存器 ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ │ 15 │ 14 │ 13 │ 12 │ 11 │ 10 │ 9 │ 8 │ 7 │ 6 │ 5:4 │ 3 │ 2 │ 1:0 │ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ │ ERR_CHAN │ ERR_CHAN │ ERR_UR │ ERR_OR │ ERR_WD │ ERR_AHE │ ERR_ALE │ ERR_ZC │ RESERVED │ DRDY │ RESERVED │UNREAD_CH0│UNREAD_CH1│ RESERVED │ └──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

位域说明: ┌──────────┬─────────────┬────────────────────────────────────────┐ │ 位 │ 名称 │ 说明 │ ├──────────┼─────────────┼────────────────────────────────────────┤ │ 15:14 │ ERR_CHAN │ 错误通道指示 │ │ │ │ 00: 通道0发生错误 │ │ │ │ 01: 通道1发生错误 │ │ │ │ 10/11: LDC1614专用 │ ├──────────┼─────────────┼────────────────────────────────────────┤ │ 13 │ ERR_UR │ 转换下溢错误 │ │ │ │ 0: 无下溢错误 │ │ │ │ 1: 有通道发生下溢错误 │ ├──────────┼─────────────┼────────────────────────────────────────┤ │ 12 │ ERR_OR │ 转换上溢错误 │ │ │ │ 0: 无上溢错误 │ │ │ │ 1: 有通道发生上溢错误 │ ├──────────┼─────────────┼────────────────────────────────────────┤ │ 11 │ ERR_WD │ 看门狗超时错误 │ │ │ │ 0: 无看门狗错误 │ │ │ │ 1: 有通道发生看门狗超时 │ ├──────────┼─────────────┼────────────────────────────────────────┤ │ 10 │ ERR_AHE │ 振幅过高错误 │ │ │ │ 0: 无振幅过高错误 │ │ │ │ 1: 有通道振幅>1.8V │ ├──────────┼─────────────┼────────────────────────────────────────┤ │ 9 │ ERR_ALE │ 振幅过低警告 │ │ │ │ 0: 无振幅过低警告 │ │ │ │ 1: 有通道振幅<1.2V │ ├──────────┼─────────────┼────────────────────────────────────────┤ │ 8 │ ERR_ZC │ 零计数错误 │ │ │ │ 0: 无零计数错误 │ │ │ │ 1: 有通道发生零计数错误 │ ├──────────┼─────────────┼────────────────────────────────────────┤ │ 7 │ RESERVED │ 保留 │ │ │ │ 0: 读为0 │ ├──────────┼─────────────┼────────────────────────────────────────┤ │ 6 │ DRDY │ 数据就绪标志 │ │ │ │ 0: 无新转换结果 │ │ │ │ 1: 新转换结果已就绪 │ ├──────────┼─────────────┼────────────────────────────────────────┤ │ 5:4 │ RESERVED │ 保留 │ │ │ │ 00: 读为00 │ ├──────────┼─────────────┼────────────────────────────────────────┤ │ 3 │ UNREADCONV0 │ 通道0未读转换标志 │ │ │ │ 0: 通道0无未读数据 │ │ │ │ 1: 通道0有未读数据 │ ├──────────┼─────────────┼────────────────────────────────────────┤ │ 2 │ UNREADCONV1 │ 通道1未读转换标志 │ │ │ │ 0: 通道1无未读数据 │ │ │ │ 1: 通道1有未读数据 │ ├──────────┼─────────────┼────────────────────────────────────────┤ │ 1:0 │ RESERVED │ 保留 (LDC1614中用于CH2/CH3) │ └──────────┴─────────────┴────────────────────────────────────────┘ 作用:提供设备运行状态的完整信息,包括错误状态、数据就绪状态等。

读取特性:

  • 读取STATUS寄存器会清除错误标志
  • 读取STATUS会解除INTB引脚的断言
  • 错误标志在被读取前保持锁存状态

错误配置寄存器ERROR_CONFIG

ERROR_CONFIG 0x19

错误报告配置 ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ │ 15 │ 14 │ 13 │ 12 │ 11 │ 10:8 │ 7 │ 6 │ 5 │ 4 │ 3 │ 2 │ 1 │ 0 │ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ │UR_ERR2OUT│OR_ERR2OUT│WD_ERR2OUT│AH_ERR2OUT│AL_ERR2OUT│ RESERVED │UR_ERR2INT│OR_ERR2INT│WD_ERR2INT│AH_ERR2INT│AL_ERR2INT│ZC_ERR2INT│ RESERVED │DRDY_2INT │ └──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

位域说明(输出寄存器报告): ┌────────┬─────────────┬────────────────────────────────────────┐ │ 位 │ 名称 │ 说明 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 15 │ UR_ERR2OUT │ 下溢错误报告到数据寄存器 │ │ │ │ 0: 不在DATAx_MSB中报告 │ │ │ │ 1: 在DATAx_MSB中报告下溢错误 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 14 │ OR_ERR2OUT │ 上溢错误报告到数据寄存器 │ │ │ │ 0: 不在DATAx_MSB中报告 │ │ │ │ 1: 在DATAx_MSB中报告上溢错误 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 13 │ WD_ERR2OUT │ 看门狗错误报告到数据寄存器 │ │ │ │ 0: 不在DATAx_MSB中报告 │ │ │ │ 1: 在DATAx_MSB中报告看门狗错误 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 12 │ AH_ERR2OUT │ 振幅过高错误报告到数据寄存器 │ │ │ │ 0: 不在DATAx_MSB中报告 │ │ │ │ 1: 在DATAx_MSB中报告振幅过高错误 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 11 │ AL_ERR2OUT │ 振幅过低警告报告到数据寄存器 │ │ │ │ 0: 不在DATAx_MSB中报告 │ │ │ │ 1: 在DATAx_MSB中报告振幅过低警告 │ └────────┴─────────────┴────────────────────────────────────────┘

位域说明INTB中断报告 ┌────────┬─────────────┬────────────────────────────────────────┐ │ 位 │ 名称 │ 说明 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 7 │ UR_ERR2INT │ 下溢错误触发INTB中断 │ │ │ │ 0: 不触发INTB │ │ │ │ 1: 触发INTB中断 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 6 │ OR_ERR2INT │ 上溢错误触发INTB中断 │ │ │ │ 0: 不触发INTB │ │ │ │ 1: 触发INTB中断 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 5 │ WD_ERR2INT │ 看门狗错误触发INTB中断 │ │ │ │ 0: 不触发INTB │ │ │ │ 1: 触发INTB中断 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 4 │ AH_ERR2INT │ 振幅过高错误触发INTB中断 │ │ │ │ 0: 不触发INTB │ │ │ │ 1: 触发INTB中断 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 3 │ AL_ERR2INT │ 振幅过低警告触发INTB中断 │ │ │ │ 0: 不触发INTB │ │ │ │ 1: 触发INTB中断 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 2 │ ZC_ERR2INT │ 零计数错误触发INTB中断 │ │ │ │ 0: 不触发INTB │ │ │ │ 1: 触发INTB中断 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 1 │ RESERVED │ 保留设为0 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 0 │ DRDY_2INT │ 数据就绪触发INTB中断 │ │ │ │ 0: 不触发INTB │ │ │ │ 1: 新数据就绪时触发INTB中断 │ └────────┴─────────────┴────────────────────────────────────────┘

作用:配置各种错误和状态条件的报告方式。

常用配置值:

  • 0x0000:禁用所有错误报告(默认)
  • 0x00FF所有错误都触发INTB中断
  • 0x0001仅数据就绪触发INTB
  • 0x00FD:启用大部分错误中断(实际应用常用)

主配置寄存器CONFIG

CONFIG 0x1A

转换配置寄存器 ┌─────────────────────────────────────────────────────────┐ │ 位域分布 (16位) │ ├───────┬────┬────┬────┬────┬────┬────┬────┬────────────────┤ │ 15:14 │ 14 │ 13 │ 12 │ 11 │ 10 │ 9 │ 8 │ 7:0 │ ├───────┼────┼────┼────┼────┼────┼────┼────┼────────────────┤ │ACTIVE │SLEE│RP_O│SENS│AUTO│REF_│INTB│HIGH│ RESERVED │ │ │P_ │VER_│OR_ │AMP│CLK│_DIS│_CUR│ │ │CHAN │MODE│RIDE│ACTI│_DIS│SRC │ │RENT│ │ │ │_EN │_EN │VATE│ │ │ │_DRV│ │ │ │ │ │_SEL│ │ │ │ │ │ └───────┴────┴────┴────┴────┴────┴────┴────┴────────────────┘

复位值0x2801

位域说明: ┌────────┬──────────────────┬────────────────────────────────────────┐ │ 位 │ 名称 │ 说明 │ ├────────┼──────────────────┼────────────────────────────────────────┤ │ 15:14│ ACTIVE_CHAN │ 激活通道选择 │ │ │ │ 0: 通道0激活 │ │ │ │ 1: 通道1激活 │ │ │ │ (仅在单通道模式AUTOSCAN_EN=0时有效) │ ├────────┼──────────────────┼────────────────────────────────────────┤ │ 13 │ SLEEP_MODE_EN │ 睡眠模式使能 │ │ │ │ 0: 正常工作模式 │ │ │ │ 1: 进入睡眠模式(低功耗配置模式) │ ├────────┼──────────────────┼────────────────────────────────────────┤ │ 12 │ RP_OVERRIDE_EN │ 自动校准禁用 │ │ │ │ 0: 启用自动校准(推荐用于未知传感器) │ │ │ │ 1: 禁用自动校准使用手动IDRIVE设置 │ ├────────┼──────────────────┼────────────────────────────────────────┤ │ 11 │ SENSOR_ACTIVATE_ │ 传感器激活电流选择 │ │ │ SEL │ 0: 低电流激活模式 │ │ │ │ 1: 高电流激活模式 │ ├────────┼──────────────────┼────────────────────────────────────────┤ │ 10 │ AUTO_AMP_DIS │ 自动幅度校正禁用 │ │ │ │ 0: 启用自动幅度校正 │ │ │ │ 1: 禁用自动幅度校正 │ ├────────┼──────────────────┼────────────────────────────────────────┤ │ 9 │ REF_CLK_SRC │ 参考时钟源选择 │ │ │ │ 0: 使用内部参考时钟约35MHz │ │ │ │ 1: 使用外部CLKIN时钟 │ ├────────┼──────────────────┼────────────────────────────────────────┤ │ 8 │ IRESERVED │ 保留必须设为0x00 │ ├────────┼──────────────────┼────────────────────────────────────────┤ │ 7 │ INTB_DIS │ INTB中断禁用 │ │ │ │ 0: 启用INTB中断功能 │ │ │ │ 1: 禁用INTB引脚保持高电平 │ ├────────┼──────────────────┼────────────────────────────────────────┤ │ 6 │ HIGH_CURRENT_DRV │ 高电流驱动模式 │ │ │ │ 0: 正常电流驱动 │ │ │ │ 1: 通道0高电流驱动模式特殊应用 │ ├────────┼──────────────────┼────────────────────────────────────────┤ │ 5:0 │ RESERVED │ 保留必须设为0x01 │ └────────┴──────────────────┴────────────────────────────────────────┘

作用LDC1612的主配置寄存器控制工作模式、时钟源、通道选择等核心功能。 ⚠️ 重要提示CONFIG寄存器必须在所有其他配置完成后最后写入写入后设备开始转换。 常用配置值:

配置值 说明
0x1601 外部时钟,连续转换,禁用自动校准
0x1481 内部时钟,连续转换
0x8000 软件复位
0x2801 进入睡眠模式

多路复用器配置寄存器MUX_CONFIG

MUX_CONFIG 0x1B

通道多路复用配置 ┌─────────────────────────────────────────────────────────┐ │ 位域分布 (16位) │ ├────┬───────┬─────────────────┬─────────────────────────┤ │ 15 │ 14:13 │ 12:3 │ 2:0 │ ├────┼───────┼─────────────────┼─────────────────────────┤ │AUTO│RR_ │ RESERVED │ DEGLITCH │ │SCAN│SEQUENCE│ (必须设为 │ (消抖滤波器带宽) │ │_EN │ │ 00 0100 0001) │ │ └────┴───────┴─────────────────┴─────────────────────────┘

复位值0x020F

位域说明: ┌────────┬─────────────┬────────────────────────────────────────┐ │ 位 │ 名称 │ 说明 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 15 │ AUTOSCAN_EN │ 自动扫描模式使能 │ │ │ │ 0: 单通道连续模式由ACTIVE_CHAN选择 │ │ │ │ 1: 顺序扫描模式由RR_SEQUENCE选择 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 14:13 │ RR_SEQUENCE │ 扫描序列配置 │ │ │ │ 00: CH0, CH1 │ │ │ │ 01: CH0, CH1, CH2 (LDC1614) │ │ │ │ 10: CH0, CH1, CH2, CH3 (LDC1614) │ │ │ │ 11: CH0, CH1 │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 12:3 │ RESERVED │ 保留必须设为00 0100 0001 (0x041) │ ├────────┼─────────────┼────────────────────────────────────────┤ │ 2:0 │ DEGLITCH │ 输入消抖滤波器带宽 │ │ │ │ 001: 1.0 MHz │ │ │ │ 100: 3.3 MHz │ │ │ │ 101: 10 MHz │ │ │ │ 111: 33 MHz │ └────────┴─────────────┴────────────────────────────────────────┘ 作用:配置通道扫描模式和输入消抖滤波器。

DEGLITCH选择建议

  • 选择大于传感器频率的最低设置
  • 例如f_SENSOR=7.8MHz选择10MHz (101)

常用配置值:

配置值 说明
0x020C 单通道模式3.3MHz滤波
0x820C 双通道顺序模式3.3MHz滤波
0x820D 双通道顺序模式10MHz滤波

复位寄存器RESET_DEV

RESET_DEV 0x1C

设备复位 ┌─────────────────────────────────────────────────────────┐ │ 位域分布 (16位) │ ├─────────────────────────────────────────────────────────┤ │ 15:0 │ ├─────────────────────────────────────────────────────────┤ │ RESET_DEV[15:0] │ └─────────────────────────────────────────────────────────┘ 作用:软件复位设备。

复位操作:

  • 写入0x8000触发软件复位
  • 复位后所有寄存器恢复默认值
  • 复位完成后设备进入睡眠模式

复位完成后delay 10ms然后重新配置全部寄存器

驱动电流寄存器DRIVE_CURRENT

DRIVE_CURRENT0 0x1E

通道0驱动电流

┌─────────────────────────────────────────────────────────┐ │ 位域分布 (16位) │ ├────────────────┬──────────────────┬─────────────────────┤ │ 15:11 │ 10:6 │ 5:0 │ ├────────────────┼──────────────────┼─────────────────────┤ │ IDRIVE0 │ INIT_IDRIVE0 │ RESERVED │ │ (当前驱动电流) │ (初始驱动电流) │ (设为0x00) │ └────────────────┴──────────────────┴─────────────────────┘ 复位值0x0000

作用设置通道0的传感器驱动电流。INIT_IDRIVE0可以用来自动幅度校正关闭时自动确定合适的驱动电流。

IDRIVE值与Rp关系

Rp (kΩ) 推荐IDRIVE DRIVE_CURRENT值 Nominal Current (µA)
0.90 31 0xF800 1563
1.05 30 0xF000 1355
1.21 29 0xE800 1173
1.40 28 0xE000 1017
1.63 27 0xD800 880
1.89 26 0xD000 763
2.20 25 0xC800 635
2.55 24 0xC000 551
2.95 23 0xB800 489
3.43 22 0xB000 424
3.98 21 0xA800 392
4.61 20 0xA000 297
5.35 19 0x9800 244
6.21 18 0x9000 212
7.20 17 0x8800 195
8.36 16 0x8000 169
9.69 15 0x7800 146
11.2 14 0x7000 127
13.0 13 0x6800 110
15.1 12 0x6000 95
17.6 11 0x5800 82
20.4 10 0x5000 72
23.6 9 0x4800 59
27.4 8 0x4000 52
31.8 7 0x3800 46
36.9 6 0x3000 40
42.8 5 0x2800 32
49.7 4 0x2000 28
57.6 3 0x1800 23
66.9 2 0x1000 20
77.6 1 0x0800 18
90.0 0 0x0000 16

配置建议:

  • 先用自动校准模式确定合适的IDRIVE
  • 再用示波器确认Vosc在1.2V~1.8V之间
  • 固定IDRIVE后设置RP_OVERRIDE_EN=1

DRIVE_CURRENT1 0x1F

同DRIVE_CURRENT0

DRIVE_CURRENT2 0x20

同DRIVE_CURRENT0

DRIVE_CURRENT3 0x21

同DRIVE_CURRENT0

自动幅度校正寄存器AUTO_AMPGAIN

AUTO_AMPGAIN 0x22

┌─────────────────────────────────────────────────────────┐ │ 位域分布 (16位) │ ├─────────────────────────────────────────────────────────┤ │ 15:0 │ ├─────────────────────────────────────────────────────────┤

ID寄存器只读

MANUFACTURER_ID 0x7E

制造商ID ┌─────────────────────────────────────────────────────────┐ │ 值0x5449 ("TI"的ASCII码) │ └─────────────────────────────────────────────────────────┘ 作用:验证设备制造商。

DEVICE_ID 0x7F

设备ID ┌─────────────────────────────────────────────────────────┐ │ LDC1612值0x3054 │ │ LDC1614值0x3056 │ └─────────────────────────────────────────────────────────┘ 作用验证设备型号可用于I2C通信测试。