xlsw_3dp_LDC1612/README.md
2025-04-01 17:21:49 +08:00

137 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# XLSW-3DP-Sensor-LDC1612
| **版本号** | **修改内容** | **日期** | **修改人** |
|:-------:|:-------------------:|:----------:|:-------:|
| v0.2.0 | 实现软件与硬件IIC可自选添加看门狗 | 2024-12-29 | Hulk |
## 电涡流传感器模块通信协议
通信协议:[LDC1612通信协议](CommunicationProtocol.md)
以下是代码段的详细寄存器配置解析,包含所有寄存器地址和参数位域定义:
---
### **1. 软件复位 (RESET_DEV)**
- **寄存器地址**: 0x1C
- **写入值**: 0x8000
- **字段解析**
- **Bit 15 (RESET_DEV)**: 写1触发硬件复位完成后自动清零。
- **Bits 14-0**: 保留位必须写0。
---
### **2. 进入休眠模式 (CONFIG)**
- **寄存器地址**: 0x1A
- **写入值**: 0x2801
- **字段解析**(按位分解):
| Bit位 | 字段名 | 值 | 功能说明 |
|-------|-----------------------|-----|--------------------------|
| 15-14 | ACTIVE_CHAN | 00 | 未使用(休眠模式下无效) |
| 13 | SLEEP_MODE_EN | 1 | 使能休眠模式 |
| 12 | RP_OVERRIDE_EN | 0 | 禁用Rp覆盖默认 |
| 11 | SENSOR_ACTIVATE_SEL | 0 | 全电流激活模式 |
| 10 | AUTO_AMP_DIS | 0 | 启用自动幅度校正 |
| 9 | REF_CLK_SRC | 0 | 使用内部时钟源 |
| 8 | Reserved | 0 | 保留位 |
| 7 | INTB_DIS | 0 | 使能INTB中断 |
| 6 | HIGH_CURRENT_DRV | 0 | 禁用高电流驱动模式 |
| 5-0 | Reserved | 000001 | 保留位(默认值) |
---
### **3. 配置通道0时钟分频 (CLOCK_DIVIDERS_CH0)**
- **寄存器地址**: 0x14
- **写入值**: 0x1002
- **字段解析**
| 字段名 | 位域 | 值 | 功能说明 |
|--------------------|-----------|-------|--------------------------|
| CH0_FIN_DIVIDER | Bits 15-12 | 0x1 | 传感器分频系数=1不分频 |
| Reserved | Bits 11-10 | 0x0 | 保留位 |
| CH0_FREF_DIVIDER | Bits 9-0 | 0x002 | 参考分频系数=2f_REF=40MHz/2=20MHz |
---
### **4. 设置通道0转换时间 (RCOUNT_CH0)**
- **寄存器地址**: 0x08
- **写入值**: 0x04D6 (十进制1238)
- **计算公式**
\[
t_{C0} = \frac{(0x04D6 \times 16)}{20\text{MHz}} = 991\mu s
\]
---
### **5. 设置通道0稳定时间 (SETTLECOUNT_CH0)**
- **寄存器地址**: 0x10
- **写入值**: 0x000A (十进制10)
- **计算公式**
\[
t_{S0} = \frac{(0x000A \times 16)}{20\text{MHz}} = 8\mu s
\]
---
### **6. 配置通道0驱动电流 (DRIVE_CURRENT_CH0)**
- **寄存器地址**: 0x1E
- **写入值**: 0x9000
- **字段解析**
| 字段名 | 位域 | 值 | 功能说明 |
|--------------------|-----------|-------|--------------------------|
| CH0_IDRIVE | Bits 15-11 | 0x12 | 驱动电流值=18对应Rp=6.6kΩ查表9 |
| CH0_INIT_IDRIVE | Bits 10-6 | 0x00 | 初始电流值(未使用) |
| Reserved | Bits 5-0 | 0x00 | 保留位 |
---
### **7. 多通道扫描配置 (MUX_CONFIG)**
- **寄存器地址**: 0x1B
- **写入值**: 0x820C
- **字段解析**
| 字段名 | 位域 | 值 | 功能说明 |
|--------------------|-----------|-------|--------------------------|
| AUTOSCAN_EN | Bit 15 | 1 | 启用自动扫描模式 |
| RR_SEQUENCE | Bits 14-13 | 00 | 扫描顺序Ch0→Ch1 |
| Reserved | Bits 12-3 | 0x020 | 保留位(默认值) |
| DEGLITCH | Bits 2-0 | 0x4 | 去抖动滤波器带宽=3.3MHz |
---
### **8. 退出休眠并启动转换 (CONFIG)**
- **寄存器地址**: 0x1A
- **写入值**: 0x1601
- **字段解析**(关键位):
| Bit位 | 字段名 | 值 | 功能说明 |
|-------|-----------------------|-----|--------------------------|
| 13 | SLEEP_MODE_EN | 0 | 退出休眠模式 |
| 9 | REF_CLK_SRC | 1 | 使用外部时钟CLKIN=40MHz|
| 12 | RP_OVERRIDE_EN | 1 | 启用Rp覆盖固定驱动电流 |
---
### **关键参数总结表**
| 寄存器名 | 地址 | 写入值 | 核心功能 |
|----------------------|-------|--------|----------------------------|
| RESET_DEV | 0x1C | 0x8000 | 强制复位设备 |
| CONFIG (休眠) | 0x1A | 0x2801 | 进入配置模式 |
| CLOCK_DIVIDERS_CH0 | 0x14 | 0x1002 | 通道0时钟分频设置 |
| RCOUNT_CH0 | 0x08 | 0x04D6 | 通道0转换时间=991μs |
| SETTLECOUNT_CH0 | 0x10 | 0x000A | 通道0稳定时间=8μs |
| DRIVE_CURRENT_CH0 | 0x1E | 0x9000 | 通道0驱动电流=18约1.5mA |
| MUX_CONFIG | 0x1B | 0x820C | 启用双通道扫描Ch0→Ch1 |
| CONFIG (启动) | 0x1A | 0x1601 | 退出休眠,启用外部时钟 |
---
通过以上配置,设备将按以下流程运行:
1. 复位后进入休眠模式,配置寄存器。
2. 设置通道0的时钟分频、转换时间、稳定时间和驱动电流。
3. 启用双通道自动扫描,设置去抖动滤波器。
4. 退出休眠模式,开始连续转换。