Files
ldc1612_cmake_vscode/LDC1612_COIL_TEST_GUIDE.md
2025-08-17 02:58:32 +08:00

7.4 KiB
Raw Blame History

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: 基础验证

  1. 执行M2确认通信正常
  2. 执行M6确认芯片功能正常

步骤2: 状态诊断

  1. 执行M4查看当前配置状态
  2. 如果状态寄存器是0x0008说明有幅度错误

步骤3: 参数优化测试

  1. 执行M3测试高电流是否有改善
  2. 执行M5测试最高电流极限启动
  3. 执行M7测试保守参数配置
  4. 执行M8测试极端参数配置

步骤4: 特性分析

  1. 执行M9进行多频率对比测试
  2. 分析哪种配置最接近成功

步骤5: 数据读取

  1. 如果找到工作配置执行M1获取数据
  2. 如果所有测试都失败,确认线圈不兼容

常见问题诊断

所有命令都显示幅度错误 (0x0008)

可能原因:

  • 线圈电感值超出范围 (< 1μH 或 > 18mH)
  • 线圈Q值过低 (< 5)
  • 线圈物理损坏(开路或短路)
  • 线圈周围有金属干扰

解决方案:

  1. 用万用表测量线圈直流电阻
  2. 用LCR表测量线圈电感值和Q值
  3. 更换符合规格的线圈

M6显示错误的设备ID

可能原因:

  • 使用了非正品芯片
  • I2C地址配置错误
  • 芯片损坏

部分命令有效果但数据不稳定

可能原因:

  • 线圈参数在边界范围
  • 外部干扰
  • 电源噪声

解决方案:

  1. 优化PCB布局
  2. 改善电源滤波
  3. 调整线圈参数

推荐线圈规格

电感值: 10μH - 1mH
Q值: > 15 (在工作频率下)
线径: 0.1-0.5mm 漆包线
绕制: 单层紧密绕制,避免交叉
工作频率: 1-10MHz
直流电阻: 1-50欧姆

总结

通过这套完整的测试命令,您可以:

  1. 快速诊断线圈兼容性问题
  2. 找到最优的工作参数
  3. 验证硬件和软件功能
  4. 分析线圈的频率特性

如果M8和M9都显示幅度错误强烈建议更换线圈或调整线圈参数。