【UDS实战指南】UDS传输层(ISO15765-2)标准解读

本文详细介绍了ISO15765-2标准中UDS传输层在CAN总线的应用,包括报文组成、通信服务项、服务流程以及参数设置,重点讲解了数据拆包、组包和多帧传输机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


**未完待续**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值