【ISO14229 |
您所在的位置:网站首页 › 否定响应代码33 › 【ISO14229 |
总目录:(单击下方链接皆可跳转至专栏总目录) 《UDS/OBD诊断需求编辑工具》总目录 目录 1 $0x38 RequestFileTransfer诊断服务描述 2 0x38服务请求消息 2.1 0x38服务请求消息定义 2.2 0x38服务请求消息子功能参数$ Level(LEV_)定义 2.3 0x38服务请求消息数据参数定义 3 0x38服务肯定响应消息 3.1 0x38服务肯定响应消息定义 3.2 0x38服务肯定响应消息数据参数定义 4 0x38服务支持的否定响应代码(NRC_) 5 示例:0x38 RequestFileTransfer服务消息流 5.1 假设 5.2 请求文件传输 附录:G.1 modeOfOperation值的定义 结尾 优质博文推荐阅读(单击下方链接,即可跳转): 点击返回「《Autosar从入门到精通-实战篇》总目录」 点击返回「《Autosar_BSW高阶配置》总目录」 点击返回《嵌入式硬件/软件开发刷写/烧录文件》专栏 RequestFileTransfer(0x38) service请求文件传输服务 服务 SID 描述 RequestFileTransfer 请求文件传输 0x38 client要求在server和client之间进行文件传输的协商。 1 $0x38 RequestFileTransfer诊断服务描述requestFileTransfer服务被client用来启动从client到server或从server到client的文件数据传输(download下载或upload上传)。此外,该服务还具有检索文件系统信息的功能。 如果server实现了用于数据存储的文件系统,该服务旨在作为支持数据上传和下载功能的RequestDownload和RequestUpload服务的替代解决方案。当配置向文件系统下载或从文件系统上传的过程时,应使用RequestFileTransfer服务来代替RequestDownload或RequestUpload。实际的数据传输和数据传输的终止是通过使用与RequestDownload或RequestUpload服务一样的TransferData和RequestTransferExit来实现的。该服务还包括删除server文件系统上的文件或目录的功能。对于这种用例,TransferData和RequestTransferExit服务并不适用。 在server收到RequestFileTransfer请求消息后,server应采取所有必要的行动来接收或发送数据,然后再发送一个positive response message。 重要的是 - server和client应满足ISO 14229-1的7.5章节中规定的请求和响应消息行为。 2 0x38服务请求消息 2.1 0x38服务请求消息定义表433 - 请求消息定义 A_Data byte 参数名称 Cvt 字节值 助记符 #1 RequestFileTransfer Request SID 请求文件传输请求SID M 0x38 RFT #2 modeOfOperation 运行模式 M 0x01 – 0x05 MOOP #3 #4 filePathAndNameLength [ byte#1 (MSB) byte#2] (LSB) M M 0x00 – 0xFF 0x00 – 0xFF FPL_B1 FPL_B2 #5 : #5+n-1 filePathAndName = [ byte#1 (MSB) : byte#n ] M : C1 0x00 – 0xFF : 0x00 – 0xFF FP_B1 : FP_Bn #5+n dataFormatIdentifier 数据格式标识符 C2 0x00 – 0xFF DFI_ #5+n+1 fileSizeParameterLength 文件大小参数长度 C2 0x00 – 0xFF FSL #5+n+2 : #5+n+2+k-1 fileSizeUnCompressed= [ byte#1 (MSB) : byte#k ] C2 : C2,3 0x00 – 0xFF : 0x00 – 0xFF FSUC_B1 : FSUC_Bk #5+n+2+k : #5+n+1+2k fileSizeCompressed= [ byte#1 (MSB) : byte#k ] C2 : C2,3 0x00 – 0xFF : 0x00 – 0xFF FSC_B1 : FSC_Bk C1:该信息参数的长度(字节数)由filePathAndNameLength参数定义。 C2:这些参数的存在取决于modeOfOperation参数。 C3:这个消息参数的长度(字节数)由fileSizeParameterLength定义。 2.2 0x38服务请求消息子功能参数$ Level(LEV_)定义此服务不使用子功能参数。 2.3 0x38服务请求消息数据参数定义表434 - 请求消息数据参数定义 定义 modeOfOperation运行模式 该数据参数定义了应用于filePathAndName参数中所示文件或目录的运行类型。该数据参数的值在附件G中定义。 filePathAndNameLength文件路径和名称长度 定义参数filePath的长度(字节)。 filePathAndName文件路径和名称 定义server的文件系统位置,根据参数modeOfOperation参数,该文件应被添加、删除、替换或读取。此外,这个参数还包括作为文件路径一部分的应被添加、删除、替换或读取的文件的文件名。如果modeOfOperation参数等于0x05(ReadDir),这个参数表示要读取的目录。该参数的每个字节应以ASCII格式编码。 dataFormatIdentifier数据格式标识符 这个数据参数是一个字节的值,每个nibble单独编码。high nibble指定 " compressionMethod压缩方法",low nibble指定 " encryptingMethod加密方法"。值0x00指定既不使用compressionMethod也不使用encryptingMethod。除了0x00以外的值是车辆制造商特定的。如果modeOfOperation参数等于0x02(DeleteFile)和0x05(ReadDir),这个参数不应包括在请求信息中。 fileSizeParameterLength文件大小参数长度 定义了参数fileSizeUncompressed和fileSizeCompressed的字节长度。如果modeOfOperation参数等于0x02 (DeleteFile), 0x04 (ReadFile)或0x05 (ReadDir),这个参数将不包括在请求信息中。 fileSizeUncompressed文件大小未压缩 定义了未压缩文件的大小,单位是字节。 如果modeOfOperation参数等于0x02(DeleteFile)、0x04(ReadFile)或0x05(ReadDir),这个参数不应包括在请求信息中。 fileSizeCompressed文件大小压缩 以字节为单位定义压缩文件的大小。 如果传输的是一个未压缩的文件,这个参数的所有字节应被设置为参数fileSizeUncompressed中使用的大小信息。 如果modeOfOperation参数等于0x02(DeleteFile),0x04(ReadFile)或0x05(ReadDir),这个参数不应包括在请求信息中。 3 0x38服务肯定响应消息 3.1 0x38服务肯定响应消息定义表435 - 肯定响应消息定义 A_Data byte 参数名称 Cvt 字节值 助记符 #1 RequestFileTransfer Response SID 请求文件传输响应SID S 0x78 RRFT #2 modeOfOperation 运行模式 M 0x01 – 0x05 MOOP #3 lengthFormatIdentifier 长度格式标识符 C1 0x00 – 0xFF LFID #4 : #4+(m-1) maxNumberOfBlockLength = [ byte#1 (MSB) : byte#m ] C1,2 : C1,2 0x00 – 0xFF : 0x00 – 0xFF MNROB_ B1 : Bm #4+m dataFormatIdentifier C1 0x00 – 0xFF DFI_ #4+m+1 #4+m+2 fileSizeOrDirInfoParameterLength [ byte#1 (MSB) byte#2 (LSB)] C1 C1 0x00 – 0xFF 0x00 – 0xFF FSDIL_B1 FSDIL_B2 #4+m+3 : #4+m+3+k-1 fileSizeUncompressedOrDirInfoLength= [ byte#1 (MSB) : byte#k ] C1,3 : C1,3 0x00 – 0xFF : 0x00 – 0xFF FSUDIL_B1 : FSUDIL_Bk #4+m+3+k : #4+m+3+2k-1 fileSizeCompressed= [ byte#1 (MSB) : byte#k ] C1,3 : C1,3 0x00 – 0xFF : 0x00 – 0xFF FSC_B1 : FSC_Bk C1:这些参数的存在取决于modeOfOperation参数。 C2:该消息参数的长度(字节数)由fileSizeOrDirInfoParameterLength参数定义。 C3:这个消息参数的长度(字节数)由lengthFormatIdentifier参数定义。 3.2 0x38服务肯定响应消息数据参数定义表436 - 响应消息数据参数定义 Definition modeOfOperation运行模式 这个参数是对请求值的呼应。 lengthFormatIdentifier长度格式标识符 定义了maxNumberOfBlockLength参数的长度(字节数)。 如果modeOfOperation参数等于0x02(DeleteFile),这个参数将不包括在响应信息中。 maxNumberOfBlockLength最大块长度 这个参数被requestFileTransfer肯定响应消息使用,以通知client在来自client的每个TransferData请求消息中包括多少个数据字节(maxNumberOfBlockLength),或者在上传数据时,server将在TransferData肯定响应中包括多少个数据字节。这个长度反映了完整的消息长度,包括TransferData请求消息或肯定响应消息中存在的服务标识符和数据参数。这个参数允许client在开始向server传输数据之前适应server的接收缓冲区大小,或者表明在上传数据的情况下,每个TransferData肯定响应中会包含多少数据字节。一个server需要接受长度等于其报告的maxNumberOfBlockLength的transferData请求。接受长度小于maxNumberOfBlockLength的transferData请求(如果有的话)是由server决定的。 注意:在一个给定的数据块中的最后一个转移数据请求可能被要求小于maxNumberOfBlockLength。 server不允许写入不包含在transferData消息中的额外数据字节(即填充字节)(无论是以压缩或未压缩的格式),因为这将影响后续transferData请求数据写入的memory address。 如果modeOfOperation参数等于0x02(DeleteFile),这个参数将不包括在响应信息中。 dataFormatIdentifier数据格式标识符 这个参数是对请求值的呼应。 如果modeOfOperation参数等于0x02 (DeleteFile),这个参数不应包括在响应信息中。 如果modeOfOperation参数等于0x05(ReadDir),这个参数的值应等于0x00。 fileSizeOrDirInfoParameterLength文件大小或目录信息参数长度 定义了参数fileSizeUncompressedOrDirInfoLength和fileSizeCompressed的字节长度。 如果modeOfOperation参数等于0x01 (AddFile), 0x02 (DeleteFile)或0x03 (ReplaceFile),这个参数将不包括在响应信息中。 fileSizeUncompressedOrDirInfoLength文件大小未压缩或Dir信息长度 定义要上传的未压缩文件的大小或要读取的目录信息的长度(字节)。 如果modeOfOperation参数等于0x01 (AddFile), 0x02 (DeleteFile)或0x03 (ReplaceFile),这个参数将不包括在响应信息中。 fileSizeCompressed文件大小压缩 定义了压缩文件的大小,单位是字节。 如果modeOfOperation参数等于0x01 (AddFile), 0x02 (DeleteFile, 0x03 (ReplaceFile) )或0x05 (ReadDir),这个参数将不包括在响应信息中。 4 0x38服务支持的否定响应代码(NRC_)对于这项服务,应执行以下negative response code否定响应代码。表437中记录了每个响应代码会发生的情况。如果错误情况适用于server,应使用列出的negative response否定响应。 表397 - 支持的否定响应代码 NRC 描述 助记符 0x13 incorrectMessageLengthOrInvalidFormat消息长度不正确或格式无效 如果信息的长度有误,则应发送该NRC。 IMLOIF 0x22 conditionsNotCorrect条件不正确 如果server在下载或上传数据的过程中收到对该服务的请求,或者不满足能够执行该服务的其他条件,则应返回该NRC。 CNC 0x31 requestOutOfRange请求超出范围 如果出现以下情况,则应返回该NRC: - 指定的dataFormatIdentifier无效 - 指定的modeOfOperation无效 - 指定的fileSizeParameterLength无效 - 指定的filePathAndNameLength无效 - 指定的fileSizeUncompressed不是有效的。 - 指定的fileSizeCompressed无效 - 指定的filePathAndName无效。 ROOR 0x33 securityAccessDenied安全访问被拒绝 如果在收到对该服务的请求时,server是安全的(对于支持SecurityAccess服务的server),应返回这个NRC。 SAD 0x70 uploadDownloadNotAccepted上传下载不被接受 该NRC表明,由于某些故障条件,无法完成向server内存下载的尝试。 UDNA 评价顺序记录在图30中。 Key 1)最小长度:5字节(SI + MOOP + FPL_B1 + FPL_B2 + FP_B1)。 2)消息参数的有效性检查取决于modeOfOperation参数。 3)最大长度可以通过fileSizeParamterLength和filePathAndNameLength来计算。 图30 - NRC处理请求下载服务 5 示例:0x38 RequestFileTransfer服务消息流 5.1 假设本章节规定了适用于此消息流示例的条件。 注意:本示例仅限于描述requestFileTransfer请求和requestFileTransfer肯定响应。在这种情况下,transferData和requestTransferExit的用法与这些服务在requestDownload或requestUpload中的用法相同,因此描述下载/上传序列的例子也适用。 表438 - 定义RequestFileTransfer消息的参数值 数据参数名称 数据参数值 数据参数说明 modeOfOperation 运行模式 0x01 AddFile filePathAndNameLength 文件路径和名称长度 0x001E 参数文件filePathAndName的长度为30。 filePathAndName 文件路径和名称 "D:\mapdata\europe\germany1.yxz" 路径包括文件名。 dataFormatIdentifier 数据格式标识符 0x11 compressionMethod = 0x1X; encryptingMethod = 0xX1 fileSizeParameterLength 文件大小参数长度 0x02 两个文件大小参数的长度为2个字节。 fileSizeUncompressed 文件大小未压缩 0xC350 50 KByte fileSizeCompressed 文件大小压缩 0x7530 30 KByte 5.2 请求文件传输表439和表440显示了RequestFileTransfer请求和响应信息流的一个例子。 表439 - RequestFileTransfer请求消息示例 Message direction消息方向 Server —> Client Message Type消息类型 Response响应 A_Data byte 描述(所有值均为十六进制) 字节值 助记符 #1 RequestFileTransfer Request SID 请求文件传输请求SID 0x38 RFT #2 modeOfOperation 运行模式 0x01 MOOP #3 #4 filePathAndNameLength [ byte#1 (MSB) byte#2] (LSB) 0x00 0x1E FPL_B1 FPL_B2 #5 #6 #7 #8 #9 #10 #11 #12 #13 #14 #15 #16 #17 #18 #19 #20 #21 #22 #23 #24 #25 #26 #27 #28 #29 #30 #31 #32 #33 #34 filePathAndName = [ byte#1 (MSB) byte#2 byte#3 byte#4 byte#5 byte#6 byte#7 byte#8 byte#9 byte#10 byte#11 byte#12 byte#13 byte#14 byte#15 byte#16 byte#17 byte#18 byte#19 byte#20 byte#21 byte#22 byte#23 byte#24 byte#25 byte#26 byte#27 byte#28 byte#29 byte#30] 0x44 0x3A 0x5C 0x6D 0x61 0x70 0x64 0x61 0x74 0x61 0x5C 0x65 0x75 0x72 0x6F 0x70 0x65 0x5C 0x67 0x65 0x72 0x6D 0x61 0x6E 0x79 0x31 0x2E 0x79 0x78 0x7A FP_B1 FP_B2 FP_B3 FP_B4 FP_B5 FP_B6 FP_B7 FP_B8 FP_B9 FP_B10 FP_B11 FP_B12 FP_B13 FP_B14 FP_B15 FP_B16 FP_B17 FP_B18 FP_B19 FP_B20 FP_B21 FP_B22 FP_B23 FP_B24 FP_B25 FP_B26 FP_B27 FP_B28 FP_B29 FP_B30 #35 dataFormatIdentifier 数据格式标识符 0x11 DFI_ #36 fileSizeParameterLength 文件大小参数长度 0x02 FSL #37 #38 fileSizeUnCompressed= [ byte#1 (MSB) byte#2 ] 0xC3 0x50 FSUC_B1 FSUC_Bk #39 #40 fileSizeCompressed= [ byte#1 (MSB) byte#2 ] 0x75 0x30 FSC_B1 FSC_Bk 表440 – RequestFileTransfer肯定响应请求消息示例 Message direction消息方向 Server —> Client Message Type消息类型 Response响应 A_Data byte 描述(所有值均为十六进制) 字节值 助记符 #1 RequestFileTransfer Response SID 请求文件传输响应SID 0x78 RRFT #2 modeOfOperation 运行模式 0x01 MOOP #3 lengthFormatIdentifier 长度格式标识符 0x02 LFID #4 #5 maxNumberOfBlockLength = [ byte#1 (MSB) byte#m ] 0xC3 0x50 MNROB_ B1 B2 #6 dataFormatIdentifier 数据格式标识符 0x11 DFI_ 附录:G.1 modeOfOperation值的定义RequestFileTransfer 请求消息包含 modeOfOperation 参数。 这些值在表 G.1 中定义。 表G.1 - modeOfOperation值的定义 Byte Value Description Cvt Mnemonic 0x00 ISO/SAE reserved 该值由本文档保留以供将来定义。 M ISOSAERESRVD 0x01 AddFile 这个值应被用来添加在filePathAndName参数中定义的文件(download下载)。 U ADDFILE 0x02 DeleteFile 这个值应被用来删除参数filePathAndName中定义的文件。 U DELFILE 0x03 ReplaceFile 这个值应被用来替换filePathAndName参数中定义的文件(download下载)。如果该文件没有存储在该位置,该文件应被添加。 U REPLFILE 0x04 ReadFile 这个值应被用来读取文件(upload上传),其位置由filePathAndName参数定义。 U RDFILE 0x05 ReadDir 这个值应被用来读取filePathAndName参数中定义的目录。这个值意味着该请求不包括fileName。 U RDDIR 0x06 - 0xFF ISO/SAE reserved 该值由本文档保留以供将来定义。 M ISOSAERESRVD 以上摘自《ISO 14229-1:2013》。 结尾获取更多“汽车电子资讯”和“工具链使用”, 请关注CSDN博客“汽车电子助手”,做您的好助手。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |