本公开涉及车辆中的控制器局域网。
背景技术:
1、车辆可以包括在车辆网络上通信的各种计算装置,即具有处理器和存储器的电子装置。车辆网络可以包括通信总线,诸如控制器局域网(can)等,和/或其他有线和/或无线机制。例如,车辆可以包括通过can总线发送和/或接收数据的感测装置、致动器装置、电子控制单元(ecu)、人机界面(hmi)装置等。车辆网络上的装置可以传输消息,所述消息包括事件,即,对在接收装置处的消息中的数据进行评估以确定发送装置是否正在报告某个动作或事件,通常使得接收装置可以确定是否要采取某个动作。例如,车辆中的ecu可以检测在can总线上广播的消息中的事件,并且可以确定是否要采取动作,仅列出许多可能的示例中的几个,诸如调整车辆hmi中的显示、调整车辆速度、控制车辆转向等。由于车辆网络及其相关联的装置可能是复杂的,测试车辆网络及其与相关联的装置的操作同样可能是复杂的。
技术实现思路
1、本文公开的系统和方法可以降低用于测试车辆can总线上的通信的计算机和网络架构中的复杂性并提高效率。在示例性实现方式中,一个或多个应用程序生成包括事件的can消息。所述应用程序可以是模拟应用程序,即,可以由模拟器生成can消息,所述模拟器将所述can消息提供给解译器,所述解译器基于can数据库文件确定在所述can消息中的事件。一旦确定了所述事件,所述解译器就生成将所述can消息中的所述事件映射到硬件抽象层(hal)属性的文件。硬件抽象层与许多不同的操作系统一起使用以与硬件通信,hal属性可以是硬件装置的参数或设置。因此,可以将映射所述can消息中的所述事件的所述文件发送到所述硬件抽象层,所述硬件抽象层继而可以将消息发送至接收服务器,例如,可以作用于所述消息的电子控制单元(ecu)模拟器。在所述解译器确定所述can消息中的所述事件,然后将所述事件映射至hal属性并且随后调用所述hal以继而调用所述ecu的情况下,可以以降低的复杂性和/或提高的效率执行对can配置的模拟和/或测试。有利地,本文公开的技术将允许任何基于内核的操作系统以发送can消息以模拟物理ecu,以及发送can消息的事件以模拟和测试物理ecu环境的场景。
2、因此,一种系统可以包括计算机,所述计算机包括处理器和存储器,所述存储器存储指令,所述指令可由所述处理器执行以:从应用程序模拟器接收控制器局域网(can)消息;对于多个can消息名称中的每一个,基于包括ecu事件标识符的第一文件,确定包括在所述can消息中的ecu事件;基于将所述ecu事件映射至硬件抽象层(hal)属性的第二文件,调用硬件抽象层并且将所述can消息发送至所述hal;以及接收来自所述hal的响应。
3、所述第二文件可以包括所述can消息的所述can消息名称、所述can消息的消息id以及所述hal属性中相应的一个。用于调用所述硬件抽象层和将所述can消息发送至所述hal的指令可以包括用于执行脚本的指令,所述脚本用要基于所述can消息调用的硬件抽象层属性填充在所述第二文件中提供的方案。所述脚本可以是javascript。执行所述脚本可以创建javascript对象表示法(json)文件。所述hal可以基于所述hal属性将第二消息发送至电子控制单元(ecu)模拟器。将所述第二消息发送至所述ecu模拟器可以包括形成将所述第二消息提供至所述ecu模拟器的套接字。将所述第二消息发送至所述ecu模拟器可以包括将所述第二消息发送至中间件层,所述中间件层根据不特定于所述ecu模拟器的通用通信协议接收所述第二消息并且随后将所述第二消息提供至所述ecu模拟器。
4、一种方法可以包括:从应用程序模拟器接收控制器局域网(can)消息;对于多个can消息名称中的每一个,基于包括ecu事件标识符的第一文件,确定包括在所述can消息中的ecu事件;基于将所述ecu事件映射至硬件抽象层(hal)属性的第二文件,调用硬件抽象层并且将所述can消息发送至所述hal;以及接收来自所述hal的响应。
5、所述第二文件可以包括所述can消息的所述can消息名称、所述can消息的消息id以及所述hal属性中相应的一个。调用所述硬件抽象层和将所述can消息发送至所述hal可以包括执行脚本,所述脚本用要基于所述can消息调用的硬件抽象层属性填充在所述第二文件中提供的方案。所述脚本可以是javascript。执行所述脚本可以创建javascript对象表示法(json)文件。所述hal可以基于所述hal属性将第二消息发送至电子控制单元(ecu)模拟器。将所述第二消息发送至所述ecu模拟器可以包括形成将所述第二消息提供至所述ecu模拟器的套接字。将所述第二消息发送至所述ecu模拟器可以包括将所述第二消息发送至中间件层,所述中间件层根据不特定于所述ecu模拟器的通用通信协议接收所述第二消息并且随后将所述第二消息提供至所述ecu模拟器。
1.一种方法,其包括:
2.如权利要求1所述的方法,其中所述第二文件包括所述can消息的所述can消息名称、所述can消息的消息id以及所述hal属性中相应的一个。
3.如权利要求1所述的方法,其中用于调用所述硬件抽象层和将所述can消息发送至所述hal的指令包括用于执行脚本的指令,所述脚本用要基于所述can消息调用的硬件抽象层属性填充在所述第二文件中提供的方案。
4.如权利要求3所述的方法,其中所述脚本是javascript。
5.如权利要求3所述的方法,其中执行所述脚本创建了javascript对象表示法(json)文件。
6.如权利要求1所述的方法,其中所述hal基于所述hal属性将第二消息发送至电子控制单元(ecu)模拟器。
7.如权利要求6所述的方法,其中将所述第二消息发送至所述ecu模拟器包括形成将所述第二消息提供至所述ecu模拟器的套接字。
8.如权利要求1所述的方法,其中将所述第二消息发送至所述ecu模拟器包括将所述第二消息发送至中间件层,所述中间件层根据不特定于所述ecu模拟器的通用通信协议接收所述第二消息并且随后将所述第二消息提供至所述ecu模拟器。
9.一种计算机,其被编程为执行如权利要求1至8中任一项所述的方法。
