非标准报文驱动已有功能的方法及装置与流程

文档序号:20780365发布日期:2020-05-19 21:11阅读:140来源:国知局
非标准报文驱动已有功能的方法及装置与流程

本发明涉及通信技术领域,具体涉及一种非标准报文驱动已有功能的方法及装置。



背景技术:

目前,通过ecu(electroniccontrolunit,电子控制单元)软件控制逻辑可以驱动车辆上的任何功能,如通过控制逻辑中的液压油温信号驱动风扇。

在现有技术中,若用户要求ecu软件,支持接收非标准报文(即自定义报文)来驱动已有功能时,需要通过紧急软件升级才能实现用户需求,不仅开发周期长且开发耗费成本高。



技术实现要素:

本发明的目的是针对上述现有技术的不足提出的一种非标准报文驱动已有功能的方法及装置方法及装置,该目的是通过以下技术方案实现的。

本发明的第一方面提出了一种非标准报文驱动已有功能的方法,所述方法包括:

当接收到非标准报文时,获取所述非标准报文中记录的驱动信号表示形式信息和起始位置信息;

依据所述表示形式信息和所述起始位置信息,从所述非标准报文中解析得到驱动信号;

获取所述驱动信号所属驱动类型对应的赋值地址,并将所述驱动信号写到该赋值地址,以使相应功能模块从该赋值地址读取驱动信号进行驱动控制。

本发明的第二方面提出了一种非标准报文驱动已有功能的装置,所述装置包括:

获取模块,用于当接收到非标准报文时,获取所述非标准报文中记录的驱动信号表示形式信息和起始位置信息;

解析模块,用于依据所述表示形式信息和所述起始位置信息,从所述非标准报文中解析得到驱动信号;

赋值模块,用于获取所述驱动信号所属驱动类型对应的赋值地址,并将所述驱动信号写到该赋值地址,以使相应功能模块从该赋值地址读取驱动信号进行驱动控制。

本发明的第三方面提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述第一方面所述方法的步骤。

在本发明实施例中,当接收到非标准报文时,通过获取所述非标准报文中记录的驱动信号表示形式信息和起始位置信息,并依据所述表示形式信息和所述起始位置信息,从所述非标准报文中解析得到驱动信号,并通过获取所述驱动信号所属驱动类型对应的赋值地址,并配合向赋值地址写信号的方式满足驱动已有功能的需求。

基于上述描述可知,在不需要升级软件的前提条件下,通过标定非标准报文的组成以支持用户多样化需求,即通过获取非标准报文中记录的驱动信号表示形式信息和起始位置信息实现驱动信号的解析,并配合向特定地址写驱动信号的方式满足驱动已有功能的需求。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明根据一示例性实施例示出的一种非标准报文驱动已有功能的方法的实施例流程图;

图2为本发明根据一示例性实施例示出的一种ecu的硬件结构图;

图3为本发明根据一示例性实施例示出的一种非标准报文驱动已有功能的装置的实施例流程图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

为了避免ecu软件的紧急升级,本发明提出一种非标准报文驱动已有功能的方法,即当接收到非标准报文时,通过获取所述非标准报文中记录的驱动信号表示形式信息和起始位置信息,并依据所述表示形式信息和所述起始位置信息,从所述非标准报文中解析得到驱动信号,并通过获取所述驱动信号所属驱动类型对应的赋值地址,并配合向赋值地址写信号的方式满足驱动已有功能的需求。

基于上述描述可知,在不需要升级软件的前提条件下,通过标定非标准报文的组成以支持用户多样化需求,即通过获取非标准报文中记录的驱动信号表示形式信息和起始位置信息实现驱动信号的解析,并配合向特定地址写驱动信号的方式满足驱动已有功能的需求。

下面以具体实施例对本发明提出的非标准报文驱动已有功能的技术方案进行详细说明。

图1为本发明根据一示例性实施例示出的一种非标准报文驱动已有功能的方法的实施例流程图,该非标准报文驱动已有功能的方法可以应用与ecu上。如图1所示,该非标准报文驱动已有功能的方法包括如下步骤:

步骤101:当接收到非标准报文时,获取所述非标准报文中记录的驱动信号表示形式信息和起始位置信息。

其中,非标准报文指的是非ecu规定的通信协议(如j1939协议标准)报文。

在本发明中,驱动信号表示形式信息指的是驱动信号在报文中用几个字节或几个比特位表示的信息,起始位置信息指的是驱动信号在报文中的起始字节或起始比特位。

示例性的,驱动信号表示形式信息和起始位置信息的获取方式可以是从非标准报文中的预设字节中读取。

步骤102:依据所述表示形式信息和所述起始位置信息,从所述非标准报文中解析得到驱动信号。

在一实施例中,若所述表示形式信息包含第一标识和字节数量,则在所述非标准报文中,从所述起始位置信息所指示的起始字节开始读取所述字节数量个字节数据,并将所述字节数据转换为驱动信号;若所述表示形式信息包含第二标识和比特数量,则在所述非标准报文中,从所述起始位置信息所指示的起始比特开始读取所述比特数量个比特数据,并将所述比特数据作为驱动信号。

其中,第一标识用于指示驱动信号由多个字节表示,第二标识用于指示驱动信号由一个字节中的某几个比特位表示。

本领域技术人员可以理解的是,第一标识和第二标识可以由字符组成或由数字组成,亦或由字符与数字组成,本发明对此不进行限定,只要第一标识和第二标识不同即可。

例如,表示形式信息包含的字节数量为2,起始位置信息所指示的起始字节为byte2,那么在非标准报文中读取出的字节数据为byte2和byte3的字节数据。

再例如,表示形式信息包含的比特数量为2,起始位置信息所指示的起始比特位为第二个字节中的bit2,那么在非标准报文中读取出的字节数据为第二个字节中的bit2~bit3的比特数据。

在一实施例中,针对将所述字节数据转换为驱动信号的过程,可以再获取所述非标准报文中记录的精度信息和偏移信息,并依据所述精度信息和偏移信息将所述字节数据转换为驱动信号。

其中,如果驱动信号由多个字节表示,则需要对读取出的字节数据进行高位字节与低位字节区分组合,并将组合后的数据按照精度信息和偏移信息转换为驱动信号,转换公式可以是:组合后的数据*精度信息+偏移信息。

示例性的,精度信息和偏移信息可以由用户根据实际需求添加在非标准报文中。

如上述第一个例子,假设大字节序号表示的是高位,小字节序号表示的是低位,那么组合方式为:byte2+byte3《8,即将byte3左移8位后与byte2相与。

步骤103:获取所述驱动信号所属驱动类型对应的赋值地址,并将所述驱动信号写到该赋值地址,以使相应功能模块从该赋值地址读取驱动信号进行驱动控制。

在一实施例中,针对获取所述驱动信号所属驱动类型对应的赋值地址过程,获取所述非标准报文中记录的驱动类型标识,并从已存储的地址表中查找所述驱动类型标识对应的赋值地址。

其中,在ecu本地,对于每种功能均对应有一个赋值地址,ecu上的功能模块是通过读取赋值地址上存储的数据进行的驱动控制,因此可以通过找到驱动信号的写入地址,即可实现已有功能的驱动。

示例性的,已有功能可以包括液压油温信号驱动风扇、空档信号控制起动机启动、关机信号控制发动机关闭。

在一示例性场景中,用户需要增加一条原有ecu软件没有的报文,该报文中的byte2中的bit5~bit6为关机信号,因此该报文中需要携带关机信号所属的驱动类型的标识、关机信号的表示形式信息比特数量2和起始位置信息第二个字节中的bit5。ecu接收到该报文时,取出byte2中的bit5~bit6,得到关机信号,之后找到驱动类型标识对应的赋值地址,将bit5~bit6存储到找到的赋值地址,以使相应功能模块从该赋值地址读取关机信号控制发动机关闭。也即,ecu接收到该非标准报文后发动机直接断油关机。

在又一示例性场景中,用户需求空档开关来自非标准报文的byte1中的bit3~bit4,因此报文中需要携带空档信号所属的驱动类型的标识、空档信号的表示形式信息比特数量2和起始位置信息第一个字节中的bit3。ecu接收到该报文时,取出byte1中的bit3~bit4,得到空档信号,因原先的空档信号来自硬件输入输出模块,找到该模块对应的赋值地址,也即空档信号所属的驱动类型的标识对应的赋值地址,将bit3~bit4存储到找到的赋值地址,以使相应功能模块从该赋值地址读取空档信号启动起动机,即实现空档信号直接旁通掉原先的硬件空档信号,之后其他的功能也能正常使用该空档信号。

需要说明的是,在将所述驱动信号写到该赋值地址之前,可以通过判断本地赋值逻辑是否对该赋值地址进行过写操作,若是,则将所述驱动信号写到该赋值地址,若否,则继续执行判断本地赋值逻辑是否对该赋值地址进行过写操作的过程,以确保功能模块使用的驱动信号来源于非标准报文。

在本实施例中,当接收到非标准报文时,通过获取所述非标准报文中记录的驱动信号表示形式信息和起始位置信息,并依据所述表示形式信息和所述起始位置信息,从所述非标准报文中解析得到驱动信号,并通过获取所述驱动信号所属驱动类型对应的赋值地址,并配合向赋值地址写信号的方式满足驱动已有功能的需求。

基于上述描述可知,在不需要升级软件的前提条件下,通过标定非标准报文的组成以支持用户多样化需求,即通过获取非标准报文中记录的驱动信号表示形式信息和起始位置信息实现驱动信号的解析,并配合向特定地址写驱动信号的方式满足驱动已有功能的需求。

图2为本发明根据一示例性实施例示出的一种ecu的硬件结构图,该ecu包括:通信接口201、处理器202、机器可读存储介质203和总线204;其中,通信接口201、处理器202和机器可读存储介质203通过总线204完成相互间的通信。处理器202通过读取并执行机器可读存储介质203中与非标准报文驱动已有功能的方法的控制逻辑对应的机器可执行指令,可执行上文描述的非标准报文驱动已有功能的方法,该方法的具体内容参见上述实施例,此处不再累述。

本发明中提到的机器可读存储介质203可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质203可以是ram(randomaccessmemory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

与前述非标准报文驱动已有功能的方法的实施例相对应,本发明还提供了非标准报文驱动已有功能的装置的实施例。

图3为本发明根据一示例性实施例示出的一种非标准报文驱动已有功能的装置的实施例流程图,该非标准报文驱动已有功能的装置可以应用与ecu上。如图3所示,该非标准报文驱动已有功能的装置包括:

获取模块310,用于当接收到非标准报文时,获取所述非标准报文中记录的驱动信号表示形式信息和起始位置信息;

解析模块320,用于依据所述表示形式信息和所述起始位置信息,从所述非标准报文中解析得到驱动信号;

赋值模块330,用于获取所述驱动信号所属驱动类型对应的赋值地址,并将所述驱动信号写到该赋值地址,以使相应功能模块从该赋值地址读取驱动信号进行驱动控制。

在一可选实现方式中,所述解析模块320,具体用于若所述表示形式信息包含第一标识和字节数量,则在所述非标准报文中,从所述起始位置信息所指示的起始字节开始读取所述字节数量个字节数据,并将所述字节数据转换为驱动信号;若所述表示形式信息包含第二标识和比特数量,则在所述非标准报文中,从所述起始位置信息所指示的起始比特开始读取所述比特数量个比特数据,并将所述比特数据作为驱动信号。

在一可选实现方式中,所述解析模块320,具体用于在将所述字节数据转换为驱动信号过程中,获取所述非标准报文中记录的精度信息和偏移信息;依据所述精度信息和偏移信息将所述字节数据转换为驱动信号。

在一可选实现方式中,所述赋值模块330,具体用于在获取所述驱动信号所属驱动类型对应的赋值地址过程中,获取所述非标准报文中记录的驱动类型标识;从已存储的地址表中查找所述驱动类型标识对应的赋值地址。

在一可选实现方式中,所述装置还包括(图3中未示出):

判断模块,用于在所述赋值模块330将所述驱动信号写到该赋值地址之前,判断本地赋值逻辑是否对该赋值地址进行过写操作;若是,则将所述驱动信号写到该赋值地址;若否,则继续执行判断本地赋值逻辑是否对该赋值地址进行过写操作的过程。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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