J1939Tp传输模式详解:BAM与CMDT操作与调度
需积分: 0 102 浏览量
更新于2024-08-04
收藏 645KB PDF 举报
本文主要探讨了AUTOSAR J1939Tp的传输方式,这是一个针对车辆网络通信协议的补充模块,旨在处理超过8字节的Packet Data Units (PDUs,N-SDUs)的重组和拆分。J1939Tp在AUTOSAR架构中扮演着关键角色,支持两种传输模式:BAM(广播模式)和CMDT(点对点传输模式),这两种模式在实际应用中有不同的功能和性能要求。
首先,文章概述了J1939Tp的基本概念和工作原理。当系统配置允许且实际传输数据未超过8字节时,J1939Tp将负责处理这些大PDU的传输。初始化和关闭阶段有严格的顺序,特别是当DET(Development Error Detection)启用时,确保J1939Tp_Init()函数之前的所有操作必须成功执行,否则会导致错误。
在数据传输方面,分为两种模式:
1. **直接传输模式(DirectPG)**:适用于数据长度小于8字节的情况。其数据流包括PDUR、J1939Tp和CANIF之间的函数调用顺序,确保数据的准确发送和接收。中断机制用于实时通知J1939Tp接收新的报文,如通过J1939Tp_RxIndication函数。接收报文后,J1939Tp可能通过PduR_J1939TpCopyTxData或PduR_J1939TpCopyRxData与上层协议栈进行数据交换,这时上层buffer需要保持锁定以保证数据连续性。
2. **点对点传输模式(CMDT)**:对于超过8字节的PDUs,采用点对点传输,J1939Tp需要严格遵循CMDT相关的时序约束,如Tr、Th、T1至T4等,确保数据的正确传输。报文接收过程中,同样涉及PDUR、J1939Tp和CANIF之间的协作,接收指示信号TP.CM_RTS后,上层会通过PduR_J1939TpStartOfReception获取接收缓冲区,并可能进行数据复制操作。
本文提供了一个深入理解J1939Tp工作流程和功能细节的框架,对于从事AUTOSAR开发的工程师来说,无论是设计车辆网络通信模块还是优化数据传输性能,都是非常有价值的参考资料。了解并掌握这些传输模式的细节是提升系统效率和可靠性的关键。
2020-02-23 上传
2023-07-03 上传
2023-08-19 上传
2020-02-23 上传
2020-02-23 上传
点击了解资源详情
点击了解资源详情
阡陌安墨
- 粉丝: 295
- 资源: 2
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍