J1939CANTP

J1939CANTPSAEJ1939在卡车领域得到了广泛的认可,由多个文档组成,描述了从物理层到诊断层以及应用层的通信协议层。SAEJ1939-21描述了数据链路和传输层,包括两种传输协议变体:用于广播消息的BAM(广播宣布消息),以及CMDT(连接模式数据传输)用于点对点连接。该规范定义了SAEJ1939-21的传输协议如何在AUTOSAR体系结构中实现。它只描述了与AUTOSAR体系结构相关的实现部分。协议特定的细节,如精确的计时,不属于本规范的一部分。因此,为了能够实现J1939…

大家好,又见面了,我是你们的朋友全栈君。

J1939CANTP

 SAE J1939在卡车领域得到了广泛的认可,由多个文档组成,描述了从物理层到诊断层以及应用层的通信协议层。 SAE J1939-21描述了数据链路和传输层,包括两种传输协议变体:  
用于广播消息的BAM(广播宣布消息),以及  
CMDT(连接模式数据传输)用于点对点连接。

J1939CANTP

 该规范定义了SAE J1939-21的传输协议如何在AUTOSAR体系结构中实现。 它只描述了与AUTOSAR体系结构相关的实现部分。 协议特定的细节,如精确的计时,不属于本规范的一部分。 因此,为了能够实现J1939传输层模块,本规范的读者必须能够访问原始的SAE J1939-21规范文档。  

J1939CANTP

 看图可知该路径为:CANIf-J1939TP-PDUR-Com、CANIf-CANTP-PDUR-DCMJ1939CANTP

 J1939Tp的目的是分割和重组大于8字节的j1939pgn (n – sdu)。 分段报文通过CAN接口发送和接收。 

J1939CANTP

 PDU-Router (PduR)将AUTOSAR COM和DCM i – pdu部署到不同的通信协议上(例如CAN或J1939,通过传输层分段或=直接)。 运行时,pdu根据I-PDU (L-SDU或N-SDU)标识来决定I-PDU路由到哪里。 同样,CanIf使用L-SDU (I-PDU或n – pdu)标识来决定接收到的消息是否必须由一个可用的传输层模块处理,或者可以直接转发给pdu。

J1939Tp支持8字节以上的固定大小和可变大小的i – pdu (n – sdu)。不超过8字节的i – pdu在PduR和CanIf之间直接交换。  

 J1939CANTP

固定大小的n – sdu总是被J1939Tp分段,而可变大小的n – sdu只在超过8字节时进行分段。 J1939Tp直接将实际大小小于等于8bytes,且配置的最大大小大于8bytes的可变大小n – spdu转发给CanIf。 传输协议的变体(BAM或CMDT),在接收较大的N-SDU时,根据接收到的n – pdu进行选择;在发送较大的N-SDU时,根据配置和实际DA进行选择。  

J1939Tp支持处理可变SA、DA和优先级的n – pdu和n – sdu。 在这种情况下,n – pdu和n – sdu中会包含部分CAN ID的元数据(附着在负载上)。  

J1939CANTP

总之,J1939Tp提供了以下功能  : 

数据在传输方向上的分割和直接传输  
按接收方向重新组合和直接接收数据  
数据流控制  
超时监督  
在分割或重组期间检测错误  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135632.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号