docs: 新增电源流程文档并更新代码版本号及注释
新增 docs/电源流程.md,记录电源各阶段指令流向 更新多个源文件的版本号从 V1.1.24 到对应版本 修改 chrg_rel.c 注释补充继电器包含类型 修改 chrg_source.c、chrg_lcd.c 中部分子命令定义
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_fal.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 初始化片上FLASH存储驱动,参数读/写FLASH接口实现;
|
||||
升级数据包写入实现;日志写入FLASH实现。
|
||||
版本历史 : 创建原始版本
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_fal.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 提供参数读/写FLASH接口。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_gpio.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 一般性 GPIO 读写操作: 管脚设置,读取等
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_gpio.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 :
|
||||
GPIO口宏定义。
|
||||
版本历史 : 创建原始版本
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_led.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 采用系统软件定时器驱动多路GPIO
|
||||
LED灯,实现LED等工作模式初始化,闪烁方式等的功能。
|
||||
版本历史 : 创建原始版本
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_led.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 控制LED灯工作模式。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_rel.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : sink/source 切换继电器操作。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
@@ -28,7 +27,7 @@ struct chrg_rel_t chrgrel[TOTAL_NOR_CHS] = {
|
||||
输入参数: ch: 通道索引 id: sink/source
|
||||
输出参数: -
|
||||
返回说明: -
|
||||
其它说明: -
|
||||
其它说明: -包含D+D-,CC1,CC2继电器
|
||||
*****************************************************************/
|
||||
void chrg_nor_sw_rel (eIDX_NOR_CH ch, eIDX_ID id)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_rel.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : sink/source 切换继电器操作。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_switch.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : SN74LV4052APW 选通操作接口。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_switch.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : SN74LV4052APW 选通操作接口。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_tmr.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 芯片内支持的高精度(us级)硬件定时器操作实现:启动、停止、回调等接口。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_tmr.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 高精度(us级)硬件定时器调用接口:启动、停止、读取时刻等接口。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_tty.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 实现串口设备创建、销毁、配置、读取数据、发送数据等接口函数。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_tty.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 串口设备调用接口:创建、销毁、配置、读取数据、发送数据等接口。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_vcom.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 实现USB虚拟串口作为控制终端。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_vcom.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 实现USB虚拟串口作为控制终端。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_wdt.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 实现芯片内部看门狗初始化以及喂狗函数。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_wdt.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 实现芯片内部看门狗初始化以及喂狗函数。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_comm.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.31
|
||||
主要功能 : 实现对外通讯协议 MODBUS 服务端,以独立线程等待处理响应请求数据。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_lcd.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 实现与显示屏交互,向屏更新数据与接收屏控制数据,以独立线程处理。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
@@ -49,7 +48,7 @@ void chrg_sou_stop(eIDX_SOU_CH ch,struct chrg_switch_t *pSW,struct chrg_north_t
|
||||
}
|
||||
else if(pSW->id == ID_SINK){
|
||||
pSW->sink.On_work = 0;
|
||||
pSW->sub = IDX_SET_SINK_WORK_STATE;
|
||||
pSW->sub = IDX_GET_SINK_VC;
|
||||
}
|
||||
pSOU->online[ch] = 0;
|
||||
#if LCD_OPEN
|
||||
@@ -96,7 +95,7 @@ void chrg_set_CC(rt_uint8_t ch,struct chrg_switch_t *pSW){
|
||||
void chrg_roll_set_cv(eIDX_NOR_CH ch,struct chrg_switch_t *pSW,rt_uint8_t CV_flag){
|
||||
if(CV_flag ==1) chrg_set_CV(ch,pSW);
|
||||
else chrg_set_CC(ch,pSW);
|
||||
pSW->sub = IDX_SET_SOURCE_ID;
|
||||
pSW->sub = IDX_GET_SOURCE_VC;
|
||||
}
|
||||
/*****************************************************************
|
||||
函数名称: chrg_lcd_parse
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_lcd.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 实现与显示屏交互,向屏更新数据与接收屏控制数据。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_north.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.39
|
||||
主要功能 : 实现北向通信交互,包括接收命令解析,发送请求命令,切换通路。以独立线程处理。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_roll_sou.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.36
|
||||
主要功能 : 实现南向通信轮巡请求命令。以独立线程处理。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_roll_sou.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 实现南向通信轮巡请求命令。以独立线程处理。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_south.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.31
|
||||
主要功能 : 实现南向通信交互,包括接收命令解析,发送请求命令,切换通路。以独立线程处理。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_south.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 实现南向通信交互,包括接收命令解析,发送请求命令,切换通路。以独立线程处理。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_thread.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 启动多个业务线程
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_thread.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 统一管理业务线程,业务线程信息定义。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_eload.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.34
|
||||
主要功能 : 源载命令数据解析,封装,读写请求。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_eload.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.34
|
||||
主要功能 : 源载命令数据解析,封装,读写请求,寄存器定义,数据结构定义。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_north_pkg.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 北向数据编码、解码。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_source.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 北向数据source请求数据填充及发送。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
@@ -324,7 +323,7 @@ static int chrg_source_work_stop(eIDX_SOU_CH idx, struct chrg_switch_t *pSW)
|
||||
pNOR->enable[idx] = 0;
|
||||
pSOU->online[idx] = 0;
|
||||
chrg_nor_sw_rel((eIDX_NOR_CH)idx, 0);
|
||||
pSW->sub = IDX_SET_SOURCE_STOP_STATE;
|
||||
pSW->sub = IDX_GET_SOURCE_VC;
|
||||
pSW->source.work_mode = SOURCE_WORK_WAIT;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_source.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 北向数据source请求数据填充及发送,命令字定义。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_utils.c
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 一些通用数据封装,功能接口。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/****************************************************************************
|
||||
文件名称 : chrg_utils.h
|
||||
完成日期 :
|
||||
当前版本号 : V1.1.24
|
||||
主要功能 : 一些通用数据封装,功能接口。
|
||||
版本历史 : 创建原始版本
|
||||
说明 :
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
# 电源流程
|
||||
|
||||
本文按当前代码记录每个通道的实际指令流向。南向为功率板 Modbus 指令;北向为协议板命令。北向配置命令收到匹配回码后才推进状态。
|
||||
|
||||
## 电源初始化/停止后重新启动
|
||||
|
||||
```text
|
||||
上位机 PARAM_EFFECT(电源启动)
|
||||
-> Source INIT
|
||||
-> 南向批次:REG_ELOAD = ELOAD_SOURCE
|
||||
-> 南向批次:REG_MODE = CV_mode
|
||||
-> 南向批次:REG_REL_ON = 0x03
|
||||
-> 南向批次:REG_CURRENT_OUT + 1 = 协议最大电流
|
||||
-> 南向批次:REG_WORK = WORK_START
|
||||
-> 北向继电器:chrg_nor_sw_rel(ch, ID_SOURCE)
|
||||
接通该通道的 D+/D-、CC Source 路径
|
||||
-> 等待整组南向初始化命令回码
|
||||
-> [标准协议 PRO_NONE]
|
||||
南向:写入目标电压,进入 RUNING
|
||||
-> [快充协议]
|
||||
北向:设置电源协议(0xD0)
|
||||
等待 0xD0 回码后 100ms
|
||||
北向:设置目标 CC
|
||||
北向:0x20 查询协商电压/电流
|
||||
北向量测解析后,南向写入最新输出电压
|
||||
```
|
||||
|
||||
快充初始化时功率板启动电压会先置为 0,避免沿用上一次协商电压;启动保护电流使用协议最大电流。
|
||||
|
||||
## 运行中同类别协议或 CC 切换
|
||||
|
||||
适用于 PD 到 PD、非 PD 到非 PD,或仅 CC 改变。
|
||||
|
||||
```text
|
||||
上位机 PARAM_EFFECT
|
||||
-> Source PROTOCOL_SWITCH
|
||||
-> 南向:REG_VOLTAGE_OUT + 1 = 0
|
||||
-> [标准协议] 同一南向批次继续写 REG_MODE、REG_CURRENT_OUT + 1
|
||||
-> 北向:设置新协议(0xD0)
|
||||
-> 等待 0xD0 回码后 100ms
|
||||
-> 北向:设置目标 CC
|
||||
-> 北向:0x20 查询协商电压/电流
|
||||
-> 北向量测解析后,南向写入新的输出电压
|
||||
```
|
||||
|
||||
当前实现中,南向 0V 命令成功入队后就允许继续北向协议设置;不会等待该条南向命令的回码。此流程不会关闭南向继电器,也不会断开北向 D+/D-、CC 继电器。
|
||||
|
||||
## PD 与非 PD 跨类别切换
|
||||
|
||||
```text
|
||||
上位机 PARAM_EFFECT
|
||||
-> 取消本通道尚未完成的南向批次
|
||||
-> 南向:REG_WORK = WORK_STOP
|
||||
-> 等待南向回码
|
||||
-> 南向:REG_REL_ON = ALL_REL_OFF
|
||||
-> 等待南向回码
|
||||
-> 北向继电器断开:chrg_nor_sw_rel(ch, 0)
|
||||
断开该通道 D+/D-、CC 路径
|
||||
-> 北向:Source RESET
|
||||
-> 等待 RESET 回码
|
||||
-> 再执行 Source INIT
|
||||
-> 北向:设置协议(0xD0)
|
||||
-> 等待 0xD0 回码后 100ms
|
||||
-> 北向:设置目标 CC
|
||||
-> 北向:0x20 查询协商结果
|
||||
```
|
||||
|
||||
跨类别切换是当前唯一会主动断开北向 D+/D-、CC 继电器的协议切换路径。
|
||||
|
||||
## 停止电源
|
||||
|
||||
```text
|
||||
上位机停止
|
||||
-> 南向批次:关闭两路功率继电器
|
||||
-> 南向批次:输出电压清零
|
||||
-> 南向批次:REG_WORK = WORK_STOP
|
||||
-> 北向继电器断开:chrg_nor_sw_rel(ch, 0)
|
||||
-> 禁用北向轮询,清除目标电压和运行标志
|
||||
```
|
||||
|
||||
停止命令只要求成功入队;当前不会等待南向回码后才断开北向继电器。
|
||||
|
||||
## 当前延时参数
|
||||
|
||||
| 位置 | 当前值 | 起点 |
|
||||
| --- | ---: | --- |
|
||||
| 北向协议设置回码等待上限 | 150ms | 每次协议/CC命令发出后 |
|
||||
| 0xD0 回码后的协议生效保护 | 100ms | 收到匹配 0xD0 回码后 |
|
||||
| 北向 0x20 量测回码等待上限 | 80ms | 每次 0x20 发出后 |
|
||||
|
||||
Reference in New Issue
Block a user