forked from tianzhenbo/HONGRI
5.7 KiB
5.7 KiB
唤醒源
- ACC
- A+
A+到达后, FDC通过BMS输出的电池信息BMS28、BMS29完成和充电桩的参数配置。发送充电允许(FDC_1帧ChargingPermit=1)。
等待BMS直流充电请求(BMS41帧BMSDcChrgRqst=1)。
在(FDC_1帧ChargingPermit=1)状态下,如FDC收到的(BMS41帧BMSDcChrgRqst=0)时长超过5秒,则停止直流充电流程
FDC收到的(BMS41帧BMSDcChrgRqst=1)后,模拟车辆充电准备,待直流充电桩完成预充闭合K1、K2。
充电完成后,BMS应将BMS41帧的请求电压和请求电流置0,充电请求置2。
充电桩主动停止工况,FDC输出(FDC_1帧ChargingPermit=0)。BMS收到该信号状态后,发送充电请求置2。FDC、BMS进入等待状态。
1、流充电机停止12V辅助供电输出,VCU检测到直流充电唤醒信号停止,指令BMS下高压。
2、下高压完成后VCU停止BMS唤醒信号输出,整车休眠。
graph TD
A[直流枪插入,A+有效] --> B[直流充电机输出12V辅助供电信号唤醒VCU和FDC]
B --> C{条件a}
C --> |如果车辆处于低压上电状态| D(VCU判断12V辅助供电信号是否有效 有效且满足上高压条件则指令BMS上高压)
C --> |车辆处于上高压状态| E[FDC通过BMS输出的电池信息BMS28 BMS29完成和充电桩的参数配置 发送充电允许FDC_1帧ChargingPermit=1并等待BMS直流充电请求BMS41帧BMSDcChrgRqst=1]
C --> |下电| F(VCU通过硬线唤醒BMS)
工作流程
graph TD
A[CC_CHARGE_INIT]
A-->|timer_count>2|B
%% 时序图例子,-> 直线,-->虚线,->>实线箭头
sequenceDiagram
participant FDC
participant BMS
loop time == 500ms
FDC ->> BMS:FDC_1 ID:0x1801F3D2
end
loop time == 1000ms
FDC-->>BMS:FDC_2 ID:0x18FEF0D2
FDC-->>BMS:FDC_3 ID:0x18FEF1D2
FDC-->>BMS:FDC_4 ID:0x18FEF2D2
FDC-->>BMS:FDC_5 ID:0x18FEF3D2
FDC-->>BMS:FDC_6 ID:0x18FEF4D2
FDC-->>BMS:FDC_7 ID:0x18FEF5D2
end
opt CC2
FDC-->>BMS:FDC_1 ID:0x1801F3D2 FDC_CC2Status=1
end
FDC-->>+BMS: 充电请求
BMS-->>-FDC: 充电请求
0x18659BF4 这个是基ID
0x10000 电池单体
(ID - 0x18659BF4) = 等于数组编号
- 现在要搞清楚充电桩的输出电压电流
- 充电桩桩允许的最高电压电流输出,最低电压电流输出 这个在CCS报文里面
原始错误码 | 豪驰错误码 |
---|---|
{2 , "boost升压电压不匹配"},
{3 , "收到充电桩停止充电报文"},
{4 , "小程序停机"},
{6 , "充电桩电流波动"},
{7 , "长期无电流停止"},
{8 , "接收充电桩数据报文超时"},
{9 , "充电桩二次启动"},
{10, "过温降载/停机"},
{11, "充电桩输出电压-过压停机"},
{12, "充电桩电流超过bms需求电流/最大充电电流 "},
{13, "充电桩辅助电源24V平台--充电停机"},
{14, "接收车辆报文超时 "},
{15, "V车辆电池包充电状态非--快充可充电"},
{16, "VCU状态非充电状态"},
{17, "FDC二次启动次数超时"},
{18, "充电流程超时停机"},
{19, "充电桩输出电压过压保护"},
{20, "电源模块故障"},
{21, "充电桩超功率保护"},
{22, "FDC输出反接故障"},
{23, "FDC输入反接故障"},
{24, "FDC输出继电器故障"},
{25, "充电达到电池容量停机"},
{26, "充电达到设定时间停机"},
{27, "充电达到设定SOC停机"},
{28, "SOC达到100停机"},
{29, "辅助电源低故障"},
{50, "电池包保险熔断"},
{51, "电池主正主负接触器未闭合"},
{52, "电池未准备好"},
{53, "VCU禁止充电"},
{54, "电池包充电信号状态不对"},
{55, "电池电流需求为0停机"},
{56, "单体高温告警"},
{57, "单体温感采集线断线"},
{58, "电池包总压采样回路故障"},
{59, "电池单体电压采集线断线"},
{60, "单体过压故障"},
{61, "总电压过压故障"},
{62, "高压环路互锁故障"},
{63, "温差故障"},
{64, "单体压差故障"},
{65, "高压回路主保险诊断"},
{66, "放电过流"},
{67, "电流采样"},
{68, "电流传感器故障"},
{69, "绝缘故障"},
{70, "soc 高故障"},
{71, "主继电器粘连"},
{72, "预充失败"},
{73, "电池加热继电器粘连"},
{74, "车辆CAN通信故障"},
{75, "充电插座温度异常"},
{76, "过充"},
{77, "单次加热时间长故障"},
{78, "VCU通信故障"},
{79, "热失控报警"},
{91, "电池高温警告"},
{92, "单体低温报警"},
{93, "单体欠压报警"},
{94, "总电压欠压警告"},
{95, "soc低警告"},
{96, "soc 跳变警告"},
{97, "充电过流"},
{98, "电池低温警告"},
报文填充
typedef union
{
uint8_t stats[8];
uint32_t data[2];
struct
{
uint8_t FDC_Output_VStatus:2; //FDC输出电压状态
uint8_t FDC_Input_VStatus:2;//FDC入电压状态
uint8_t FDC_Output_Over_Curr_Pro:1;//输出过流保护
uint8_t FDC_Out_Shor_Cir_Pro:1;//输出短路保护
uint16_t FDC_Input_Current:10;//输入电流
uint16_t FDC_Input_Voltage:13;//输入电压
uint8_t reserve1:3;
uint16_t FDC_Output_Voltage:12;//输出电流
uint16_t FDC_Output_Current:11;//输入电压
uint16_t reserve2:9;
}bits;
}FDC2BMS1;
发送报文到充电桩
- 单体温度报文
- 单体电压报文
凯翼网络管理流程
- CC2信号视为 FDC的主动网络请求
- 当CC2信号存在时
- 整车OFF档, CC2 和 A+同时存在 发送2s网络管理报文,根据是否接收到BMS报文作为是否完成整车唤醒
- 整车ON档, CC2信号存在, 即可发送报文
- 当CC2信号存在时