报文输入方法和报文输出方法与流程

文档序号:18406315发布日期:2019-08-10 00:25阅读:826来源:国知局
报文输入方法和报文输出方法与流程

本发明涉及车辆技术领域,具体而言,涉及一种报文输入方法、一种报文输出方法、一种报文收发设备、一种计算机可读存储介质、一种输入接口、一种输出接口、一种整车控制器及一种车辆。



背景技术:

新能源车辆中,整车控制器(vcu,vehiclecontrolunit)往往通过can总线(controllerareanetwork,控制器局域网络)和lin总线(localinterconnectnetwork,一种低成本的串行通讯网络)与车辆的其他控制器建立通信连接,并通过传输报文实现整车控制,随着整车电气化控制程度的加深,整车控制器的报文传输量巨大。

整车控制器包括底层软件和应用层软件,底层软件多用于和控制器硬件相关联的部分,如内存的管理等,应用层软件则多用于功能性软件的搭建。当前,在整车控制器应用层软件架构中,执行报文传输的功能模块相对独立,主要完成对can信号、lin信号及硬线信号的传输管理,且仅具备解析报文或打包报文的功能。

在整车厂中,往往多个车型共用一个平台,而配置上有所区分,如使用单电机驱动、双电机驱动、是否有空调等。多个车型同时管理时,为满足所有车型的需求,需持续执行传输操作,报文传输的工作量巨大,且多为重复工作,管理困难,造成大量时间的浪费;若分开管理,则需要针对不同的车型修改底层软件,适应性差。



技术实现要素:

本发明公开的实施例旨在解决现有技术或相关技术中整车控制器报文传输的工作量巨大,且多为重复工作,管理困难的问题。

为此,本发明公开的实施例的第一方面提出了一种报文输入方法。

本发明公开的实施例的第二方面提出了一种报文输出方法。

本发明公开的实施例的第三方面提出了一种报文收发设备。

本发明公开的实施例的第四方面提出了一种计算机可读存储介质。

本发明公开的实施例的第五方面提出了一种输入接口。

本发明公开的实施例的第六方面提出了一种输出接口。

本发明公开的实施例的第七方面提出了一种整车控制器。

本发明公开的实施例的第八方面提出了一种车辆。

鉴于上述,根据本发明公开的实施例的第一方面,提供了一种报文输入方法,包括:接收解析配置信息;接收底层发送的输入报文;根据解析配置信息判断是否解析输入报文;当判定解析输入报文时,执行解析操作,以将输入报文解析为输入信号;发送输入信号。

本发明公开的实施例提供的报文输入方法,是一种平台化的输入方法,通过设置解析配置信息,可使用标定的方式配置输入报文是否解析,从而管理不同车型的输入报文解析,不必对所有车型采用通用的、简单的解析方案,针对性强,可减少不必要的重复工作,节约了时间和软件运行空间,便于管理。同时,在切换不同车型时,只需配置相应的解析配置信息,由应用层实现对报文接收的管理,换言之,应用层可独立于底层完成对报文接收的控制,底层可不做更改。

另外,本发明公开的实施例提供的上述技术方案中的报文输入方法,还可以具有如下附加技术特征:

在上述技术方案中,优选地,解析配置信息包括报文解析周期和解析使能指令;其中,报文解析周期是相邻两次执行解析操作所间隔的时长,报文解析周期设置为与报文发送周期相等;解析使能指令包括第一使能指令和第一不使能指令,第一使能指令用于维持解析操作,第一不使能指令用于终止解析操作。

在上述任一技术方案中,优选地,在执行解析操作,以将输入报文解析为输入信号的操作之后,在发送输入信号的操作之前,报文输入方法还包括:判断输入信号的值是否处于有效范围之内;当输入信号的值处于有效范围之内时,将输入信号记为有效输入信号;当输入信号的值超出有效范围时,获取上一次解析得到的有效输入信号以覆盖当前解析出的输入信号。

在上述任一技术方案中,优选地,根据解析配置信息判断是否解析输入报文的步骤包括:判断解析使能指令是否为第一使能指令;当解析使能指令为第一使能指令时,判断间隔时长是否大于等于报文解析周期;当间隔时长大于等于报文解析周期时,判定解析输入报文,并重新计时以得到间隔时长;当间隔时长小于报文解析周期时,返回判断间隔时长是否大于等于报文解析周期的操作;当解析使能指令不为第一使能指令时,终止解析操作和间隔时长的计时,获取上一次解析得到的有效输入信号作为输入信号。

在上述任一技术方案中,优选地,在接收底层发送的输入报文的步骤之后,在根据解析配置信息判断是否解析输入报文的步骤之前,报文输入方法还包括:从输入报文中提取循环计数信号;从输入报文中提取总和检验码;根据校验规律由输入报文计算理论检验码;获取报文刷新标志位;判断是否同时满足循环计数信号保持连续、总和检验码等于理论检验码、报文刷新标志位按照报文解析周期更新;若以上条件同时满足,则令解析使能指令保持为第一使能指令;若以上条件不同时满足,则令解析使能指令切换为第一不使能指令。

在上述任一技术方案中,优选地,报文刷新标志位在底层接收到输入报文时更新,在接收到底层发送的输入报文时恢复初始值。

根据本发明公开的实施例的第二方面,提供了一种报文输出方法,包括:接收输出配置信息;接收输出信号;根据输出配置信息判断是否打包发送输出信号;当判定打包发送输出信号时,执行打包操作,以将输出信号打包为输出报文;发送输出报文。

本发明公开的实施例提供的报文输出方法,是一种平台化的输出方法,通过设置输出配置信息,可使用标定的方式配置输出信号是否打包发送,从而管理不同车型的输出报文打包,不必对所有车型采用通用的、简单的打包发送方案,针对性强,可减少不必要的重复工作,节约了时间和软件运行空间,便于管理。同时,在切换不同车型时,只需配置相应的输出配置信息,由应用层实现对报文发送的管理,换言之,应用层可独立于底层完成对报文发送的控制,底层可不做更改。

另外,本发明公开的实施例提供的上述技术方案中的报文输出方法,还可以具有如下附加技术特征:

在上述技术方案中,优选地,执行打包操作,以将输出信号打包为输出报文的操作包括:将输出信号打包为输出报文;当输出报文打包完成时,将打包完成标志位置于完成状态;发送输出报文的步骤包括:判断打包完成标志位是否置于完成状态;当判定打包完成标志位置于完成状态时,发送输出报文;当输出报文发送成功后,将打包完成标志位置于未完成状态。

在上述任一技术方案中,优选地,输出配置信息包括信号打包周期和发送使能指令;其中,信号打包周期是相邻两次执行打包操作所间隔的时长,信号打包周期设置为与报文发送周期相等;发送使能指令包括第二使能指令和第二不使能指令,第二使能指令用于维持打包操作,第二不使能指令用于终止打包操作和将打包完成标志位置于未完成状态。

在上述任一技术方案中,优选地,在接收输出信号的步骤之后,在根据输出配置信息判断是否打包发送输出信号的步骤之前,还包括:响应于截断指令和自定义值,将输出信号重新赋值为自定义值。

根据本发明公开的实施例的第三方面,提供了一种报文收发设备,包括:存储器,配置为存储可执行指令;处理器,配置为执行存储的指令以实现如上述任一技术方案所述的报文输入方法的步骤或如上述任一技术方案所述的报文输出方法的步骤。

根据本发明公开的实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一技术方案所述的报文输入方法的步骤或如上述任一技术方案所述的报文输出方法的步骤。

根据本发明公开的实施例的第五方面,提供了一种输入接口,包括:底层和应用层输入模块,底层用于接收输入报文和将输入报文发送至应用层输入模块,应用层输入模块用于解析输入报文,应用层输入模块包括解析配置管理模块和第一主功能模块,解析配置管理模块用于接收解析配置信息,第一主功能模块用于根据解析配置信息解析输入报文,第一主功能模块包括解析模块,解析模块用于在接收到底层发送的输入报文时,根据解析配置信息判断是否解析输入报文,若是,则执行解析操作,以将输入报文解析为输入信号。

本发明公开的实施例提供的输入接口,是一种平台化的接口,通过在应用层中设置应用层输入模块,并进一步设置解析配置管理模块以接收解析配置信息,可使用标定的方式配置输入报文是否解析,从而管理不同车型的输入报文解析,即多个车型可共用同一类型的输入接口,或共用同一版本的输入软件,不必对所有车型采用通用的、简单的解析方案,针对性强,可减少不必要的重复工作,节约了时间和软件运行空间,便于管理。同时,在切换不同车型时,只需配置相应的解析配置信息,由应用层实现对报文接收的管理,换言之,应用层可独立于底层完成对报文接收的控制,底层可不做更改。

另外,本发明公开的实施例提供的上述技术方案中的输入接口,还可以具有如下附加技术特征:

在上述技术方案中,优选地,解析配置信息包括报文解析周期和解析使能指令;其中,报文解析周期是相邻两次执行解析操作所间隔的时长,报文解析周期设置为与报文发送周期相等;解析使能指令包括第一使能指令和第一不使能指令,第一使能指令用于维持第一主功能模块的运行,第一不使能指令用于终止第一主功能模块的运行。

在上述任一技术方案中,优选地,第一主功能模块还包括信号有效性校验模块,用于判断输入信号的值是否处于有效范围之内,若是,则将输入信号记为有效输入信号,若否,则获取上一次解析得到的有效输入信号以覆盖当前解析出的输入信号,有效性校验模块还用于发送输入信号。

在上述任一技术方案中,优选地,第一主功能模块还包括通讯诊断模块,用于判断输入报文的通讯状态是否正常,并在通讯状态异常时发送异常信号,以令解析使能指令切换为第一不使能指令;有效性校验模块还用于在解析使能指令为第一不使能指令时,获取上一次解析得到的有效输入信号作为输入信号。

在上述任一技术方案中,优选地,底层还用于在接收到输入报文时更新报文刷新标志位,在将输入报文发送至解析模块时恢复报文刷新标志位;解析模块还用于从输入报文中提取循环计数信号,从输入报文中提取总和检验码;通讯诊断模块具体用于根据校验规律由输入报文计算理论检验码,通讯诊断模块具体还用于判断是否同时满足循环计数信号保持连续、总和检验码等于理论检验码、报文刷新标志位按照报文解析周期更新,若是,则判定输入报文的通讯状态正常,若否,则判定输入报文的通讯状态异常。

根据本发明公开的实施例的第六方面,提供了一种输出接口,包括底层和应用层输出模块,应用层输出模块用于打包输出信号,应用层输出模块包括输出配置管理模块和第二主功能模块,输出配置管理模块用于接收输出配置信息,第二主功能模块用于根据输出配置信息打包发送输出信号,第二主功能模块包括打包模块,打包模块用于在接收到输出信号时,根据输出配置信息判断是否打包发送输出信号,若是,则执行打包操作,以将输出信号打包为输出报文;底层用于发送输出报文。

本发明公开的实施例提供的输出接口,是一种平台化的打包方法,通过在应用层中设置应用层输出模块,并进一步设置输出配置管理模块以接收输出配置信息,可使用标定的方式配置输出信号是否打包发送,从而管理不同车型的输出报文打包,即多个车型可共用同一类型的输出接口,或共用同一版本的输出软件,不必对所有车型采用通用的、简单的打包发送方案,针对性强,可减少不必要的重复工作,节约了时间和软件运行空间,便于管理。同时,在切换不同车型时,只需配置相应的输出配置信息,由应用层实现对报文发送的管理,换言之,应用层可独立于底层完成对报文发送的控制,底层可不做更改。

另外,本发明公开的实施例提供的上述技术方案中的输出接口,还可以具有如下附加技术特征:

在上述技术方案中,优选地,打包模块具体用于在判定打包发送输出信号时,将输出信号打包为输出报文,并将打包完成标志位置于完成状态;底层具体用于当打包完成标志位置于完成状态时,发送输出报文,发送成功后,将打包完成标志位置于未完成状态。

在上述任一技术方案中,优选地,输出配置信息包括信号打包周期和发送使能指令;其中,信号打包周期是相邻两次执行打包操作所间隔的时长,信号打包周期设置为与报文发送周期相等;发送使能指令包括第二使能指令和第二不使能指令,第二使能指令用于维持第二主功能模块的运行,第二不使能指令用于终止第二主功能模块的运行,并将打包完成标志位置于未完成状态。

在上述任一技术方案中,优选地,输出接口还包括截断模块,用于在接收到截断指令和自定义值时,将输出信号重新赋值为自定义值。

根据本发明公开的实施例的第七方面,提供了一种整车控制器,包括如上述技术方案所述的报文收发设备;或如上述技术方案所述的计算机可读存储介质;或如上述任一技术方案所述的输入接口和/或如上述任一技术方案所述的输出接口。

根据本发明公开的实施例的第八方面,提供了一种车辆,包括如上述技术方案所述的整车控制器。

根据本发明公开的实施例的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明公开的实施例的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1示出了根据本发明的第一个实施例的报文输入方法的示意流程图;

图2示出了根据本发明的第二个实施例的报文输入方法的示意流程图;

图3示出了根据本发明的第三个实施例的报文输入方法的示意流程图;

图4示出了根据本发明的第四个实施例的报文输入方法的示意流程图;

图5示出了根据本发明的第一个实施例的报文输出方法的示意流程图;

图6示出了根据本发明的第二个实施例的报文输出方法的示意流程图;

图7示出了根据本发明的一个实施例的报文收发设备的示意框图;

图8示出了根据本发明的一个实施例的输入接口的架构示意图;

图9示出了根据本发明的一个实施例的输出接口的架构示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

本发明第一方面的实施例提供了一种报文输入方法。

图1示出了根据本发明的第一个实施例的报文输入方法的示意流程图。如图1所示,该方法包括:

s102,接收解析配置信息;

解析配置信息包括报文解析周期和解析使能指令,其中,报文解析周期是相邻两次执行解析操作所间隔的时长,报文解析周期设置为与报文发送周期相等;解析使能指令包括第一使能指令和第一不使能指令,第一使能指令用于维持解析操作,第一不使能指令用于终止解析操作。

s104,接收底层发送的输入报文;

s106,根据解析配置信息判断是否解析输入报文;

s108,当判定解析输入报文时,执行解析操作,以将输入报文解析为输入信号;

s110,发送输入信号。

本发明公开的实施例提供的报文输入方法,是一种平台化的输入方法,通过设置解析配置信息,可使用标定的方式配置输入报文是否解析,从而管理不同车型的输入报文解析,不必对所有车型采用通用的、简单的解析方案,针对性强,可减少不必要的重复工作,节约了时间和软件运行空间,便于管理。同时,在切换不同车型时,只需配置相应的解析配置信息,由应用层实现对报文接收的管理,换言之,应用层可独立于底层完成对报文接收的控制,底层可不做更改。具体地,使用can总线或lin总线通讯时,利用通讯矩阵定义报文和信号之间的转换,故而在执行解析操作时,也根据通讯矩阵定义,将输入报文解析为定义的输入信号。

图2示出了根据本发明的第二个实施例的报文输入方法的示意流程图。如图2所示,该方法包括:

s202,接收解析配置信息;

s204,接收底层发送的输入报文;

s206,根据解析配置信息判断是否解析输入报文;

s208,当判定解析输入报文时,执行解析操作,以将输入报文解析为输入信号;

s210,判断输入信号的值是否处于有效范围之内,若是,则转到s212,若否,则转到s214;

s212,将输入信号记为有效输入信号;

s214,获取上一次解析得到的有效输入信号以覆盖当前解析出的输入信号;

s216,发送输入信号。

在该实施例中,第一主功能模块还设置有信号有效性校验模块以检验输入信号的值是否处于有效范围之内,当输入信号的值超出通讯矩阵定义的有效范围,则信号有效性校验结果为失败,且输出最后时刻的有效输入信号。如信号最大定义值250,接收到值由120变化为255,则信号有效性校验结果为失败,且按照120发送。可选地,有效性校验模块在发送输入信号时还一并发送有效标志位,有效性校验结果为成功的有效输入信号,其有效标志位置于有效状态,有效性校验结果为失败的输入信号,其有效标志位置于无效状态,不予发送。

图3示出了根据本发明的第三个实施例的报文输入方法的示意流程图。如图3所示,该方法包括:

s302,接收解析配置信息;

s304,接收底层发送的输入报文;

s306,判断解析使能指令是否为第一使能指令,若是,则转到s308,若否,则转到s320;

s308,判断间隔时长是否大于等于报文解析周期,若是,则转到s310,若否,则返回s308;

s310,判定解析输入报文,并重新计时以得到间隔时长;

s312,执行解析操作,以将输入报文解析为输入信号;

s314,判断输入信号的值是否处于有效范围之内,若是,则转到s316,若否,则转到s318;

s316,将输入信号记为有效输入信号;

s318,获取上一次解析得到的有效输入信号以覆盖当前解析出的输入信号;

s320,终止解析操作和间隔时长的计时,获取上一次解析得到的有效输入信号作为输入信号;

s322,发送输入信号。

在该实施例中,s306至s310对应与如何根据解析配置信息判断是否解析输入报文。报文解析周期可控制对输入报文的解析按周期进行,如报文发送周期为100ms,可以100ms为周期解析,节省软件运行空间。在解析使能指令为第一使能指令时可保证解析过程正常按周期进行,为不使能指令时可令解析过程停止,从而在出现意外或有停止需求时,独立关闭报文的解析,底层无需做调整。具体地,间隔时长的初始值可大于等于报文解析周期,以在初次接收到输入报文时正常解析。

图4示出了根据本发明的第四个实施例的报文输入方法的示意流程图。如图4所示,该方法包括:

s402,接收解析配置信息;

s404,接收底层发送的输入报文;

s406,从输入报文中提取循环计数信号;

使用can总线或lin总线通讯时,通讯矩阵中常包含rollingcounter信号(即循环计数信号),报文正常发送时,此信号会循环计数,如0,1,2……15,再重复循环0到15,表示报文通讯的实时性。

s408,从输入报文中提取总和检验码;

s410,根据校验规律由输入报文计算理论检验码;

使用can总线或lin总线通讯时,通讯矩阵中常包含checksum信号(即总和检验码),报文正常发送时,如can通讯常采用8个字节,最后一个字节的值定义为由前七个字节的数值按一定的规律求解得到(即理论检验码),用于保证报文通讯安全。

s412,获取报文刷新标志位;

s414,判断是否同时满足循环计数信号保持连续、总和检验码等于理论检验码、报文刷新标志位按照报文解析周期更新,若是,则转到s416,如否,则转到s418;

此处执行通讯诊断。通过检测连续接收的输入报文中的循环计数信号值是否连续,可执行rollingcounter诊断;通过检测总和检验码是否等于按照定义的解析方式算得的理论检验码,可执行checksum诊断;通过检测报文刷新标志位是否按报文解析周期,即定义的报文发送周期更新,可执行通讯丢失诊断。当以上三部分诊断的结果均为正常时,通讯诊断的结果才为正常,有一项出现错误,则认为通讯诊断的结果为异常。

s416,令解析使能指令保持为第一使能指令;

s418,令解析使能指令切换为第一不使能指令;

一旦诊断出通讯状态出现异常,则表明当前甚至以后接收的输入报文都可能为错误,此时令解析使能指令切换为第一不使能指令以终止输入报文的解析,避免错误的输入报文影响数据使用。

s420,判断解析使能指令是否为第一使能指令,若是,则转到s422,若否,则转到s434;

s422,判断间隔时长是否大于等于报文解析周期,若是,则转到s424,若否,则返回s422;

s424,判定解析输入报文,并重新计时以得到间隔时长;

s426,执行解析操作,以将输入报文解析为输入信号;

s428,判断输入信号的值是否处于有效范围之内,若是,则转到s430,若否,则转到s432;

此处需注意的是,在本实施例中,若诊断出通讯状态异常,则解析使能指令将切换为第一不使能指令,对输入信号的有效性校验也将一并停止而转入s434,所有输入信号都以最后一次解析得到的有效输入信号发送,使得通讯错误不会影响输入信号的有效性校验,也就是说,不会出现对错误信号的校验。

s430,将输入信号记为有效输入信号;

s432,获取上一次解析得到的有效输入信号以覆盖当前解析出的输入信号;

s434,终止解析操作和间隔时长的计时,获取上一次解析得到的有效输入信号作为输入信号;

s436,发送输入信号。

在该实施例中,增加了通讯诊断方案,可确保接收的输入报文是在通讯正常的情况下接收的,避免了报文错误影响整车的诊断功能,提高了运行可靠性。

在本发明的一个实施例中,优选地,报文刷新标志位在底层接收到输入报文时更新,在接收到底层发送的输入报文时恢复初始值。

在该实施例中,报文刷新标志位由底层解析,当底层接收到新的输入报文时,需更新报文刷新标志位,反之则保持初始值,当输入报文接收成功后,报文刷新标志位又恢复初始值,以便检测输入报文的通讯状态。具体地,当接收到新的输入报文时,报文刷新标志位置1,反之,报文刷新标志位将保持为0。

本发明第二方面的实施例提供了一种报文输出方法。

图5示出了根据本发明的第一个实施例的报文输出方法的示意流程图。如图5所示,该方法包括:

s502,接收输出配置信息;

输出配置信息包括信号打包周期和发送使能指令,其中,信号打包周期是相邻两次执行打包操作所间隔的时长,信号打包周期设置为与报文发送周期相等;发送使能指令包括第二使能指令和第二不使能指令,第二使能指令用于维持打包操作,第二不使能指令用于终止打包操作。通过设置与报文发送周期相等的信号打包周期,可控制对输出信号的打包发送按周期进行,如报文发送周期为100ms,可以100ms为周期打包发送,节省软件运行空间。通过配置发送使能指令,可在使能时保证第二主功能模块正常运行,打包发送过程正常按周期进行,在不使能时令第二主功能模块终止运行,即停止打包等相关操作,从而在出现意外或有停止需求时,独立关闭信号的打包发送,底层无需做调整。

s504,接收输出信号;

s506,根据输出配置信息判断是否打包发送输出信号;

s508,当判定打包发送输出信号时,执行打包操作,以将输出信号打包为输出报文;

s510,发送输出报文。

本发明公开的实施例提供的报文输出方法,是一种平台化的输出方法,通过设置输出配置信息,可使用标定的方式配置输出信号是否打包发送,从而管理不同车型的输出报文打包,不必对所有车型采用通用的、简单的打包发送方案,针对性强,可减少不必要的重复工作,节约了时间和软件运行空间,便于管理。同时,在切换不同车型时,只需配置相应的输出配置信息,由应用层实现对报文发送的管理,换言之,应用层可独立于底层完成对报文发送的控制,底层可不做更改。具体地,使用can总线或lin总线通讯时,利用通讯矩阵定义报文和信号之间的转换,故而在执行打包操作时,也根据通讯矩阵定义,将输出信号打包为输出报文,并发给底层用于发送。

图6示出了根据本发明的第二个实施例的报文输出方法的示意流程图。如图6所示,该方法包括:

s602,接收输出配置信息;

s604,接收输出信号;

s606,根据输出配置信息判断是否打包发送输出信号;

s608,当判定打包发送输出信号时,将输出信号打包为输出报文;

s610,当输出报文打包完成时,将打包完成标志位置于完成状态;

s612,判断打包完成标志位是否置于完成状态;

s614,当判定打包完成标志位置于完成状态时,发送输出报文;

s616,当输出报文发送成功后,将打包完成标志位置于未完成状态。

在该实施例中,利用打包完成标志位控制底层的信号发送。具体而言,当输出报文打包完成时,将打包完成标志位置于完成状态,例如置1,且仅在打包完成标志位置1时,底层才进行对应输出报文的发送操作,底层报文发送成功后,将打包完成标志位置于未完成状态,例如置0,即当打包完成标志位保持在未完成状态时,输出报文将不再发送。可以想到地,若输出报文维持正常的打包和发送进程,则打包完成标志位会以号打包周期为周期置于完成状态。

在本发明的一个实施例中,优选地,在接收输出信号的步骤之后,在根据输出配置信息判断是否打包发送输出信号的步骤之前,还包括:响应于截断指令和自定义值,将输出信号重新赋值为自定义值。

在该实施例中,利用截断指令和自定义值可对输入信号的值通过标定截断重新赋值,以输出自定义值。此模块可便于编译软件功能调试,在车辆生产的功能调试阶段,可模拟信号值,如开灯信号,而不必真的执行相应操作,如开灯,简化了调试过程。

如图7所示,本发明第三方面的实施例提供了一种报文收发设备1,包括:存储器12,配置为存储可执行指令;处理器14,配置为执行存储的指令以实现如上述任一实施例所述的报文输入方法的步骤或如上述任一实施例所述的报文输出方法的步骤,因而具备该报文输入方法或报文输出方法的全部有益技术效果,在此不再赘述。

具体地,存储器12可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器12可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器12可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器12可在综合网关容灾设备的内部或外部。在特定实施例中,存储器12是非易失性固态存储器。在特定实施例中,存储器12包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

处理器14可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。

根据本发明公开的实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例所述的报文输入方法的步骤或如上述任一实施例所述的报文输出方法的步骤,因而具备该报文输入方法或报文输出方法的全部有益技术效果,在此不再赘述。

计算机可读存储介质可以包括能够存储或传输信息的任何介质。计算机可读存储介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

如图8所示,本发明第五方面的实施例提供了一种输入接口,包括:底层和应用层输入模块,底层用于接收输入报文和将输入报文发送至应用层输入模块,应用层输入模块用于解析输入报文,应用层输入模块包括解析配置管理模块和第一主功能模块,解析配置管理模块用于接收解析配置信息,第一主功能模块用于根据解析配置信息解析输入报文,第一主功能模块包括解析模块,解析模块用于在接收到底层发送的输入报文时,根据解析配置信息判断是否解析输入报文,若是,则执行解析操作,以将输入报文解析为输入信号。

本发明公开的实施例提供的输入接口,是一种平台化的接口,通过在应用层中设置应用层输入模块,并进一步设置解析配置管理模块以接收解析配置信息,可使用标定的方式配置输入报文是否解析,从而管理不同车型的输入报文解析,即多个车型可共用同一类型的输入接口,或共用同一版本的输入软件,不必对所有车型采用通用的、简单的解析方案,针对性强,可减少不必要的重复工作,节约了时间和软件运行空间,便于管理。同时,在切换不同车型时,只需配置相应的解析配置信息,由应用层实现对报文接收的管理,换言之,应用层可独立于底层完成对报文接收的控制,底层可不做更改。具体地,对该输入接口的软件开发基于simulink(matlab中的一种可视化建模仿真工具,现广泛应用于新能源车辆的整车控制器应用层软件开发)。使用can总线或lin总线通讯时,利用通讯矩阵定义报文和信号之间的转换,故而在执行解析操作时,也根据通讯矩阵定义,将输入报文解析为定义的输入信号。

在本发明的一个实施例中,优选地,解析配置信息包括报文解析周期和解析使能指令;其中,报文解析周期是相邻两次执行解析操作所间隔的时长,报文解析周期设置为与报文发送周期相等;解析使能指令包括第一使能指令和第一不使能指令,第一使能指令用于维持第一主功能模块的运行,第一不使能指令用于终止第一主功能模块的运行。

在该实施例中,通过设置与报文发送周期相等的报文解析周期,可控制对输入报文的解析按周期进行,如报文发送周期为100ms,可以100ms为周期解析,节省软件运行空间。通过配置解析使能指令,可在使能时保证第一主功能模块正常运行,解析过程正常按周期进行,在不使能时令第一主功能模块终止运行,即停止解析等相关操作,从而在出现意外或有停止需求时,独立关闭报文的解析,底层无需做调整。

如图8所示,在本发明的一个实施例中,优选地,第一主功能模块还包括信号有效性校验模块,用于判断输入信号的值是否处于有效范围之内,若是,则将输入信号记为有效输入信号,若否,则获取上一次解析得到的有效输入信号以覆盖当前解析出的输入信号,有效性校验模块还用于发送输入信号。

在该实施例中,第一主功能模块还设置有信号有效性校验模块以检验输入信号的值是否处于有效范围之内,当输入信号的值超出通讯矩阵定义的有效范围,则信号有效性校验结果为失败,且输出最后时刻的有效输入信号。如信号最大定义值250,接收到值由120变化为255,则信号有效性校验结果为失败,且按照120发送。可选地,如图8所示,有效性校验模块在发送输入信号时还一并发送有效标志位,有效性校验结果为成功的有效输入信号,其有效标志位置于有效状态,有效性校验结果为失败的输入信号,其有效标志位置于无效状态,不予发送。

如图8所示,在本发明的一个实施例中,优选地,第一主功能模块还包括通讯诊断模块,用于判断输入报文的通讯状态是否正常,并在通讯状态异常时发送异常信号,以令解析使能指令切换为第一不使能指令;有效性校验模块还用于在解析使能指令为第一不使能指令时,获取上一次解析得到的有效输入信号作为输入信号。

在该实施例中,第一主功能模块还设置有通讯诊断模块以诊断输入报文的通讯状态,一旦诊断出通讯状态出现异常,则表明当前甚至以后接收的输入报文都可能为错误,此时令解析使能指令切换为第一不使能指令以终止第一主功能模块的运行,避免错误的输入报文影响数据使用。进一步地,信号有效性校验模块也随之停止校验,所有输入信号都以最后一次解析得到的有效输入信号发送,使得通讯错误不会影响输入信号的有效性校验,也就是说,不会出现对错误信号的校验。

在本发明的一个实施例中,优选地,底层还用于在接收到输入报文时更新报文刷新标志位,在将输入报文发送至解析模块时恢复报文刷新标志位;解析模块还用于从输入报文中提取循环计数信号,从输入报文中提取总和检验码;通讯诊断模块具体用于根据校验规律由输入报文计算理论检验码,通讯诊断模块具体还用于判断是否同时满足循环计数信号保持连续、总和检验码等于理论检验码、报文刷新标志位按照报文解析周期更新,若是,则判定输入报文的通讯状态正常,若否,则判定输入报文的通讯状态异常。

在该实施例中,具体限定了通讯诊断模块的诊断方案。

报文刷新标志位由底层解析,当底层接收到新的输入报文时,需更新报文刷新标志位,反之则保持初始值,当输入报文接收成功后,报文刷新标志位又恢复初始值,以便检测输入报文的通讯状态。具体地,当接收到新的输入报文时,报文刷新标志位置1,反之,报文刷新标志位将保持为0,通讯诊断模块将以此作为输入判断输入报文的通讯状态。

使用can总线或lin总线通讯时,通讯矩阵中常包含rollingcounter信号(即循环计数信号),报文正常发送时,此信号会循环计数,如0,1,2……15,再重复循环0到15,表示报文通讯的实时性。通讯矩阵中还常包含checksum信号(即总和检验码),报文正常发送时,如can通讯常采用8个字节,最后一个字节的值定义为由前七个字节的数值按一定的规律求解得到(即理论检验码),用于保证报文通讯安全。

通讯诊断模块即利用以上三项信息实现通讯诊断。

具体而言,通过检测连续接收的输入报文中的循环计数信号值是否连续,可执行rollingcounter诊断;通过检测总和检验码是否等于按照定义的解析方式算得的理论检验码,可执行checksum诊断;通过检测报文刷新标志位是否按报文解析周期,即定义的报文发送周期更新,可执行通讯丢失诊断。当以上三部分诊断的结果均为正常时,通讯诊断的结果才为正常,有一项出现错误,则认为通讯诊断的结果为异常。由此可确保接收的输入报文是在通讯正常的情况下接收的,避免了报文错误影响整车的诊断功能,提高了运行可靠性。

如图9所示,本发明第六方面的实施例提供了一种输出接口,包括底层和应用层输出模块,应用层输出模块用于打包输出信号,应用层输出模块包括输出配置管理模块和第二主功能模块,输出配置管理模块用于接收输出配置信息,第二主功能模块用于根据输出配置信息打包发送输出信号,第二主功能模块包括打包模块,打包模块用于在接收到输出信号时,根据输出配置信息判断是否打包发送输出信号,若是,则执行打包操作,以将输出信号打包为输出报文;底层用于发送输出报文。

本发明公开的实施例提供的输出接口,是一种平台化的打包方法,通过在应用层中设置应用层输出模块,并进一步设置输出配置管理模块以接收输出配置信息,可使用标定的方式配置输出信号是否打包发送,从而管理不同车型的输出报文打包,即多个车型可共用同一类型的输出接口,或共用同一版本的输出软件,不必对所有车型采用通用的、简单的打包发送方案,针对性强,可减少不必要的重复工作,节约了时间和软件运行空间,便于管理。同时,在切换不同车型时,只需配置相应的输出配置信息,由应用层实现对报文发送的管理,换言之,应用层可独立于底层完成对报文发送的控制,底层可不做更改。具体地,对该输入接口的软件开发基于simulink。使用can总线或lin总线通讯时,利用通讯矩阵定义报文和信号之间的转换,故而在执行打包操作时,也根据通讯矩阵定义,将输出信号打包为输出报文,并发给底层用于发送。

在本发明的一个实施例中,优选地,打包模块具体用于在判定打包发送输出信号时,将输出信号打包为输出报文,并将打包完成标志位置于完成状态;底层具体用于当打包完成标志位置于完成状态时,发送输出报文,发送成功后,将打包完成标志位置于未完成状态。

在该实施例中,打包模块可利用打包完成标志位控制底层的信号发送。具体而言,当应用层输出报文打包完成时,将打包完成标志位置于完成状态,例如置1,且仅在打包完成标志位置1时,底层才进行对应输出报文的发送操作,底层报文发送成功后,将打包完成标志位置于未完成状态,例如置0,即当打包完成标志位保持在未完成状态时,输出报文将不再发送。可以想到地,若输出报文维持正常的打包和发送进程,则打包完成标志位会以号打包周期为周期置于完成状态。

在本发明的一个实施例中,优选地,输出配置信息包括信号打包周期和发送使能指令;其中,信号打包周期是相邻两次执行打包操作所间隔的时长,信号打包周期设置为与报文发送周期相等;发送使能指令包括第二使能指令和第二不使能指令,第二使能指令用于维持第二主功能模块的运行,第二不使能指令用于终止第二主功能模块的运行,并将打包完成标志位置于未完成状态。

在该实施例中,通过设置与报文发送周期相等的信号打包周期,可控制对输出信号的打包发送按周期进行,如报文发送周期为100ms,可以100ms为周期打包发送,节省软件运行空间。通过配置发送使能指令,可在使能时保证第二主功能模块正常运行,打包发送过程正常按周期进行,在不使能时令第二主功能模块终止运行,即停止打包等相关操作,并将打包完成标志位保持在未完成状态,如保持为0,对应报文将停止发送,从而在出现意外或有停止需求时,独立关闭信号的打包发送,底层无需做调整。

如图9所示,在本发明的一个实施例中,优选地,输出接口还包括截断模块,用于在接收到截断指令和自定义值时,将输出信号重新赋值为自定义值。

在该实施例中,截断模块可对输入信号的值通过标定截断重新赋值,以输出自定义值。此模块可便于编译软件功能调试,在车辆生产的功能调试阶段,可模拟信号值,如开灯信号,而不必真的执行相应操作,如开灯,简化了调试过程。

本发明第七方面的实施例提供了一种整车控制器,包括如上述实施例所述的报文收发设备;或如上述实施例所述的计算机可读存储介质;或如上述任一实施例所述的输入接口和/或如上述任一实施例所述的输出接口,因而具备该报文收发设备、计算机可读存储介质、输入接口、输出接口的全部有益技术效果,在此不再赘述。

根据本发明公开的实施例的第八方面,提供了一种车辆,包括如上述实施例所述的整车控制器,因而具备该整车控制器的全部有益技术效果,在此不再赘述。

综上所述,本发明公开的实施例提出了一种平台化的输入输出软件架构,在节约软件运行空间的同时,使用标定的方式管理不同车型报文的输入解析和打包输出,便于管理,并创新性地将报文解析及发送的控制放在了应用层软件当中。架构中考虑报文的通讯诊断,可从源头独立关闭或开启通讯相关诊断,防止后续误报通讯报文相关故障。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明公开的实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1