当前位置: 首页 > article >正文

AUTOSAT-PDUR模块

PDUR

文章目录

  • PDUR
  • 一. PDUR 简介
  • 二. PDUR 规范
  • 三 . 协议数据
    • 3.1 PDU 构成
    • 3.2 PDU 类型

一. PDUR 简介

  • PDUR 示意图

在这里插入图片描述

  • PduR提供路I-PDU(Interaction LayerE Protocol Data Units)的路由服务。

  • PduR基于静态定义的I-PDU标识符来执行I-PDU的路由,在运行期间没有I-PDU被动态路由,即PduR的路由表是静态配置,配置完成后在运行时不支持更改。

  • PduR模块主要有两部分组成:

    • PduR路由路径:静态路由路径,描述的是每个被路由I-PDU的路由属性。

    • PduR引擎:根据PduR路由路径执行路由功能的代码,PduR引擎要处理。

      • 将I-PDU从Source路由到Destination;

      • 将Source的I-PDU的ID转换为Destination的I-PDU的ID(如:PduR_ComTransmit()到Canlf_Transmit(),PduR_CanlfTxConfirmation()到 Com_TxConfirmation());

二. PDUR 规范

  • 一些名词概念

    • Upper Layer Modulses(Up): PDU Router之上的模块。通常指是COM和DCM模块。
    • Lower Layer Modulse(Lo): PDU Router之下的模块。包括CanIf, LinIf, FlexRayIf, EthIf以及这几个模块对应的TP传输层模块。
    • PDU Router: PDUR模块将I-PDUs从一个模块传输到另一个模块。
  • PDUR模块在AUTOSAR架构中属于通信服务模块。PDU路由模块使用以下模块类型为I-PDU(交互协议数据单元)的路由提供服务。

​ (1)通讯接口模块,即使用Provider:Up或Provider:LoAPI的模块,如Com, IpduM, LinIf, CanIf, CanNm, Frlf, FrNm

​ (2)传输协议模块,即使用Provider:Up或Provider:LoAPI的模块,如j1939Tp, LinTp(part of LinIf), CanTp, FrTp, COM, DCM

  • PDU路由器模块依赖于使用的通信硬件抽象层模块和使用的通信服务层模块的API和能力。PDU Router模块基本需要的API功能有:

    • 通信接口模块:

      Transmit (e.g. CanIf_Transmit, FrIf_Transmit, LinIf_Transmit)

      ​ __CancelTransmit (e.g. CanIf_CancelTransmit, FrIf_CancelTransmit,LinIf_CancelTransmi)

    • 传输层模块:

      ​ _Transmit (e.g. CanTp_Transmit, FrTp_Transmit, LinTp_Transmit)

      ​ _CancelTransmit(e.g.CanTp_CancelTransmit,FrTp_CancelTransmit,LinTp_CancelTransmit)

      ​ _CancelReceive(e.g.CanTp_CancelReceive,FrTp_CancelReceive,LinTp_CancelReceive)

    • 使用TP传输层的上层模块:

      ​ · _StartOfReception (e.g. Dcm_StartOfReception)

      ​ · _CopyRxData (e.g. Dcm_CopyRxData)

      ​ · _CopyTxData (e.g. Dcm_CopyTxData)

      ​ · _TpRxIndication (e.g. Dcm_TpRxIndication)

      ​ · _TpTxConfirmation (e.g. Dcm_TpTxConfirmation)

    • 处理通信接口模块产生的I-PDU的上层模块:

      ​ · _RxIndication (e.g. Com_RxIndication),

      ​ · _TxConfirmation (e.g. Com_TxConfirmation),

      ​ · _TriggerTransmit (e.g. Com_TriggerTransmit)

  • I-PDU handling

    PDU Router模块不修改I-PDU,以一致的方式从源模块发送到目的模块。

    I-PDU ID Example :

在这里插入图片描述

三 . 协议数据

3.1 PDU 构成

  • PCI : Protocol Control Information
  • SDU: Service Data Unit (data Structure)
  • PDU : Protocol Data Unit

PDU = PCI + SDU

PCI 可以理解为头部信息,如 CanTp,在发送数据的时候,会添加 SF,CF,FF,FC信息等;data Structure 就是要发送的信息,用一个结构体表示,会有数据存储起始位置(指针),数据长度。

3.2 PDU 类型

  • L-PDU :对应链路层的PDU,一般来说,我们称接口层为链路层,如CanIf。
  • N-PDU: 网络层对应的PDU,一般来说。我们称传输层(xx_Tp)为网络层,如 Can_Tp
  • I-PDU:交互层(表示层)对应的PDU.

在这里插入图片描述

  • XX_If以上模块信息交互依赖I-PDU,注意:XX_If 和 XX_Tp模块的交互依赖N-PDU,一般来说,小数据传输时。用XX_If;大数据传输时,用XX_Tp。所以,在诊断的多帧传输时,XX_Tp层会将多个N-PDU缓存,直到一个完整的I-PDU接受完,之后通过PduR送给DCM. 即: I-PDU = n * N-PDU (n > 1)

参考文档 :

Specification of PDU Router

ication of PDU Router](https://www.autosar.org/fileadmin/standards/R23-11/CP/AUTOSAR_CP_SWS_PDURouter.pdf)

AUTOSAR通信篇-CAN网络通信(三:PduR)_autosar pdur-CSDN博客


http://www.kler.cn/a/372089.html

相关文章:

  • echarts实现 水库高程模拟图表
  • 【HTML】——VS Code 基本使用入门和常见操作,新手小白也能看懂
  • 使用Fiddler Classic抓包工具批量下载音频资料
  • Android -- 调用系统相册之图片裁剪保存
  • GIT分布式版本控制系统基础操作
  • rtp协议:rtcp包格式和传输间隔
  • 【Linux】 su 和 sudo 的区别剖析
  • B计划在哪里?下一个10年我在哪里?
  • 基于uniapp微信小程序的餐厅预约点餐系统
  • NORDIC NPM1300是一款高度集成的电源管理集成电路
  • 封闭空间防碰撞无人机技术详解
  • ROC 曲线:医学研究中的得力助手
  • 操作系统学习笔记-2.3哲学家和管程问题
  • MaxKB: 一款基于大语言模型的知识库问答系统
  • WPF拖拽交互全攻略及实现自定义拖拽控件及数据交换技巧解析
  • 【SSM详细教程】-15-Spring Restful风格【无敌详细】
  • OpenCV基本操作(python开发)——(7)实现图像校正
  • ios 快捷指令扩展(Intents Extension)简单使用 swift语言
  • 北航软件工程考研难度分析!
  • 依托微信小程序,畅享校园二手交易
  • 面试宝典(五):用三个线程按顺序循环打印123三个数字,比如123123123
  • 推荐一款优秀的pdf编辑器:Ashampoo PDF Pro
  • Mac OS 搭建MySQL开发环境
  • [蓝桥杯 2015 省 A] 饮料换购
  • java装饰器设计模式
  • 【测试平台】打包 jenkins配置和jenkinsfile文件