一种车辆单通道和多通道并行诊断方法及系统技术方案

技术编号:32021834 阅读:20 留言:0更新日期:2022-01-22 18:42
本发明专利技术涉及一种车辆单通道和多通道并行诊断方法及系统,该方法包括以下步骤:A:诊断应用层从资源池中申请资源,其中,资源池经过下述流程生成:将诊断服务的组包和解包的部分根据诊断ID和通道进行资源化处理,进而利用诊断服务的资源化建立资源池。B:发送需要发送的报文至A中申请的资源,诊断应用层根据需求运行其他任务,查询资源接收状态;C:发送报文至发送缓存;D:上传总线上收到的报文至资源池;E:解包D中的报文,当诊断应用层查询时返回解包之后的报文。本发明专利技术采取诊断应用层的数据资源化处理,与数据处理、数据发送拆分,通过资源动态分配,降低了对硬件或平台的要求,且满足单一通道内的诊断并行。单一通道内的诊断并行。单一通道内的诊断并行。

【技术实现步骤摘要】
一种车辆单通道和多通道并行诊断方法及系统


[0001]本专利技术属于车辆控制器诊断与软件升级
,具体涉及车辆单通道和多通道并行诊断技术。

技术介绍

[0002]用户对汽车的智能化、互联化提出新的诊断相关需求,其中,包括OTA和远程诊断功能;受限于CAN总线的速率限制,且目前的OTA或远程诊断主要采用控制器串行处理模式,但是整个事件花费时间较长,用户体验并不好;采用诊断并行的方式能最大的利用CAN总线负载,缩短整体实现时间,可提供更好的用户体验,当上位机的载体为车内的控制器,硬件资源受到较大的限制,且被诊断或升级的控制器可能有因自身软硬件条件不允许诊断并行的情况和控制器都在一条总线上的情况。
[0003]公开号为CN104483960B的中国专利文献公开了名称为“一种汽车诊断通信模块数据收发并行处理的方法”的技术,该技术主要通过在诊断初始化过程中开启两个子线程或中断服务用上位机请求数据和总线交互,当上位机需要发送数据时,请求中断或子线程接收上位机数据,并置标志位,然后子线程或中断模块检车到数据标志位后将数据发送至总线,有数据待上传时,置标志位,然后由主线程或中断检测是否有数据上传,然后根据需求上传信息,数据交互的子线程处理数据是为根据诊断服务的适用通道ID区分数据。该技术对载体硬件平台要求较高,需要使用子线程或中断服务且每次并行时均需要开辟子线程或增加中断服务,且必须在所有单个诊断应用完成后,不能适用于车辆网关或其他控制器内集成;该技术不能实现单一通道ID内的整段数据并行。
[0004]公开号为CN103616886B的中国专利文献公开了名称为“一种实现多通路并行汽车诊断方法及汽车诊断设备”的技术,该技术通过汽车诊断设备的诊断端下发多个通路连接协议指令给汽车通信接口设备,然后汽车通信接口设备检查多个通路连接协议指令对应的通信协议类对象是否已构建,若否,则根据通路连接协议指令分别构件通信协议类对象,并记录通信协议类对象对应的汽车计算机系统的通路ID,最后根据汽车计算机系统的通路ID,诊断端分发诊断扫描指令给各汽车计算机系统,以实现汽车诊断设备与通路ID对应的汽车计算机系统的交互,可实现多通路并行通信,与多个汽车计算机系统建立通信连接。该技术由于诊断服务与硬件通路直接建立对应关系,当出现同一硬件通路需要完成多个诊断需求时,不能完成同一硬件通路内的并行,且并行数量受到硬件通路数量的限制。

技术实现思路

[0005]本专利技术的目的是提供一种车辆单通道和多通道并行诊断方法及系统,解决的技术问题:采用诊断并行的方式,充分利用CAN总线负载,缩短整体诊断时间,可提供好体验,但上位机的载体为车内控制器,硬件资源受到较大限制,且被诊断或升级的控制器因自身软硬件条件或同在一条总线上不允许诊断并行。
[0006]为解决上述技术问题,本专利技术采用的技术方案为:一种车辆单通道和多通道并行
诊断方法,包括以下步骤:A:诊断应用层从资源池中申请资源,其中,所述资源池经过下述流程生成:将诊断服务的组包和解包的部分根据诊断ID和通道进行资源化处理,进而利用所述诊断服务的资源化建立所述资源池。
[0007]B:发送需要发送的报文至所述A中申请的资源,所述诊断应用层根据需求运行其他任务,查询资源接收状态;C: 发送所述报文至发送缓存;D:上传总线上收到的报文至所述资源池;E:解包所述D中的报文,当所述诊断应用层查询时返回解包之后的所述报文。
[0008]优选地,在所述A中,检查资源号是否小于资源数量,如果是,则继续判定当前资源的收发ID与物理通道和申请值是否一致,如果是,则将资源信息写入当前资源,返回当前资源资源号;如果资源号不是小于资源数量,则检查是否有空闲资源,如果有,则将空闲资源与诊断服务绑定并返回资源号,如果没有,则返回资源申请失败。
[0009]优选地,在所述E之后,还包括F,当前诊断服务已经完成时,调用资源释放接口进行释放,并由所述诊断应用层确认释放。
[0010]优选地,在所述B中,所述诊断应用层将发送接收的ID、发送报文数据、资源号及资源模式输入到发送接口中;检查通道发送条件是否满足,如果是,则检查通道有功能寻址是否正在发送,如果是,则资源发送标志置为队列状态,如果否,则资源发送标志置为等待发送,将数据、收发ID和资源模式写入资源;如果通道发送条件不满足,则通道处于独享模式中,不支持数据发送。
[0011]优选地,在所述D及E中,检查资源接收是否完成,如果是,则检查接收是否为否定响应码78,如果是,则设置接收超时时间T,返回接收长度及数据,如果接收不是否定响应码78,则直接返回接收长度及数据;如果资源接收没有完成,则返回无接收数据。
[0012]优选地,在所述B、C及D中,涉及报文处理流程为:检查是否接收到驱动层报文有未处理,如果是,则检查任一资源的接收ID及通道与报文的是否一致,如果是,则填充至资源报文接收缓存;如果没有接收到驱动层报文有未处理,则检查资源号是否小于资源数量,如果是,当前资源是否有缓存接收报文未处理,如是,则立即处理接收报文;如果资源号不是小于资源数量,则检查当前资源是否有发送任务,如果是,则数据组一帧报文,将报文填充至发送缓存。
[0013]优选地,
在所述C中,还包括通道发送条件检查,包括以下检查步骤:C1:检查资源号是否小于资源数量,如是,检查资源号与请求的资源号是否一致,若不一致,执行下一步;C2:检查资源通道与发送信息通道是否一致,若是,执行下一步;C3:检查发送资源状态是否为独享,如是,检查当前资源是否有发送或接收任务正在执行中,若是,返回通道发送条件检测未通过;C4:若发送资源状态不是独享,则检查当前资源是否处于独享中,若是,则返回通道发送条件检测未通过;C5:所述C1中,若资源号不是小于资源数量,则直接返回通道发送条件检测通过。
[0014]本专利技术还提供一辆车辆单通道和多通道并行诊断系统,包括:申请模块,用于诊断应用层从资源池中申请资源,其中,所述资源池经过下述流程生成;将诊断服务的组包和解包的部分根据诊断ID和通道进行资源化处理,进而利用所述诊断服务的资源化建立所述资源池。
[0015]第一发送模块,用于发送需要发送的报文至所述申请模块中申请的资源,所述诊断应用层根据需求运行其他任务,查询资源接收状态;第二发送模块,用于发送所述第一发送模块中资源中的所述报文至发送缓存;上传模块,用于上传总线上收到的报文至所述资源池;解包模块,用于解包所述资源池中的资源内总线上收到的报文;返回模块,用于当所述诊断应用层查询时返回解包之后的所述报文。
[0016]优选地,在所述申请模块中,检查资源号是否小于资源数量,如果是,则继续判定当前资源的收发ID与物理通道和申请值是否一致,如果是,则将资源信息写入当前资源,返回当前资源资源号;如果资源号不是小于资源数量,则检查是否有空闲资源,如果有,则将空闲资源与诊断服务绑定并返回资源号,如果没有,则返回资源申请失败。
[0017]优选地,当前诊断服务已经完成时,调用资源释放接本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种车辆单通道和多通道并行诊断方法,其特征在于,包括以下步骤:A:诊断应用层从资源池中申请资源,其中,所述资源池经过下述流程生成:将诊断服务的组包和解包的部分根据诊断ID和通道进行资源化处理,进而利用所述诊断服务的资源化建立所述资源池;B:发送需要发送的报文至所述A中申请的资源,所述诊断应用层根据需求运行其他任务,查询资源接收状态;C: 发送所述报文至发送缓存;D:上传总线上收到的报文至所述资源池;E:解包所述D中的报文,当所述诊断应用层查询时返回解包之后的所述报文。2.根据权利要求1所述车辆单通道和多通道并行诊断方法,其特征在于,在所述A中,检查资源号是否小于资源数量,如果是,则继续判定当前资源的收发ID与物理通道和申请值是否一致,如果是,则将资源信息写入当前资源,返回当前资源资源号;如果资源号不是小于资源数量,则检查是否有空闲资源,如果有,则将空闲资源与诊断服务绑定并返回资源号,如果没有,则返回资源申请失败。3.根据权利要求1所述的车辆单通道和多通道并行诊断方法,其特征在于,在所述E之后,还包括F,当前诊断服务已经完成时,调用资源释放接口进行释放,并由所述诊断应用层确认释放。4.根据权利要求1所述的车辆单通道和多通道并行诊断方法,其特征在于,在所述B中,所述诊断应用层将发送接收的ID、发送报文数据、资源号及资源模式输入到发送接口中;检查通道发送条件是否满足,如果是,则检查通道有功能寻址是否正在发送,如果是,则资源发送标志置为队列状态,如果否,则资源发送标志置为等待发送,将数据、收发ID和资源模式写入资源;如果通道发送条件不满足,则通道处于独享模式中,不支持数据发送。5.根据权利要求1所述的车辆单通道和多通道并行诊断方法,其特征在于,在所述D及E中,检查资源接收是否完成,如果是,则检查接收是否为否定响应码78,如果是,则设置接收超时时间T,返回接收长度及数据,如果接收不是否定响应码78,则直接返回接收长度及数据;如果资源接收没有完成,则返回无接收数据。6.根据权利要求1所述的车辆单通道和多通道并行诊断方法,其特征在于,在所述B、C及D中,涉及报文处理流程为:检查是否接收到驱动层报文有未处理,如果是,则检查任一资源的接收ID及通道与报文的是否一致,如果是,则填充至资源报文接收缓存;如果没有接收到驱动层报文有未处理,则检查资源号是否小于资源数量,如果是,当前资源是否有缓存接收报文未处理,如是,则立即处理接收报文;如果资源号不是小于资源数量,则检查当前资源是否有发送任务,如果是,则数据组一帧报文,将报文填充至发送缓存。7.根据权利要求1所述的车辆单通道和多通道并行诊断方法,其特征在于,在所述C中,还包括通道发送条件检查,包括以下检查步骤:
C1:检查资源号是否小于资源数量,如是,检查资源号与请求的资源号是否一致,若不一致,执行下一步;C2:检查资源通道与发送信息通道是否一致,若是,执行下一步;C3:检查发送资源状态是否为独享,如是,检查当前资源是否有发送或接收任务正在执行中,若是,返回通道发送条件检测未通过;C4:若发送资源状态不是独享,则检查当前资源是否处于独享中,若是,则返回通道发送条件检测未通过;C5:所述C1中,若资源号不是小于资源数量,则直接返回通道发送条件检测通过。8.一辆车辆单通道和多通道并行诊断系统,其特征在于,包括:申请模块,用于诊断应用层从资源池中申请资源,其中,所述资源池经过下...

【专利技术属性】
技术研发人员:易源东谢伯林杨雪莹
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1