Files
WCTDataMiner/docs/requirement/WCT数据需求分析.md
Scottxjw dea7af045b docs(requirement): 清理遗留的 QA 问题与编号错误
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-14 09:25:47 +08:00

7.8 KiB
Raw Blame History

1 数据获取

1.1 手动抓数据

1.1.1 Qfod

1.1.1.1 日志 Format

X#:Q A->B C D E

1.1.1.2 数据结构

字段标识 字段名称 数据类型 取值范围 说明
X Charger Index uint8 0, 1 充电器索引,标识使用哪个充电器
Q Q Factor Flag uint8 - Q 值标记/标志位
A Coil Index uint8 0, 1, 2 线圈索引,标识检测的线圈编号
B ΔQ (Delta Q) int16 - Q 值变化量/差值,反映 Q 值的相对变化
C Current Q Factor float - 当前实时 Q 值
D Raw Q Factor float - 原始 Q 值(未经处理的测量值)
==E== ==FOD Type== ==uint8== ==见表 2== ==异物类型编码,对应 Table 2 中的异物分类==

1.1.1.3 字段关系说明

  • X + A 组合唯一标识一个检测通道(充电器 + 线圈)
  • B = C - D(变化量 = 当前值 - 原始值)

1.1.2 Ploss fod

基于功率损耗的异物检测Power Loss FOD

1.1.2.1 日志 Format

FOD-> (1) X X X (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13)

示例: FOD-> 4 2 1 127 10690 12013 35377 9904 1213 -2882 750 0 0 1 500 1

说明括号数字表示有效字段编号X 表示忽略该位置数据

前置参数(库内计算):

  • pow_loss = 2005发射端基础损耗值
  • delta_p = 2200功率损耗补偿系数调试关键变量

1.1.2.2 数据结构

编号 字段名称 数据类型 示例值 说明
(1) Rx Type uint8 4 接收端类型标识
(2) Rx Power uint16 10690 接收端实际获得功率,能量去向
(3) Tx Power uint16 12013 发射端输出总功率,能量来源
(4) Vcoil uint16 35377 发射线圈电压,用于计算理论损耗
(5) Vin uint16 9904 输入电压,系统状态监控
(6) Isns uint16 1213 输入电流采样值,系统状态监控
(7) Ploss int32 -2882 核心判定值计算损耗Tx-(Rx+base_loss+delta_p)
(8) Threshold int32 750 安全红线,允许的最大损耗限值
(9) Trigger Count uint16 0 触发计数器,持续超阈值会累积
(10) FOD Result uint16 0 当前判定结果状态
(11) Charging Protocol Type uint8 1 充电协议类型
(12) PWM Duty uint8 500 PWM 控制占空比
(13) Charging coil index uint8 1 充电线圈索引

1.1.2.3 核心判定逻辑

能量守恒定律:

发射功率 = 接收功率 + 系统损耗 + 异物损耗

公式一:发射功率计算

(3) = (5) × (6)

即:Tx Power = Vin × Isns(通过芯片实际工作的电压和电流相乘得到动态值)

公式二:额外损耗计算

(7) = (3) - ((2) + pow_loss + delta_p)

即:Ploss = Tx Power - (Rx Power + pow_loss + delta_p)

含义:用"发射端总功率"减去"接收端功率"、"已知系统损耗"和"补偿系数",剩下的数值 (7) 就是无法解释的能量损耗。如果这个值很大,说明有金属异物在发热消耗能量。

1.1.2.4 变量定义详解

变量 名称 说明
(7) Calculated Loss 实时计算出的功率差值,需要重点监控的变量
(8) Threshold Power loss 阈值Qi 协议规定(参考 Table 4随功率段动态变化(功率越大,允许的损耗越大)
(2) Rx Power 接收端(手机/手表)上报给发射端的功率值
pow_loss Tx 固有损耗 发射板的固有损耗,库内计算得出,无需修改
delta_p 功率补偿系数 工程师唯一需要调整的"旋钮"

判定条件:

  • 当 (7) Ploss > (8) Threshold 时,计数器 (9) 增加
  • 当计数超过设定阈值,触发 FOD 报警并停止充电

调试目标:

  • 正常充电时,需满足:(7) Ploss < (8) Threshold
  • 如正常充电时误报 FOD需增大 delta_p 补偿系数
  • 修改代码数组 m_con_arr_I16PlossCoeff 中的 delta_p 值进行校准

2 数据分析方法

2.1 QFOD 数据分析

2.1.1 阈值计算

  1. 从 Log 提取两种场景的 ΔQ
    • 场景 A纯手机ΔQ = 25最大值
    • 场景 B手机+异物ΔQ = 40 (最小值)
  2. 计算阈值Threshold = (25 + 40) / 2 = 32

2.1.2 分析步骤

  1. 提取日志中 #Q 开头的行
  2. 绘制 ΔQ 时序曲线,叠加 Y=Threshold 水平线
  3. 验证余量:纯手机最高点 vs 阈值、有异物最低点 vs 阈值

2.2 Ploss FOD 数据分析

2.2.1 日志解析要点

日志行识别:FOD-> 开头的行

关键字段提取(按位置索引):

位置 字段 示例值 用途
第 6 列 Calculated Loss (Ploss) -634 核心监控值,负数表示安全
第 7 列 Threshold 1000 当前功率段的阈值
第 2 列 Rx Power 10690 用于查表确定阈值
第 3 列 Tx Power 12013 用于验证计算

2.2.2 动态阈值表 (Table 4)

阈值根据接收功率动态查表:

接收功率 (Rx Power) 阈值 (Threshold) 备注
0 ~ 5W 350 mW 低功率下最敏感
5 ~ 10W 500 mW
10 ~ 15W 750 mW
15 ~ 30W 1000 mW 示例 Log 处于此区间
30 ~ 50W 1250 mW 高功率允许更多损耗

注意:数据分析时必须先读取 Rx Power查表获得正确阈值再与计算值对比。

2.2.3 计算公式验证

能量守恒公式:

Ploss = Tx_Power - Rx_Power - System_Loss - delta_p

等价表达:

delta_p + Ploss = Tx_Power - Rx_Power - System_Loss

验证示例:

  • Tx Power = 12013
  • Rx Power = 10690
  • System Loss (pow_loss) = 2005
  • delta_p = 2200
  • 计算12013 - 10690 - 2005 - 2200 = -2882 ✓

2.2.4 判定逻辑

FOD 触发条件:

if (Ploss > Threshold) → 计数器累积
if (Count > Limit) → 触发 FOD 报警,停止充电

安全余量监控:

Margin = Threshold - Ploss

示例:1000 - (-634) = 1634 mW 余量充足

2.2.5 分析流程

  1. 解析 (Parse):读取 Log 文件,找到 FOD-> 开头的行
  2. 提取 (Extract)
    • 抓取第 6 列(计算损耗,如 -634
    • 抓取第 7 列(当前阈值,如 1000
    • 抓取 Rx Power 用于查表校验
  3. 计算 (Calculate)
    • 验证公式:Loss = Tx_Power - Rx_Power - System_Loss - delta_p
    • 计算余量:Margin = Threshold - Loss
  4. 可视化 (Visualize)
    • 画横线代表阈值 (Threshold)
    • 画波动线代表实时损耗 (Ploss)
    • 若波动线突破阈值线,标记为 FOD Event
  5. 调试 (Tune)
    • 若 Ploss 频繁跳动或变正数(如 800说明 delta_p 设置不准
    • 调整 delta_p 使曲线回归安全区(负值区)

3 QA