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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Allure–自动化测试报告生成

    Allure–自动化测试报告生成之前尝试使用过testNG自带的测试报告、优化过reportNG的测试报告,对这两个报告都不能满意。后经查找资料,发现有个神器:Allure(已经有allure2了,笔者使用的就是allure2),

    2022年7月2日
    26
  • 10个最新手机美食APP界面设计欣赏

    10个最新手机美食APP界面设计欣赏移动软件时代,简单下载美食app,动动手指,滑动几下手机屏幕,即可足不出户,搜索,预定和购买各路美食。然而,对于作为手机appUI界面设计师的你来说,最大的问题并不在于如何使用这些美食软件来方便生活,而是在于如何才能为各类餐厅,酒店,咖啡馆,水果以及饮料店设计出美观,舒适且简单易用的手机美食App,对吧?但是,已然为正在做的美食AppUI设计方案冥思苦想数小时或数天,却任然毫无头绪?究竟如何

    2022年6月19日
    77
  • this指针的原理

    this指针的原理讲解this指针的原理是个很复杂的问题,如果我们从javascript里this的实现机制来说明this,很多朋友可能会越来越糊涂,因此本篇打算换一个思路从应用的角度来讲解this指针,从这个角度理解this指针更加有现实意义。  下面我们看看在java语言里是如何使用this指针的,代码如下:复制代码publicclassPerson{privateStringname;priva

    2022年5月17日
    51
  • navicat v15.0.23.0激活码【2021.8最新】「建议收藏」

    (navicat v15.0.23.0激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~Z9LZO4ZKWA-eyJsaWNlbnNlSWQiOi…

    2022年3月22日
    109
  • Ubuntu 64位 16.04 Minnet安装及测试,可视化工具调试,抓包工具wireshark安装及测试

    Ubuntu 64位 16.04 Minnet安装及测试,可视化工具调试,抓包工具wireshark安装及测试

    2021年10月6日
    65
  • Python数据处理案例

    Python数据处理案例关于数据处理案例有两个 第一个案例是我整理到有道云上的 就直接剪切下来了 下面直接进入正题 案例 1 快餐数据案例 2 欧洲杯数据先进行数据探索 data info data describe 查看数据集是否有缺失值且哪个字段存在缺失值 可以用下面的代码 也可以用前面案例 1 缺失值那里提到的前两种方法 foriinrange d

    2025年6月23日
    2

发表回复

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

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