generated from hulk/gd32e23x_template_cmake_vscode
7.4 KiB
7.4 KiB
LDC1612 线圈性能测试指南
概述
这份文档详细说明如何使用M1-M9命令来测试和分析LDC1612线圈的性能特性。
测试命令总览
命令 | 功能 | 响应字节数 | 主要用途 |
---|---|---|---|
M1 | 强制读取传感器数据 | 4 | 获取原始传感器数据 |
M2 | 通信测试 | 4 | 验证通信链路 |
M3 | 高电流驱动测试 | 6 | 测试提高驱动电流的效果 |
M4 | 寄存器诊断 | 8 | 检查配置寄存器状态 |
M5 | 最高电流启动测试 | 8 | 极限参数启动尝试 |
M6 | 芯片功能验证 | 12 | 验证LDC1612芯片正常工作 |
M7 | 保守参数测试 | 10 | 使用保守配置测试 |
M8 | 极端参数测试 | 6 | 使用极端配置强制启动 |
M9 | 多频率特性测试 | 8 | 对比不同频率配置效果 |
详细命令分析
M1 命令 - 强制读取传感器数据
命令: D5 03 02 4D 31 83
响应: B5 F0 04 [4字节数据] CRC
响应数据解析:
[0-3]: 32位原始传感器数据(大端序)
- 高4位:错误标志(通常忽略)
- 低28位:有效传感器数据
使用场景: 在您已经有工作配置的情况下,直接获取传感器数据
M2 命令 - 通信测试
命令: D5 03 02 4D 32 84
响应: B5 F0 04 DD CC BB AA [CRC]
分析要点: 如果响应不是固定的DD CC BB AA
,说明通信有问题
M3 命令 - 高电流驱动测试
命令: D5 03 02 4D 33 85
响应: B5 F0 06 [6字节数据] CRC
响应数据解析:
[0-1]: 传感器状态寄存器(大端序)
bit[7]: DRDY_1 - 通道1数据就绪
bit[6]: DRDY_0 - 通道0数据就绪
bit[5]: UNREAD_CONV - 未读转换结果
bit[4]: ERR_ZC - 零计数错误
bit[3]: ERR_AE - 幅度错误(重点关注)
bit[2]: ERR_WD - 看门狗超时
bit[1]: ERR_OR - 过量程错误
bit[0]: ERR_UR - 欠量程错误
[2]: 数据就绪标志 (0x01=就绪, 0x00=未就绪)
[3]: 0xA0 - 高电流测试标记
[4]: 幅度错误专用标志 (0xAE=有幅度错误, 0x00=无)
[5]: 0x33 - M3命令标记
分析要点:
- 如果[0-1]从0x0008变为其他值,说明高电流有效果
- 如果[2]变为0x01,说明数据开始就绪
- 如果[4]变为0x00,说明幅度错误消失
M4 命令 - 寄存器诊断
命令: D5 03 02 4D 34 86
响应: B5 F0 08 [8字节数据] CRC
响应数据解析:
[0-1]: 状态寄存器 (0x18) - 当前传感器状态
[2-3]: 传感器配置寄存器 (0x1A) - 传感器工作模式
期望值: 0x1601 (活动模式,单通道)
[4-5]: 驱动电流寄存器 (0x1E) - 当前驱动电流设置
常见值: 0x9000(默认), 0xA000(高), 0xF800(最高)
[6]: I2C读取状态 (0x4F='O'=成功, 0xEE=失败)
[7]: 0x44 - M4命令标记
分析要点:
- [2-3]应该是0x1601,如果不是说明配置异常
- [4-5]显示实际的驱动电流设置
- [6]必须是0x4F,否则I2C通信有问题
M5 命令 - 最高电流启动测试
命令: D5 03 02 4D 35 87
响应: B5 F0 08 [8字节数据] CRC
响应数据解析:
[0-1]: 传感器状态寄存器(启动后状态)
[2]: 数据就绪标志 (0x01=就绪, 0x00=未就绪)
[3-4]: 实际驱动电流设置值(应该是0xF800)
[5]: 幅度错误专用标志 (0xAE=仍有错误, 0x00=错误消失)
[6]: 0x55 - M5命令标记
[7]: 0xF8 - 最高电流标记
分析要点:
- 这是最激进的启动尝试
- 如果[5]仍是0xAE,说明线圈物理特性不兼容
- [3-4]验证电流设置是否生效
M6 命令 - 芯片功能验证
命令: D5 03 02 4D 36 88
响应: B5 F0 0C [12字节数据] CRC
响应数据解析:
[0-1]: 写入测试值 (0x9000)
[2-3]: 读取回的值
[4-5]: 制造商ID (应该是0x5449="TI")
[6-7]: 设备ID (应该是0x3055)
[8-9]: 当前状态寄存器
[10]: ID读取状态 (0x4F=成功, 0xEE=失败)
[11]: 0x66 - M6命令标记
分析要点:
- [4-5]必须是0x5449,确认是正品TI芯片
- [6-7]应该是0x3055,确认是LDC1612型号
- [10]必须是0x4F,确认芯片通信正常
M7 命令 - 保守参数测试
命令: D5 03 02 4D 37 89
响应: B5 F0 0A [10字节数据] CRC
响应数据解析:
[0-1]: 状态寄存器
[2]: 数据就绪标志
[3-4]: 实际频率分频器设置 (0x2000=较低频率)
[5]: 幅度错误标志 (0xAE=有错误, 0x00=无)
[6]: 欠量程错误标志 (0x01=有, 0x00=无)
[7]: 过量程错误标志 (0x02=有, 0x00=无)
[8]: 0x77 - M7命令标记
[9]: 0x20 - 低频标记
分析要点:
- 使用保守配置(低频率、长稳定时间)
- [6][7]指示电感值范围问题
M8 命令 - 极端参数测试
命令: D5 03 02 4D 38 8A
响应: B5 F0 06 [6字节数据] CRC
响应数据解析:
[0-1]: 传感器状态寄存器
[2]: 数据就绪标志
[3]: 幅度错误标志 (0xAE=仍有错误, 0x00=错误消失)
[4]: 0x88 - M8命令标记
[5]: 0xEE - 极端测试标记
分析要点:
- 使用极低频率(0x4000)和最大电流(0xFF00)
- 如果[3]仍是0xAE,说明线圈根本无法工作
M9 命令 - 多频率特性测试
命令: D5 03 02 4D 39 8B
响应: B5 F0 08 [8字节数据] CRC
响应数据解析:
[0-1]: 高频测试状态
[2]: 高频就绪标志 (0x01=就绪, 0x00=未就绪)
[3-4]: 低频测试状态
[5]: 低频就绪标志 (0x01=就绪, 0x00=未就绪)
[6]: 0x99 - M9命令标记
[7]: 0xAA - 多频测试标记
分析要点:
- 对比高频低电流 vs 低频高电流的效果
- 如果某个配置工作,说明找到了合适的参数范围
线圈诊断流程
步骤1: 基础验证
- 执行M2确认通信正常
- 执行M6确认芯片功能正常
步骤2: 状态诊断
- 执行M4查看当前配置状态
- 如果状态寄存器是0x0008,说明有幅度错误
步骤3: 参数优化测试
- 执行M3测试高电流是否有改善
- 执行M5测试最高电流极限启动
- 执行M7测试保守参数配置
- 执行M8测试极端参数配置
步骤4: 特性分析
- 执行M9进行多频率对比测试
- 分析哪种配置最接近成功
步骤5: 数据读取
- 如果找到工作配置,执行M1获取数据
- 如果所有测试都失败,确认线圈不兼容
常见问题诊断
所有命令都显示幅度错误 (0x0008)
可能原因:
- 线圈电感值超出范围 (< 1μH 或 > 18mH)
- 线圈Q值过低 (< 5)
- 线圈物理损坏(开路或短路)
- 线圈周围有金属干扰
解决方案:
- 用万用表测量线圈直流电阻
- 用LCR表测量线圈电感值和Q值
- 更换符合规格的线圈
M6显示错误的设备ID
可能原因:
- 使用了非正品芯片
- I2C地址配置错误
- 芯片损坏
部分命令有效果但数据不稳定
可能原因:
- 线圈参数在边界范围
- 外部干扰
- 电源噪声
解决方案:
- 优化PCB布局
- 改善电源滤波
- 调整线圈参数
推荐线圈规格
电感值: 10μH - 1mH
Q值: > 15 (在工作频率下)
线径: 0.1-0.5mm 漆包线
绕制: 单层紧密绕制,避免交叉
工作频率: 1-10MHz
直流电阻: 1-50欧姆
总结
通过这套完整的测试命令,您可以:
- 快速诊断线圈兼容性问题
- 找到最优的工作参数
- 验证硬件和软件功能
- 分析线圈的频率特性
如果M8和M9都显示幅度错误,强烈建议更换线圈或调整线圈参数。