一种支持多用户操作的汽车实时诊断代理及其数据处理方法与流程

文档序号:15213313发布日期:2018-08-21 15:39阅读:156来源:国知局

本发明涉及汽车实时诊断装置领域,尤指一种支持多用户操作的汽车实时诊断代理及其数据处理方法。



背景技术:

现代汽车越来越依赖汽车内部的电子控制来进行工作。同样,汽车的诊断也依赖于汽车电子诊断技术,特别随着新能源车的发展,没有电子诊断技术,汽车检测和维修基本就无法进行。

当前常用的汽车诊断装置如图1所示,将诊断代理(通常为一个硬件小设备,诊断代理在市面上可以买到,有时也叫“诊断接头”,作为诊断仪的附件存在),通过obdii插头与汽车obdii诊断口连接,诊断仪(通常为专用电脑或者工业电脑或者平板电脑)通过有线与诊断代理连接,通过诊断代理,诊断仪可以对汽车各个ecu(电子控制单元)进行诊断。

在一些特定场景,比如汽车实训教学和竞赛,为了提升设备利用率,需要多个用户,比如多个参加实训的学生,需要对同一辆车同时、独立进行诊断,而不能多个用户使用同一诊断装置。如果同一辆汽车能够被多个用户(如学生)并行使用,则汽车的利用率将大大提升,实训成本将会降低。

市面上实现多用户诊断装置的方式,是基于现有单用户诊断代理改造成多用户诊断代理。如图2-3所示目前多用户汽车诊断装置,就是在诊断代理上将多个诊断仪的请求同时独立地进行处理,各个诊断仪请求和响应之间并没有关联关系。就算是每个诊断仪都请求相同的诊断响应,每个诊断仪的请求都会被发送到汽车上。

举例来说,5个诊断仪(编号为诊断仪1~5)同时工作,每个诊断仪都请求汽车的诊断数据x,则诊断代理会接收5个诊断的请求x1~x5(x1~x5分别指1~5号诊断仪发出的诊断请求x),x1~x5都是相同的,然后诊断代理会返回5份相同的响应分别发给5个诊断仪。

由此可见,汽车在同一时间需要处理5个相同的诊断请求并进行响应,给汽车带来了很大压力,会给汽车工作带来异常。

举例来说,一辆汽车最大可以承受外部5ms一次诊断请求访问,同时有5个诊断仪同时对汽车进行诊断。为了保证诊断访问的实时性,每个一个诊断仪每20ms发送一次请求,此时can总线需要承受20ms/5=4ms的请求频率,汽车会工作异常。

为了解决多用户访问操作时汽车可能异常的问题,只能降低诊断仪的请求访问频率。仍以上例子为例,诊断仪的请求访问周期必须提高到5ms*5=25ms才能保证汽车工作不异常。如果是10个诊断仪同时工作,则必须将访问周期提高到5ms*10=50ms。这样带来的后果是诊断的实时性降低了,对于一些实时敏感的诊断数据如油门踏板深度、刹车深度等的诊断数据采集间隔加大,诊断的效果降低。

因此既要支持多用户操作,又要支持实时性的诊断,目前市面上的诊断装置无法做到。



技术实现要素:

为解决上述问题,本发明提供一种支持多用户操作的汽车实时诊断装置及其使用方法,在不额外增加车内设备和成本的情况下,支持多个用户同时对一辆车进行实时性的诊断。

为实现上述目的之一,本发明采用的技术方案是提供一种支持多用户操作的汽车实时诊断代理,包括用于接收多个诊断仪的外部请求并发送至请求合并记录单元的接收请求单元、将同一类型的外部请求合并并记录各类型的外部请求所对应的诊断仪信息并发送至处理单元的请求合并记录单元、用于将合并后的外部请求发送至汽车ecu,接收汽车ecu的诊断响应并将诊断响应发送至响应发送单元的处理单元、用于将同一类型的诊断响应发送给对应的诊断仪的响应发送单元;其中所述接收请求单元的输入端与多个诊断仪连接,所述接收请求单元的输出端与请求合并记录单元的输入端连接,所述请求合并记录单元的输出端与处理单元的输入端连接,所述处理单元的输出端与响应发送单元的输入端连接,所述响应发送单元的输出端与请求合并记录单元以及多个诊断仪连接。

进一步,还包括用于检测接收汽车ecu的诊断响应是否超时的第一定时响应单元,其中第一定时响应单元的输入端与请求合并记录单元连接,第一定时响应单元的输出端与处理单元连接。

为实现上述目的之二,本发明提供一种支持多用户操作的汽车实时诊断代理的数据处理方法,包括以下步骤:

s1.接收请求单元接收多个诊断仪的外部请求并发送至请求合并记录单元,请求合并记录单元将同一类型的外部请求合并并记录各类型的外部请求所对应的诊断仪信息并发送至处理单元;

s2.处理单元将合并后的外部请求发送至汽车ecu,同时接收汽车ecu的诊断响应并将诊断响应发送至响应发送单元;

s3.响应发送单元将同一类型的诊断响应发送给对应的诊断仪。

进一步地,所述步骤s1的具体步骤为:

步骤s11:初始化请求合并记录单元中的请求记录表;

步骤s12:如果接收请求单元接收到来自诊断仪的一个外部请求,跳转到步骤s13;否则继续停留在步骤s12;

步骤s13:查找请求合并记录单元中是否存在该外部请求的类型,如果没有,创建该外部请求类型,并将对应的诊断仪的诊断仪信息写入该外部请求类型中,接着跳转回步骤s12;否则跳转到步骤s14;

步骤s14:查找请求合并记录单元中该外部请求类型,如果不存在对应的诊断仪的诊断仪信息,则把对应的诊断仪的诊断仪信息加入到该外部请求类型的尾部;否则,丢弃本次外部请求,跳转到步骤s12。

其中所述步骤s2的具体步骤为:

步骤s21:处理单元查询请求合并记录单元中是否有内容非空的外部请求类型待处理,如果有,则跳转到步骤s22;否则仍停留在步骤s21;

步骤22:处理单元将待处理的外部请求类型转换成can总线可以识别的外部请求报文并通过can总线发送至汽车ecu;汽车ecu将外部请求报文进行处理并发送can响应至处理单元);

步骤s221:启动第一定时响应单元,等待can响应;如果第一定时响应单元超时,仍未收到can响应,则跳转回步骤s21;如果未超时,接收到can响应,则跳转到步骤s23。

步骤23:处理单元将接收到的can响应转换成外部可以识别的诊断响应,并发送给响应发送单元;然后跳转到步骤s21;其中诊断响应与对应的外部请求类型相同。

其中所述步骤s3的具体步骤为:

步骤s31:如果响应发送单元接收到来自处理单元中发送的诊断响应,则跳转到步骤s32,否则仍停留在步骤s31继续等待;

步骤s32:诊断响应在请求合并记录单元中查找对应外部请求类型的所有诊断仪的诊断仪信息;

步骤s33:按照对应外部请求类型的所有诊断仪的诊断仪信息逐一发送诊断响应给对应的诊断仪;

步骤s34:删除请求合并记录单元中的该外部请求类型,跳转回步骤s31。

本发明的有益效果在于:将来自多个诊断仪的外部请求进行整理,请求合并记录单元将同一类型的外部请求合并成一个,同时记录该类型的外部请求所对应的诊断仪的信息;就算有多个用户提交的同一类型外的部请求,诊断代理只发送一份给汽车;得到汽车的响应后,将响应数据发送给每个请求这项数据的用户;每个相同的诊断请求只会发送一份到汽车,汽车的诊断压力将大大降低,可以做到与单用户诊断装置相同的诊断实时性。

附图说明

图1是现技术单用户的汽车诊断装置图。

图2是现技术多用户的汽车诊断装置图。

图3是现技术多用户汽车诊断装置的软件框架图。

图4是本发明诊断代理的工作原理图。

图5是本发明结构框架简略示意图。

图6是本发明结构框架具体示意图。

图7是本发明接收请求单元以及请求合并记录单元的工作进程逻辑框图。

图8是本发明处理单元的工作进程逻辑框图。

图9是本发明响应发送单元的工作进程逻辑框图。

附图标号说明:1.接收请求单元;2.请求合并记录单元;3.处理单元;4.响应发送单元。

具体实施方式

下面结合具体实施例和说明书附图对本发明予以详细说明。

请参阅图4-9所示,本发明关于一种支持多用户操作的汽车实时诊断装置及其使用方法,下面通过具体实施方式对本发明作进一步说明。

请参阅图4-6所示,为实现上述目的之一,本发明采用的技术方案是提供一种支持多用户操作的汽车实时诊断装置,包括诊断代理、obdii接口、多个诊断仪,其中诊断代理通过obdii接口与汽车obdii诊断口电性连接,且所述诊断代理与多个诊断仪双向通讯连接,所述诊断代理包括用于接收多个诊断仪的外部请求并发送至请求合并记录单元2的接收请求单元1、将同一类型的外部请求合并并记录各类型的外部请求所对应的诊断仪信息并发送至处理单元3的请求合并记录单元2、用于将合并后的外部请求发送至汽车ecu,接收汽车ecu的诊断响应并将诊断响应发送至响应发送单元4的处理单元3、用于将同一类型的诊断响应发送给对应的诊断仪的响应发送单元4;其中所述接收请求单元1的输入端与多个诊断仪连接,所述接收请求单元1的输出端与请求合并记录单元2的输入端连接,所述请求合并记录单元2的输出端与处理单元3的输入端连接,所述处理单元3的输出端与响应发送单元4的输入端连接,所述响应发送单元4的输出端与多个诊断仪连接,处理单元3的输出端以及输入端分别与obdii接口连接。

进一步,所述接收请求单元1的输入端以及响应发送单元4的输出端通过无线模块与多个诊断仪连接。进一步,所述无线模块为wlan模块、蓝牙模块、3g/4g模块、zigbee模块中的一项或多项。通过无线模块实现诊断仪和多个诊断仪之间的双向数据通讯,没有有线路搭建的烦恼。

进一步,还包括用于检测接收汽车ecu的诊断响应是否超时的第一定时响应单元,其中第一定时响应单元的输入端与请求合并记录单元2连接,第一定时响应单元的输出端与处理单元3连接。

请参阅图4-9所示,为实现上述目的之二,本发明提供一种支持多用户操作的汽车实时诊断代理的数据处理方法,包括以下步骤:

s1.接收请求单元1接收多个诊断仪的外部请求,请求合并记录单元2将同一类型的外部请求合并成一个,同时记录该类型的外部请求所对应的诊断仪的信息,并构成请求记录表;

s2.处理单元3查询请求记录表的有效请求记录,将外部请求转换为can请求发送给汽车ecu,同时接收汽车ecu的响应并转换为外部响应,并发送给响应发送单元4;

s3.响应发送单元4接收来自处理单元3的外部响应,查询请求合并记录单元2中的请求记录表,将外部响应发送给对应的诊断仪。

将来自多个诊断仪的外部请求进行整理,请求合并记录单元2将同一类型的外部请求合并成一个,同时记录该类型的外部请求所对应的诊断仪的信息,并构成请求记录表;就算有多个用户提交的同一类型外的部请求,诊断代理只发送一份给汽车;得到汽车的响应后,将响应数据发送给每个请求这项数据的用户;,每个相同的诊断请求只会发送一份到汽车,汽车的诊断压力将大大降低,可以做到与单用户诊断装置相同的诊断实时性。

下面通过具体实施方式对本发明作进一步说明。

每一台诊断仪具有用于区分身份的诊断仪id,比如n台诊断仪,则n台诊断仪的诊断仪id分别为(x1、x2......xn),每一种外部请求具有用于区分请求类型的外部请求id,比如m种外部请求,则每种外部请求的外部请求id分别为(y1、y2......ym);

其中在本具体实施方式中,某一台诊断仪的诊断仪id为x1,该诊断仪发出的外部请求id为y1的外部请求;诊断仪id为x2的诊断仪也发出外部请求id为y1的外部请求;

请参阅图7所示,接收请求单元1以及请求合并记录单元2的工作进程:

步骤a:初始化请求合并记录单元2中的请求记录表,初始化完后,表项里面内容全部为空;完成后跳转到步骤b;

步骤b:如果接收请求单元1接收到来自诊断仪的一个外部请求,跳转到步骤c;否则继续停留在步骤b;

步骤c:查找请求合并记录单元2中的请求记录表中是否存在该外部请求id:y1的索引条目,如果没有,创建该外部请求id的索引条目,并将对应的诊断仪的诊断仪id:x1、x2作为内容,写入该索引条目对应的内容中,接着跳转回步骤b;否则跳转到步骤d;

步骤d:查找请求合并记录单元2中的请求记录表中该外部请求id:y1的索引条目的内容,如果内容中不存在对应的诊断仪的诊断仪id:x1、x2,则把对应的诊断仪的诊断仪id:x1、x2加入到该索引条目内容的尾部;否则,丢弃本次外部请求,跳转到步骤b;

接收请求单元1以及请求合并记录单元2的工作进程为整理以及完善请求记录表,通过将来自多个诊断仪的外部请求进行整理,请求合并记录单元2将同一类型的外部请求合并成一个,同时记录该类型的外部请求所对应的诊断仪的信息,并构成请求记录表。

请参阅图8所示,处理单元3的工作进程:

步骤e:等待查询定时器定时到,如果定时器到,查询请求记录表,查询请求记录表中是否有内容非空的索引条目待处理(外部请求id:y1的索引条目的内容记录有诊断仪id:x1、x2),则跳转到步骤f;

步骤f:将待处理的外部请求id:y1转换成can总线可以识别的外部请求报文并发送到can总线;跳转到步骤g。

步骤g:启动第一定时响应单元,等待can响应;如果第一定时响应单元超时,仍未收到can响应,则跳转回步骤e;如果未超时,接收到can响应,则跳转到步骤h。

步骤h:将接收到的can响应转换成外部可以识别的外部响应报文id:y1,并发送给响应发送单元4;然后跳转到步骤e;其中外部响应报文id:y1与对应的外部请求id:y1相同;

请参阅图9所示,响应发送单元4的工作进程:

步骤i:响应发送单元4接收到来自处理单元3中发送的外部响应报文id:y1,则跳转到步骤j。

步骤j:以外部响应报文id:y1查找请求记录表,找到对应外部请求id:y1的索引条目中保存的所有诊断仪id:x1、x2,跳转到步骤k;

步骤k:按照诊断仪id:x1、x2逐一发送外部响应报文给对应的诊断仪x1、诊断仪x2,跳转到步骤l;

步骤l:删除“请求记录表”中的该外部请求id:y1的索引条目,跳转回步骤i。

接收请求单元1以及请求合并记录单元2的工作进程,处理单元3的工作进程,响应发送单元4的工作进程,均基于linux多任务操作系统中进行;

综上所述接收请求单元1以及请求合并记录单元2的工作进程,处理单元3的工作进程,响应发送单元4的工作进程,本发明是将来自多个诊断仪的外部请求进行整理,请求合并记录单元2将同一类型的外部请求合并成一个,同时记录该类型的外部请求所对应的诊断仪的信息,并构成请求记录表;就算有多个用户提交的同一类型外的部请求,诊断代理只发送一份给汽车;得到汽车的响应后,将响应数据发送给每个请求这项数据的用户;每个相同的诊断请求只会发送一份到汽车,汽车的诊断压力将大大降低,可以做到与单用户诊断装置相同的诊断实时性。

假设,有m个诊断仪,且每一个诊断仪发送n个不同类型的外部请求;以下列举诊断代理所使用的“请求记录表”数据格式如下:

以上实施方式仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。

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