AUTOSAR J1939Tp 传输方式详解

本文详细介绍了AUTOSAR中J1939Tp的传输方式,包括直接传输模式、点对点传输模式(CMDT)、广播发送模式(BAM)及其相关流程,如接收和发送过程、重试处理、错误处理和缓冲区管理。J1939Tp在处理超过8byte的PGNs时发挥作用,支持BAM和CMDT模式以确保数据的完整传输。
摘要由CSDN通过智能技术生成

1. Overview

J1939Tp在autosar中的位置如下:

0e01e5f5b1864444a2d438ceef73f023.png

1939Tp的目的是重新分解和组装超过8 byte的PGNs (N-SDUs),发送和接收过程如下所示。只要PDU最大字节数配置超过8byte, 但是运行过程中没有超过8byte, 同样会通过J1939传输。1939Tp应该支持两种传输模式, 即BAM(广播模式)和CMDT(点对点传输模式)。

3951de7077154396a3eba73d14d9eb8b.png

2. Initialization and Shutdown

c1e3927a24af4230905831dc9897244d.png

如果development error detection (DET) 使能,除了J1939Tp_GetVersionInfo,其他函数在J1939Tp_Init()之前调度将报错(J1939TP_E_UNINIT)。

3. Sequence

3.1 直接传输模式(Direct PG)

3.1.1 Direct PG DATA Flow

当数据长度小于8byte,采用直接发送方式

e21a5faf534640d686481e697dabfd6c.png

3.1.2 PG报文接收过程

PDUR、J1939Tp、CanIf之间的函数调度关系如下图:

086b92d08d7b4e51ac37599c1c91225c.png

3.1.3 PG报文发送过程

PDUR、J1939Tp、CanIf之间的函数调度关系如下图:

252843f5ff3d4e38a86c006cb6435ac1.png

3.2 点对点传输模式(CMDT)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值