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提供了以下功能  : 

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

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java mediatype属性_SpringMVC 及常用MediaType

    java mediatype属性_SpringMVC 及常用MediaTypeSpringMVC简介在WEB开发中,SpringMVC实现了较为经典的MVC(Model,View,Controller)模式,组成:1.Model层(模型层):管理App中每个功能模块所用到的值和数据.(实体类entity).2.View层(视图层):将模型层的数据展示给用户.(页面jsp,html,thymeleaf等..)3.Controller层(控制层/控制器):管理页面跳转…

    2022年5月9日
  • javaweb-青橙项目-2-77

    javaweb-青橙项目-2-77

    2021年5月18日
  • 一个概括性关于维数约简的论文[通俗易懂]

    一个概括性关于维数约简的论文[通俗易懂]
    http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.1327&rep=rep1&type=pdf

    2022年6月1日
  • jasypt库的使用[通俗易懂]

    jasypt库的使用[通俗易懂]jasypt库的使用1.简介Jasypt是一个Java简易加密库,用于加密配置文件中的敏感信息,如数据库密码。jasypt库与springboot集成,在实际开发中非常方便。2.添加依赖jasypt开发者开发了starter,添加jasypt-spring-boot-starter依赖就可以了。该库中有使用到slf4j依赖,若单独测试,需添加相应依赖,或直接添加spring-boot-st…

    2022年9月26日
  • python基础之五大标准数据类型

    python基础之五大标准数据类型学习一门语言,往往都是从HelloWorld开始。但是笔者认为,在一个黑框框中输出一个“你好,世界”并没有什么了不起,要看透事物的本质,熟悉一门语言,就要了解其底层,就是我们常常说的基础。本篇从p

    2022年7月5日
  • Zigbee协议栈中文说明

    Zigbee协议栈中文说明1.概述 1.1解析ZigBee堆栈架构ZigBee堆栈是在IEEE802.15.4标准基础上建立的,定义了协议的MAC和PHY层。ZigBee设备应该包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。图1-1给出了这些组件的概况。1.1.1ZigBee堆栈层每个Z

    2022年5月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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