J1939Tp传输模式详解:BAM与CMDT操作与调度
需积分: 0 15 浏览量
更新于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 上传
2024-11-08 上传
阡陌安墨
- 粉丝: 294
- 资源: 2
最新资源
- Elasticsearch核心改进:实现Translog与索引线程分离
- 分享个人Vim与Git配置文件管理经验
- 文本动画新体验:textillate插件功能介绍
- Python图像处理库Pillow 2.5.2版本发布
- DeepClassifier:简化文本分类任务的深度学习库
- Java领域恩舒技术深度解析
- 渲染jquery-mentions的markdown-it-jquery-mention插件
- CompbuildREDUX:探索Minecraft的现实主义纹理包
- Nest框架的入门教程与部署指南
- Slack黑暗主题脚本教程:简易安装指南
- JavaScript开发进阶:探索develop-it-master项目
- SafeStbImageSharp:提升安全性与代码重构的图像处理库
- Python图像处理库Pillow 2.5.0版本发布
- mytest仓库功能测试与HTML实践
- MATLAB与Python对比分析——cw-09-jareod源代码探究
- KeyGenerator工具:自动化部署节点密钥生成