总目录:(单击下方链接皆可跳转至专栏总目录)
《UDS/OBD诊断需求编辑工具》总目录https://blog.csdn.net/qfmzhu/article/details/123697014
目录
1 $0x35 RequestUpload诊断服务描述
2 0x35服务请求消息
2.1 0x35服务请求消息定义
2.2 0x35服务请求消息子功能参数$ Level(LEV_)定义
2.3 0x35服务请求消息数据参数定义
3 0x35服务肯定响应消息
3.1 0x35服务肯定响应消息定义
3.2 0x35服务肯定响应消息数据参数定义
4 0x35服务支持的否定响应代码(NRC_)
5 示例:0x35 RequestUpload服务消息流
附录:H.1 addressAndLengthFormatIdentifier示例值
结尾
优质博文推荐阅读(单击下方链接,即可跳转):
点击返回「《Autosar从入门到精通-实战篇》总目录」
点击返回「《Autosar_BSW高阶配置》总目录」
点击返回《嵌入式硬件/软件开发刷写/烧录文件》专栏
RequestUpload(0x35) service请求上传服务
服务 | SID | 描述 |
RequestUpload 请求上传 | 0x35 | client请求协商从server到client的数据传输。 |
1 $0x35 RequestUpload诊断服务描述
RequestUpload服务由client使用,以启动从server到client的数据传输(上传)。
在server收到requestUpload请求消息后,server应采取所有必要的行动来发送数据,然后再发送一个positive response message肯定响应消息。
重要的是 - server和client应满足ISO 14229-1的7.5章节中规定的请求和响应消息行为。
2 0x35服务请求消息
2.1 0x35服务请求消息定义
表398 - 请求消息定义
A_Data byte | 参数名称 | Cvt | 字节值 | 助记符 |
#1 | RequestUpload Request SID 请求上传请求SID | M | 0x35 | RU |
#2 | dataFormatIdentifier 数据格式标识符 | M | 0x00 – 0xFF | DFI_ |
#3 | addressAndLengthFormatIdentifier 地址和长度格式标识符 | M | 0x00 – 0xFF | ALFID |
#4 : #(m-1)+4 | memoryAddress[] = [ byte#1 (MSB) : byte#m ] | M : C1 | 0x00 – 0xFF : 0x00 – 0xFF | MA_ B1 : Bm |
#n-(k-1) : #n | memorySize[] = [ byte#1 (MSB) : byte#k ] | M : C2 | 0x00 – 0xFF : 0x00 – 0xFF | MS_ B1 : Bk |
C1:该参数的存在取决于addressAndLengthFormatIdentifier的地址长度信息参数。 C2:该参数的存在取决于addressAndLengthFormatIdentifier的memory size长度信息。 |
2.2 0x35服务请求消息子功能参数$ Level(LEV_)定义
此服务不使用子功能参数。
2.3 0x35服务请求消息数据参数定义
定义 |
dataFormatIdentifier数据格式标识符 这个数据参数是一个字节的值,每个nibble单独编码。高位的nibble指定 " compressionMethod压缩方法",low nibble指定 " encryptingMethod加密方法"。值0x00指定既不使用compressionMethod也不使用encryptingMethod。除了0x00以外的值是由vehicle manufacturer汽车制造商决定的。 |
addressAndLengthFormatIdentifier地址和长度格式标识符 这个参数是一个字节的值,每个nibble单独编码(见H.1的示例值): 位7 - 4: memorySize参数的长度(字节数) 位3 - 0: memoryAddress参数的长度(字节数)。 |
memoryAddress内存地址 参数memoryAddress是server memory的起始地址,数据将从这里被检索出来。用于该地址的字节数由addressAndLengthFormatIdentifier的low nibble(bit 3 - 0)定义。memoryAddress参数中的Byte#m总是在server中被引用的地址中LSB(least significant byte)。地址中MSB(most significant byte)可以作为memory identifier使用。 一个使用memory identifier的例子是一个具有16位寻址和memory address重叠的双processor server。(当一个给定的地址对任何一个处理器都有效,但产生了不同的physical memory device或使用了内部和外部flash)。在这种情况下,memoryAddress参数中一个未使用的字节可以被指定为memory identifier,用于选择所需的memory device。该功能的使用应按照车辆制造商/系统供应商的规定。 |
memorySize内存大小 这个参数应被server用来比较memory size和TransferData服务期间传输的数据总量。这增加了programming编程的安全性。用于该大小的字节数由addressAndLengthFormatIdentifier的high nibble(bit 4)定义。如果使用了数据压缩,memory size是否代表压缩或未压缩的大小是由车辆制造商决定的。 |
3 0x35服务肯定响应消息
3.1 0x35服务肯定响应消息定义
表400 - 肯定响应消息定义
A_Data byte | 参数名称 | Cvt | 字节值 | 助记符 |
#1 | RequestUpload Response SID 请求上传响应SID | M | 0x75 | RUPR |
#2 | lengthFormatIdentifier | M | 0x00 – 0xF0 | LFID |
#3 : #n | maxNumberOfBlockLength = [ byte#1 (MSB) : byte#m ] | M : M | 0x00 – 0xFF : 0x00 – 0xFF | MNROB_ B1 : Bm |
3.2 0x35服务肯定响应消息数据参数定义
表396 - 响应消息数据参数定义
定义 |
lengthFormatIdentifier长度格式标识符 这个参数是一个字节的值,每个nibble单独编码: 位7-4:maxNumberOfBlockLength参数的长度(字节数)。 位3-0:由文件保留,要设置为'0'。 该参数的格式与请求信息中包含的addressAndLengthFormatIdentifier参数的格式兼容,只是lower nibble必须被设置为'0'。 |
maxNumberOfBlockLength最大块长度 这个参数被RequestUpload肯定响应消息用来通知client在server的每个TransferData肯定响应消息中包含多少数据字节。这个长度反映了完整的消息长度,包括TransferData肯定响应消息中的service identifier和data-parameter。这个参数允许client在server开始向client传输数据之前适应server的发送缓冲区大小。client需要接受长度与报告的maxNumberOfBlockLength相同的transferData响应。发送哪些长度小于maxNumberOfBlockLength的transferData响应(如果有的话)是由server决定的。 注意:一个给定block块中的最后一个transferData响应可能被要求小于maxNumberOfBlockLength。 |
4 0x35服务支持的否定响应代码(NRC_)
对于这项服务,应执行以下negative response code否定响应代码。表402中记录了每个响应代码会发生的情况。如果错误情况适用于服务器,应使用列出的negative response否定响应。
表402 - 支持的否定响应代码
NRC | 描述 | 助记符 |
0x13 | incorrectMessageLengthOrInvalidFormat消息长度不正确或格式无效 如果信息的长度有误,则应发送该NRC。 | IMLOIF |
0x22 | conditionsNotCorrect条件不正确 如果不符合requestUpload的标准,将返回这个NRC。如果server在requestUpload已经激活但尚未完成的情况下收到该服务的请求,就会发生这种情况。 | CNC |
0x31 | requestOutOfRange请求超出范围 如果出现以下情况,将返回这个NRC: 指定的dataFormatIdentifier是无效的。 指定的addressAndLengthFormatIdentifier是无效的。 指定的memoryAddress/memorySize是无效的。 | ROOR |
0x33 | securityAccessDenied安全访问被拒绝 如果在收到对该服务的请求时,server是安全的(对于支持SecurityAccess服务的server),应返回这个NRC。 | SAD |
0x70 | uploadDownloadNotAccepted上传下载不被接受 该NRC表明,由于某些故障条件,无法完成向server的memory下载的尝试。 | UDNA |
评价顺序记录在图27中。
Key
1)至少5个(SI+DFI_+ALFID+最小MA_+最小MS_)。
2)长度可以从addressAndLengthFormatIdentifier中计算出来。
图27 - NRC处理请求下载服务
5 示例:0x35 RequestUpload服务消息流
附录:H.1 addressAndLengthFormatIdentifier示例值
表 H.1 包含 addressAndLengthFormatIdentifier 的high和low nibble的值组合示例。需要考虑以下几点:
⎯对于“manageable memorySize”或“memoryAddress range”标记为“not applicable”的值,不允许使用,并且必须通过否定响应消息被server拒绝。
⎯此参数允许具有适用的“manageable memorySize”和“memoryAddress range”的值。
表H.1 - addressAndLengthFormatIdentifier示例
Byte Value | Description | |||
bit 7-4 (high nibble) number of memorySize bytes | bit 3-0 (low nibble) number of memoryAddress bytes | |||
bytes used for memorySize parameter | manageable size | bytes used for memoryAddress parameter | addressable memory | |
0x00 | not applicable | not applicable | not applicable | not applicable |
0x01 | not applicable | not applicable | 1 | 256 Byte - 1 |
0x02 | not applicable | not applicable | 2 | 64 KB - 1 |
0x03 | not applicable | not applicable | 3 | 16 MB - 1 |
0x04 | not applicable | not applicable | 4 | 4 GB - 1 |
0x05 | not applicable | not applicable | 5 | 1,024 GB - 1 |
0x06 – 0x0F | : | : | : | : |
0x10 | 1 | 256 Byte | not applicable | not applicable |
0x11 | 1 | 256 Byte | 1 | 256 Byte – 1 |
0x12 | 1 | 256 Byte | 2 | 64 KB – 1 |
0x13 | 1 | 256 Byte | 3 | 16 MB – 1 |
0x14 | 1 | 256 Byte | 4 | 4 GB – 1 |
0x15 | 1 | 256 Byte | 5 | 1,024 GB – 1 |
0x16 – 0x1F | : | : | : | : |
0x20 | 2 | 64 KB | not applicable | not applicable |
0x21 | 2 | 64 KB | 1 | 256 Byte – 1 |
0x22 | 2 | 64 KB | 2 | 64 KB – 1 |
0x23 | 2 | 64 KB | 3 | 16 MB – 1 |
0x24 | 2 | 64 KB | 4 | 4 GB – 1 |
0x25 | 2 | 64 KB | 5 | 1,024 GB – 1 |
0x26 – 0x2F | : | : | : | : |
0x30 | 3 | 16 MB | not applicable | not applicable |
0x31 | 3 | 16 MB | 1 | 256 Byte – 1 |
0x32 | 3 | 16 MB | 2 | 64 KB – 1 |
0x33 | 3 | 16 MB | 3 | 16 MB – 1 |
0x34 | 3 | 16 MB | 4 | 4 GB – 1 |
0x35 | 3 | 16 MB | 5 | 1,024 GB – 1 |
0x36 – 0x3F | : | : | : | : |
0x40 | 4 | 4 GB | not applicable | not applicable |
0x41 | 4 | 4 GB | 1 | 256 Byte – 1 |
0x42 | 4 | 4 GB | 2 | 64 KB – 1 |
0x43 | 4 | 4 GB | 3 | 16 MB – 1 |
0x44 | 4 | 4 GB | 4 | 4 GB – 1 |
0x45 | 4 | 4 GB | 5 | 1,024 GB - 1 |
0x46 -0xFF | : | : | : | : |
以上摘自《ISO 14229-1:2013》。
结尾
获取更多“汽车电子资讯”和“工具链使用”,
请关注CSDN博客“汽车电子助手”,做您的好助手。