1、作用:客户端利用传输数据服务从客户端向服务器或从服务器向客户端传输 数据。
2、请求消息定义
A_Data byte | Parameter name | Cvt | Hex value | Mnemonic |
#1 | TransferData Request SID | M | 0x36 | TD |
#2 | blockSequenceCounter | M | 00-FF | BSC |
#3 : #n | transferRequestParameterRecord[] = [ transferRequestParameter#1 : transferRequestParameter#m ] | M | 0x00 – 0xFF : 0x00 – 0xFF | TRPR_ TRTP_ : TRTP_ |
C = Conditional: this parameter is mandatory if a download is in progress. |
Definition | ||||
blockSequenceCounter blockSequenceCounter参数从0x01开始,第一个传输数据请求在0x34或0x35之后,传输数据请求每增加一次,这个参数值就会加1.当参数值增加到FF时,接下来又从0x01开始。 -如果传输数据请其与下载/上传数据没有被服务器正确的接收,然后服务器不会返回肯定响应。客户端将认为应用层超时并会重复请求。这样服务器会重复接收传输数据请求并根据计入块序列计数器确定该请求位新传输数据请求。然后服务器会处理服务并发送肯定响应。 | ||||
transferRequestParameterRecord 此参数包括了服务器需求的并且支持的数据参数。数据的长度和格式由主机厂定义。 |
3、肯定消息响应
A_Data byte | Parameter name | Cvt | Hex value | Mnemonic |
#1 | RequestUpload Response SID | M | 0x36 | TD |
#2 | blockSequenceCounter | M | 00-FF | BSC |
#3 | transferRequestParameterRecord[] = [ transferRequestParameter#1 : transferRequestParameter#m ] | C : U | 0x00 – 0xFF : 0x00 – 0xFF | TRPR_ TRTP_ : TRTP_ |
Definition |
blockSequenceCounter 同上 |
transferResponseParameterRecord(传输响应参数记录) 此参数应该包括客户端要求的且支持的数据,参数的长度和格式由主机厂定义。 示例:下载时,传输响应参数记录可以包括服务器计算校验值。上传,传输参数记录包括上传的数据。下载时,传输数据参数不应该重复传输请求参数记录。 |
4、否定消息响应定义
NRC | 说明 | Mnemonic |
0x13 | incorrectMessageLengthOrInvalidFormat 长度错误 | IMLOIF |
0x24 | requestSequenceError RSE(请求序列错误) | RSE |
0x31 | requestOutOfRange This NRC shall be returned if: ⎯ The transferRequestParameterRecord contains additional control parameters (e.g. additional address information) and this control information is invalid. ⎯ The transferRequestParameterRecord is not consistent with the requestDownload or requestUpload service parameter maxNumberOfBlockLength. ⎯ The transferRequestParameterRecord is not consistent with the server’s memory alignment constraints. | ROOR |
0x71 | transferDataSuspended This NRC shall be returned if the download module length does not meet the requirements of the memorySize parameter sent in the request message of the requestDownload service. | TDS |
0x72 | generalProgrammingFailure This NRC shall be returned if the server detects an error when erasing or programming a memory location in the permanent memory device (e.g. Flash Memory) during the download of data. | GPF |
0x73 | wrongBlockSequenceCounter This NRC shall be returned if the server detects an error in the sequence of the blockSequenceCounter. NOTE The repetition of a TransferData request message with a blockSequenceCounter equal to the one included in the previous TransferData request message shall be accepted by the server. | WBSC |
0x92 / 0x93 | voltageTooHigh / voltageTooLow This return code shall be sent as applicable if the voltage measured at the primary power pin of the server is out of the acceptable range for downloading data into the server’s permanent memory (e.g. Flash Memory). | VTH / VTL |