CN110474950A - Uds网络层协议实现方法、计算机可读存储介质、计算机设备 - Google Patents
Uds网络层协议实现方法、计算机可读存储介质、计算机设备 Download PDFInfo
- Publication number
- CN110474950A CN110474950A CN201910567960.9A CN201910567960A CN110474950A CN 110474950 A CN110474950 A CN 110474950A CN 201910567960 A CN201910567960 A CN 201910567960A CN 110474950 A CN110474950 A CN 110474950A
- Authority
- CN
- China
- Prior art keywords
- data
- ecu
- frame
- sent
- response message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/325—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Communication Control (AREA)
Abstract
本发明属于UDS协议实现方法,主要解决了现有技术中UDS网络层协议实现复杂、多线程和处理数据效率低的问题,进而提供一种UDS网络层协议实现方法、计算机可读存储介质、计算机设备。该实现方法包括以下步骤:步骤1,接收应用层数据,根据需要的传输数据长度,确定单帧数据发送或多帧数据发送;步骤2,若单帧数据发送,则直接发送等待ECU响应报文;若多帧数据发送,则发送数据首帧后等待ECU响应控制帧,收到ECU响应控制帧之后发送后续数据帧,直至所有多帧数据发送完成后,等待ECU响应报文;步骤3,若等待ECU响应报文超时,则根据抑制正响应标志位确定结果;若在规定时间内收到ECU响应报文,则根据ECU响应报文的帧数确定结果。
Description
技术领域
本发明属于UDS协议实现方法,具体涉及UDS网络层协议实现方法、计算机可读存储介质、计算机设备。
背景技术
目前,在新能源商用车领域,主流的UDS(Unified Diagnostic Services)故障诊断规范是ISO15765,即CAN网络上的诊断。ISO15765是一个复杂且完整的汽车网路体系结构,其软件实现是一项大型的系统工程,复杂性表现在网络层的传输协议和应用层的故障诊断,其中最难实现的部分就是网络层的传输协议。网络层的主要功能是为对等实体间的通信提供分段、重组和流控制方法,同时还规定了在各种情况下的超时和错误处理。但符合要求的ISO15765协议的软件部分价格高昂,很大程度上增大了成本。
现在常见的USD网络层协议实现方法,主要是通过多线程事件机制配合完成报文的发送与接收,处理过程较复杂,存在性能损失,在数据量大的情况下,整体处理效率较低。
发明内容
本发明的主要目的是在于解决现有技术中UDS网络层协议实现复杂、多线程和处理数据效率低的问题,提供UDS网络层协议实现方法、计算机可读存储介质、计算机设备。
为实现上述目的,本发明提供如下技术方案:
UDS网络层协议实现方法,其特殊之处在于,包括以下步骤:
步骤1,接收应用层数据,根据需要的传输数据长度,确定单帧数据发送或多帧数据发送;
步骤2,若单帧数据发送,则直接发送等待ECU响应报文;若多帧数据发送,则发送数据首帧后等待ECU响应控制帧,收到ECU响应控制帧之后发送后续数据帧,直至所有多帧数据发送完成后,等待ECU响应报文;
步骤3,若等待ECU响应报文超时,则根据抑制正响应标志位确定结果;若在规定时间内收到ECU响应报文,则根据ECU响应报文的帧数确定结果。
进一步地,步骤2中,所述多帧数据发送具体为,发送数据首帧后等待ECU响应控制帧,若响应超时则错误退出;若在规定时间内响应,根据ECU响应控制帧的内容连续发送后续数据帧,直至所有后续数据帧发送完成后,等待ECU响应报文。
进一步地,步骤2中,所述ECU响应控制帧包含响应时间间隔和单次接收最大帧数据量;所述根据ECU响应控制帧的内容连续发送后续数据帧,是指根据ECU响应控制帧包含的响应时间间隔和单次接收最大帧数据量,确定连续发送多帧数据的频次和数据量。
进一步地,所述步骤3具体为,若等待ECU响应报文超时,则判断抑制正响应标志位是否为0,若为0则错误退出,否则正常终了;若在规定时间内收到ECU响应报文,判断ECU响应报文是否为单帧报文,若为单帧报文,则正常终了;若为多帧报文,则上位机发送含义为全部接收的接收控制帧,等待ECU发送剩余多帧报文,直至所有多帧报文全部接收完成后正常终了,若接收过程中出现接收超时则直接错误退出并向应用层反馈错误超时。
进一步地,步骤3中,所述接收控制帧包含信息为响应时间间隔为0,以及单次接收最大帧数据量为全部剩余帧,进而保证数据通讯效率更加高效。
计算机可读存储介质,其上存储有计算机程序,其特殊之处在于,该程序被处理器执行时实现上述方法的步骤。
计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特殊之处在于,所述处理器执行所述程序时实现上述方法的步骤。
与现有技术相比,本发明的有益效果是:
1.本发明UDS网络层协议实现方法,相较于常见的多线程事件机制,在单线程内同时完成了数据的发送与接收,因此处理相同数据量时用时更短,效率得到了明显提高,从刷写文件的对比实验中得出,刷写速度平均提升11-22%;另外常见的UDS网络层协议均与硬件设备打包销售,很难在原有平台上进行改进调整,本发明可以在UDS协议基础上开发使用更多的工具,使用更加灵活。该方法能够应用于几乎所有的UDSCAN设备,大大降低了UDS标准协议实现难度,为新能源汽车的发展注入强劲动力。
2.本发明通过向应用层反馈错误超时,便于应用层依据该反馈设定错误处理机制,实现完整控制。
3.本发明通过接收控制帧包含的内容,进一步保证更加高效的完成数据通讯。
附图说明
图1为本发明UDS网络层协议实现方法一个实施例的流程示意图。
具体实施方式
下面将结合本发明的实施例和附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例并非对本发明的限制。
如图1所示,UDS网络层协议实现方法,包括以下步骤:
步骤1,接收应用层数据,根据需要的传输数据长度,确定单帧数据发送或多帧数据发送;
步骤2,若单帧数据发送,则直接发送等待ECU响应报文;若多帧数据发送,则发送数据首帧后等待ECU响应控制帧,收到ECU响应控制帧之后发送后续数据帧,直至所有多帧数据发送完成后,等待ECU响应报文;
步骤3,若等待ECU响应报文超时,则根据抑制正响应标志位确定结果;若在规定时间内收到ECU响应报文,则根据ECU响应报文的帧数确定结果。
接收应用层数据时,UDS标准下应用层数据的长度为1-4095字节,当长度小于7字节时,为单帧数据,直接发送等待ECU响应报文即可;当长度为8-4095字节时为多帧数据,按照步骤2处理,多帧数据的首帧包含数据长度信息和前5个字节的数据信息,其他帧包含其他数据信息。
步骤2中若多帧数据发送,首先发送多帧数据的首帧,等待ECU响应控制帧。若响应超时,则错误退出;若响应未超时,则根据ECU响应控制帧的内容连续发送后续数据帧,若发送完成则等待ECU响应报文;若未发送完成,则再次等待ECU响应控制帧,如此循环直到所有后续数据帧发送完成后,等待ECU响应报文。此处ECU响应控制帧包含响应时间间隔和单次接收最大帧数据量,以此确定连续发送多帧数据的频次和数据量。
步骤3中,若等待ECU响应报文超时,则判断抑制正响应标志位是否为0,为0则错误退出;不为0则正常终了。如果等待ECU响应报文不超时,则需要判断收到的ECU响应报文是否为单帧报文,若是单帧报文则正常终了;若不是单帧报文,则上位机发送含义为全部接收的接收控制帧,等待ECU发送剩余的多帧报文,所有多帧报文全部接收完成后正常终了,如果在接收过程中接收超时,则直接错误退出并向应用层反馈错误超时。接收控制帧包含信息为响应时间间隔为0,以及单次接收最大帧数据量为剩余全部,能够进一步提高通讯效率。若错误超时将向应用层反馈超时错误,应用层会根据反馈设定相应的错误处理机制,以便实现一个完整的控制。如应用层接收到反馈的超时错误,会根据错误处理机制对应寻找相应的故障原因,从而实现故障排查。操作人员就能够直观的通过反馈信心对故障进行排查,从而形成一个完整的发送反馈机制。
上述UDS网络层协议实现方法,在单线程内同时完成了数据的发送与接收,有效提高了数据的处理效率。
常用USBCAN设备上的UDS刷写文件数据量一般在1MB左右,大多为几百KB,最多不超过5MB,本实施例由于处理效率高能够完成12MB文件的刷写。在传输速度8000fps的USBCAN设备上进行不同数据量的刷写文件测试,并与相同条件下采用原USBCAN设备配套的实现方法完成刷写文件的平均用时进行对比。USBCAN设备一端连接上位机,另一端通过CAN总线,与ECU单元相连,得到如表1所示结果:
表1 不同数据量刷写测试结果表
从上述表1所示的测试结果可知,分别刷写文件大小为12MB、5MB、1MB和0.5MB的数据,3种不同波特率下各刷写一次,分别采用本实施例中的实现方法刷写文件,与原USBCAN设备配套的实现方法相比,平均用时明显减少,效率提高了11%-22%。若结合采用传输速度更快的USBCAN设备则能够实现更快的发送接收速度,该实现方法能够发挥更明显的优势。
另外,本实施例的实现方法能够应用于常用的USBCAN设备,在使用硬件设备时不再限于在原有配套软件基础上进行扩展,能够相应开发更多的应用工具。
本实施例的实现方法也可应用在计算机可读存储介质或计算机设备上。用于可读存储介质时,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。用于计算机设备时,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述方法的步骤。
前述USBCAN设备是指用于连接电脑的USB形式的CAN接口设备,ECU(ElectromicControl Unit)是指电子控制单元。
以上所述仅为本发明的实施例,并非对本发明保护范围的限制,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均包括在本发明的专利保护范围内。
Claims (7)
1.UDS网络层协议实现方法,其特征在于,包括以下步骤:
步骤1,接收应用层数据,根据需要的传输数据长度,确定单帧数据发送或多帧数据发送;
步骤2,若单帧数据发送,则直接发送等待ECU响应报文;若多帧数据发送,则发送数据首帧后等待ECU响应控制帧,收到ECU响应控制帧之后发送后续数据帧,直至所有多帧数据发送完成后,等待ECU响应报文;
步骤3,若等待ECU响应报文超时,则根据抑制正响应标志位确定结果;若在规定时间内收到ECU响应报文,则根据ECU响应报文的帧数确定结果。
2.如权利要求1所述UDS网络层协议实现方法,其特征在于:步骤2中,所述多帧数据发送具体为,发送数据首帧后等待ECU响应控制帧,若响应超时则错误退出;若在规定时间内响应,根据ECU响应控制帧的内容连续发送后续数据帧,直至所有后续数据帧发送完成后,等待ECU响应报文。
3.如权利要求2所述UDS网络层协议实现方法,其特征在于:步骤2中,所述ECU响应控制帧包含响应时间间隔和单次接收最大帧数据量;所述根据ECU响应控制帧的内容连续发送后续数据帧,是指根据ECU响应控制帧包含的响应时间间隔和单次接收最大帧数据量,确定连续发送多帧数据的频次和数据量。
4.如权利要求1所述UDS网络层协议实现方法,其特征在于:所述步骤3具体为,若等待ECU响应报文超时,则判断抑制正响应标志位是否为0,若为0则错误退出,否则正常终了;若在规定时间内收到ECU响应报文,判断ECU响应报文是否为单帧报文,若为单帧报文,则正常终了;若为多帧报文,则上位机发送含义为全部接收的接收控制帧,等待ECU发送剩余多帧报文,直至所有多帧报文全部接收完成后正常终了,若接收过程中出现接收超时则直接错误退出并向应用层反馈错误超时。
5.如权利要求4所述UDS网络层协议实现方法,其特征在于:步骤3中,所述接收控制帧包含信息为响应时间间隔为0,以及单次接收最大帧数据量为全部剩余帧。
6.计算机可读存储介质,其上存储有计算机程序,其特征在于:该程序被处理器执行时实现权利要求1-5任一项所述方法的步骤。
7.计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述程序时实现权利要求1-5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910567960.9A CN110474950A (zh) | 2019-06-27 | 2019-06-27 | Uds网络层协议实现方法、计算机可读存储介质、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910567960.9A CN110474950A (zh) | 2019-06-27 | 2019-06-27 | Uds网络层协议实现方法、计算机可读存储介质、计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110474950A true CN110474950A (zh) | 2019-11-19 |
Family
ID=68507330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910567960.9A Pending CN110474950A (zh) | 2019-06-27 | 2019-06-27 | Uds网络层协议实现方法、计算机可读存储介质、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110474950A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045711A (zh) * | 2019-12-03 | 2020-04-21 | 东风电驱动系统有限公司 | 一种基于usbcan的mcu软件程序升级方法及系统 |
CN111413945A (zh) * | 2020-03-19 | 2020-07-14 | 西安法士特汽车传动有限公司 | 一种基于线程交互的多种协议实现方法及系统 |
CN111736873A (zh) * | 2020-06-22 | 2020-10-02 | 中国第一汽车股份有限公司 | 电子控制单元的程序更新方法、装置、设备和存储介质 |
WO2022041720A1 (zh) * | 2020-08-24 | 2022-03-03 | 华为技术有限公司 | 一种基于uds的通信方法、ecu及上位机 |
CN114363370A (zh) * | 2021-12-29 | 2022-04-15 | 中汽创智科技有限公司 | 车载设备通信方法、装置、系统和车辆 |
CN115102803A (zh) * | 2022-06-22 | 2022-09-23 | 重庆长安新能源汽车科技有限公司 | 一种can通讯多帧传输方法、ecu |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932224A (zh) * | 2012-11-23 | 2013-02-13 | 哈尔滨工业大学 | 基于can网络的数据通讯系统及基于该系统的数据通讯方法 |
US20150205987A1 (en) * | 2012-08-16 | 2015-07-23 | Feitian Technologies Co., Ltd. | Method for enhancing stability of communication between a contactless card and a card reader |
CN106292403A (zh) * | 2015-06-01 | 2017-01-04 | 南京普爱医疗设备股份有限公司 | 一种医疗设备控制系统的can通信协议 |
CN106452667A (zh) * | 2016-08-30 | 2017-02-22 | 中国第汽车股份有限公司 | 一种商用车can通信传输方法 |
-
2019
- 2019-06-27 CN CN201910567960.9A patent/CN110474950A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150205987A1 (en) * | 2012-08-16 | 2015-07-23 | Feitian Technologies Co., Ltd. | Method for enhancing stability of communication between a contactless card and a card reader |
CN102932224A (zh) * | 2012-11-23 | 2013-02-13 | 哈尔滨工业大学 | 基于can网络的数据通讯系统及基于该系统的数据通讯方法 |
CN106292403A (zh) * | 2015-06-01 | 2017-01-04 | 南京普爱医疗设备股份有限公司 | 一种医疗设备控制系统的can通信协议 |
CN106452667A (zh) * | 2016-08-30 | 2017-02-22 | 中国第汽车股份有限公司 | 一种商用车can通信传输方法 |
Non-Patent Citations (1)
Title |
---|
孙俊扬: "UDS诊断协议工作原理和诊断协议栈的开发", 《汽车与配件》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045711A (zh) * | 2019-12-03 | 2020-04-21 | 东风电驱动系统有限公司 | 一种基于usbcan的mcu软件程序升级方法及系统 |
CN111413945A (zh) * | 2020-03-19 | 2020-07-14 | 西安法士特汽车传动有限公司 | 一种基于线程交互的多种协议实现方法及系统 |
CN111736873A (zh) * | 2020-06-22 | 2020-10-02 | 中国第一汽车股份有限公司 | 电子控制单元的程序更新方法、装置、设备和存储介质 |
CN111736873B (zh) * | 2020-06-22 | 2023-02-24 | 中国第一汽车股份有限公司 | 电子控制单元的程序更新方法、装置、设备和存储介质 |
WO2022041720A1 (zh) * | 2020-08-24 | 2022-03-03 | 华为技术有限公司 | 一种基于uds的通信方法、ecu及上位机 |
CN114363370A (zh) * | 2021-12-29 | 2022-04-15 | 中汽创智科技有限公司 | 车载设备通信方法、装置、系统和车辆 |
CN114363370B (zh) * | 2021-12-29 | 2023-12-26 | 中汽创智科技有限公司 | 车载设备通信方法、装置、系统和车辆 |
CN115102803A (zh) * | 2022-06-22 | 2022-09-23 | 重庆长安新能源汽车科技有限公司 | 一种can通讯多帧传输方法、ecu |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110474950A (zh) | Uds网络层协议实现方法、计算机可读存储介质、计算机设备 | |
US10552352B2 (en) | Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link | |
DE112020002495T5 (de) | System und verfahren zur erleichterung der betriebsverwaltung in einer netzwerkschnittstellensteuerung (nic) für beschleuniger | |
CN106415433B (zh) | 通过usb隧道传送消息从而控制电力输送 | |
CN103064807B (zh) | 多通道直接存储器存取控制器 | |
CN109710548A (zh) | 一种dma控制数据传输方法、系统及设备 | |
US4041473A (en) | Computer input/output control apparatus | |
CN101957808B (zh) | 多cpu间的通信方法、系统及cpu | |
CN109739786A (zh) | 一种dma控制器和异构加速系统 | |
CN103095703B (zh) | 一种实现网络与串口数据交互的方法、设备及系统 | |
CN109300217A (zh) | 排队叫号方法、计算机存储介质、排队叫号服务器及系统 | |
CN111800226B (zh) | 一种基于硬件仲裁的边带管理电路及方法 | |
CN112000605B (zh) | 一种传输指令和数据的方法及装置 | |
CN109327386A (zh) | 一种链路聚合方法、装置、设备及可读存储介质 | |
CN112565036B (zh) | 数据传输方法、装置、存储介质及通信系统 | |
CN110188059A (zh) | 数据有效位统一配置的流控式fifo缓存结构及方法 | |
CN108965112A (zh) | 使用即时通讯软件进行文件传输的方法及装置 | |
CN103905484B (zh) | 处理超文本传输协议请求的方法及装置 | |
WO2019037527A1 (zh) | Usb接口请求调度方法、装置及设备 | |
CN109104581A (zh) | 一种无线传屏的方法、系统及接收终端 | |
CN111064768A (zh) | 打印机数据传输控制方法、装置、设备及存储介质 | |
CN206317552U (zh) | 再生芯片 | |
CN104601289B (zh) | 电子设备及信息处理方法 | |
CN116383116A (zh) | 一种基于spi总线的通信方法及装置 | |
CN107783926A (zh) | 基于PowerPC与网口的FPGA与PC的通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191119 |