generated from hulk/gd32e23x_template_cmake_vscode
整理LDC1612驱动头文件相关定义
This commit is contained in:
635
LDC1612_REG_LIST.md
Normal file
635
LDC1612_REG_LIST.md
Normal file
@@ -0,0 +1,635 @@
|
||||
#
|
||||
|
||||
```c
|
||||
#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`:仅数据就绪触发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通信测试。
|
||||
Reference in New Issue
Block a user