JLYY-JT-08基于CAN线诊断技术规范编制:校对:审核:审定:标准:批准:浙江吉利汽车研究院有限公司二○○八年五月目次前言……………………………………………………………………………………………………………II1范围…………………………………………………………………………………………………………12规范性引用文件……………………………………………………………………………………………13缩略语………………………………………………………………………………………………………14CAN线诊断系统原理………………………………………………………………………………………25CAN通讯协议………………………………………………………………………………………………26诊断应用层服务……………………………………………………………………………………………8ⅠGEELY基于CAN线诊断技术规范JTYY-JT-08前言为了保证各个整车项目的诊断协议的统一性和继承性,制定了本技术规范。本技术规范中,各ECU诊断应用层服务的定义应遵循本技术规范,但不限于本规范所定义的诊断服务项目。本技术规范没有定义的诊断服务应遵循ISO14229:2006,ISO14230-3:1996和ISO15765-3:2004中的诊断服务相关规定作扩展定义。本标准由浙江吉利汽车研究院有限公司提出。本标准由浙江吉利汽车研究院有限公司汽车电子电器研究所CAN总线科负责起草。本标准主要起草人:郑士岑。本标准于2008年5月30日发布并实施。ⅡGEELY基于CAN线诊断技术规范JTYY-JT-08共27页第1页1范围本标准规定了车辆CAN诊断的缩略语、CAN线诊断系统介绍、CAN通讯协议与诊断应用层服务。本标准适用于基于CAN线诊断的车辆诊断。2规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。ISO14229:2006道路车辆统一诊断维修设备(UDS):规范和要求ISO14230-3:1996道路交通工具——诊断系统:KWP2000案例ISO15765-2:2004道路交通工具——CAN诊断:网络层服务ISO15765-3:2004道路交通工具——CAN诊断:应用层服务ISO15765-4:2005道路交通工具——CAN诊断:排放相关系统要求3缩略语下列术语和缩略语适用于本标准。3.1ABSAntilockBrakingSystems防抱死系统3.2ACUAirbagControlUnit安全气囊控制单元3.3BCMBodyControlmodule车身控制模块3.4BSBlockSize块大小3.5CFConsecutiveFrame后续帧3.6DADestinationAddress目标地址3.7DLCDataLengthCode数据长度代码3.8DTCDiagnosticTroubleCode诊断故障代码3.9ECUElectronicControlUnit电子控制单元3.10EMSEngineManagementSystems发动机管理系统3.11EOLEndOfLine下线诊断3.12FCFlowControl流控制3.13FFFirstFrame首帧GEELY基于CAN线诊断技术规范JTYY-JT-08共27页第2页3.14ICUInstrumentClusterControlUnit组合仪表控制单元3.15IDIdentifier标志符3.16NANetworkAddress网络地址3.17PCIProtocolControlInformation协议控制信息3.18PIDParameterIdentifier参数标志符3.19SASourceAddress源地址3.20SFSingleFrame单帧3.21SIDServiceIdentifier服务标志符3.22STSeparationTime间隔时间3.23TPMSTirePressureMonitoringSystems胎压监测系统3.24WUPWakeUpPattern唤醒模式4CAN线诊断系统原理基于CAN线的诊断可以提供迅速存取信息的能力以及无需断开线缆就可以运行控制单元的能力。提供的诊断服务的作用有:a)确定ECU;b)读取ECU的输入信号;c)将输出信号写入执行器;d)读取ECU内部信息,比如故障存储的内容。本规范提供的诊断服务可以用作扩展诊断测试,也可以在维修车间中使用。提供的诊断服务可以明显地降低测试时间。5CAN通讯协议5.1数据流5.1.1ECU支持CAN诊断消息使用ISO15765-2:2004中指定的分段数据传送装置(USDT)。即支持两种类型的CAN数据流——非分段的数据流和分段的数据流。5.1.2非分段的数据流非分段数据流由单帧(SF)构成。它的使用条件是:正常寻址模式时单帧长度不超过7或扩展寻址模式时单帧长度不超过6。一个非分段消息传送的示例见图1所示。GEELY基于CAN线诊断技术规范JTYY-JT-08共27页第3页发送者接收者单帧图15.1.3分段的数据流分段数据流由多帧分段的CAN消息构成。它的使用条件是:正常寻址模式时数据长度大于7或扩展寻址模式时数据字节长度大于6。该数据流包含一个首帧(FF)和多个后续帧(CF)。接收器在接收了首帧(FF)后必须发送一个流控制(FC)。流控制中包含的信息是:块大小(BS)和间隔时间(ST)。其中块大小(BS)表示接收器允许发送器发送的最大后续帧数量。间隔时间(STmin)表示两个后续帧之间发送者所必须等待的最小时间。一个分段消息传送的示例见图2所示。发送者接收者首帧流控制后续帧STmin后续帧后续帧后续帧后续帧流控制块大小(BS)终结块(≤BS)图25.2消息类型5.2.1单帧(SF),首帧(FF),后续帧(CF)或流控制(FC)都包含有一个8字节的数据域,该数据域由以下两部分构成,表1显示了各类CAN消息的PCI字节的结构。GEELY基于CAN线诊断技术规范JTYY-JT-08共27页第4页a)协议控制信息(PCI),指示了帧类型,帧编号,数据长度等;b)传输数据,包含被发送的数据。表1数据域结构帧类型字节1字节2字节3字节4-8位7-4位3-0单帧(SF)0000SF_DL数据1数据2数据3-7首帧(FF)0001FF_DL数据1数据2-6后续帧(CF)0010SN数据1数据2数据3-7流控制(FC)0011FSBSStminN/A注:SF_DL表示4个位的单帧数据长度;FF_DL表示12个位的首帧数据长度;SN表示序列编号FS表示数据流状态;BS表示块大小;Stmin表示最小间隔时间。5.2.2单帧正常寻址模式下,单帧消息类型的最大数据长度为7个字节,其中PCI的高半字节设置为0000b。PCI的低半字节表示单帧的数据长度。5.2.3首帧正常寻址模式下,首帧消息类型的数据长度大于7字节,它和一个或多个后续帧并用。其中PCI第一个字节的高半字节设置为0001b,第一个字节的低半字节和第二个字节表示首帧的数据长度。首帧的数据长度FF_DL计算如表2所示。表2十六进制值数据长度FF_DL描述000h-007h保留008h-FFFh首帧数据长度(FF_DL)包含数据字节个数。12位FF_DL理论上支持发送多达4096个数据字节。然而当前实例无需支持4096个数据字节这样的最大值。5.2.4后续帧后续帧在首帧之后,其中PCI的高半字节设置为0010b。它的低半字节是一个序列编号(SN),SN的值根据以下规定来计算:a)首帧的SN值为0;b)第一个后续帧的SN值为1;c)每增加一个后续帧,SN值是以“1”来增加的;d)流控制帧的发送影响SN值的计算;e)当SN值达到了15,那么下一个后续帧的SN又会被设置为0。序列编号(SN)值的定义具体如表3所示。GEELY基于CAN线诊断技术规范JTYY-JT-08共27页第5页表3协议数据名字FFCFCFCFCFCFCFCFCFSN(16进制)0h1h2h…EhFh0h1h…5.2.5流控制5.2.5.1首帧或数据块的最后一个后续帧之后,当需要更多的后续帧(CF)来完成数据流传输时,接收节点就必须发送一个流控制消息,其中PCI第一个字节的高半字节设置为0011b。流控制PCI的第二个字节表示两个流控制帧之间最大消息块的大小(BSmax),第三个字节表示两个后续帧之间的时间(最小间隔时间,Stmin)。流控制PCI第一个字节的低半字节是一个流控制状态(FS),数据流状态(FS)的定义如表4所示。表416进制描述0h继续发送(CTS)接收器已经准备好并且等待BS时间1h等待(WT)流控制的等待参数用设置N_PCI字节#1的低半字节为“1”来编码。它会导致发送者继续等待一个新的流控制N_PDU并且重启它的N_BS定时器2h过载流(OVFLW)流控制的过载流参数用设置N_PCI字节#1的低半字节为“2”来编码。它会导致发送者中止分段消息的传输并且作出一个N_USData.confirm服务应答,该应答带参数N_Result=N_BUFFER_OVFLW。这个N_PCI流状态参数值仅仅在流控制N_PDU中被传送。这个流控制N_PDU紧跟在首帧N_PDU后,并且只在接收到的首帧N_PDU的消息长度FF_DL超过接收实体的缓冲器大小的情况下使用。5.2.5.2块大小(BSmax)表示两个流控制消息之间,接收器允许发送器发送的最大后续帧个数,它的定义如表5所示。表516进制描述00块大小(Bsmax)在传输分段消息期间将不会再发送流控制帧。所有的后续帧的发送将不会因为插入流控制而停顿。01h-FFh块大小(Bsmax)定义两个流控制之间的最大后续帧个数。5.2.5.3间隔时间(STmin)表示两个后续帧之间所允许的最小时间,它的定义如表6所示。表616进制描述00h-7Fh表示STmin的范围是:0ms-127ms80h-F0h预留未定义F1-F9表示STmin范围是:100us-900usFAh-FFh预留未定义GEELY基于CAN线诊断技术规范JTYY-JT-08共27页第6页5.3寻址模式5.3.1物理寻址模式所有物理寻址消息都是以ECU的物理地址来接收的。当用物理寻址模式来作出请求时,ECU就可以执行激活的诊断会话所支持的服务。而来自ECU的回应则在诊断仪的地址上接收。5.3.2功能寻址模式在诊断仪请求的信息不是在特定的某个模块的情况时,请求消息应以功能寻址模式来作出请求。5.4诊断会话ECU支持以下的诊断会话:a)正常(默认)的会话点火开启时,ECU以默认的形式开始正常诊断会话。在此会话中,控制器功能和诊断服务都会被激活,但不允许执行EOL和客户指定的诊断会话所支持的诊断服务。b)非默认诊断会话非默认的诊断会话定义了“ECU编程会话”和“ECU扩展的诊断会话”两种诊断会话。5.5应用层和诊断会话层的时序要求概述5.5.1应用层和诊断会话层的时序要求基于下列两点作出区别:a)物理寻址通讯的默认会话期间和非默认会话期间。b)功能寻址通讯的默认会话期间和非默认期间。基于以上两点的判断,还要考虑ECU可能发送78h代码的否定回应消息来请求扩展回应时间的情况。5.5.2应用层和诊断会话层的时序定义5.5.2.1默认诊断会话期间的应用层时序数值定义如表7所示。表7时序参数描述类型MinMaxP2CAN_Client成功传送请求消息和开始回应消息之间客户端的等待时间定时器重新载入值P2CAN_Server_max+△P2CANN/AP2*CAN_Client接收到代码78h的否定回应消息和开始回应消息之间客户端的扩展等待时间定时器重新载入值P2*CAN_Server_max+△P2CAN_rspN/AP2CAN_Server接收到请求消息和开始回应消息之间的服务器执行时间要求执行要求050m