fix: 修复PD切换时CC参数未更新导致充电输出异常的问题

1 将南向COM单次最大发送条数从2调整为6
2 更新协议板版本寄存器值为0x0145
3 修改CC设置逻辑,协议切换后强制重新设置CC
4 新增调试打印语句,便于排查复位后的D+D-状态
5 同步版本号至V1.1.53并更新修改日志
This commit is contained in:
wrh
2026-09-30 14:52:11 +08:00
parent 28f854484b
commit 0ed8c98e48
5 changed files with 19 additions and 9 deletions
+5 -6
View File
@@ -27,7 +27,7 @@
#include "stm32f4xx_hal.h"
#define HOLD_REG_FIRMWARE_VERSION 0x0300U /* 协议板固件版本,只读 */
#define CHRG_FIRMWARE_VERSION 0x0144U /* 当前协议板版本:V1.1.52 */
#define CHRG_FIRMWARE_VERSION 0x0145U /* 当前协议板版本:V1.1.53 */
rt_uint8_t ucDiscInBuf[(TOTAL_DISC_REGS+BITS_UCHAR-1)/BITS_UCHAR];
@@ -2022,12 +2022,11 @@ static eMBException chrg_comm_apply_sink_effect(rt_uint8_t ch,
pReal->sink.work_mode = SINK_WORK_INIT;
} else if (full_handshake_change) {
/*
* 只有CC实际变化时才发送目标CC命令并等待;协议类型或组号
* 单独变化时直接重发PD帧,不重复设置未变化的CC。
* 协议与CC同时变化时先设置目标CC,CC稳定后再发送协议;
* 仅协议变化时不重复设置未变化的CC。
* 协议类型变化会复位Sink协议板,复位会清除协议板内部CC选择;
* 即使上位机CC参数未变化,也必须重新设置CC并等待稳定后再设协议。
*/
if (diff_info.cc_changed && protocol_data_changed) {
if (diff_info.protocol_changed ||
(diff_info.cc_changed && protocol_data_changed)) {
/* Protocol-before-CC test flow is disabled in this version. */
target_sub = diff_info.cv_changed ?
IDX_SET_SINK_CC_BEFORE_PD_WITH_MODE :
+1 -1
View File
@@ -27,7 +27,7 @@
#endif
/* 南向COM批次中单通道连续收到有效回码后的最大发送条数。 */
#define SOU_COM_BURST_MAX 2U
#define SOU_COM_BURST_MAX 6U
/* 自动停止带载后,电压恢复时需要连续确认的新P1采样帧数。 */
#define SINK_LOAD_RESTART_CONFIRM_COUNT 2U
@@ -270,6 +270,9 @@ static rt_bool_t chrg_roll_nor_sink_wait_process(rt_uint8_t ch,
g_sink_reset_wait_mask &= (rt_uint8_t)~bit;
g_sink_reset_wait_start[ch] = 0U;
chrg_nor_sw_rel((eIDX_NOR_CH)ch, ID_SINK);
#if SOUTH_COMMAND_DEBUG
rt_kprintf("-------D+D- OPEN AFTER RESET: CH%d------\n", ch + 1U);
#endif
pSW->sub = g_sink_reset_next_sub[ch];
g_sink_reset_next_sub[ch] = 0U;
return RT_TRUE;
+2 -2
View File
@@ -14,8 +14,8 @@
/* CHRG application version. Keep this value synchronized with the changelog. */
#define CHRG_VERSION_MAJOR 1U
#define CHRG_VERSION_MINOR 1U
#define CHRG_VERSION_PATCH 52U
#define CHRG_VERSION_STRING "V1.1.52"
#define CHRG_VERSION_PATCH 53U
#define CHRG_VERSION_STRING "V1.1.53"
/*
* Channel polling mode:
+8
View File
@@ -1,5 +1,13 @@
# 修改日志
## V1.1.53 - 2026-09-30
### 负载协议切换后CC恢复
- Sink协议类型切换触发复位后,固定重新下发CC选择并等待稳定,再设置目标协议。
- 修复PD切换为标准5V时CC参数未变化而跳过CC设置,导致充电头不重新输出的问题。
- 协议板版本寄存器 `0x0300` 更新为 `0x0145`。
## V1.1.52 - 2026-09-29
### 南向YMODEM发送结果校验