一种控制器状态的诊断方法及装置与流程

文档序号:11690741阅读:252来源:国知局
一种控制器状态的诊断方法及装置与流程

本发明涉及控制器领域,具体是一种控制器状态的诊断方法及装置。



背景技术:

汽车中包含有各种类型的控制器,在汽车出现故障时,为了及时判断出故障原因,需要对各个控制器的工作状态进行诊断,以判断控制器是否正常工作或出现故障。

现有的控制器状态的诊断方式,是通过专业的诊断设备来进行诊断的。通常情况下,只有专业的汽车工厂、维修工厂才会采购此类型设备。再需要对汽车的各个控制器进行检测时,只能将汽车送至维修工厂进行检测,用户无法随时随地的对汽车各个控制器进行检测。



技术实现要素:

本发明实施例要解决的技术问题是提供一种控制器状态的诊断方法及装置,用以实现通过终端设备对汽车的多个控制器的状态进行诊断,使得用户能够自行对汽车的控制器状态进行检测,排除车辆故障,提高对汽车控制器状态诊断的便捷性。

为解决上述技术问题,本发明实施例提供的控制器状态的诊断方法,应用于终端设备,包括:

确定待进行状态诊断的目标控制器,以及所述目标控制器待进行状态诊断的诊断数据内容;

将所述目标控制器对应的地址存储于状态诊断数据报文的目标诊断地址域中,以及将所述诊断数据内容存储于状态诊断数据报文的诊断数据域中;

向整车控制器发送状态诊断数据报文。

优选地,所述状态诊断数据报文包括:报头、报文长度、报文数据域、校验码和报尾,所述报文数据域包括:目标诊断地址域、诊断数据长度域和诊断数据域;其中,报头和报尾均为第一固定长度且具有预定第一数值的第一字段;所述校验码具有固定长度;

向整车控制器发送状态诊断数据报文的步骤,包括:

生成第一状态诊断数据报文;

以第一固定长度为步长,检测所述第一状态诊断数据报文的报文数据域中存在的第一字段和第二字段,所述第二字段为第一固定长度且具有预定第二数值的字段;

将所述第一状态诊断数据报文的报文数据域中的第一字段替换为第三字段,所述第二字段替换为第四字段,得到第二状态诊断数据报文;其中,第三字段为2倍所述第一固定长度,且第三字段的前半部分的数值为预定第二数值,后半部分为预定第三数值;第四字段为2倍所述第一固定长度,且第四字段的前半部分的数值为预定第二数值,后半部分为预定第四数值,所述预定第四数值与预定第三数值不同;

通过串行接口,向整车控制器发送第二状态诊断数据报文。

优选地,以第一固定长度为步长,检测所述第一状态诊断数据报文的报文数据域中存在的第一字段和第二字段的步骤之前,还包括:

根据所述第一状态诊断数据报文的诊断数据域中所携带的诊断数据内容,确定出所述第一状态诊断数据报文的校验码的数值。

优选地,还包括:

接收整车控制器自身进行状态诊断后的第一状态诊断结果;或

接收所述整车控制器转发的目标控制器进行状态诊断后的第二状态诊断结果。

根据本发明的另一方面,本发明实施例还提供了一种控制器状态的诊断方法,应用于整车控制器,包括:

接收终端设备发送的状态诊断数据报文;

根据所述状态诊断数据报文中所携带的目标诊断地址,确定目标控制器;

判断所述目标控制器是否为整车控制器自身;

在所述目标控制器为所述整车控制器自身时,则根据所述状态诊断数据报文中所携带的诊断数据内容,对整车控制器自身进行状态诊断;

在所述目标控制器不为所述整车控制器自身时,则将所述状态诊断数据报文通过can网络转发至所述目标控制器。

优选地,所述接收终端设备发送的状态诊断数据报文的步骤之前,还包括:

建立与所述终端设备之间的蓝牙数据通信链路;

通过所述蓝牙数据通信链路,接收所述终端设备发送的状态诊断请求报文;

根据所述状态诊断请求报文,将一诊断请求报文标志位进行置位;

判断所述诊断请求报文标志位是否已置位,若是,则根据所述状态诊断请求报文中所携带的所述终端设备的身份信息,验证所述终端设备是否为预先设定的终端;

在所述终端设备的身份信息与预先存储的预设身份信息相匹配时,确定所述终端设备为预先设定的终端。

优选地,所述状态诊断数据报文包括:报头、报文长度、报文数据域、校验码和报尾,所述报文数据域包括:目标诊断地址域、诊断数据长度域和诊断数据域;其中,报头和报尾均为第一固定长度且具有预定第一数值的字段;所述校验码具有固定长度;

所述接收终端设备发送的状态诊断数据报文的步骤,包括:

接收终端设备发送的串行数据流,并检测串行数据流中的相邻的第一字段,所述第一字段为具有预定第一数值且长度为所述第一固定长度的字段;

根据相邻的第一字段以及位于相邻的第一字段中的数据,获得第二状态诊断数据报文,其中,相邻的第一字段中的第一个第一字段为报头,第二个第一字段为报尾;

根据状态诊断数据报文的结构,确定第二状态诊断数据报文中的报文数据域;

以第二固定长度为步长,检测所述第二状态诊断数据报文的报文数据域中存在的第三字段和第四字段,其中,第三字段为2倍所述第一固定长度,且第三字段的前半部分的数值为预定第二数值,后半部分为预定第三数值;第四字段为2倍所述第一固定长度,且第四字段的前半部分的数值为预定第二数值,后半部分为预定第四数值,所述预定第四数值与预定第三数值不同;

将所述第二状态诊断数据报文的报文数据域中的第三字段替换为第一字段,所述第四字段替换为第二字段,得到第一状态诊断数据报文,所述第二字段为第一固定长度且具有预定第二数值的字段;

根据所述校验码,对所述第一状态诊断数据报文进行校验;

在校验通过后,将所述第一状态诊断数据报文作为所述终端设备发送的状态诊断数据报文。

优选地,上述控制器状态的诊断方法还包括:

将整车控制器自身进行状态诊断后的第一状态诊断结果反馈给所述终端设备,或

接收所述目标控制器进行状态诊断后的第二状态诊断结果,并将所述第二状态诊断结果转发至所述终端设备。

根据本发明实施例的另一方面,本发明实施例还提供了一种控制器状态的诊断装置,应用于终端设备,包括:

第一确定模块,确定待进行状态诊断的目标控制器,以及所述目标控制器待进行状态诊断的诊断数据内容;

存储模块,用于将所述目标控制器对应的地址存储于状态诊断数据报文的目标诊断地址域中,以及将所述诊断数据内容存储于状态诊断数据报文的诊断数据域中;

发送模块,用于向整车控制器发送状态诊断数据报文。

优选地,所述状态诊断数据报文包括:报头、报文长度、报文数据域、校验码和报尾,所述报文数据域包括:目标诊断地址域、诊断数据长度域和诊断数据域;其中,报头和报尾均为第一固定长度且具有预定第一数值的第一字段;所述校验码具有固定长度;

所述发送模块,具体用于:生成第一状态诊断数据报文;以第一固定长度为步长,检测所述第一状态诊断数据报文的报文数据域中存在的第一字段和第二字段,所述第二字段为第一固定长度且具有预定第二数值的字段;将所述第一状态诊断数据报文的报文数据域中的第一字段替换为第三字段,所述第二字段替换为第四字段,得到第二状态诊断数据报文;其中,第三字段为2倍所述第一固定长度,且第三字段的前半部分的数值为预定第二数值,后半部分为预定第三数值;第四字段为2倍所述第一固定长度,且第四字段的前半部分的数值为预定第二数值,后半部分为预定第四数值,所述预定第四数值与预定第三数值不同;通过串行接口,向整车控制器发送第二状态诊断数据报文。

优选地,所述控制器状态的诊断装置还包括:

第二确定模块,用于根据所述第一状态诊断数据报文的诊断数据域中所携带的诊断数据内容,确定出所述第一状态诊断数据报文的校验码的数值。

优选地,上述控制器状态的诊断装置还包括:

接收模块,用于接收整车控制器自身进行状态诊断后的第一状态诊断结果;或

接收所述整车控制器转发的目标控制器进行状态诊断后的第二状态诊断结果。

根据本发明实施例的另一方面,本发明实施例还提供了一种控制器状态的诊断装置,应用于整车控制器,包括:

第一接收模块,用于接收终端设备发送的状态诊断数据报文;

第一确定模块,用于根据所述状态诊断数据报文中所携带的目标诊断地址,确定目标控制器;

第一判断模块,用于判断所述目标控制器是否为整车控制器自身;

诊断模块,用于在所述目标控制器为所述整车控制器自身时,则根据所述状态诊断数据报文中所携带的诊断数据内容,对整车控制器自身进行状态诊断;

转发模块,用于在所述目标控制器不为所述整车控制器自身时,则将所述状态诊断数据报文通过can网络转发至所述目标控制器。

优选地,所述控制器状态的诊断装置还包括:

建立模块,用于建立与所述终端设备之间的蓝牙数据通信链路;

第二接收模块,用于通过所述蓝牙数据通信链路,接收所述终端设备发送的状态诊断请求报文;

第二判断模块,用于根据所述状态诊断请求报文,将一诊断请求报文标志位进行置位;

验证模块,用于判断所述诊断请求报文标志位是否已置位,若是,则根据所述状态诊断请求报文中所携带的所述终端设备的身份信息,验证所述终端设备是否为预先设定的终端;

第二确定模块,用于在所述终端设备的身份信息与预先存储的预设身份信息相匹配时,确定所述终端设备为预先设定的终端。

优选地,所述状态诊断数据报文包括:报头、报文长度、报文数据域、校验码和报尾,所述报文数据域包括:目标诊断地址域、诊断数据长度域和诊断数据域;其中,报头和报尾均为第一固定长度且具有预定第一数值的字段;所述校验码具有固定长度;

所述第一接收模块,具体用于:接收终端设备发送的串行数据流,并检测串行数据流中的相邻的第一字段,所述第一字段为具有预定第一数值且长度为所述第一固定长度的字段;根据相邻的第一字段以及位于相邻的第一字段中的数据,获得第二状态诊断数据报文,其中,相邻的第一字段中的第一个第一字段为报头,第二个第一字段为报尾;根据状态诊断数据报文的结构,确定第二状态诊断数据报文中的报文数据域;以第二固定长度为步长,检测所述第二状态诊断数据报文的报文数据域中存在的第三字段和第四字段,其中,第三字段为2倍所述第一固定长度,且第三字段的前半部分的数值为预定第二数值,后半部分为预定第三数值;第四字段为2倍所述第一固定长度,且第四字段的前半部分的数值为预定第二数值,后半部分为预定第四数值,所述预定第四数值与预定第三数值不同;将所述第二状态诊断数据报文的报文数据域中的第三字段替换为第一字段,所述第四字段替换为第二字段,得到第一状态诊断数据报文,所述第二字段为第一固定长度且具有预定第二数值的字段;根据所述校验码,对所述第一状态诊断数据报文进行校验;在校验通过后,将所述第一状态诊断数据报文作为所述终端设备发送的状态诊断数据报文。

优选地,上述控制器状态的诊断装置还包括:

发送模块,用于将整车控制器自身进行状态诊断后的第一状态诊断结果反馈给所述终端设备,或

接收所述目标控制器进行状态诊断后的第二状态诊断结果,并将所述第二状态诊断结果转发至所述终端设备。

与现有技术相比,本发明实施例提供的控制器状态的诊断方法及装置,至少具有以下有益效果:

通过终端设备与整车控制器之间的信息交互,来实现对汽车的各个控制器的状态进行诊断,排除车辆故障,保证车辆行驶安全。同时,本发明的诊断方式,无需专业的诊断设备即可进行状态诊断,提高了对汽车控制器状态诊断的便捷性。

附图说明

图1为本发明实施例所述的控制器状态的诊断方法的流程示意图之一;

图2为本发明实施例所述的步骤103的具体实现方式的流程示意图;

图3为本发明实施例所述的控制器状态的诊断方法的流程示意图之二;

图4为本发明实施例所述的在步骤201之前进行的步骤的流程示意图;

图5为本发明实施例所述的步骤201的具体实现方式的流程示意图;

图6为本发明实施例所述的控制器状态的诊断装置的结构示意图之一;

图7为本发明实施例所述的控制器状态的诊断装置的结构示意图之二;

图8为本发明实施例所述的终端设备与整车控制器的结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含。

参照图1,本发明实施例提供了一种控制器状态的诊断方法,应用于终端设备,包括:

步骤101,确定待进行状态诊断的目标控制器,以及所述目标控制器待进行状态诊断的诊断数据内容。

步骤102,将所述目标控制器对应的地址存储于状态诊断数据报文的目标诊断地址域中,以及将所述诊断数据内容存储于状态诊断数据报文的诊断数据域中。

步骤103,向整车控制器发送状态诊断数据报文。

终端设备根据操作人员的输入指示信息确定出目标控制器,以及目标控制器待进行状态诊断的诊断数据内容。在终端设备中,存储着与每一目标控制器相对应的地址,在接收到操作人员指示后,终端设备将其存储的目标控制器对应的地址以及待进行状态诊断的状态诊断内容存储到待进行发送的状态诊断数据报文中,通过报文的形式向整车控制器发送状态诊断的指令。

上述的终端设备可以为常见的手机、笔记本电脑、平板电脑等设备。

通过本发明实施例提供的控制器状态的诊断方法,借助终端设备与整车控制器之间的信息交互,来实现对汽车的各个控制器的状态进行诊断,排除车辆故障,保证车辆行驶安全。同时,本发明的诊断方式,无需专业的诊断设备即可进行状态诊断,提高了对汽车控制器状态诊断的操作便捷性。

在本发明实施例中,所述状态诊断数据报文包括:报头、报文长度、报文数据域、校验码和报尾,所述报文数据域包括:目标诊断地址域、诊断数据长度域和诊断数据域;其中,报头和报尾均为第一固定长度且具有预定第一数值的第一字段;所述校验码具有固定长度。

参照图2,本发明实施例的步骤103,包括:

步骤1031,生成第一状态诊断数据报文。

步骤1032,以第一固定长度为步长,检测所述第一状态诊断数据报文的报文数据域中存在的第一字段和第二字段,所述第二字段为第一固定长度且具有预定第二数值的字段。

步骤1033,将所述第一状态诊断数据报文的报文数据域中的第一字段替换为第三字段,所述第二字段替换为第四字段,得到第二状态诊断数据报文;其中,第三字段为2倍所述第一固定长度,且第三字段的前半部分的数值为预定第二数值,后半部分为预定第三数值;第四字段为2倍所述第一固定长度,且第四字段的前半部分的数值为预定第二数值,后半部分为预定第四数值,所述预定第四数值与预定第三数值不同。

步骤1034,通过串行接口,向整车控制器发送第二状态诊断数据报文。

报头作为报文起始的标志,报尾作为报文结束的标志,整车控制器或者终端设备都需要通过对报头和报尾来判断报文的起始和结束。通过上述步骤1032与步骤1033中记载的方式,能够避免该第一诊断数据报文的报文数据域中的报文字段与报头中或报尾中的报文字段出现重复,而出现对报头和报尾的判断错误。

下面,通过一事例对上述步骤1032和步骤1033进行解释。

假设第一固定长度为8比特,对第一状态诊断报文的报文数据域以8比特长度为间隔进行分割,可以得到多个长度为8比特的字段,例如,第1~8比特为一个字段,第9~16比特为一个字段。在进行长度分割后得到的多个字段中确定出第一字段和第二字段,并对第一字段和第二字段分别进行转换,使得进行转换后获得的第二状态诊断数据报文的报文数据域中不会出现与报头中或报尾中的第一字段重复。

在本发明实施例中,第一字段的预定第一数值为0x7e,第二字段的预定第二数值为0x7d,第三字段的前半部分的数值为0x7d,后半部分的预定第三数值0x01;第四字段的前半部分的数值为0x7d,后半部分的预定第四数值为0x00。

在本发明实施例中,在步骤1032之前,还包括:

步骤1035,根据所述第一状态诊断数据报文的诊断数据域中所携带的诊断数据内容,确定出所述第一状态诊断数据报文的校验码的数值。

此处,对校验码的计算必须在对报文数据域的字段转换之前进行,以保证能够正确的获得校验码。

校验码用于在整车控制器接收到第二诊断数据报文后,对报文的正确性进行验证。在本发明实施例中,通过crc16算法来计算校验码的数值。通过crc16算法计算校验码的方式为本领域内技术人员的公知常识,在此不进行赘述。

在本发明实施例中,还包括:

步骤104,接收整车控制器自身进行状态诊断后的第一状态诊断结果;或

接收所述整车控制器转发的目标控制器进行状态诊断后的第二状态诊断结果。

若用户确定的目标控制器为整车控制器自身时,则在步骤104中执行接收整车控制器自身进行状态诊断后的第一状态诊断结果;若用户确定的目标控制器不为整车控制器自身时,则在步骤104中执行接收整车控制器转发的目标控制器进行状态诊断后的第二状态诊断结果。

通过整车控制器反馈的第一状态诊断结果或转发的目标控制器的第二状态诊断结果,用户可以快速的确定出目标控制器是否出现故障,以及目标控制器当前实际的工作状态。通过本发明实施例提供的控制器状态的诊断方法,用户通过手机等方式进行指示便可以实现对汽车的控制器的状态进行诊断查询,便于了状态诊断查询的操作方便。同时,降低了检测的成本。

参照图3,根据本发明的另一方面,本发明实施例还提供了另一种控制器状态的诊断方法,应用于整车控制器,包括:

步骤201,接收终端设备发送的状态诊断数据报文;

步骤202,根据所述状态诊断数据报文中所携带的目标诊断地址,确定目标控制器;

步骤203,判断所述目标控制器是否为整车控制器自身;

步骤204,在所述目标控制器为所述整车控制器自身时,则根据所述状态诊断数据报文中所携带的诊断数据内容,对整车控制器自身进行状态诊断;

步骤205,在所述目标控制器不为所述整车控制器自身时,则将所述状态诊断数据报文通过can网络转发至所述目标控制器。

整车控制器包括有两个功能,第一个功能是在目标控制器为其自身时,根据状态诊断数据报文中携带的状态诊断内容进行自测;第二个结果为目标控制器不为其自身时,将该状态诊断数据报文转发给目标控制器,使得目标控制器能够对其自身进行状态诊断。

本发明实施例提供的控制器状态的诊断方法,可以对应于任何一个终端设备,用户可以利用手机、平板电脑或者笔记本电脑等对汽车的状态进行检测,便于了对汽车状态检测的操作。

在本发明实施例中,参照图4,在步骤201之前,还包括:

步骤206,建立与所述终端设备之间的蓝牙数据通信链路。

步骤207,通过所述蓝牙数据通信链路,接收所述终端设备发送的状态诊断请求报文。

步骤208,根据所述状态诊断请求报文,将一诊断请求报文标志位进行置位。

步骤209,判断所述诊断请求报文标志位是否已置位,若是,则根据所述状态诊断请求报文中所携带的所述终端设备的身份信息,验证所述终端设备是否为预先设定的终端。

步骤210,在所述终端设备的身份信息与预先存储的预设身份信息相匹配时,确定所述终端设备为预先设定的终端。

步骤206至步骤210中记载的内容的目的是为了防止任意一个移动终端都能对汽车各个控制器的状态进行检测,保证汽车的安全性。

在本发明实施例中,存储在整车控制器中的预设终端可以进行修改,以防止用户更换移动设备后无法再进行诊断的问题出现。

在本发明实施例中,所述状态诊断数据报文包括:报头、报文长度、报文数据域、校验码和报尾,所述报文数据域包括:目标诊断地址域、诊断数据长度域和诊断数据域;其中,报头和报尾均为第一固定长度且具有预定第一数值的字段;所述校验码具有固定长度;

参照图5,在本发明实施例中,所述步骤201,包括:

步骤2011,接收终端设备发送的串行数据流,并检测串行数据流中的相邻的第一字段,所述第一字段为具有预定第一数值且长度为所述第一固定长度的字段;

步骤2012,根据相邻的第一字段以及位于相邻的第一字段中的数据,获得第二状态诊断数据报文,其中,相邻的第一字段中的第一个第一字段为报头,第二个第一字段为报尾;

步骤2013,根据状态诊断数据报文的结构,确定第二状态诊断数据报文中的报文数据域;

步骤2014,以第二固定长度为步长,检测所述第二状态诊断数据报文的报文数据域中存在的第三字段和第四字段,其中,第三字段为2倍所述第一固定长度,且第三字段的前半部分的数值为预定第二数值,后半部分为预定第三数值;第四字段为2倍所述第一固定长度,且第四字段的前半部分的数值为预定第二数值,后半部分为预定第四数值,所述预定第四数值与预定第三数值不同;

步骤2015,将所述第二状态诊断数据报文的报文数据域中的第三字段替换为第一字段,所述第四字段替换为第二字段,得到第一状态诊断数据报文,所述第二字段为第一固定长度且具有预定第二数值的字段;

步骤2016,根据所述校验码,对所述第一状态诊断数据报文进行校验;

步骤2017,在校验通过后,将所述第一状态诊断数据报文作为所述终端设备发送的状态诊断数据报文。

由于终端设备在向整车控制器发送该状态诊断数据报文之前对报文的报文数据域中的特定字段进行了转换,为了使得整车控制器在接收到报文后能够依据报文中携带的指示信息执行对应的动作,整车控制器需要将第二状态诊断数据报文转换至第一状态诊断数据报文,以实现对报文携带的信息进行正确读取。

在本实施例中,步骤2012至步骤2015记载的内容与上述实施例中的步骤1032和步骤1033记载的内容的执行步骤刚好相反。

在步骤2016至步骤2017中记载的内容是为了对报文的完整性和正确性进行验证,若在步骤2016中的校验结果为未通过,则整车控制器将丢弃该次获得的报文信息。并且,在进行校验之前,必须先对报文数据域的字段进行转换后才能进行校验,以保证校验能够顺利完成。

优选地,本发明实施例提供的控制器状态的诊断方法,还包括:

步骤212,将整车控制器自身进行状态诊断后的第一状态诊断结果反馈给所述终端设备,或

接收所述目标控制器进行状态诊断后的第二状态诊断结果,并将所述第二状态诊断结果转发至所述终端设备。

整车控制器在步骤203的判断结果为目标控制器为整车控制器自身时,则在步骤212中执行,将整车控制器自身进行状态诊断后的第一状态诊断结果反馈给终端设备的内容;若在步骤203中的判断结构为目标控制器不为整车控制器自身时,在步骤212中执行,接收所述目标控制器进行状态诊断后的第二状态诊断结果,并将所述第二状态诊断结果转发至所述终端设备的内容,在此过程中,整车控制器只执行接收并转发的指令。

通过本发明实施例提供的控制器状态的诊断方法,能够匹配于不同的终端设备,用户可借助常用的终端设备对汽车的控制器状态进行诊断,无需通过特定设备进行检测,提高了对控制器状态检测的便捷性。

参照图6,根据本发明实施例的另一方面,本发明实施例提供了一种控制器状态的诊断装置,应用于终端设备,包括:

第一确定模块31,确定待进行状态诊断的目标控制器,以及所述目标控制器待进行状态诊断的诊断数据内容;

存储模块32,用于将所述目标控制器对应的地址存储于状态诊断数据报文的目标诊断地址域中,以及将所述诊断数据内容存储于状态诊断数据报文的诊断数据域中;

发送模块33,用于向整车控制器发送状态诊断数据报文。

优选地,所述状态诊断数据报文包括:报头、报文长度、报文数据域、校验码和报尾,所述报文数据域包括:目标诊断地址域、诊断数据长度域和诊断数据域;其中,报头和报尾均为第一固定长度且具有预定第一数值的第一字段;所述校验码具有固定长度;

所述发送模块,具体用于:生成第一状态诊断数据报文;以第一固定长度为步长,检测所述第一状态诊断数据报文的报文数据域中存在的第一字段和第二字段,所述第二字段为第一固定长度且具有预定第二数值的字段;将所述第一状态诊断数据报文的报文数据域中的第一字段替换为第三字段,所述第二字段替换为第四字段,得到第二状态诊断数据报文;其中,第三字段为2倍所述第一固定长度,且第三字段的前半部分的数值为预定第二数值,后半部分为预定第三数值;第四字段为2倍所述第一固定长度,且第四字段的前半部分的数值为预定第二数值,后半部分为预定第四数值,所述预定第四数值与预定第三数值不同;通过串行接口,向整车控制器发送第二状态诊断数据报文。

优选地,所述控制器状态的诊断装置还包括:

第二确定模块,用于根据所述第一状态诊断数据报文的诊断数据域中所携带的诊断数据内容,确定出所述第一状态诊断数据报文的校验码的数值。

优选地,还包括:

接收模块,用于接收整车控制器自身进行状态诊断后的第一状态诊断结果;或

接收所述整车控制器转发的目标控制器进行状态诊断后的第二状态诊断结果。

本发明实施例的终端设备,包括如上所述的控制器状态的诊断装置。如图8所示,该终端设备包括:第一应用层模块、第一诊断协议层模块、和第一蓝牙串行通信协议层模块。其中,第一应用层模块用于接收用户输入的数据信息或向用户反馈信息,对应于上述的第一确定模块31、接收模块,第一诊断协议层模块用于将用户输入的数据或目标控制器反馈的状态诊断结果信息进行转换,对应于上述的存储模块32,第一蓝牙串行通信协议层模块用于对报文的转换、发送和接收,对应于上述的发送模块33和接收模块。

通过本发明实施例提供的控制器状态的诊断装置,能够实现对目标控制器状态的诊断,并且提高了对控制器状态诊断的操作便捷性。

参照图7,根据本发明实施例的另一方面,本发明实施例提供了一种控制器状态的诊断装置,应用于整车控制器,包括:

第一接收模块41,用于接收终端设备发送的状态诊断数据报文;

第一确定模块42,用于根据所述状态诊断数据报文中所携带的目标诊断地址,确定目标控制器;

第一判断模块43,用于判断所述目标控制器是否为整车控制器自身;

诊断模块44,用于在所述目标控制器为所述整车控制器自身时,则根据所述状态诊断数据报文中所携带的诊断数据内容,对整车控制器自身进行状态诊断;

转发模块45,用于在所述目标控制器不为所述整车控制器自身时,则将所述状态诊断数据报文通过can网络转发至所述目标控制器。

优选地,所述控制器状态的诊断装置还包括:

建立模块,用于建立与所述终端设备之间的蓝牙数据通信链路;

第二接收模块,用于通过所述蓝牙数据通信链路,接收所述终端设备发送的状态诊断请求报文;

第二判断模块,用于根据所述状态诊断请求报文,将一诊断请求报文标志位进行置位;

验证模块,用于判断所述诊断请求报文标志位是否已置位,若是,则根据所述状态诊断请求报文中所携带的所述终端设备的身份信息,验证所述终端设备是否为预先设定的终端;

第二确定模块,用于在所述终端设备的身份信息与预先存储的预设身份信息相匹配时,确定所述终端设备为预先设定的终端。

优选地,所述状态诊断数据报文包括:报头、报文长度、报文数据域、校验码和报尾,所述报文数据域包括:目标诊断地址域、诊断数据长度域和诊断数据域;其中,报头和报尾均为第一固定长度且具有预定第一数值的字段;所述校验码具有固定长度;

所述第一接收模块,具体用于:接收终端设备发送的串行数据流,并检测串行数据流中的相邻的第一字段,所述第一字段为具有预定第一数值且长度为所述第一固定长度的字段;根据相邻的第一字段以及位于相邻的第一字段中的数据,获得第二状态诊断数据报文,其中,相邻的第一字段中的第一个第一字段为报头,第二个第一字段为报尾;根据状态诊断数据报文的结构,确定第二状态诊断数据报文中的报文数据域;以第二固定长度为步长,检测所述第二状态诊断数据报文的报文数据域中存在的第三字段和第四字段,其中,第三字段为2倍所述第一固定长度,且第三字段的前半部分的数值为预定第二数值,后半部分为预定第三数值;第四字段为2倍所述第一固定长度,且第四字段的前半部分的数值为预定第二数值,后半部分为预定第四数值,所述预定第四数值与预定第三数值不同;将所述第二状态诊断数据报文的报文数据域中的第三字段替换为第一字段,所述第四字段替换为第二字段,得到第一状态诊断数据报文,所述第二字段为第一固定长度且具有预定第二数值的字段;根据所述校验码,对所述第一状态诊断数据报文进行校验;在校验通过后,将所述第一状态诊断数据报文作为所述终端设备发送的状态诊断数据报文。

优选地,还包括:

发送模块,用于将整车控制器自身进行状态诊断后的第一状态诊断结果反馈给所述终端设备,或

接收所述目标控制器进行状态诊断后的第二状态诊断结果,并将所述第二状态诊断结果转发至所述终端设备。

参照图8,本发明实施例的整车控制器,包括上述的控制器状态的诊断装置,包括:第二应用层模块、第二诊断协议层模块、和第二蓝牙串行通信协议层模块。其中,第二应用层模块用于根据状态诊断数据报文中携带的诊断数据内容进行状态诊断,对应于上述的诊断模块44,第二诊断协议层模块用于对接收到的报文中所携带的信息进行读取与判断,对应于上述的第一确定模块42、第一判断模块43、转发模块45、第二判断模块、验证模块、第二确定模块,第二蓝牙串行通信协议层模块用于对报文的发送和接收,对应于上述的第一接收模块41、建立模块、第二接收模块和发送模块。

通过本发明实施例提供的控制器状态的诊断装置,能够根据终端设备发送的状态诊断数据报文,对整车控制器自身进行诊断或者向目标控制器转发该报文使得目标控制器对自身进行状态诊断,由于本发明实施例提供的控制器状态的诊断装置,能够匹配于不同终端设备,使得对控制器状态的诊断的操作便利性得到了大幅度的提高。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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