48 KiB
#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≤35MHz:FREF_DIV=1
- 双通道模式,f_CLKIN≤40MHz:FREF_DIV=2
- 单通道模式,35MHz<f_CLKIN≤40MHz:FREF_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:仅数据就绪触发INTB0x00FD:启用大部分错误中断(实际应用常用)
主配置寄存器(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通信测试。