一种CAN总线与发动机控制单元通信数据处理方法及系统与流程

文档序号:28633912发布日期:2022-01-26 16:00阅读:289来源:国知局
一种CAN总线与发动机控制单元通信数据处理方法及系统与流程
一种can总线与发动机控制单元通信数据处理方法及系统
技术领域
1.本发明涉及发动机控制单元技术领域,特别是涉及一种can总线与发动机控制单元通信数据处理方法及系统。


背景技术:

2.随着汽车电子技术发展,汽车及动力总成系统中的控制器数量和功能不断增加,导致对发动机控制单元的整车功能方面的需求层出不穷,且变化较为频繁。另外,由于发动机控制单元软件的分工合作与开发,其中的整车功能控制模块和其他模块的开发往往属于不同的团队,但是由于两者之间存在大量的信号交互,而软件的编译过程必须是变量都被定义或者使用过的,从而导致整车功能开发团队和其他模块开发团队软件工作包之间存在大量的耦合和交融,整车功能软件包的开发往往过分依赖于其他软件模块开发团队,使得开发效率大大降低。
3.因此,如何降低整车功能软开发过程对外部软件模块开发依赖程度以及如何降低整车功能软件模块之间的相互的耦合程度是提高整车功能软件模块开发效率的关键因素。
4.cn106371828a《一种信号接收与分析类仪器设备软件平台化架构设计方法》发明提出了一种信号接收与分析类仪器设备软件平台化架构设计方法,整个软件平台化架构分为三层,最底层为板级功能实现层,中间层为仪器核心功能层,最高层为用户操作层。本发明实现了信号接收与分析类仪器设备平台化,便于添加硬件、便于用户开发新功能;架构简洁高效,具有很强的通用性;但是,没有设计专门的总线层信号交互模块,另外也没有涉及如何处理本软件模块与外部软件模块信号和变量交互的方法,会导致一方面如果总线与整车模块软件交互内容变更时,整个整车软件功能包都要被动变更的弊端;另一方面,整车功能软件的开发过程仍然高度依赖于外部模块的信号或者变量输入,导致其开发过程受到外部模块开发进度的制约,开发效率大大降低。


技术实现要素:

5.本发明实施例所要解决的技术问题为整车功能软件内部架构耦合性强以及对外部模块依赖程度高的问题。
6.本发明的一方面,提供一种can总线与发动机控制单元通信数据处理系统,包括:
7.与can总线连接的总线信号交互处理层;分别与所述总线信号交互处理层、外部变量交互处理层连接的逻辑核心处理层;
8.所述总线信号交互处理层用于与所述can总线进行数据交互,截取所述can总线内的数据包并将该数据包转化为第一物理变量,输出至所述逻辑核心处理层;
9.所述逻辑核心处理层用于对所述第一物理变量进行变量转换处理,得到第二物理变量并通过所述外部变量交互处理层输出给发动机控制单元;还用于对所述发动机控制单元经由所述外部变量交互处理层输入的第三物理变量进行变量转换处理,得到逻辑变量并通过所述总线信号交互处理层输出给所述can总线;
10.所述外部变量交互处理层用于所述发动机控制单元与所述逻辑核心处理层之间的数据交互。
11.进一步,所述总线信号交互处理层进一步包括数据传输模块、逻辑处理模块;所述数据传输模块用于向所述can总线发送经过所述逻辑核心处理层处理后的数据包;所述逻辑处理模块用于根据所述逻辑核心处理层的需求截取所述can总线内的数据包并对截取的数据包进行转化处理,将截取的数据包转化为所述逻辑核心处理层可以识别的物理变量。
12.进一步,所述逻辑处理模块根据所述逻辑核心处理层的需求截取所述can总线内的数据包的方式具体为:
13.获取所述can总线中数据包的标示符,将标示符与相应的数据包进行关联;依据所述逻辑核心处理层的需求对数据包内的标示符进行鉴别,从信号起始位置开始向后截取数据包中指定长度的数据流。
14.进一步,所述逻辑处理模块对截取的数据包进行转化处理的方式具体为:
15.根据以下公式,通过调整所述can总线协议中的数据精度和数据偏置转化数据的物理值:
16.phy=hex*fac+offset
17.其中,phy为数据物理值;hex为数据原始值;fac为数据精度;offset为数据偏置。
18.进一步,所述外部变量交互处理层进一步包括变量接收模块、变量输出模块;所述变量接收模块用于接收来自相连的发动机控制单元的变量数据包,并将变量数据包传输给所述逻辑核心处理层;所述变量输出模块用于将所述逻辑核心处理层处理后的变量数据包输出给相连的发动机控制单元。
19.进一步,所述逻辑核心处理层对所述总线信号交互处理层输入第一物理变量进行变量转换处理的方式具体为:
20.根据巡航、启停、空调、变速器对发动机控制单元的需求信号,将所述总线信号交互处理层截取的数据包转换成第二物理变量,并输出给所述外部变量交互处理层。
21.进一步,所述逻辑核心处理层对发动机控制单元输入的变量进行第三物理变量转换处理的方式具体为:
22.根据系统内部变量和发动机控制单元变量的需求,通过以下公式将原始值转换为物理值精度和线性偏置参数:
[0023][0024]
其中,v1为内部变量原始值;v2为外部变量原始值;f1为内部变量精度;f2为外部变量精度;o1为内部变量线性偏置;o2为外部变量线性偏置。
[0025]
本发明还提供一种can总线与发动机控制单元通信数据处理方法,依靠所述的can总线与发动机控制单元通信数据处理系统进行实现,包括以下步骤:
[0026]
步骤s1,所述逻辑处理模块获取所述can总线中数据包的标示符,将标示符与相应的数据包进行关联,依据所述逻辑核心处理层的需求对数据包内的标示符进行鉴别,从信号起始位置开始向后截取数据包中指定长度的数据流;
[0027]
步骤s2,所述逻辑处理模块对截取的数据流通过调整所述can总线网络协议中的数据精度和数据偏置转化数据的物理值;
[0028]
步骤s3,所述逻辑核心处理层根据巡航、启停、空调、变速器对发动机控制单元的需求信号,将所述逻辑处理模块输出的物理变量转换成第二物理变量,并通过所述变量输出模块输出给发动机控制单元。
[0029]
进一步,在步骤s2中,所述逻辑处理模块根据以下公式通过调整所述can总线网络协议中的数据精度和数据偏置转化数据的物理值:
[0030]
phy=hex*fac+offset
[0031]
其中,phy为数据物理值;hex为数据原始值;fac为数据精度;offset为数据偏置。
[0032]
进一步,在步骤s3中,所述逻辑核心处理层根据以下公式将所述逻辑处理模块输出的物理变量转换成第二物理变量:
[0033][0034]
其中,v1为内部变量原始值;v2为外部变量原始值;f1为内部变量精度;f2为外部变量精度;o1为内部变量线性偏置;o2为外部变量线性偏置。
[0035]
综上,实施本发明的实施例,具有如下的有益效果:
[0036]
本发明提供的一种can总线与发动机控制单元通信数据处理方法及系统,将整车功能软件中总线信号交互逻辑、整车功能实现处理逻辑和整车功能模块与发动机控制单元处理逻辑分开,实现了功能块内部的高类聚和低耦合;将总线处理逻辑单独区分开,当总线定义或者需求变更时只需变更小部分的模块和逻辑,效率更高;将整车功能处理逻辑和外部信号交互逻辑区分开发,并通过函数方式进行值传递,避免了接口问题,使得整车功能模块可以和发动机控制单元并行开发,缩短开发周期。
附图说明
[0037]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。
[0038]
图1为本发明提供的一种can总线与发动机控制单元通信数据处理系统的架构示意图。
[0039]
图2为本发明提供的一种can总线与发动机控制单元通信数据处理方法的主流程示意图。
具体实施方式
[0040]
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
[0041]
如图1所示,本技术提供的一种can总线与发动机控制单元通信数据处理系统的一个实施例的示意图。在该实施例中,所述系统包括:与can总线网络10连接的总线信号交互处理层11;分别与所述总线信号交互处理层11、外部变量交互处理层13连接的逻辑核心处理层12;所述外部变量交互处理层13连接外部模块14;
[0042]
所述总线信号交互处理层11用于与所述can总线网络10进行数据交互,截取所述can总线内的数据包并将该数据包转化为可供系统内模块识别的第一物理变量,输出至所述逻辑核心处理层12;
[0043]
具体实施例中,所述总线信号交互处理层11进一步包括数据传输模块112、逻辑处理模块111;所述数据传输模块112用于向所述can总线网络10发送经过所述逻辑核心处理层12处理后的数据包;所述逻辑处理模块111用于根据所述逻辑核心处理层12的需求截取所述can总线网络10内的数据包并对截取的数据包进行转化处理,将截取的数据包转化为所述逻辑核心处理层12可以识别的物理变量。
[0044]
具体的,所述逻辑处理模块111获取所述can总线网络10中数据包的标示符,将标示符与相应的数据包进行关联,并将其写入到接收或者发送程序;依据所述逻辑核心处理层12的需求对数据包内的标示符进行鉴别,截取总线数据包中需求的信号原始数据,从信号起始位置开始向后截取数据包中指定长度的数据流,一般通过信号起始位置add和信号长度来获取length,也就是从起始位置add开始,一次向后截取制定长度length的数据流。
[0045]
所述逻辑处理模块111根据以下公式,通过调整所述can总线网络10协议中的数据精度和数据偏置转化数据的物理值:
[0046]
phy=hex*fac+offset
[0047]
其中,phy为数据物理值;hex为数据原始值;fac为数据精度;offset为数据偏置。
[0048]
所述逻辑核心处理层12用于对所述总线信号交互处理层11输入的第一物理变量进行变量转换处理,得到第二物理变量并通过所述外部变量交互处理层13输出给发动机控制单元外部模块14,将从can总线网络10获取的数据包经过所述逻辑处理模块111和所述逻辑核心处理层12的转化计算后可以输出给外部模块14进行识别;还用于对所述发动机控制单元外部模块14经由所述外部变量交互处理层输入的第三变量转换处理,得到逻辑变量并通过所述总线信号交互处理层11输出给所述can总线网络10,从外部模块14获取的外部信号变量,经过处理后可以发送给can总线网络10进行数据交互,为了实现现整车功能模块内部变量和外部环境变量之间的数值传递,为了保证两者传送的物理值相等,需要根据内外部变量从原始值转换到物理值的精度、线性偏置参数;
[0049]
具体是一个实施例中,所述逻辑核心处理层12根据巡航、启停、空调、变速器对发动机控制单元的需求信号,将所述总线信号交互处理层11截取的数据包转换成第二物理变量,并输出给所述外部变量交互处理层13。
[0050]
所述逻辑核心处理层12根据系统内部变量和外部模块14变量的需求,通过以下公式将原始值转换为物理值精度和线性偏置参数:
[0051][0052]
其中,v1为内部变量原始值;v2为外部变量原始值;f1为内部变量精度;f2为外部变量精度;o1为内部变量线性偏置;o2为外部变量线性偏置。
[0053]
所述外部变量交互处理层13用于与发动机控制单元外部模块14进行相应变量的传输;
[0054]
具体实施例中,所述外部变量交互处理层13进一步包括变量接收模块132、变量输出模块131;所述变量接收模块132用于接收来自相连的发动机控制单元外部模块14的变量
数据包,并将变量数据包传输给所述逻辑核心处理层12;所述变量输出模块131用于将所述逻辑核心处理层12处理后的变量数据包输出给相连的发动机控制单元外部模块14。
[0055]
如图2所示,为本发明提供的一种can总线与发动机控制单元通信数据处理方法的一个实施例的示意图。在该实施例中,所述方法包括以下步骤:
[0056]
步骤s1,所述逻辑处理模块111获取所述can总线网络10中数据包的标示符,将标示符与相应的数据包进行关联,依据所述逻辑核心处理层12的需求对数据包内的标示符进行鉴别,从信号起始位置开始向后截取数据包中指定长度的数据流;
[0057]
步骤s2,所述逻辑处理模块111对截取的数据流通过调整所述can总线网络10协议中的数据精度和数据偏置转化数据的物理值;
[0058]
具体实施例中,所述逻辑处理模块111根据以下公式通过调整所述can总线网络10协议中的数据精度和数据偏置转化数据的物理值:
[0059]
phy=hex*fac+offset
[0060]
其中,phy为数据物理值;hex为数据原始值;fac为数据精度;offset为数据偏置。
[0061]
步骤s3,所述逻辑核心处理层12根据巡航、启停、空调、变速器对发动机控制单元的需求信号,将所述逻辑处理模块111输出的物理变量转换成第二物理变量,并通过所述变量输出模块131输出给发动机控制单元外部模块14;
[0062]
具体实施例中,所述逻辑核心处理层12根据以下公式将所述逻辑处理模块111输出的物理变量转换成第二物理变量:
[0063][0064]
其中,v1为内部变量原始值;v2为外部变量原始值;f1为内部变量精度;f2为外部变量精度;o1为内部变量线性偏置;o2为外部变量线性偏置。
[0065]
本发明的一个具体实施例中,所述逻辑处理模块111根据can总线定义,利用设计模型can_rx从识别符为0x194上,其实位置为40的位置上依次向后截取长度为4个bit的数据hexgear;由于其物理值和计算机原始值之间转换的精度是1,偏移是0,所以根据上所处方法中的计算公式求得,其内部模块档位信号的物理值是gear1=hexgear*1-0=hexgear。
[0066]
在所述核心逻辑处理层中对接收到的档位信号的物理值进行合理性处理,由于是6档变速器,所以判断gear1的范围,例如:当其大于6时,认为信号不合理,进行报错,并用默认值255来代替,旨在告诉其他模块此时的档位信号异常不可信。
[0067]
确定gear1和gear2的精度与偏移,分别是f1=1,o1=0;f2=1,o2=0。由于是将整车功能模块变量发送给外部模块14,使用上所处方法中的计算公式来进行处理,最后得到:gear2=(gear2+1-0)/1=gear2。
[0068]
最后在所述外部变量交互处理层13中将其赋值给外部模块14的档位信号gear2,从而完成了tcu档位信号从总线上截取到传递给变量gear供外部模块14使用处理的全部逻辑。
[0069]
综上,实施本发明的实施例,具有如下的有益效果:
[0070]
本发明提供的一种can总线数据处理方法及系统,将整车功能软件中总线信号交互逻辑、整车功能实现处理逻辑和整车功能模块与发动机控制单元外部模块处理逻辑分开,实现了功能块内部的高类聚和低耦合;将总线处理逻辑单独区分开,当总线定义或者需
求变更时只需变更小部分的模块和逻辑,效率更高;将整车功能处理逻辑和外部信号交互逻辑区分开发,并通过函数方式进行值传递,避免了接口问题,使得整车功能模块可以和其他发动机控制单元模块并行开发,缩短开发周期。
[0071]
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1