HONGRI/README.md
2024-10-31 17:16:49 +08:00

5.7 KiB
Raw Permalink Blame History

唤醒源

  • 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信号存在, 即可发送报文