基于UDS诊断的汽车ECU软件升级研究
基于UDS诊断的汽车ECU软件升级研究[20191208101619]
摘 要
随着汽车电子技术的发展,电子控制单元ECU(Electronic Control Unit)在汽车上的应用越来越多,功能也越来越复杂。车载ECU数量的不断增多,在提升汽车性能、节约成本方面有着明显的优势,但同时也使得ECU升级变得越来越频繁。传统的ECU升级方法需要从整车上拆卸控制单元并通过程序烧写器进行更新,不仅操作繁琐,频繁插拔件更是加大了电子元器件损坏的风险,因而遭到主机厂弃用。随着CAN总线技术在汽车网络中的广泛应用,ECU在线升级研究有了新的突破,即采用一种接入车载OBD接口,并通过CAN总线对ECU进行在线升级的方法。这种升级方法需要ECU遵循UDS(Unified Diagnostic Service)协议中定义的编程规则,但考虑到刷写过程不需要拆卸ECU而是直接升级,尤其适用于主机厂。
关键字:UDSCAN总线ECU在线升级
目 录
1 绪 论 1
1.1 课题背景及研究意义 1
1.2 国内外研究现状 1
1.2.1 车载诊断系统总线标准 1
1.2.2 ECU在线升级 3
1.3 本文主要的研究工作 4
2 ECU在线升级基础条件分析 5
2.1 CAN总线技术与原理 5
2.1.1 CAN与OSI参考模型 5
2.1.2 CAN总线的基本特点 6
2.1.3 CAN的消息帧 6
2.2 UDS诊断协议 7
2.2.1 网络层概述 8
2.2.2 应用层概述 11
2.3 诊断仪(Tester)介绍 12
2.4 本章小结 15
3 Flash BootLoader原理 16
3.1 预编程 16
3.2 编程 17
3.3 编程后处理 19
3.4 本章小结 19
4 整车ECU在线升级 20
4.1 整车ECU升级流程设计 20
4.2 刷写及完成工作 21
4.3 最终确认 22
4.3.1 ECOS 22
4.3.2 电器功能检查 23
4.4 本章小结 23
5 故障分析与解决 24
5.1 案例一 24
5.2 案例二 24
6 结语 26
6.1 全文总结 26
6.2 工作展望 26
参考文献 27
致 谢 28
1 绪 论
1.1课题背景及研究意义
20世纪90年代以来,随着电子技术的不断发展,车载控制单元ECU( Electronic Control Unit)在汽车上的运用也越来越多。据统计普通轿车有超过15个ECU来控制整车,一些豪华轿车甚至超过80个。以观致汽车某车型为例,具体的ECU有发动机管理系统EMS、电动助力转向系统EPS、无钥匙进入系统PEPS、大灯控制系统LCS、安全气囊控制模块ACM、车身控制模块BCM、空调控制模块CCU、自动变速箱控制模块TCU、座椅控制模块SCU、转向控制模块SCM等。车载ECU数量的不断增多,在提升汽车性能、节约成本方面有着明显的优势,但同时也使得车载诊断升级变得异常复杂,据统计每个ECU中有超过30%的内存用于诊断或与诊断相关的服务,由此可见车载诊断的重要性。
在整车电子化程度高度集中、新理论新算法不断更新的今天,如何及时对ECU进行刷写升级成为各大主机厂关注的焦点。传统的ECU升级方法较为复杂,在拆掉ECU控制器芯片后将其放到适配器内模拟相关信号,并通过编程器进行数据读写。这种方法的弊端是升级前后需要拆装ECU芯片,不仅操作繁琐,频繁的插拔更加大了电子元器件损坏的风险,因而逐渐遭到主机厂弃用。随着CAN总线技术在整车应用中逐渐普及,越来越多的汽车厂商倾向于应用基于更高速可靠的CAN总线的诊断方式即一致性车载诊断协议UDS(Unified Diagnostic Services)。一种新的ECU升级方式应运而生,即基于UDS协议,诊断工具通过OBD接口与ECU建立通信进行在线升级。这种升级的优点是不需要拆装ECU,通过连接OBD接口既可实现整车ECU在线升级,不仅提高了效率也增强了可靠性。
本文主要阐述了UDS诊断协议中网络层与应用层的功能,研究了以UDS为基础的汽车ECU在线升级原理与具体方法,讨论了升级过程中的问题分析与处理,对整车ECU在线升级改进与研究有一定的借鉴作用。
1.2 国内外研究现状
1.2.1 车载诊断系统总线标准
目前,在车辆诊断领域,针对诊断设备与ECU间数据交换,各大汽车厂商制定了不同的标准。作为车载技术的一个重要基础,诊断通讯协议是最关键的一个环节。在诊断发展早期,许多汽车厂商采用基于K线设计的ISO 14230协议标准,但由于车载诊断需求的不断提高使得K线传输速率慢、可靠性低、仲裁机制不完善等一系列缺点被无限放大,K线诊断逐渐难以满足新的诊断需求。从2000年开始,在欧洲,所有的乘用车开始全面使用基于CAN的故障诊断接口,相应的,其所使用的故障诊断标准也已成为国际标准,该接口规范为ISO 15765即UDS ON CAN。
长春工业大学田晓川等人对以上两种车载诊断协议作出了对比研究,两种诊断协议与ISO模型各工作层间的对应关系如表1.1所示:
表1.1 两种诊断协议于OSI参考模型
OSI 参考模型 ISO 14230 ISO 15765
应用层 ISO 14230-3 ISO 15765-3
表述层 N/A N/A
会话层 N/A N/A
传输层 N/A N/A
网络层 N/A ISO 15765-2
数据链路层 ISO 14230-2 ISO 11891-1
物理层 ISO 14230-1 用户自定义
基于K线的诊断协议包括ISO 14230-1~14230-3,ISO 14230-1规定了物理层协议,ISO 14230-2规定了数据链路层协议,包括报文结构、初始化过程、定时参数和错误处理等内容。ISO 14230则定义了应用层相关服务并完全兼容于ISO 15765应用层协议。
基于CAN总线的诊断协议即UDS包括 ISO 15765-1~ISO 15765-3,其中ISO 15765-1是协议总介;ISO 15765-2定义了网络层协议的具体内容,为长报文的多包数据传输过程提供了同步控制、顺序控制、流控制和错误恢复功能;应用层协议遵循ISO 15765-3,这一部分定义了一致性诊断服务在CAN 总线上的实施,是诊断协议的核心内容。
ISO 15765逐渐取代ISO 14230成为主流诊断协议标准的原因主要有以下几点,详见表1.2。
表1.2 两种协议的对比研究
? ISO 14230—K线 ISO 15765—CAN 总线
传输速率 最高仅为10400bps 最高达1Mbps
传输方式 单线传输 采用差分信号
数据传输 以字节为单位 以CAN帧为单位
网络结构 单一不可扩展 复杂且可变性强
底层通讯及仲裁机制 由开发者处理 CAN有完善的通讯错误机制和总线仲裁机制
报文长度 最大255字节 最大4095字节
1.2.2 ECU在线升级
广汽集团李济泰、杨毅等人对车载ECU在线升级的原理作出了研究,原理图1-1如示:
图1-1 在线升级原理图
该原理图由上、下位机及电控单元组成,上位机(刷写用的电脑)为人机界面,用于执行操作人员指令和显示必要的信息。下位机(Tester、CANoe等)则用于上位机与ECU的接口,一方面接受上位机的数据和指令,另一方面用于ECU间的通信,完成在线升级。上、下位机间采用RS232接口,下位机与ECU之间通过CAN总线连接,并遵循ISO 15765协议。上位机中的刷写文件时如何通过下位机下载到电控单元,这中间经历了怎样的传输过程,遵循怎样的诊断服务,将是本文研究的重点。
1.3 本文主要的研究工作
本文以一致性车载诊断协议UDS为基础,针对观致汽车整车ECU的升级方案作出研究,探讨了ECU在线升级的原理,阐述了升级的具体方法与过程中问题分析,具体内容如下:
1) 介绍课题背景,回顾车载诊断协议的发展历程和国内外研究现状。阐明了UDS协议及ECU在线升级的重要意义。
2) ECU在线升级的基础条件分析。内容主要包括CAN总线基本原理,UDS协议在具体分层结构上的应用,诊断工具Tester介绍等。
3)Flash BootLoader原理。该原理解释了ECU在线升级是如何经过CAN总线实现的。主要包括预编程、编程和编程后处理三大步骤,并解释每个步骤中定义的诊断服务。
4)整车ECU在线升级流程设计。
5)升级过程前后问题分析与处理。
6)总结与展望。
2 ECU在线升级基础条件分析
2.1 CAN总线技术与原理
控制器局域网(Controller Area Network)是20世纪80年代初德国Bosch公司为解决现代汽车众多控制单元、测试仪器间实时数据交换而开发的一种串行通讯协议,也是目前唯一一种被批准为国际标准的现场总线。
2.1.1 CAN与OSI参考模型
在OSI参考模型中将计算机网络分为7层,即物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。每一层都是独立存在的且为上一层提供服务,其模型可参考图2-1。而实际的网络体系结构中并不一定具有全部的七层定义,例如CAN网络只定义了物理层和数据链路层。
7 应用层
6 表示层
5 会话层
4 传输层
物理信令子层 3 网络层 逻辑链路控制
物理介质连接 2 数据链路层 媒体访问控制
介质相关接口 1 物理层
图2-1 CAN的结构模型
物理层:主要功能是完成相邻节点之间原始比特流的传输。物理层协议关心
的典型问题是使用什么样的物理信号来表示数据“1”和“0”,一位持续的时间有多长,数据传输可否同时在两个方向上进行,涉及物理层接口的机械、电气、功能、传输介质等问题。
数据链路层:主要功能是如何在不可靠的物理线路上进行数据的可靠传输,他完成的是网络中相邻节点之间可靠的数据通信,主要是把物理层的数据封装成帧格式。
2.1.2 CAN总线的基本特点
(1)采用双线差分信号传输,协议本身对节点数量没有限制。总线上的节点数量可以动态改变。广播发送报文,报文可以被所有节点同时接收。
(2)非破坏性的总线仲裁机制。当多个节点同时向总线发送信息出现冲突时,优先级较低的节点会主动的退出发送,而优先级最高的节点可以不受影响的继续发送数据,从而大大的节省了总线冲突仲裁的时间。
(3)支持远程数据请求。通过发送一个远程帧,需要数据的节点可以请求另外一个节点向自己发送相应的数据帧。
(4)有检错和出错通报功能。在CAN总线中几种检测错位的措施包括位检测、循环冗余码校验、帧校验。
(5)多主站结构,各节点平等,优先权由报文ID确定,每个报文的内容通过标示符识别,标示符描述了数据的定义且在网络中是唯一的。
2.1.3 CAN的消息帧
CAN的消息帧根据用途分为四种不同类型,其类型与作用如表2.1所示:
表2.1 CAN的消息帧
帧类型帧用途
数据帧用于发送单元向接受单元传送数据帧
远程帧用于接收单元向具有相同ID的发送单元请求数据的帧
错误帧用于当检测出错误时向其他单元通知错误的帧
过载帧用于接收单元通知其尚未做好准备的帧
在目前的汽车网络中应用最多的是数据帧,根据数据帧标识符位数的不同,数据帧又被分为标准帧(11位标识符)和扩展帧(29位标识符),下面以标准帧为例介绍数据帧里各个位的含义。
标准数据帧由以下7个不同的场组成:帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束。其结构示意图如图2-2所示:
帧起 始 仲裁场 控制场 数据场 CRC校验场 应答场 帧结束
1 11 1 1 1 4 0-8 15 1 1 1 7
S O F ID R T R I D E r0 DLC Date Field CRC D E L A C K D E L EOF
图2-2 CAN的标准消息帧结构
1)帧起始(SOF):标志数据帧和远程帧的开始,它仅由一个显性位组成,只有在总线空闲时才允许开始发送。
2)仲裁场:在标准格式中,仲裁场由11位标示符(ID)和远程帧请求位(RTR)组成。ID表示报文的含义和优先级,RTR=0,则表示该帧为数据帧,若RTR=1则表示该帧为远程帧。
3)控制场:由6位组成。在标准格式中,包括标识符扩展位(IDE)、显性保留位(r0)和数据长度码(DLC,有效长度为0-8字节)。其中IDE=0表示标准帧;IDE=1表示扩展帧。
4)数据场:包含CAN数据帧发送的内容,一般为0-8字节长度。
5)CRC场:检查帧传输错误,由15个CRC序列和1位CRC界定符(DEL)组成。
6)应答场:确认报文是否被正常接收,由应答间隙(ACK)和应答界定符(DEL)组成。
7)帧结束(EOF):表示该帧的结束,由7个连续的隐性位组成。
2.2 UDS诊断协议
UDS(ISO 15765)协议是一种基于CAN的诊断协议,其网络架构遵循OSI参考模型。协议共有4大部分组成,其中ISO 15765-1为协议总介,ISO 15765-2对网络层协议进行说明,ISO 15765-3定义了应用层协议的内容,ISO15765-4则是与排放相关诊断(OBD)的内容,本文不做研究。诊断框架示意图如图2-3所示。
摘 要
随着汽车电子技术的发展,电子控制单元ECU(Electronic Control Unit)在汽车上的应用越来越多,功能也越来越复杂。车载ECU数量的不断增多,在提升汽车性能、节约成本方面有着明显的优势,但同时也使得ECU升级变得越来越频繁。传统的ECU升级方法需要从整车上拆卸控制单元并通过程序烧写器进行更新,不仅操作繁琐,频繁插拔件更是加大了电子元器件损坏的风险,因而遭到主机厂弃用。随着CAN总线技术在汽车网络中的广泛应用,ECU在线升级研究有了新的突破,即采用一种接入车载OBD接口,并通过CAN总线对ECU进行在线升级的方法。这种升级方法需要ECU遵循UDS(Unified Diagnostic Service)协议中定义的编程规则,但考虑到刷写过程不需要拆卸ECU而是直接升级,尤其适用于主机厂。
关键字:UDSCAN总线ECU在线升级
目 录
1 绪 论 1
1.1 课题背景及研究意义 1
1.2 国内外研究现状 1
1.2.1 车载诊断系统总线标准 1
1.2.2 ECU在线升级 3
1.3 本文主要的研究工作 4
2 ECU在线升级基础条件分析 5
2.1 CAN总线技术与原理 5
2.1.1 CAN与OSI参考模型 5
2.1.2 CAN总线的基本特点 6
2.1.3 CAN的消息帧 6
2.2 UDS诊断协议 7
2.2.1 网络层概述 8
2.2.2 应用层概述 11
2.3 诊断仪(Tester)介绍 12
2.4 本章小结 15
3 Flash BootLoader原理 16
3.1 预编程 16
3.2 编程 17
3.3 编程后处理 19
3.4 本章小结 19
4 整车ECU在线升级 20
4.1 整车ECU升级流程设计 20
4.2 刷写及完成工作 21
4.3 最终确认 22
4.3.1 ECOS 22
4.3.2 电器功能检查 23
4.4 本章小结 23
5 故障分析与解决 24
5.1 案例一 24
5.2 案例二 24
6 结语 26
6.1 全文总结 26
6.2 工作展望 26
参考文献 27
致 谢 28
1 绪 论
1.1课题背景及研究意义
20世纪90年代以来,随着电子技术的不断发展,车载控制单元ECU( Electronic Control Unit)在汽车上的运用也越来越多。据统计普通轿车有超过15个ECU来控制整车,一些豪华轿车甚至超过80个。以观致汽车某车型为例,具体的ECU有发动机管理系统EMS、电动助力转向系统EPS、无钥匙进入系统PEPS、大灯控制系统LCS、安全气囊控制模块ACM、车身控制模块BCM、空调控制模块CCU、自动变速箱控制模块TCU、座椅控制模块SCU、转向控制模块SCM等。车载ECU数量的不断增多,在提升汽车性能、节约成本方面有着明显的优势,但同时也使得车载诊断升级变得异常复杂,据统计每个ECU中有超过30%的内存用于诊断或与诊断相关的服务,由此可见车载诊断的重要性。
在整车电子化程度高度集中、新理论新算法不断更新的今天,如何及时对ECU进行刷写升级成为各大主机厂关注的焦点。传统的ECU升级方法较为复杂,在拆掉ECU控制器芯片后将其放到适配器内模拟相关信号,并通过编程器进行数据读写。这种方法的弊端是升级前后需要拆装ECU芯片,不仅操作繁琐,频繁的插拔更加大了电子元器件损坏的风险,因而逐渐遭到主机厂弃用。随着CAN总线技术在整车应用中逐渐普及,越来越多的汽车厂商倾向于应用基于更高速可靠的CAN总线的诊断方式即一致性车载诊断协议UDS(Unified Diagnostic Services)。一种新的ECU升级方式应运而生,即基于UDS协议,诊断工具通过OBD接口与ECU建立通信进行在线升级。这种升级的优点是不需要拆装ECU,通过连接OBD接口既可实现整车ECU在线升级,不仅提高了效率也增强了可靠性。
本文主要阐述了UDS诊断协议中网络层与应用层的功能,研究了以UDS为基础的汽车ECU在线升级原理与具体方法,讨论了升级过程中的问题分析与处理,对整车ECU在线升级改进与研究有一定的借鉴作用。
1.2 国内外研究现状
1.2.1 车载诊断系统总线标准
目前,在车辆诊断领域,针对诊断设备与ECU间数据交换,各大汽车厂商制定了不同的标准。作为车载技术的一个重要基础,诊断通讯协议是最关键的一个环节。在诊断发展早期,许多汽车厂商采用基于K线设计的ISO 14230协议标准,但由于车载诊断需求的不断提高使得K线传输速率慢、可靠性低、仲裁机制不完善等一系列缺点被无限放大,K线诊断逐渐难以满足新的诊断需求。从2000年开始,在欧洲,所有的乘用车开始全面使用基于CAN的故障诊断接口,相应的,其所使用的故障诊断标准也已成为国际标准,该接口规范为ISO 15765即UDS ON CAN。
长春工业大学田晓川等人对以上两种车载诊断协议作出了对比研究,两种诊断协议与ISO模型各工作层间的对应关系如表1.1所示:
表1.1 两种诊断协议于OSI参考模型
OSI 参考模型 ISO 14230 ISO 15765
应用层 ISO 14230-3 ISO 15765-3
表述层 N/A N/A
会话层 N/A N/A
传输层 N/A N/A
网络层 N/A ISO 15765-2
数据链路层 ISO 14230-2 ISO 11891-1
物理层 ISO 14230-1 用户自定义
基于K线的诊断协议包括ISO 14230-1~14230-3,ISO 14230-1规定了物理层协议,ISO 14230-2规定了数据链路层协议,包括报文结构、初始化过程、定时参数和错误处理等内容。ISO 14230则定义了应用层相关服务并完全兼容于ISO 15765应用层协议。
基于CAN总线的诊断协议即UDS包括 ISO 15765-1~ISO 15765-3,其中ISO 15765-1是协议总介;ISO 15765-2定义了网络层协议的具体内容,为长报文的多包数据传输过程提供了同步控制、顺序控制、流控制和错误恢复功能;应用层协议遵循ISO 15765-3,这一部分定义了一致性诊断服务在CAN 总线上的实施,是诊断协议的核心内容。
ISO 15765逐渐取代ISO 14230成为主流诊断协议标准的原因主要有以下几点,详见表1.2。
表1.2 两种协议的对比研究
? ISO 14230—K线 ISO 15765—CAN 总线
传输速率 最高仅为10400bps 最高达1Mbps
传输方式 单线传输 采用差分信号
数据传输 以字节为单位 以CAN帧为单位
网络结构 单一不可扩展 复杂且可变性强
底层通讯及仲裁机制 由开发者处理 CAN有完善的通讯错误机制和总线仲裁机制
报文长度 最大255字节 最大4095字节
1.2.2 ECU在线升级
广汽集团李济泰、杨毅等人对车载ECU在线升级的原理作出了研究,原理图1-1如示:
图1-1 在线升级原理图
该原理图由上、下位机及电控单元组成,上位机(刷写用的电脑)为人机界面,用于执行操作人员指令和显示必要的信息。下位机(Tester、CANoe等)则用于上位机与ECU的接口,一方面接受上位机的数据和指令,另一方面用于ECU间的通信,完成在线升级。上、下位机间采用RS232接口,下位机与ECU之间通过CAN总线连接,并遵循ISO 15765协议。上位机中的刷写文件时如何通过下位机下载到电控单元,这中间经历了怎样的传输过程,遵循怎样的诊断服务,将是本文研究的重点。
1.3 本文主要的研究工作
本文以一致性车载诊断协议UDS为基础,针对观致汽车整车ECU的升级方案作出研究,探讨了ECU在线升级的原理,阐述了升级的具体方法与过程中问题分析,具体内容如下:
1) 介绍课题背景,回顾车载诊断协议的发展历程和国内外研究现状。阐明了UDS协议及ECU在线升级的重要意义。
2) ECU在线升级的基础条件分析。内容主要包括CAN总线基本原理,UDS协议在具体分层结构上的应用,诊断工具Tester介绍等。
3)Flash BootLoader原理。该原理解释了ECU在线升级是如何经过CAN总线实现的。主要包括预编程、编程和编程后处理三大步骤,并解释每个步骤中定义的诊断服务。
4)整车ECU在线升级流程设计。
5)升级过程前后问题分析与处理。
6)总结与展望。
2 ECU在线升级基础条件分析
2.1 CAN总线技术与原理
控制器局域网(Controller Area Network)是20世纪80年代初德国Bosch公司为解决现代汽车众多控制单元、测试仪器间实时数据交换而开发的一种串行通讯协议,也是目前唯一一种被批准为国际标准的现场总线。
2.1.1 CAN与OSI参考模型
在OSI参考模型中将计算机网络分为7层,即物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。每一层都是独立存在的且为上一层提供服务,其模型可参考图2-1。而实际的网络体系结构中并不一定具有全部的七层定义,例如CAN网络只定义了物理层和数据链路层。
7 应用层
6 表示层
5 会话层
4 传输层
物理信令子层 3 网络层 逻辑链路控制
物理介质连接 2 数据链路层 媒体访问控制
介质相关接口 1 物理层
图2-1 CAN的结构模型
物理层:主要功能是完成相邻节点之间原始比特流的传输。物理层协议关心
的典型问题是使用什么样的物理信号来表示数据“1”和“0”,一位持续的时间有多长,数据传输可否同时在两个方向上进行,涉及物理层接口的机械、电气、功能、传输介质等问题。
数据链路层:主要功能是如何在不可靠的物理线路上进行数据的可靠传输,他完成的是网络中相邻节点之间可靠的数据通信,主要是把物理层的数据封装成帧格式。
2.1.2 CAN总线的基本特点
(1)采用双线差分信号传输,协议本身对节点数量没有限制。总线上的节点数量可以动态改变。广播发送报文,报文可以被所有节点同时接收。
(2)非破坏性的总线仲裁机制。当多个节点同时向总线发送信息出现冲突时,优先级较低的节点会主动的退出发送,而优先级最高的节点可以不受影响的继续发送数据,从而大大的节省了总线冲突仲裁的时间。
(3)支持远程数据请求。通过发送一个远程帧,需要数据的节点可以请求另外一个节点向自己发送相应的数据帧。
(4)有检错和出错通报功能。在CAN总线中几种检测错位的措施包括位检测、循环冗余码校验、帧校验。
(5)多主站结构,各节点平等,优先权由报文ID确定,每个报文的内容通过标示符识别,标示符描述了数据的定义且在网络中是唯一的。
2.1.3 CAN的消息帧
CAN的消息帧根据用途分为四种不同类型,其类型与作用如表2.1所示:
表2.1 CAN的消息帧
帧类型帧用途
数据帧用于发送单元向接受单元传送数据帧
远程帧用于接收单元向具有相同ID的发送单元请求数据的帧
错误帧用于当检测出错误时向其他单元通知错误的帧
过载帧用于接收单元通知其尚未做好准备的帧
在目前的汽车网络中应用最多的是数据帧,根据数据帧标识符位数的不同,数据帧又被分为标准帧(11位标识符)和扩展帧(29位标识符),下面以标准帧为例介绍数据帧里各个位的含义。
标准数据帧由以下7个不同的场组成:帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束。其结构示意图如图2-2所示:
帧起 始 仲裁场 控制场 数据场 CRC校验场 应答场 帧结束
1 11 1 1 1 4 0-8 15 1 1 1 7
S O F ID R T R I D E r0 DLC Date Field CRC D E L A C K D E L EOF
图2-2 CAN的标准消息帧结构
1)帧起始(SOF):标志数据帧和远程帧的开始,它仅由一个显性位组成,只有在总线空闲时才允许开始发送。
2)仲裁场:在标准格式中,仲裁场由11位标示符(ID)和远程帧请求位(RTR)组成。ID表示报文的含义和优先级,RTR=0,则表示该帧为数据帧,若RTR=1则表示该帧为远程帧。
3)控制场:由6位组成。在标准格式中,包括标识符扩展位(IDE)、显性保留位(r0)和数据长度码(DLC,有效长度为0-8字节)。其中IDE=0表示标准帧;IDE=1表示扩展帧。
4)数据场:包含CAN数据帧发送的内容,一般为0-8字节长度。
5)CRC场:检查帧传输错误,由15个CRC序列和1位CRC界定符(DEL)组成。
6)应答场:确认报文是否被正常接收,由应答间隙(ACK)和应答界定符(DEL)组成。
7)帧结束(EOF):表示该帧的结束,由7个连续的隐性位组成。
2.2 UDS诊断协议
UDS(ISO 15765)协议是一种基于CAN的诊断协议,其网络架构遵循OSI参考模型。协议共有4大部分组成,其中ISO 15765-1为协议总介,ISO 15765-2对网络层协议进行说明,ISO 15765-3定义了应用层协议的内容,ISO15765-4则是与排放相关诊断(OBD)的内容,本文不做研究。诊断框架示意图如图2-3所示。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/qcgc/1950.html