一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

诊断信息生成方法、处理装置以及车辆与流程

2022-11-23 17:15:07 来源:中国专利 TAG:


1.本技术涉及汽车技术领域,更具体地,涉及一种诊断信息生成方法、处理装置以及车辆。


背景技术:

2.随着汽车的以太网技术的发展,总线的带宽以及处理器的算力提升,基于域控制器的软件设计方案开始得到广泛应用。在相关方式中,车辆的域控制器可能存在多个处理器,每个处理器可以处理不同的任务,当需要对整个域控制器进行数据诊断时,需要分别对每一个处理器上的任务执行状况进行诊断,从而需要诊断多次才可得到整个处理装置的诊断数据。因此,在相关方式中,还存在诊断效率较低的问题。


技术实现要素:

3.鉴于上述问题,本技术提出了一种诊断信息生成方法、处理装置以及车辆,以实现改善上述问题。
4.第一方面,本技术提供了一种诊断信息生成方法,所述方法包括:响应于诊断信息获取请求,确认所述诊断信息获取请求所需的目标诊断数据;若所述目标诊断数据包括本地目标诊断数据和非本地目标诊断数据,基于所述诊断信息获取请求,从诊断信息共享区中获取所述非本地目标诊断数据,所述诊断信息共享区包括本地诊断数据和非本地诊断数据;基于所述诊断信息获取请求,获取所述本地目标诊断数据;基于所述本地目标诊断数据和所述非本地目标诊断数据,生成诊断信息。
5.第二方面,本技术提供了一种处理装置,所述处理装置包括包括处理器和诊断信息共享区,其中:所述处理器用于响应于诊断信息获取请求,确认所述诊断信息获取请求所需的目标诊断数据;若所述目标诊断数据包括本地目标诊断数据和非本地目标诊断数据,基于所述诊断信息获取请求,从诊断信息共享区中获取非本地目标诊断数据,所述诊断信息共享区包括本地诊断数据和非本地诊断数据;基于所述诊断信息获取请求,获取所述本地目标诊断数据;基于所述本地目标诊断数据和所述非本地目标诊断数据,生成诊断信息;所述诊断信息共享区用于存储本地诊断数据和非本地诊断数据。
6.第三方面,本技术提供了一种车辆,包括处理装置以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述处理装置执行,所述一个或多个程序配置用于执行上述的方法。
7.第四方面,本技术提供的一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
8.本技术提供的一种诊断信息生成方法、处理装置、车辆以及存储介质,在响应于诊断信息获取请求,确认所述诊断信息获取请求所需的目标诊断数据后,若所述目标诊断数据包括本地目标诊断数据和非本地目标诊断数据,基于所述诊断信息获取请求,从包括本地诊断数据和非本地诊断数据的诊断信息共享区中获取所述非本地目标诊断数据,基于所
述诊断信息获取请求,获取所述本地目标诊断数据,基于所述本地目标诊断数据和所述非本地目标诊断数据,生成诊断信息。通过上述方式使得,可以在响应诊断信息获取请求后,确认诊断信息获取请求所需的目标诊断数据,并在目标诊断数据包括本地目标诊断数据和非本地目标诊断数据时,可以从诊断信息共享区获取到非本地目标诊断数据,从而可以将获取到的本地目标诊断数据和非本地目标诊断数据整合成诊断信息,使得进行一次诊断信息获取请求就可以得到目标诊断数据,提高了诊断效率。
附图说明
9.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
10.图1示出了本技术提出的一种应用场景的示意图;
11.图2示出了本技术实施例提出的一种诊断信息生成方法的流程图;
12.图3示出了本技术提出的一种诊断信息共享区的示意图;
13.图4示出了本技术另一实施例提出的一种诊断信息生成方法的流程图;
14.图5示出了本技术图4中s240的一种实施方式的流程图;
15.图6示出了本技术又一实施例提出的一种诊断信息生成方法的流程图;
16.图7示出了本技术图6中s320的一种实施方式的流程图;
17.图8示出了本技术提出的一种更新诊断信息共享区中的诊断数据的流程图;
18.图9示出了本技术再一实施例提出的一种诊断信息生成方法的流程图;
19.图10示出了本技术实施例提出的一种处理装置的结构框图;
20.图11示出了本技术提出的一种车辆的结构框图;
21.图12是本技术实施例的用于保存或者携带实现根据本技术实施例的诊断信息生成方法的程序代码的存储单元。
具体实施方式
22.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.在本技术实施例中,发明人提出了一种诊断信息生成方法、处理装置以及车辆,在响应于诊断信息获取请求,确认所述诊断信息获取请求所需的目标诊断数据后,若所述目标诊断数据包括本地目标诊断数据和非本地目标诊断数据,基于所述诊断信息获取请求,从包括本地诊断数据和非本地诊断数据的诊断信息共享区中获取所述非本地目标诊断数据,基于所述诊断信息获取请求,获取所述本地目标诊断数据,基于所述本地目标诊断数据和所述非本地目标诊断数据,生成诊断信息。通过上述方式使得,可以在响应诊断信息获取请求后,确认诊断信息获取请求所需的目标诊断数据,并在目标诊断数据包括本地目标诊断数据和非本地目标诊断数据时,可以从诊断信息共享区获取到非本地目标诊断数据,从而可以将获取到的本地目标诊断数据和非本地目标诊断数据整合成诊断信息,使得进行一
次诊断信息获取请求就可以得到目标诊断数据,提高了诊断效率。
24.为了更好地理解本技术实施例的方案,下面先对本技术实施例所使用的技术名词解释。
25.域控制器:在汽车领域中,域控制器可以指集成了多个功能相近的传统ecu(electronic control unit,电子控制单元)的算力强大、资源丰富的控制器,域可以指功能域。基于功能的不同可以分为多种域控制器,例如,中央域控制器可以是具有整车控制功能的域控制器。
26.自适应汽车开放系统架构(adaptive automotive open systems architecture,adaptive autosar):可以对现代高速发展的汽车软件进行标准化管理以适应于软件的更新迭代,autosar架构可以彻底隔离了底层硬件和上层软件,大大增加了代码重用性,且解耦可以使工程师同时开发各层软件,互不冲突、共同维护。autosar架构对应的工具链成熟,生成代码可靠性强,从而可以帮助汽车企业缩短开发周期、提高开发效率、降低开发成本。
27.can(controller area network,控制器局域网络)总线:一种基于can(controller area network,控制器局域网络)协议实现汽车的各个系统部件之间进行通信的通信线路。
28.为了更好地理解本技术实施例的方案,下面先对本技术的应用场景进行介绍。
29.请参阅图1,在本技术的应用场景中可以包括处理装置10和外部诊断设备200,本技术的处理装置10可以为具有数据处理和数据通信功能的电子器件,例如,处理装置10可以为中央域控制器。外部诊断设备200可以基于从处理装置10获取到的目标诊断数据对处理装置10数据处理任务的执行情况进行诊断,外部诊断设备可以为canoe、云端的模拟诊断设备等。
30.在图1中,处理装置10可以包括处理器102、本地存储区104、诊断信息共享区106、收发器108。其中,处理器102可以用于执行数据处理任务,处理器102可以是多核处理器,也就是说处理器102可以包括第一处理器1021和第二处理器1022,第一处理器1021和第二处理器1022可以各自对应有可执行的数据处理任务和诊断任务,其中,数据处理任务可以指为了保证处理装置10正常运行而执行的需要对接收到的数据进行分析计算等操作的任务,诊断任务可以指用于分析、查看数据处理任务是否处于正常运行状态的任务。第一处理器1021可以为搭载linux的cortex-a的内核处理器,第一处理器1021可以用于实现处理装置与以太网之间的数据交互,第二处理器1022可以为搭载autosar classic os的cortex-m的内核处理器,第二处理器1022可以用于实现处理装置与can总线之间的数据交互。第一处理器1021和第二处理器1022还可以分别设置有诊断模块,诊断模块可以对诊断数据获取请求进行解析并获取诊断信息获取请求对应的目标诊断数据,第一处理器1021的诊断模块可以为以太网诊断模块,第二处理器1022的诊断模块可以为can诊断模块。
31.本地存储区104可以用于存储本地诊断数据,在处理器102为多核处理器的情况下,本地诊断数据可以指每个核处理器在执行对应的数据处理任务时所涉及的诊断数据。本地存储区104可以包括第一本地存储区1041和第二本地存储区1042,第一本地存储区1041可以用于存储第一处理器1021的本地诊断数据,第二本地存储区1042可以用于存储第二处理器1022的本地诊断数据,第一处理器1021的本地诊断数据可以指第一处理器1021在执行对应的数据处理任务时所涉及的诊断数据,第二处理器1022的本地诊断数据可以指第
二处理器1022在执行对应的数据处理任务时所涉及的诊断数据。
32.诊断信息共享区106可以用于存储非本地诊断数据,在处理器102为多核处理器的情况下,非本地诊断数据可以指其他核处理器在执行对应的数据处理任务时所涉及的诊断数据。示例性的,在图1中,第一处理器1021的非本地诊断数据可以为第二处理器1022的本地诊断数据,第二处理器1022的非本地诊断数据可以为第一处理器1021的本地诊断数据。
33.收发器108可以用于实现处理装置10和外部诊断设备200之间的数据通信,更具体地,收发器108可以用于接收外部诊断设备200发送的诊断信息获取请求并将诊断信息获取请求发送至第一处理器1021或者第二处理器1022,使得第一处理器1021或者第二处理器1022可以基于诊断信息获取请求获取到目标诊断数据,从而可以将目标诊断数据发送至外部诊断设备200。收发器108可以包括以太网收发器和can收发器。
34.下面将结合附图对本技术的实施例进行介绍。
35.请参阅图2,本技术提供的一种诊断信息生成方法,所述方法包括:
36.s110:响应于诊断信息获取请求,确认所述诊断信息获取请求所需的目标诊断数据。
37.其中,诊断信息获取请求可以用于获取处理装置执行的任务的诊断数据。目标诊断数据可以指外部诊断设备所需要的诊断数据。
38.作为一种方式,外部诊断设备可以通过以太网或者can总线向处理装置发送诊断信息获取请求,当收发器接收到诊断信息获取请求后,可以将诊断信息获取请求转发至第一处理器或者第二处理器,使得第一处理器或者第二处理器的诊断模块可以响应于诊断信息获取请求,并确认诊断信息获取请求所需的目标诊断数据。
39.作为一种方式,可以响应于诊断信息获取请求,获取诊断信息获取请求对应的目标诊断任务;若目标诊断任务包括本地目标诊断任务和非本地目标诊断任务,确认目标诊断数据包括本地目标诊断数据和非本地目标诊断数据。
40.可选的,若目标诊断任务属于本地目标诊断任务,确认目标诊断数据为本地目标诊断数据;若目标诊断任务属于非本地目标诊断任务,确认目标诊断数据为非本地目标诊断数据。
41.其中,本地诊断任务可以指接收到诊断信息获取请求的处理器可以执行的诊断任务,非本地任务可以指在处理装置中除了接收到诊断信息获取请求的处理器以外的处理器可以执行的诊断任务。本地目标诊断任务可以指提供诊断信息获取请求所需要的诊断数据的本地诊断任务,非本地目标任务可以指提供诊断信息获取请求所需要的诊断数据的非本地诊断任务。
42.示例性的,处理装置中可以包含第一处理器和第二处理器,第一处理器可以执行的诊断任务有a、b、c、d,第二处理器可以执行的诊断任务有e、f、g、h,诊断信息获取请求的处理器对应的目标诊断任务可以为a、b、e、f,当接收到诊断信息获取请求的处理器为第一处理器时,本地诊断任务可以为a、b、c、d,非本地诊断任务可以为e、f、g、h,本地目标诊断任务可以为a、b,非本地目标诊断任务可以为e、f;当接收到诊断信息获取请求的处理器为第二处理器时,本地诊断任务可以为e、f、g、h,非本地诊断任务可以为a、b、c、d,本地目标诊断任务可以为e、f,非本地目标诊断任务可以为a、b。
43.可选的,当第一处理器或者第二处理器接收到诊断信息获取请求时,可以基于诊
断模块解析该诊断信息获取请求,从而获取诊断信息获取请求对应的目标诊断任务,再基于第一处理器或者第二处理器自身的可执行诊断任务确认目标诊断任务的种类。
44.s120:若所述目标诊断数据包括本地目标诊断数据和非本地目标诊断数据,基于所述诊断信息获取请求,从诊断信息共享区中获取所述非本地目标诊断数据,所述诊断信息共享区包括本地诊断数据和非本地诊断数据。
45.其中,本地目标诊断数据可以指诊断信息获取请求所需的本地目标诊断任务对应的诊断数据,非本地目标诊断数据可以指诊断信息获取请求所需的非本地目标诊断任务对应的诊断数据。
46.作为一种方式,当第一处理器或者第二处理器在确认目标诊断数据包括本地目标诊断数据和非本地目标诊断数据时,第一处理器或者第二处理器可以基于诊断信息获取请求,从诊断信息共享区中获取非本地目标诊断数据。
47.可选的,诊断信息共享区可以将本地诊断数据和非本地诊断数据进行分区存储,即每一个处理器可以对应有一个指定存储区域,用于存储自身的本地诊断数据,以便其他处理器可以从该指定存储区域中获取其他处理器所需要的非本地目标诊断数据。示例性的,如图3所示,第一处理器的本地诊断数据可以存储在诊断信息共享区的指定存储区域a中,第二处理器的本地诊断数据可以存储在诊断信息共享区的指定存储区域b中,则当第一处理器需要获取非本地目标诊断数据时,第一处理器可以访问诊断信息共享区的指定存储区域b,以从指定存储区域b中获取到非本地目标诊断数据。
48.s130:基于所述诊断信息获取请求,获取所述本地目标诊断数据。
49.作为一种方式,当第一处理器或者第二处理器在确认目标诊断数据包括本地目标诊断数据和非本地目标诊断数据时,第一处理器或者第二处理器可以基于诊断信息获取请求从第一本地存储区或者第二本地存储区获取第一处理器或者第二处理器对应的本地目标诊断数据。
50.s140:基于所述本地目标诊断数据和所述非本地目标诊断数据,生成诊断信息。
51.作为一种方式,在基于步骤s120和步骤s130获取到本地诊断数据和非本地目标诊断数据后,第一处理器或者第二处理器可以将本地诊断数据和非本地目标诊断数据整合成诊断信息。
52.可选的,第一处理器或者第二处理器可以将整合成的诊断信息通过收发器发送至外部诊断设备。
53.可选的,在本技术实施例中,步骤s120和步骤s130的执行顺序可以不受限定,即可以步骤s120先于步骤s130执行,可以步骤s120后于步骤s130执行,步骤s120和步骤s130还可以同时执行。
54.本实施例提供的一种诊断信息生成方法,在响应于诊断信息获取请求,确认所述诊断信息获取请求所需的目标诊断数据后,若所述目标诊断数据包括本地目标诊断数据和非本地目标诊断数据,基于所述诊断信息获取请求,从包括本地诊断数据和非本地诊断数据的诊断信息共享区中获取所述非本地目标诊断数据,基于所述诊断信息获取请求,获取所述本地目标诊断数据,基于所述本地目标诊断数据和所述非本地目标诊断数据,生成诊断信息。通过上述方式使得,可以在响应诊断信息获取请求后,确认诊断信息获取请求所需的目标诊断数据,并在目标诊断数据包括本地目标诊断数据和非本地目标诊断数据时,可
以从诊断信息共享区获取到非本地目标诊断数据,从而可以将获取到的本地目标诊断数据和非本地目标诊断数据整合成诊断信息,使得进行一次诊断信息获取请求就可以得到目标诊断数据,提高了诊断效率。
55.请参阅图4,本技术提供的一种诊断信息生成方法,所述方法包括:
56.s210:响应于所述诊断信息获取请求,获取所述诊断信息获取请求对应的目标诊断任务。
57.s220:若所述目标诊断任务包括本地目标诊断任务和非本地目标诊断任务,确认所述目标诊断数据包括本地目标诊断数据和非本地目标诊断数据。
58.s230:若所述目标诊断数据包括本地目标诊断数据和非本地目标诊断数据,基于所述诊断信息获取请求,从诊断信息共享区中获取所述非本地目标诊断数据,所述诊断信息共享区包括本地诊断数据和非本地诊断数据。
59.作为一种方式,接收到诊断信息获取请求的处理器可以将目标诊断任务与自身可执行的诊断任务进行匹配,若存在匹配不成功的目标诊断任务,则表明匹配不成功的目标诊断任务为非本地目标诊断任务。在获取到非本地目标诊断任务后,可以基于非本地目标诊断任务,从诊断信息共享区中获取非本地目标诊断数据。
60.示例性的,第一处理器可以执行的诊断任务有a1、a2、a3、a4、...,第二处理器可以执行的诊断任务有b1、b2、b3、b4、...,诊断信息获取请求的处理器对应的目标诊断任务可以为a1、b1、b2、b3,当接收到诊断信息获取请求的处理器为第二处理器时,本地目标诊断任务可以为b1、b2、b3,非本地目标诊断任务可以为a1。
61.作为一种方式,如图5所示,基于从诊断信息共享区中获取所述非本地目标诊断数据,包括:
62.s231:获取所述诊断信息共享区的提示域,所述提示域包括多条提示信息,每一条所述提示信息包括诊断信息索引号、诊断信息索引号状态和诊断信息报文状态,所述诊断信息索引号用于表征诊断任务对应的诊断数据存储区域。
63.其中,诊断信息共享区的提示域可以指将诊断信息共享区的所有数据存储和读写状况进行集中显示的区域,具体地,诊断信息共享区的提示域可以如表1所示。每一条提示信息可以包括诊断信息索引号、诊断信息索引号状态和诊断信息报文状态,当诊断信息索引号确定后,可以通过表1得到诊断信息索引号对应的诊断信息索引号状态和诊断信息报文状态。诊断信息索引号状态可以用于表征诊断任务对应的诊断数据存储区域的使用状态,诊断信息报文状态可以表征是否可以读写诊断数据。
64.表1
[0065][0066]
作为一种方式,可以将诊断信息共享区的提示域以表格(如表1)的形式存储在指定位置,使得第一处理器或者第二存储器可以直接从该指定位置获取到诊断信息共享区的提示域中的提示信息。
[0067]
s232:基于所述非本地目标诊断任务和所述多条提示信息,获取所述非本地目标诊断任务的诊断信息索引号。
[0068]
在本技术实施例中,由于诊断信息共享区可以对第一处理器和第二处理器的本地诊断数据进行分区存储,且第一处理器和第二处理器分别可以有多个诊断任务,每个诊断任务可以对应有诊断数据,因此,为了进一步区分每一个诊断信息索引号对应的诊断任务以及诊断数据的存储位置,诊断信息索引号可以包括处理器标识以及诊断任务编号。
[0069]
示例性的,如表1所示,诊断信息索引号可以由6位十进制数构成,第一位对应数字可以为处理器标识,后5位对应的数字可以为诊断任务编号,整个诊断信息索引号可以表示诊断任务对应的诊断数据存储区域。其中,当第一位为1时,可以表示该诊断信息索引号对应的诊断数据存储区域为第一处理器在诊断信息共享区中的指定存储区域;当第一位为2时,可以表示该诊断信息索引号对应的诊断数据存储区域为第二处理器在诊断信息共享区中的指定存储区域。诊断信息索引号的后5位可以为诊断任务的标识,基于诊断任务的标识可以进一步确定诊断数据在对应的指定存储区域中的具体位置,例如,第一处理器对应的任务可以为a1、a2、a3、a4、...,第一处理器对应的指定存储区域a可以有a1、a2、a3、a4、...个存储位置,则诊断信息索引号中后5位00001可以表示任务a1,且任务a1对应的诊断数据的存储位置为指定存储区域a中的a1。
[0070]
作为一种方式,第一处理器或者第二处理器可以将各自对应的每一个诊断任务和诊断任务编号进行关联存储,且诊断任务编号可以与诊断信息索引号存在映射关系,当第一处理器或者第二处理器确定了非本地目标诊断任务后,可以获取到非本地目标诊断任务对应的诊断任务编号,再将诊断任务编号与多条提示信息各位对应的诊断信息索引号进行比对,可以得到非本地目标诊断任务的诊断信息索引号。
[0071]
示例性的,如表2所示,第一处理器对应的任务可以为a1、a2、a3、a4、...,诊断任务编号可以为00001、00002、00003、00004、...,当目标诊断任务为a1时,第二处理器基于表2可以确定目标诊断任务a1的诊断任务编号为00001,再基于表1可以确定诊断任务编号00001对应的诊断信息索引号为100001,进而目标诊断任务a1的诊断信息索引号为100001。
[0072]
表2
[0073][0074][0075]
s233:基于所述非本地目标诊断任务的诊断信息索引号,获取所述非本地目标诊断任务的诊断信息索引号状态、诊断信息报文状态。
[0076]
在本技术实施例中,诊断信息索引号状态可以为可使用、不可使用中的任意一种,每一种诊断信息索引号状态可以由特定的标识表示。示例性的,当诊断信息索引号状态表征诊断任务对应的诊断数据存储区域可使用时,诊断信息索引号状态可以为1;当诊断信息索引号状态表征诊断任务对应的诊断数据存储区域不可使用时,诊断信息索引号状态可以为0。
[0077]
诊断信息报文状态可以为可读、可写、既不可读又不可写中的任意一种,每一种诊断信息报文状态可以由特定的标识表示。示例性的,当诊断信息报文状态表征诊断任务对应的诊断数据可读时,诊断信息报文状态可以为r1;当诊断信息报文状态表征诊断任务对应的诊断数据可写时,诊断信息报文状态可以为w1;当诊断信息报文状态表征诊断任务对应的诊断数据既不可读又不可写时,诊断信息报文状态可以为0。
[0078]
作为一种方式,在获取到非本地目标诊断任务的诊断信息索引号后,可以在诊断信息共享区的提示域查找包含非本地目标诊断任务的诊断信息索引号的提示信息,并将该提示信息中的诊断信息索引号状态、诊断信息报文状态作为非本地目标诊断任务的诊断信息索引号状态、诊断信息报文状态。
[0079]
示例性的,当非本地目标诊断任务的诊断信息索引号为100001时,由表1可知,非本地目标诊断任务的诊断信息索引号状态可以为1,诊断信息报文状态可以为r1。
[0080]
s234:基于所述非本地目标诊断任务的诊断信息索引号状态、诊断信息报文状态,从所述诊断信息共享区中获取所述非本地目标诊断数据。
[0081]
作为一种方式,若非本地目标诊断任务的诊断信息索引号状态表征非本地目标诊断任务对应的诊断数据存储区域可使用,且非本地目标诊断任务的诊断信息报文状态表征可以读取非本地目标诊断任务对应的诊断数据,从诊断信息共享区中获取非本地目标诊断数据。
[0082]
示例性的,如表1所示,当非本地目标诊断任务为a1,非本地目标诊断任务的诊断信息索引号状态可以1,诊断信息报文状态为r1时,第二处理器可以从诊断信息共享区中获取非本地目标诊断任务a1对应的诊断数据作为非本地目标诊断数据。
[0083]
s240:基于所述诊断信息获取请求,获取所述本地目标诊断数据。
[0084]
s250:基于所述本地目标诊断数据和所述非本地目标诊断数据,生成诊断信息。
[0085]
本实施例提供的一种诊断信息生成方法,通过上述方式使得,可以在响应诊断信息获取请求后,确认诊断信息获取请求所需的目标诊断数据,并在目标诊断数据包括本地目标诊断数据和非本地目标诊断数据时,可以从诊断信息共享区获取到非本地目标诊断数据,从而可以将获取到的本地目标诊断数据和非本地目标诊断数据整合成诊断信息,使得进行一次诊断信息获取请求就可以得到目标诊断数据,提高了诊断效率。并且,在本实施例中,当目标诊断数据包括本地目标诊断数据和非本地目标诊断数据时,可以基于诊断信息获取请求获取非本地目标诊断任务,并基于诊断信息共享区的提示域获取到非本地目标诊断任务对应的非本地目标诊断数据,从而可以将获取到的本地目标诊断数据和非本地目标诊断数据整合成诊断信息,使得进行一次诊断信息获取请求就可以得到目标诊断数据,提高了诊断效率。
[0086]
请参阅图6,本技术提供的一种诊断信息生成方法,所述方法包括:
[0087]
s310:创建诊断信息共享区。
[0088]
s320:周期性更新所述诊断信息共享区中的诊断数据。
[0089]
作为一种方式,如图7所示,周期性更新所述诊断信息共享区中的诊断数据,包括:
[0090]
s321:周期性地获取本地诊断任务对应的诊断数据。
[0091]
作为一种方式,第一处理器或者第二处理器的诊断模块可以周期性地获取本地诊断任务对应的诊断数据,从而可以定时获取到当前时刻最新的本地诊断数据。
[0092]
s322:基于所述提示域中的诊断信息索引号,获取所述本地诊断任务对应的更新诊断信息索引号。
[0093]
作为一种方式,第一处理器或者第二处理器可以将各自对应的每一个本地诊断任务和诊断任务编号进行关联存储,且诊断任务编号可以与诊断信息索引号存在映射关系,从而使得第一处理器或者第二处理器可以获取到各自对应的每一个本地诊断任务的诊断任务编号,再基于提示域中的诊断信息索引号与诊断任务编号的映射关系,可以得到每一个本地诊断任务对应的更新诊断信息索引号。
[0094]
s323:基于所述更新诊断信息索引号,获取所述更新诊断信息索引号对应的诊断信息索引号状态和诊断信息报文状态。
[0095]
作为一种方式,在获取更新诊断信息索引号后,可以在诊断信息共享区的提示域查找包含更新诊断信息索引号的提示信息,并将该提示信息中的诊断信息索引号状态、诊断信息报文状态作为更新诊断信息索引号对应的诊断信息索引号状态、诊断信息报文状态。
[0096]
s324:基于所述更新诊断信息索引号对应的诊断信息索引号状态和诊断信息报文状态,更新所述诊断信息共享区中的诊断数据。
[0097]
作为一种方式,如图8所示,当需要获取某个非本地目标诊断任务对应的诊断数据时,可以先执行步骤s1:查看诊断信息共享区的提示域,再执行步骤s2:基于更新诊断信息索引号对应的诊断信息索引号状态确认更新诊断信息索引号是否为可使用的诊断信息索引号,若更新诊断信息索引号为可使用的诊断信息索引号,可以执行步骤s3:更改更新诊断信息索引号对应的诊断信息索引号状态,以使更新诊断信息索引号处于被占用状态;若更新诊断信息索引号为不可使用的诊断信息索引号,则可以在下一次有获取该非本地目标诊断任务的诊断信息获取请求到来时执行步骤s1。在执行了步骤s3后,可以继续执行步骤s4:
基于更新诊断信息索引号对应的诊断信息报文状态,确认更新诊断信息索引号对应的存储区域是否为可写入状态,若更新诊断信息索引号对应的存储区域为可写入状态,可以执行步骤s5:将本地诊断数据写入更新诊断信息索引号对应的存储区域,以更新诊断信息共享区中的诊断数据;若更新诊断信息索引号对应的存储区域为不可写入状态,则可以在下一次有获取该非本地目标诊断任务的诊断信息获取请求到来时执行步骤s1。
[0098]
可选的,当存在多个更新诊断信息索引号时,可以将每一个更新诊断信息索引号对应的诊断数据按照图8所示的方式进行更新,直到所有的更新诊断信息索引号对应的诊断数据均被更新。
[0099]
作为另一种方式,可以先获取处理器的当前运行状态,若当前运行状态表征空闲,再周期性地更新诊断信息共享区中的诊断数据。
[0100]
其中,处理器的运行状态可以为空闲和非空闲中的任意一种,空闲可以表示处理器当前未执行数据处理任务,非空闲可以表示处理器正在执行数据处理任务。
[0101]
在本技术实施例中,通过在处理器处于空闲状态时,再去周期性地更新诊断信息共享区中的诊断数据的方式,可以合理地分配处理器负载,避免出现处理器在执行数据处理任务的过程中,因诊断数据更新周期的到来而打断当前数据处理任务的情况,从而降低了因打断次数过多导致当前数据处理任务执行出错的概率。
[0102]
可选的,可以周期性地查看处理器的运行状态,查看运行状态的周期可以与更新诊断数据的周期存在一个预设差值,该预设差值可以使得每次将要执行诊断数据更新操作时,可以先确认当前处理器的运行状态是否为空闲,若为空闲再执行该次诊断数据更新操作,若不空闲则放弃该次诊断数据更新操作。为了保证每次对处理器的运行状态的判断都是准确的,预设差值可以是一个较短的差值,例如,查看运行状态的周期可以提前更新诊断数据的周期1秒。
[0103]
可选的,第一处理器或者第二处理器在写入本地诊断数据后,还可以添加本地诊断数据对应的crc校验码,以使第二处理器或者第一处理器在读取该本地诊断数据时,可以进行crc校验,以验证读取到的该本地诊断数据是否是完整的诊断数据。
[0104]
s330:响应于诊断信息获取请求,确认所述诊断信息获取请求所需的目标诊断数据。
[0105]
s340:若所述目标诊断数据包括本地目标诊断数据和非本地目标诊断数据,基于所述诊断信息获取请求,从诊断信息共享区中获取所述非本地目标诊断数据,所述诊断信息共享区包括本地诊断数据和非本地诊断数据。
[0106]
s350:基于所述诊断信息获取请求,获取所述本地目标诊断数据。
[0107]
s360:基于所述本地目标诊断数据和所述非本地目标诊断数据,生成诊断信息。
[0108]
本实施例提供的一种诊断信息生成方法,通过上述方式使得,可以在响应诊断信息获取请求后,确认诊断信息获取请求所需的目标诊断数据,并在目标诊断数据包括本地目标诊断数据和非本地目标诊断数据时,可以从诊断信息共享区获取到非本地目标诊断数据,从而可以将获取到的本地目标诊断数据和非本地目标诊断数据整合成诊断信息,使得进行一次诊断信息获取请求就可以得到目标诊断数据,提高了诊断效率。并且,在本实施例中,可以基于本地诊断任务以及诊断信息共享区的提示域对诊断信息共享区中的诊断数据进行更新,从而提高了后续诊断结果的准确性。
[0109]
请参阅图9,本技术提供的一种诊断信息生成方法,所述方法包括:
[0110]
s410:响应于诊断信息获取请求,确认所述诊断信息获取请求所需的目标诊断数据。
[0111]
s420:若所述目标诊断数据包括本地目标诊断数据和非本地目标诊断数据,基于所述诊断信息获取请求,从诊断信息共享区中获取所述非本地目标诊断数据,所述诊断信息共享区包括本地诊断数据和非本地诊断数据。
[0112]
s430:对所述非本地目标诊断数据进行crc校验。
[0113]
作为一种方式,诊断信息共享区的提示域可以包括crc校验码,可以基于非本地目标诊断数据对应的crc校验码对非本地目标诊断数据进行crc校验。
[0114]
s440:若校验通过,则表征所述非本地目标诊断数据为完整的非本地诊断数据。
[0115]
其中,完整的非本地诊断数据可以指未被破坏或者更改的非本地诊断数据。
[0116]
作为一种方式,若校验通过,则表征非本地目标诊断数据为完整的非本地诊断数据。
[0117]
s450:基于所述诊断信息获取请求,获取所述本地目标诊断数据。
[0118]
s460:基于所述本地诊断数据和所述完整的非本地诊断数据,生成所述诊断信息。
[0119]
本实施例提供的一种诊断信息生成方法,通过上述方式使得,可以在响应诊断信息获取请求后,确认诊断信息获取请求所需的目标诊断数据,并在目标诊断数据包括本地目标诊断数据和非本地目标诊断数据时,可以从诊断信息共享区获取到非本地目标诊断数据,从而可以将获取到的本地目标诊断数据和非本地目标诊断数据整合成诊断信息,使得进行一次诊断信息获取请求就可以得到目标诊断数据,提高了诊断效率。并且,在本实施例中,可以对非本地目标诊断数据进行crc校验,从而保证了目标诊断数据的准确性,进而提高了后续诊断结果的准确性。
[0120]
请参阅图10,本技术提供的一种处理装置100,所述处理装置包括处理器和诊断信息共享区,其中:
[0121]
所述处理器,用于响应于诊断信息获取请求,确认所述诊断信息获取请求所需的目标诊断数据;若所述目标诊断数据包括本地目标诊断数据和非本地目标诊断数据,基于所述诊断信息获取请求,从诊断信息共享区中获取非本地目标诊断数据,所述诊断信息共享区包括本地诊断数据和非本地诊断数据;基于所述诊断信息获取请求,获取所述本地目标诊断数据;基于所述本地目标诊断数据和所述非本地目标诊断数据,生成诊断信息;
[0122]
所述诊断信息共享区,用于存储本地诊断数据和非本地诊断数据。
[0123]
下面将结合图11对本技术提供的一种车辆进行说明。
[0124]
请参阅图11,基于上述的诊断信息生成方法、处理装置,本技术实施例还提供的另一种可以执行前述诊断信息生成方法的车辆200。车辆200包括相互耦合的一个或多个(图中仅示出一个)处理装置202、存储器204。其中,该存储器204中存储有可以执行前述实施例中内容的程序,而处理装置202可以执行该存储器204中存储的程序。
[0125]
其中,处理装置202可以为前述实施例中的处理装置。
[0126]
存储器204可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。存储器204可用于存储指令、程序、代码、代码集或指令集。存储器204可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指
令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端200在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
[0127]
请参考图12,其示出了本技术实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
[0128]
计算机可读存储介质800可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读存储介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
[0129]
综上所述,本技术提供的一种诊断信息生成方法、处理装置以及车辆,在响应于诊断信息获取请求,确认所述诊断信息获取请求所需的目标诊断数据后,若所述目标诊断数据包括本地目标诊断数据和非本地目标诊断数据,基于所述诊断信息获取请求,从包括本地诊断数据和非本地诊断数据的诊断信息共享区中获取所述非本地目标诊断数据,基于所述诊断信息获取请求,获取所述本地目标诊断数据,基于所述本地目标诊断数据和所述非本地目标诊断数据,生成诊断信息。通过上述方式使得,可以在响应诊断信息获取请求后,确认诊断信息获取请求所需的目标诊断数据,并在目标诊断数据包括本地目标诊断数据和非本地目标诊断数据时,可以从诊断信息共享区获取到非本地目标诊断数据,从而可以将获取到的本地目标诊断数据和非本地目标诊断数据整合成诊断信息,使得进行一次诊断信息获取请求就可以得到目标诊断数据,提高了诊断效率。
[0130]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献