【ISO14229

您所在的位置:网站首页 否定响应代码33 【ISO14229

【ISO14229

#【ISO14229| 来源: 网络整理| 查看: 265

总目录:(单击下方链接皆可跳转至专栏总目录)

《UDS/OBD诊断需求编辑工具》总目录icon-default.png?t=N4P3https://blog.csdn.net/qfmzhu/article/details/123697014

目录

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