UDS传输层(ISO15765-2)标准解读
简介
ISO15765-2主要介绍UDS传输层在CAN总线的具体实施。完成应用层最多需要传输4096个数据,所以传输层主要用于数据的拆包和组包。
CAN 报文组成
传输层服务
通信服务项
具体服务
N_USData.request
: 用于高层请求网络层传输数据,必要时需要拆包数据。
N_USData.request
{
Mtype,
N_SA,
N_TA,
N_TAtype,
[N_AE],
<MessageData>,
<Length>,
}
N_USData_FF.indication
: 用于通知高层已接收到拆包数据中的首帧并检查首帧中的报文数据长度是否有能力接收。
N_USData_FF.indication
{
Mtype,
N_SA,
N_TA,
N_TAtype,
[N_AE],
<Length>,
}
N_USData.indication
: 用于通知高层数据接收完必,只有当N_Result = N_OK时,报文数据和长度才有效。
N_USData_FF.indication
{
Mtype,
N_SA,
N_TA,
N_TAtype,
[N_AE],
<MessageData>,
<Length>,
<N_Result>
}
N_USData.confirm
: 用于向高层确认服务执行情况。
N_USData.confirm
{
Mtype,
N_SA,
N_TA,
N_TAtype,
[N_AE],
<N_Result>
}
参数解释
参数设置服务项
以下参数设置服务均需要支持动态修改。
N_ChangeParameter.request
: 用于高层请求动态修改参数。
N_ChangeParameter.confirm
: 用于向高层修改参数服务项执行情况。
传输层行为
传输单帧数据
@startuml test
skin rose
Sender->Receiver : SingleFrame(SF)
@enduml
传输多帧
@startuml
skin rose
Sender -> Receiver : FirstFrame(FF)
Receiver -> Sender : FlowControlFrame(FC)
Sender -> Receiver : ConsecutiveFrame(CF)
Sender -> Receiver : ConsecutiveFrame(CF)
Sender -> Receiver : ConsecutiveFrame(CF)
Sender -> Receiver : ConsecutiveFrame(CF)
Receiver -> Sender : FlowControlFrame(FC)
Sender -> Receiver : ConsecutiveFrame(CF)
Sender -> Receiver : ConsecutiveFrame(CF)
@enduml
ntrolFrame(FC)
Sender -> Receiver : ConsecutiveFrame(CF)
Sender -> Receiver : ConsecutiveFrame(CF)
@enduml
**未完待续**