一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种整车CAN总线负载率计算方法与流程

2023-02-01 21:06:00 来源:中国专利 TAG:

一种整车can总线负载率计算方法
技术领域
1.本发明涉及车载网络通讯技术领域,具体涉及一种整车can总线负载率计算方法。


背景技术:

2.随着车载网络技术技术已经普及,汽车上绝大智能控制器都采用网络总线通讯技术,而can总线技术目前已经成为最常用的车载网络通讯技术。由于负载率过高会导致can总线不稳定,可能会丢帧,总线负载率是整车can总线系统的一个重要技术指标。
3.影响can总线负载率的因数包括非数据帧位长度、数据帧位长度、固定报文每秒帧数、瞬时报文每秒帧数、波特率、填充位长度位,现有can总线负载率的计算方法只包含其中一种或多种类型can总线,不能涵盖所有can总线类型情形。


技术实现要素:

4.为了克服以上问题,本发明的目的是提供一种整车can总线负载率计算方法,具有准确性高、通用性强的特点。
5.为实现上述目的,本发明所设计的一种整车can总线负载率计算方法,其特征在于:首先获取当前网段下所有报文的负载率计算参数,负载率计算参数分别为非数据帧位长度、数据帧位长度、固定报文每秒帧数、瞬时报文每秒帧数、波特率、填充位长度位的数据;然后将当前网段下每帧报文的负载率计算参数输入计算模块中,得到每帧报文的负载率,将所有报文的负载率相加即得整个网段的总线负载率。
6.作为优选方案,所述整车can总线负载率包括正常总线负载率和峰值总线负载率;整车can总线负载率的计算方法具体包括以下步骤:
7.s1、网段检测模块检测当前网段的波特率;
8.s2、数据采集模块采集并提取当前网段下所有报文的原始数据:
9.id标识符、数据帧字节长度、固定报文周期、瞬时报文周期、波特率和填充位长度位;
10.s3、数据处理模块处理原始数据并获取当前网段下所有报文的负载率计算参数,分别为非数据帧位长度、数据帧位长度、固定报文每秒帧数、瞬时报文每秒帧数、波特率、填充位长度位的数据;
11.s4、将当前网段中每帧报文的负载率计算参数输入负载率计算模块中,获得当前网段中每帧报文的固定报文负载率和瞬时报文负载率以及负载率差值;将该网段所有报文的固定报文负载率求和即得该网段的正常总线负载率;将正常总线负载率与该网段所有报文的负载率差值求和即得该网段峰值总线负载率;
12.s5、负载率输出模块将该网段下的正常总线负载率和峰值总线负载率输出。
13.作为优选方案,所述步骤s3中:
14.所述非数据帧位长度根据原始数据中id标识符确定,首先由数据处理模块识别id标识符的帧类型,若帧类型为标准帧,设定a=47;若帧类型为扩展帧,设定a=67;其中,a为
非数据帧位长度;
15.所述数据帧位长度基于以下公式(1)确定:
16.b=8*b (1)
17.公式(1)中:b为原始数据中的数据帧字节长度,b为数据帧位长度;
18.所述固定报文每秒帧数基于以下公式(2)确定:
19.若c=0,则c=0;若c≠0,则c=1000/c (2)
20.公式(2)中:c为原始数据中的固定报文周期,c为固定报文每秒帧数;
21.所述瞬时报文每秒帧数基于以下公式(3)确定:
22.若d=0,则d=c;若d≠0,则d=1000/d (3)
23.公式(3)中:d为原始数据中的瞬时报文周期,d为瞬时报文每秒帧数。
24.作为优选方案,所述步骤s4中:
25.s41、整车在当前网段中每帧报文的固定报文负载率基于以下公式(4)确定:
26.fgn(%)=(an bn fn)*cn/en/10
ꢀꢀꢀ
(4)
27.其中,fgn为第n号报文的固定报文负载率;
28.an为第n号报文的非数据帧位长度;
29.bn为第n号报文的数据帧位长度;
30.cn为第n号报文的固定报文每秒帧数;
31.en为第n号报文的波特率,单位:kbits/s;
32.fn为第n号报文的填充位长度位;
33.s42、整车在当前网段中每帧报文的瞬时报文负载率基于以下公式(5)确定:
34.fsn(%)=(an bn fn)*dn/en/10
ꢀꢀꢀ
(5)
35.其中,fsn为第n号报文的瞬时报文负载率;
36.an为第n号报文的非数据帧位长度;
37.bn为第n号报文的数据帧位长度;
38.dn为第n号报文的瞬时报文每秒帧数;
39.en为第n号报文的波特率,单位:kbits/s;
40.fn为第n号报文的填充位长度位;
41.s43整车在该网段下每帧报文的负载率差值基于以下公式(6)确定:
42.gn(%)=fs
n-fgnꢀꢀꢀ
(6)
43.其中,gn为第n号报文的负载率差值
44.fgn为第n号报文的固定报文负载率;
45.fsn为第n号报文的瞬时报文负载率;
46.s44、该网段的正常总线负载率基于以下公式(7)确定:
[0047][0048]
其中,z为正常总线负载率;
[0049]
fg1为第1号报文的固定报文负载率;
[0050]
fg2为第2号报文的固定报文负载率;
[0051]
fgn为第n号报文的固定报文负载率;
[0052]
该网段的峰值总线负载率基于以下公式(8)确定
[0053][0054]
其中,v为峰值总线负载率;
[0055]
z为正常总线负载率;
[0056]
c1为第1号报文的负载率差值;
[0057]
c2为第2号报文的负载率差值;
[0058]gn
为第n号报文的负载率差值。
[0059]
作为优选方案,所述整车can总线负载率计算方法基于整车 can总线负载率计算装置实现,所述整车can总线率计算装置包括通过信号线依次连接的网段检测模块、数据采集模块、数据处理模块、计算模块以及负载率输出模块。
[0060]
一种整车can总线负载率检测装置,其特征在于,包括:
[0061]
网段检测模块,用于检测当前网段的波特率;
[0062]
数据采集模块,用于收集在该当前网段下所有报文的原始数据信息,包括id标识符、数据帧字节长度、固定报文周期、瞬时报文周期、波特率和填充位长度位;
[0063]
数据处理模块,根据每帧报文原始数据,获取当前网段下所有报文的负载率计算参数,分别为非数据帧位长度、数据帧位长度、固定报文每秒帧数、瞬时报文每秒帧数、波特率、填充位长度位的数据;
[0064]
负载率计算模块,将当前网段中每帧报文的负载率计算参数输入负载率计算模块中,获得当前网段中每帧报文的固定报文负载率和瞬时报文负载率以及负载率差值;将该网段所有报文的固定报文负载率求和即得该网段的正常总线负载率;将正常总线负载率与该网段所有报文的负载率差值求和即得该网段峰值总线负载率;
[0065]
负载率输出模块,用于输出该网段下的正常总线负载率和峰值总线负载率数值。
[0066]
作为优选方案,所述数据处理模块处理原始数据并获取当前网段下所有报文的负载率计算参数的具体过程为:
[0067]
所述非数据帧位长度根据原始数据中id标识符确定,首先由数据处理模块识别id标识符的帧类型,若帧类型为标准帧,设定a=47;若帧类型为扩展帧,设定a=67;其中,a为非数据帧位长度;
[0068]
所述数据帧位长度基于以下公式(1)确定:
[0069]
b=8*b (1)
[0070]
公式(1)中:b为原始数据中的数据帧字节长度,b为数据帧位长度;
[0071]
所述固定报文每秒帧数基于以下公式(2)确定:
[0072]
若c=0,则c=0;若c≠0,则c=1000/c (2)
[0073]
公式(2)中:c为原始数据中的固定报文周期,c为固定报文每秒帧数;
[0074]
所述瞬时报文每秒帧数基于以下公式确定:
[0075]
若d=0,则d=c;若d≠0,则d=1000/d (3)
[0076]
公式(3)中:d为原始数据中的瞬时报文周期,d为瞬时报文每秒帧数。
[0077]
作为优选方案,所述负载率计算模块的计算过程为:
[0078]
整车在当前网段中每帧报文的固定报文负载率基于以下公式(4) 确定:
[0079]
fgn(%)=(an bn fn)*cn/en/10
ꢀꢀꢀ
(4)
[0080]
其中,fgn为第n号报文的固定报文负载率;
[0081]an
为第n号报文的非数据帧位长度;
[0082]bn
为第n号报文的数据帧位长度;
[0083]cn
为第n号报文的固定报文每秒帧数;
[0084]en
为第n号报文的波特率,单位:kbits/s;
[0085]fn
为第n号报文的填充位长度位;
[0086]
整车在当前网段中每帧报文的瞬时报文负载率基于以下公式(5) 确定:
[0087]
fsn(%)=(an bn fn)*dn/en/10
ꢀꢀꢀ
(5)
[0088]
其中,fsn为第n号报文的瞬时报文负载率;
[0089]an
为第n号报文的非数据帧位长度;
[0090]bn
为第n号报文的数据帧位长度;
[0091]dn
为第n号报文的瞬时报文每秒帧数;
[0092]en
为第n号报文的波特率,单位:kbits/s;
[0093]fn
为第n号报文的填充位长度位;
[0094]
整车在该网段下每帧报文的负载率差值基于以下公式(6)确定:
[0095]gn
(%)=fs
n-fgnꢀꢀꢀ
(6)
[0096]
其中,gn为第n号报文的负载率差值
[0097]
fgn为第n号报文的固定报文负载率;
[0098]
fsn为第n号报文的瞬时报文负载率;
[0099]
该网段的正常总线负载率基于以下公式(7)确定:
[0100][0101]
其中,z为正常总线负载率;
[0102]
fg1为第1号报文的固定报文负载率;
[0103]
fg2为第2号报文的固定报文负载率;
[0104]
fgn为第n号报文的固定报文负载率;
[0105]
该网段的峰值总线负载率基于以下公式(8)确定
[0106][0107]
其中,v为峰值总线负载率;
[0108]
z为正常总线负载率;
[0109]
c1为第1号报文的负载率差值;
[0110]
c2为第2号报文的负载率差值;
[0111]gn
为第n号报文的负载率差值。
[0112]
本发明的优点在于:与传统的相比,本发明的具有以下优点:
[0113]
(1)本发明考虑了报文的帧类型、报文周期和瞬时报文周期、填充位长度位、波特率变化等多种因素,相较于理论总线负载率,本发明通过计算得到的正常总线负载率和峰值总线负载率的精度可达2%以内,远高于其他方法。
[0114]
(2)传统的can总线负载率计算方法,不能适用所有类型的 can总线系统,而本发明的can总线负载率计算方法适用所有类型的can总线系统,相较于传统的can总线负载率计算方法,具通用性更强。
附图说明:
图1为本发明整车can总线负载率计算方法的流程图;图2为实施例1的计算模块采用excel函数文档编程计算的结果图;图3为实施例2的计算模块采用excel函数文档编程计算的结果图。
具体实施方式
[0115]
为更好地理解本发明,以下将结合附图和具体实例对发明进行详细的说明。
[0116]
实施例1:某车型网段为波特率为500kbits/s
[0117]
结合图1所示,本实施例整车can总线负载率计算方法,包括步骤:
[0118]
1)网段检测模块检测当前网段的波特率:500kbits/s;
[0119]
2)数据采集模块采集并提取当前网段下所有报文的原始数据:
[0120]
1号报文:id标识符(a1)为id=0x110,数据帧字节长度(b1) 为8,固定报文周期(c1)为100ms,瞬时报文周期(d1)为0,波特率(e1)为500kbits/s,填充位长度位(f1)为3;
[0121]
2号报文:id标识符(a2)为id=0x325,数据帧字节长度(b2) 为8,固定报文周期(c2)200ms,瞬时报文周期(d2)为10ms,波特率(e2)为500kbits/s,填充位长度位(f2)为6;
[0122]
3)数据处理模块处理原始数据并获取当前网段下所有报文的负载率计算参数:
[0123]
1号报文:
[0124]
提取id=0x110识别为帧类型为标准帧,设定非数据帧位长度(a1) =47;
[0125]
提取数据帧字节长度(b1)为8,设定数据帧位长度(b1)=8*b1=64;
[0126]
提取固定报文周期(c1)为100ms,设定每秒帧数(c1)=1000/c1=10;
[0127]
提取瞬时报文周期(d1)为0,设定每秒瞬间帧数(d1)=c1=10;
[0128]
提取波特率(e1)为500kbits/s,设定该报文波特率(e1)=500;
[0129]
提取填充位长度位(f1)为3,设定该报文填充位长度位(f1)=3;
[0130]
2号报文:
[0131]
提取id=0x325识别为帧类型为标准帧,设定非数据帧位长度(a2) =47;
[0132]
提取数据帧字节长度(b2)为8,设定数据帧位长度(b2)=8*b1=64;
[0133]
提取固定报文周期(c2)为200ms,设定每秒帧数(c2)=1000/t1=5;
[0134]
提取瞬时报文周期(d2)为10ms,设定每秒瞬间帧数(d2) =1000/d2=100;
[0135]
提取波特率(e2)为500kbits/s,设定该报文波特率(e2)=500;
[0136]
提取填充位长度位(f2)为6,设定该报文填充位长度位(f2)=6;
[0137]
4)计算模块首先计算当前网段中2帧报文的固定报文负载率和瞬时报文负载率以及负载率差值:
[0138]
1号报文的固定报文负载率(%)(fg1):
[0139]
fg1=(a1 b1 f1)*c1/e1/10=0.228%;
[0140]
1号报文的瞬时报文负载率(%)(fs1):
[0141]
fs1=(a1 b1 f1)*d1/e1/10=0.228%;
[0142]
1号报文的负载率差值(%):
[0143]
g1=fs
1-fg1=0.228-0.228=0;
[0144]
2号报文的固定报文负载率(%)(fg2):
[0145]
fg2=(a2 b2 f2)*c2/e2/10=0.117%;
[0146]
2号报文的瞬时报文负载率(%)(fs2):
[0147]
fs2=(a2 b2 f2)*d2/e2/10=2.34%;
[0148]
c2=fs
2-fg2=2.34%-0.117%=2.223%;
[0149]
然后,将当前网段2帧报文的固定报文负载率、瞬时报文负载率、负载率差值求和得到了整个网段的正常总线负载率和峰值总线负载率:
[0150]
正常总线负载率
[0151][0152]
峰值总线负载率
[0153][0154]
计算模块可以采用ui界面软件编程解决,也可以用excel函数文档编程解决,结合图2所示,本实施例的计算模块采用excel函数文档编程计算。
[0155]
5)数据输出模块
[0156]
数据输出模块将正常总线负载率为0.345%、峰值总线负载率为 2.568%通过液晶显示器输出。
[0157]
实施例2:某车型网段为波特率为250kbits/s
[0158]
1)网段检测模块检测当前网段的波特率:250kbits/s;
[0159]
2)数据采集模块采集并提取当前网段下所有报文的原始数据:
[0160]
1号报文:id标识符(a1)为id=0x18ff01fb,数据帧字节长度 (b1)为8,固定报文周期(c1)为1000ms,瞬时报文周期(d1)为0,总线波特率(e1)为250kbits/s,填充位长度位(f1)为0;
[0161]
2号报文:id标识符(a2)为id=0x0c00000b,数据帧字节长度 (b2)为8,固定报文周期(c2)250ms,瞬时报文周期(d2)为20ms,总线波特率(e2)为250kbits/s,填充位长度位(f2)为3;
[0162]
3)数据处理模块处理原始数据并获取当前网段下所有报文的负载率计算参数:
[0163]
1号报文:
[0164]
提取id=0x18ff01fb识别为帧类型为扩展帧,设定非数据帧位长度(a1)=67;
[0165]
提取数据帧字节长度(b1)为8,设定数据帧位长度(b1)=8*b1=64;
[0166]
提取固定报文周期(c1)为1000ms,设定每秒帧数(c1)=1000/c1=1;
[0167]
提取瞬时报文周期(d1)为0,设定每秒瞬间帧数(d1)=c1=1;
[0168]
提取波特率(e1)为250kbits/s,设定该报文波特率(e1)=250;
[0169]
提取填充位长度位(f1)为0,设定该报文填充位长度位(f1)=0;
[0170]
2号报文:
[0171]
提取id=0x0c00000b识别为帧类型为扩展帧,设定非数据帧位长度(a2)=67;
[0172]
提取数据帧字节长度(b2)为8,设定数据帧位长度(b2)=8*b1=64;
[0173]
提取固定报文周期(c2)为250ms,设定每秒帧数(c2)=1000/t1=4;
[0174]
提取瞬时报文周期(d2)为20,设定每秒瞬间帧数(d2) =1000/d2=500;
[0175]
提取波特率(e2)为250kbits/s,设定该报文波特率(e2)=250;
[0176]
提取填充位长度位(f2)为3,设定该报文填充位长度位(f2) =3;
[0177]
4)计算模块首先计算当前网段中2帧报文的固定报文负载率和瞬时报文负载率以及负载率差值:
[0178]
1号报文的固定报文负载率(%)(fg1):
[0179]
fg1=(a1 b1 f1)*c1/e1/10=0.0524%;
[0180]
1号报文的瞬时报文负载率(%)(fs1):
[0181]
fs1=(a1 b1 f1)*d1/e1/10=0.0524%;
[0182]
1号报文的负载率差值(%):
[0183]
g1=fs
1-fg1=0.0524%-0.0524%=0;
[0184]
2号报文的固定报文负载率(%)(fg2):
[0185]
fg2=(a2 b2 f2)*c2/e2/10=0.2144%;
[0186]
2号报文的瞬时报文负载率(%)(fs2):
[0187]
fs2=(a2 b2 f2)*d2/e2/10=2.68%;
[0188]
c2=fs
2-fg2=2.68%-0.2144%=2.4656%;
[0189]
将某个网段所有报文的固定报文负载率、瞬时报文负载率、负载率差值求和就得到了整个网段的正常总线负载率和峰值总线负载率:
[0190]
正常总线负载率
[0191][0192]
峰值总线负载率
[0193][0194]
正常总线负载率(b)=fg1 fg2=0.0524% 0.2144%=0.2668%;
[0195]
峰值总线负载率=b c1 c2=0.2668% 0 2.4656%=2.7324%;
[0196]
结合图3所示,本实施例的计算模块采用excel函数文档编程计算。
[0197]
5)数据输出模块:
[0198]
数据输出模块将正常总线负载率为0.2668%、峰值总线负载率为 2.7324%通过液晶显示器输出。
[0199]
本发明相较于传统的整车can总线负载率计算方法,具有以下优点:
[0200]
1,本发明考虑了报文的帧类型、报文周期和瞬时报文周期、填充位长度位、波特率变化等多种因素,相较于理论总线负载率本发明,通过计算得到的正常总线负载率和峰值总线负载率的精度可达2%以内,远高于其他方法。
[0201]
2,传统的can总线负载率计算方法,不能适用所有类型的can 总线系统,而本发明的can总线负载率计算方法适用所有类型的 can总线系统,相较于传统的can总线负载率计算方法,具通用性更强。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献