Files
chrg/docs/2026-07-29-self-loop-aging-test-plan.md
T
wrh 79c63f7b8e 重构充电协议模块,统一源载参数管理与流程
1.  apps/chrg/applications/utils/chrg_def.h: 移除vc_pd_t结构体中mm数组下标,改为单实例
2.  apps/chrg/applications/utils/chrg_north_pkg.c: 修正CRC校验调用,调整pd_get参数访问方式
3.  apps/chrg/applications/utils/chrg_source.h: 重构src_vc_t和chrg_src_t结构体,移除冗余字段,新增set_volt/set_curr和pd_set单实例
4.  apps/chrg/applications/thread/chrg_roll_nor.c: 修正CC选择变量名,新增PD数据获取流程
5.  apps/chrg/applications/thread/chrg_lcd.c: 重构LCD解析逻辑,区分源载电压处理,新增工作状态触发
6.  apps/chrg/applications/thread/chrg_north.c: 新增协议电压规则修正函数,重构源参数控制逻辑
7.  apps/chrg/applications/thread/chrg_comm.c: 新增pd_changed参数差异标志,重构源参数读写与差异比较逻辑
8.  apps/chrg/applications/utils/chrg_source.c: 重构源工作状态机,新增电压补偿逻辑,重构PD协议填充函数
9.  docs\2026-07-29-self-loop-aging-test-plan.md: 新增四通道自举老化测试计划文档
2026-07-29 11:27:29 +08:00

9.3 KiB
Raw Blame History

四通道自举老化测试计划

1. 测试目的

验证四通道在源载自连接条件下长期运行的稳定性,重点覆盖:

  • Source/Sink启动、停止及角色切换流程;
  • 标准、PD、QC、FCP、AFC及UFCS等已实现协议的协商稳定性;
  • 四通道连续控制、南向指令执行及量测轮询稳定性;
  • 电压、电流阶梯变化和长时间带载能力;
  • 通信超时、协议掉线、功率板故障、异常复位和温升等问题。

本计划不包含短路和OCP破坏性测试。此类项目应使用独立限流电源、专用线材及人员值守,不能混入无人值守老化。

2. 测试连接

2.1 第一组连接

回路 Source通道 Sink通道 连接方式
A CH1 CH2 VBUS、GND及协议线完整连接
B CH3 CH4 VBUS、GND及协议线完整连接

2.2 反向角色连接

完成正向老化后不改变线束,停止全部通道并交换角色:

回路 Source通道 Sink通道
A CH2 CH1
B CH4 CH3

线束必须满足目标电流要求。PD测试连接CC,QC/FCP/AFC测试连接D+、D-,并保证协议板GND与功率GND连接符合硬件设计。严禁两个Source输出直接相连。

3. 测试条件

  • 使用待发布版本的主控、Source协议板、Sink协议板和功率板固件;
  • 记录固件版本、硬件版本、设备序列号、线材规格及环境温度;
  • 风扇、保险丝、急停和输入电源工作正常;
  • 输入电源功率至少保留20%余量;
  • 测试电流不得超过连接器、线材、功率板和协议档位中的最小额定值;
  • 常规量测查询周期设为1秒,状态及故障寄存器至少每5秒记录一次;
  • 30ms查询仅用于不超过60秒的波形专项采样,结束后恢复1秒周期;
  • 上位机必须收到并校验上一条Modbus响应后再发送下一条命令;
  • Modbus异常响应必须单独记录,特别是异常码0x06(设备忙)。

4. 单回路启动流程

每次启动必须按照以下顺序执行:

  1. 向Source和Sink发送停止,确认功率板工作状态为停止;
  2. 设置Source角色、协议、协议档位、最大电压、最大电流及CC线;
  3. 设置Sink角色、协议、申请电压、申请电流、恒流模式及负载电流;
  4. 对Source执行参数生效并启动;
  5. 对Sink执行参数生效并启动;
  6. 等待协议协商和南向功率板命令实际执行,不能将COM响应当作输出已经生效;
  7. 连续读取量测值,电压稳定并保持3次有效采样后再进入老化计时;
  8. 启动失败时先停止Sink,再停止Source,禁止直接反复发送启动命令。

正常停止顺序为:Sink停止并确认电流下降,然后Source停止并确认电压下降,最后才允许切换角色或协议。

5. 判定标准

5.1 单次启动合格条件

  • Source和Sink协议类型与设定一致;
  • 启动后5秒内进入稳定运行状态;
  • 稳态电压与目标电压误差不超过200mV;
  • 稳态电流误差不超过max(50mA, 设定值的5%);
  • 连续3次采样均满足要求后判定本次启动成功;
  • 状态和故障寄存器无新增故障位;
  • 无南向连续3次超时、队列取消、协议掉线或系统复位。

5.2 老化过程停止条件

出现以下任一情况应立即停止对应回路;出现过压、异味、冒烟或连接器异常发热时停止整机:

  • 电压持续3秒超出目标值±500mV;
  • 电流持续3秒超出设定值±10%;
  • 协议掉线后5秒内不能自动恢复;
  • 功率板报告欠压、过压、过流或其他故障;
  • 连续3次COM无响应,或出现南向批量命令失败;
  • 任一通道量测值连续5秒不更新;
  • 设备复位、线程停止、LED2/LED3长时间停止刷新;
  • 温度超过器件或整机规格。规格未明确时,连接器和线缆表面达到70摄氏度应停止测试。

6. 48小时老化安排

阶段A:低功率预老化,2小时

时间 回路A 回路B 目的
0~1小时 标准5V/0.5A PD 5V/0.5A 检查基础源载和PD启动
1~2小时 QC3.0 9V/0.5A FCP 9V/0.5A 检查D+/D-协议带载稳定性

每15分钟执行一次停止、等待5秒、重新启动。阶段结束后检查连接器、继电器和线材温升。

阶段B:协议覆盖,6小时

共执行8个测试时段,每个时段45分钟。两组回路同时使用不同协议;后4个时段交换协议分配,确保两组回路都覆盖全部协议。

时段 回路A 回路B
1 标准 PD固定档
2 PD PPS QC2.0
3 QC3.0 FCP
4 AFC UFCS
5 PD固定档 标准
6 QC2.0 PD PPS
7 FCP QC3.0
8 UFCS AFC

每个时段内轮换该协议支持的电压档位,负载电流在0.5A和1A之间交替。协议不支持对应电压时,使用协议实际支持的最近档位。

序号 协议 电压 负载电流
1 标准 5V、9V、12V 0.5A、1A
2 PD固定档 5V、9V、12V、15V、20V 0.5A、1A
3 PD PPS 5V、9V、12V 0.5A、1A
4 QC2.0 5V、9V、12V 0.5A、1A
5 QC3.0 5V、9V、12V 0.5A、1A
6 FCP 5V、9V、12V 0.5A、1A
7 AFC 5V、9V、12V 0.5A、1A
8 UFCS 按当前固件支持档位 0.5A、1A

未正式实现或尚未完成硬件验证的协议应标记为“不适用”,不得用其他协议的通过结果代替。

阶段C:额定功率长期运行,20小时

  • 两组回路同时运行;
  • 优先选择PD 20V和QC3.0 12V两个代表性协议;
  • 电流按照额定能力的25%、50%、80%循环;
  • 每个电流档保持30分钟;
  • 每2小时停止两组回路,等待30秒后重新启动;
  • 每4小时记录一次主控板、协议板、功率板、连接器和线缆温度;
  • 第10小时交换两组回路使用的协议,避免固定通道只验证一种协议。

若设备额定值或散热条件不允许80%档位长时间运行,应以硬件额定连续功率为上限,并在记录中说明限制原因。

阶段D:动态调节与协议重协商,8小时

每个循环执行以下步骤,循环间隔不得小于30秒:

  1. 在同一协议下按0.5A -> 1A -> 2A -> 1A -> 0.5A调节负载;
  2. 每个电流档保持60秒;
  3. 固定电流,在协议允许范围内按5V -> 9V -> 12V -> 9V -> 5V调节电压;
  4. 每个电压档稳定后保持60秒;
  5. 停止Sink,再停止Source;
  6. 在PD与QC3.0之间切换协议并重新启动;
  7. 检查切换前输出是否先降为0,以及新协议是否重新协商成功。

2A仅在源、载、线材及连接器均支持时使用,否则替换为额定电流的80%。

阶段E:角色切换,6小时

执行200次角色切换动作,即100个完整往返循环:

  1. CH1 Source/CH2 Sink、CH3 Source/CH4 Sink运行60秒;
  2. 停止Sink并确认电流下降;
  3. 停止Source并确认电压下降;
  4. 等待5秒;
  5. 切换为CH2 Source/CH1 Sink、CH4 Source/CH3 Sink;
  6. 运行60秒并记录结果;
  7. 再按相同步骤切换回原角色,完成第二次切换动作和一个完整往返循环。

每20个完整往返循环更换一次协议,依次使用标准、PD、QC3.0、FCP和AFC。任何一次切换失败都必须保存前后30秒日志。

阶段F:通信和整机重启,6小时

  • 正常运行时每秒读取一次全部四通道量测;
  • 每10分钟执行一次四通道连续参数设置,命令之间等待Modbus响应;
  • 四通道参数生效完成后等待300ms,再开始判断量测结果;
  • 每30分钟执行一次全部停止和重新启动;
  • 每小时执行一次整机断电重启,断电保持30秒;
  • 重启后确认四通道初始状态安全,不允许未经上位机启动就输出或带载;
  • 共完成不少于6次整机断电重启。

7. 数据记录

老化程序至少保存以下字段,建议使用CSV格式:

timestamp,stage,cycle,pair,source_ch,sink_ch,protocol,
target_voltage_mv,target_current_ma,source_voltage_mv,source_current_ma,
sink_voltage_mv,sink_current_ma,source_status1,source_status2,
sink_status1,sink_status2,source_fault1,source_fault2,
sink_fault1,sink_fault2,com_error_count,south_timeout_count,
protocol_drop_count,restart_count,board_temp_c,connector_temp_c,result

发生异常时额外保存:

  • 异常前后至少30秒的原始COM收发帧;
  • Source/Sink协议板原始回码;
  • 南向功率板写命令、响应、重试次数及失败寄存器;
  • 四通道状态、故障、电压、电流和工作状态机;
  • 异常时温度、输入电压及现场照片。

8. 最终通过条件

  • 48小时计划全部完成,无安全类故障;
  • 四个通道均完成Source和Sink角色老化;
  • 所有声明支持的协议完成正向和反向连接验证;
  • 200次角色切换动作(100个完整往返循环)无失败;
  • 不少于6次整机断电重启均正常恢复;
  • 无不明复位、线程阻塞、量测长期不更新或通道永久失联;
  • 电压、电流和温升满足本计划判定标准;
  • 所有异常均有日志、复现条件和明确结论。

测试完成后形成汇总表,按通道统计启动次数、成功率、协议掉线次数、南向超时次数、最大电压误差、最大电流误差和最高温度。任何未达到100%启动成功率的项目均不得直接判定整机老化通过。