实例讲解电动汽车VIN写入规则及Simulink建模方法(二)——VIN写入方法及Simulink建模

目录

一、整车VIN码写入设置规则

二、整车VIN码写入设置策略

1、校验后帧号确定

2、逐帧写入VIN号

3、VIN写入标识位判定

三、整车VIN码写入Simulink建模

1、校验后帧号确定

2、逐帧写入VIN号

3、VIN写入标识位判定

四、总结


一、整车VIN码写入设置规则

1、byte1:表示帧号,范围0x00-0x03。

0x01:第一帧

0x02:第二帧

0x03:第三帧

0x00:结束帧

2、byte2-byte7:VIN码发送,从第1位开始,发送的数值为ASCII码,ASCII码对应的字符即为VIN对应位的字符。比如VIN第一位为L,写入设置时发送0x4C

Bin

Oct

Dec

Hex

缩写/字符

解释

(二进制)

(八进制)

(十进制)

(十六进制)

0011 0000

60

48

0x30

0

字符0

0011 0001

61

49

0x31

1

字符1

0011 0010

62

50

0x32

2

字符2

0011 0011

63

51

0x33

3

字符3

0011 0100

64

52

0x34

4

字符4

0011 0101

65

53

0x35

5

字符5

0011 0110

66

54

0x36

6

字符6

0011 0111

67

55

0x37

7

字符7

0011 1000

70

56

0x38

8

字符8

0011 1001

71

57

0x39

9

字符9

0100 0001

101

65

0x41

A

大写字母A

0100 0010

102

66

0x42

B

大写字母B

0100 0011

103

67

0x43

C

大写字母C

0100 0100

104

68

0x44

D

大写字母D

0100 0101

105

69

0x45

E

大写字母E

0100 0110

106

70

0x46

F

大写字母F

0100 0111

107

71

0x47

G

大写字母G

0100 1000

110

72

0x48

H

大写字母H

0100 1001

111

73

0x49

I

大写字母I

1001010

112

74

0x4A

J

大写字母J

0100 1011

113

75

0x4B

K

大写字母K

0100 1100

114

76

0x4C

L

大写字母L

0100 1101

115

77

0x4D

M

大写字母M

0100 1110

116

78

0x4E

N

大写字母N

0100 1111

117

79

0x4F

O

大写字母O

0101 0000

120

80

0x50

P

大写字母P

0101 0001

121

81

0x51

Q

大写字母Q

0101 0010

122

82

0x52

R

大写字母R

0101 0011

123

83

0x53

S

大写字母S

0101 0100

124

84

0x54

T

大写字母T

0101 0101

125

85

0x55

U

大写字母U

0101 0110

126

86

0x56

V

大写字母V

0101 0111

127

87

0x57

W

大写字母W

0101 1000

130

88

0x58

X

大写字母X

0101 1001

131

89

0x59

Y

大写字母Y

0101 1010

132

90

0x5A

Z

大写字母Z

3、整车VIN码共需4帧报文,第3帧的byte7为无效位,置FF,第4帧为结束帧,byte1:0x00,byte2-7:0xFF。

二、整车VIN码写入设置策略

1、校验后帧号确定

经过上一步的校验,输出校验结果,校验方法详细介绍参考之前发布的《实例讲解电动汽车VIN写入规则及Simulink建模方法(一)——VIN校验方法及Simulink建模》。

当校验结果为1时,输出当前帧号作为校验后帧号,当校验结果为0时,输出无效值8作为校验后帧号,后续不执行写入操作

2、逐帧写入VIN号

使用Vector Concatenate模块,该模块串联相同数据类型的输入信号以生成连续输出信号,输入数目设置为18,最后生成连续的VIN码,写入VCU内存中

当校验后帧号为1时,将当前帧号1对应的VIN_1-VIN_6输出给Vector Concatenate模块

当校验后帧号为2时,将当前帧号2对应的VIN_1-VIN_6输出给Vector Concatenate模块

当校验后帧号为3时,将当前帧号3对应的VIN_1-VIN_6输出给Vector Concatenate模块

3、VIN写入标识位判定

当检测到CAN 0x571报文为激活状态且检测到校验后帧号上一状态为0x03,VIN第三帧,当前状态为0x00,结束帧时,说明完成了VIN共4帧报文的传输;

此时VIN写入标识位置1,表示一次完整的VIN写入设置流程完成,可以执行写入VCU内存

三、整车VIN码写入Simulink建模

1、校验后帧号确定

1)输入信号

VINFrm_Nmb:当前VIN帧号

ChkRlt:校验结果,校验通过为1,校验不通过为0

2)输出信号:

ChkVINFrm_Nmb:校验后VIN帧号

3)控制逻辑

ChkRlt==1时,ChkVINFrm_Nmb=VINFrm_Nmb

ChkRlt==0时,ChkVINFrm_Nmb=8

4)Simulink模型

按照控制逻辑搭建SImulink模型

2、逐帧写入VIN号

1)输入信号

ChkVINFrm_Nmb:校验后VIN帧号

VIN_1:该帧第1位VIN码

VIN_2:该帧第2位VIN码

VIN_3:该帧第3位VIN码

VIN_4:该帧第4位VIN码

VIN_5:该帧第5位VIN码

VIN_6:该帧第6位VIN码

2)输出信号

WriteVIN_Value:写入VIN数值

3)控制逻辑

ChkVINFrm_Nmb==1时,输出该帧的VIN_1~VIN_6,当ChkVINFrm_Nmb~=1时,保持上一状态输出

ChkVINFrm_Nmb==2时,输出该帧的VIN_1~VIN_6,当ChkVINFrm_Nmb~=2时,保持上一状态输出

ChkVINFrm_Nmb==3时,输出该帧的VIN_1~VIN_6,当ChkVINFrm_Nmb~=3时,保持上一状态输出

4)Simulink模型

a、ChkVINFrm_Nmb==1时,Simulink模型

b、3帧逐帧写入VIN号Simulink模型

c、Vector Concatenate模块设置

3、VIN写入标识位判定

1)输入信号

VIN_CAN0x561_Active:VIN写入报文0x561激活状态

ChkVINFrm_Nmb:校验后VIN帧号

2)输出信号

VINWrite_Flg:VIN写入标识位

3)控制逻辑

VIN_CAN0x561_Active==1,且ChkVINFrm_Nmb==0,且ChkVINFrm_Nmb上一状态等于3时,VINWrite_Flg=1

4)Simulink模型

a、VIN写入标识位Simulink模型

b、延时判定模块,当满足条件后,VIN写入标识位置1,保持1的状态输出5个周期,如果不满足条件,VIN写入标识位置0。延时判定模块具体搭建方法可参考之前发布的《实例讲解Simulink开关信号滤波处理、信号解析及仿真测试验证方法》

四、总结

本文介绍了一种车辆VIN写入设置方法,并介绍了其Simulink建模方法。后续会介绍整车VIN码参数设置状态反馈方法。希望能给相关技术人员带来一定参考和帮助。


欢迎关注同名微信公众号:汽车电控研习室

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车电控研习室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值