一种CAN总线开发与测试方法及系统与流程

文档序号:12491935阅读:1250来源:国知局
一种CAN总线开发与测试方法及系统与流程

本发明涉及汽车电子技术领域,特别涉及一种CAN总线开发与测试方法及系统。



背景技术:

在汽车电子系统的开发过程中,通常需要对控制器局域网络(Controller Area Network,CAN)总线报文进行监听与分析、注入测试报文进行测试以及实时显示CAN总线上的数据。为了完成这些任务,现行的方法是将多个应用软件联合多个USB转CAN接口卡(以下简称USB-CAN)连接到CAN总线的物理层,如图1示出了现行的一个典型的连接图,这种连接方式需要在一台计算机上连接多个USB-CAN,每个软件需要通过一个相应的USB-CAN与CAN总线上连接的其他设备进行通信。其中,应用软件为需要开发调试的软件,抓包工具用于抓取CAN总线的所有数据并将抓取的数据保存成文件供后期分析,实时数据分析工具对抓包工具抓取的数据进行抓取并进行报文解析和实时解析得到的CAN总线的相关物理量,数据注入工具注入与应用软件相关的测试数据。

但是,这种现行的方法存在如下缺陷:一是,需要使用多个USB-CAN,提高了测试成本;二是,将多个USB-CAN连接在同一个计算机上时,导致系统比较复杂,系统的驱动可能会相互影响而引起系统的不稳定;三是,在接入新的工具时,必须接入相应的USB-CAN,导致上述现行的方法的扩展性较差。



技术实现要素:

本发明的目的在于提供一种CAN总线开发与测试方法及系统,以降低CAN总线开发与测试过程的复杂度。

为实现以上目的,本发明采用的技术方案为:第一方面,提供一种CAN总线开发与测试方法,该方法包括:

实际CAN总线数据调试分析所需的应用软件向虚拟CAN总线创建的网络服务发送数据;

所述网络服务将接收到的数据转发至与其连接的其他CAN总线调试分析所需的应用软件,以及将接收的数据转发至实际CAN总线;

利用与所述网络服务连接的CAN总线调试分析所需的应用软件对所述网络服务转发的数据进行调试分析。

第二方面,提供一种CAN总线开发与测试系统,该系统包括:

运行在第一PC端的由虚拟CAN总线创建的网络服务以及实际CAN总线数据调试分析所需的应用软件;

实际CAN总线数据调试分析所需的应用软件通过网络连接的形式接入所述网络服务。

与现有技术相比,本发明存在以下技术效果:本发明通过创建一个网络服务,在网络服务内同时挂接多个应用软件,多个应用软件可以向网络服务内发送数据,并由网络服务将接收到的数据转发给所连接的其他的应用软件。而不需要对每个应用软件设置相应的USB-CAN,降低了测试成本和系统的复杂度,进一步地提高了系统的稳定性。

附图说明

图1是本发明背景技术部分述及的现行测试系统的一个典型的连接示意图;

图2是本发明一实施例提供的一种CAN总线开发与测试方法的流程示意图;

图3是本发明一实施例提供的一种CAN总线开发与测试系统的结构示意图。

具体实施方式

下面结合图1至图3所示,对本发明做进一步详细叙述。

如图2所示,本实施例公开了一种CAN总线开发与测试方法,该方法包括如下步骤S1至S3:

S1、实际CAN总线数据调试分析所需的应用软件向虚拟CAN总线创建的网络服务发送数据;

其中,实际CAN总线数据调试分析所需的应用软件包括需要开发调试的应用软件、抓包工具、实时数据分析工具以及数据注入工具等应用软件。需要说明的是,本实施例中不限定应用软件的种类和数量,本领域技术可以根据实际情况的需要,选择不同的应用软件。

S2、所述网络服务将接收到的数据转发至与其连接的其他CAN总线调试分析所需的应用软件,以及将接收的数据转发至实际CAN总线;

S3、利用与所述网络服务连接的CAN总线调试分析所需的应用软件对所述网络服务转发的数据进行调试分析。

在实际应用中,通过数据注入工具注入干扰包来干扰实际CAN总线的数据,在干扰过程中,抓取工具抓取对个应用软件与实际CAN总线之间的通信数据,并由其他的应用软件对抓取的通信数据进行调试分析。本实施例中应用软件与实际CAN总线之间的通信过程为:由虚拟CAN总线创建的网络服务将某一应用软件的数据直接转发至其连接的其他应用软件,多个应用软件通过网络服务即可与使用一个实际CAN总线实现数据收发。而传统的通信方式是每个应用软件需要通过相应的USB-CAN来与实际CAN总线上的设备进行通信,实现数据收发,即需要在一台计算机上连接多个USB-CAN。因此,本发明与传统的通信方式相比,仅需要一个甚至可以不需要USB-CAN,大大减少了USB-CAN的数量,降低了整个系统的复杂度和使用成本。

另外,还需说明的是,本实施例中对抓取的实际CAN总线的数据进行调试分析的过程与现有的调试分析过程相同,本实施例中不再赘述。

进一步地,需要说明的是,网络服务将接收的应用软件发送的数据转发至实际CAN总线后,实际CAN总线将数据发送到与其连接的设备中,设备根据接收到的数据执行相应动作或者返回相应的报文数据。在设备返回相应的报文数据时,本实施例中公开的CAN总线数据调试方法还包括如下步骤:

所述网络服务将接收到的数据通过USB-CAN转发至实际CAN总线,并接收实际CAN总线返回的报文数据;

所述网络服务将实际CAN总线返回的报文数据转发至与所述网络服务连接的CAN总线调试分析所需的应用软件中;

其中,所述的实际CAN总线返回的报文数据为与实际CAN总线连接的设备产生的报文数据。

需要说明的是,本实施例中的抓取工具还对设备返回的报文数据进行抓取以进行分析。

进一步地,本实施例公开的方法还包括:

将运行在第二PC端的相应的应用软件通过网络方式连接到所述虚拟CAN总线创建的网络服务中,其中,所述虚拟CAN总线运行在第一PC端;

所述第二PC端通过第一PC端对实际CAN总线进行远程调试。

需要说明的是,因为本实施例中的虚拟CAN总线是运行在第一PC端上的并且通过网络的形式来实现的,使得应用软件也可以运行在其他的计算机上,如本实施例中的第二PC端。第二PC端通过网络连接的形式接入第一PC端,即可通过第一PC端来对实际CAN总线进行远程调试开发。

如图3所示,本实施例公开了一种CAN总线开发与测试系统,该系统包括:运行在第一PC端的由虚拟CAN总线创建的网络服务以及实际CAN总线数据调试分析所需的应用软件;

实际CAN总线数据调试分析所需的应用软件通过网络连接的形式接入所述网络服务。

进一步地,本实施例中的系统还包括通过连接线与所述的网络服务接口连接的USB-CAN,USB-CAN还与实际CAN总线连接。

需要说明的是,所述的网络服务可以但不限于通过USB-CAN的形式与实际CAN总线连接。在网络服务的接口与USB-CAN连接时,网络服务还把接收到的应用软件发送的数据转发至实际CAN总线,并且把通过USB-CAN从实际CAN总线上接收到的报文数据转发至其连接的所有应用软件。

进一步地,如图3所示,本实施例的系统还包括通过网络连接的形式接入所述网络服务中的第二PC端,第二PC端上运行所述CAN总线数据调试分析所需的应用软件。

具体地,根据实际测试情况的需要,第二PC端上运行的应用软件也包括需要开发调试的应用软件、抓包工具、实时数据分析工具以及数据注入工具等应用软件,第二PC端上运行上述应用软件时,即可通过第一PC端对实际CAN总线数据进行调试分析。

还需要说明的是,在不涉及与设备的数据收发时,本实施例中由虚拟CAN总线创建的网络服务可以不与实际CAN总线连接,在脱离实际CAN总线的情况下,完成实际CAN总线数据的收发,实现了纯虚拟CAN总线的调试分析,易于扩展。

需要说明的是,在实际应用中,对于已经存在的基于USB-CAN开发的软件,需要开发一套与USB-CAN操作相同的应用程序编程接口(Application Programming Interface,API)的动态链接库(Dynamic Link Library,DLL),将USB操作的API相关函数的功能替换为对虚拟CAN总线创建的网络服务的操作,包括连接、数据收发以及断开等操作,然后直接替换原有软件的DLL即可完成原有软件的配适。

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

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