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

[AutoSar]BSW_Com02 PDU详解

目录

  • 关键词
  • 平台说明
  • 缩写对照表
  • 一、PDU的定义和分类
    • 1.1定义
    • 1.2 分类
  • 缩写对照表 1

  

关键词

嵌入式、C语言、autosar、OS、BSW

平台说明

项目Value
OSautosar OS
autosar厂商vector ,
芯片厂商TI 英飞凌
编程语言C,C++
编译器HighTec (GCC)

在这里插入图片描述
>>>>>回到总目录<<<<<<

缩写对照表

见文末

一、PDU的定义和分类

1.1定义

PDU (Protocol Data Unit),包含SDU和PCI。在传输端,PDU从上层传递到下层,下层将PDU解释为SDU。
SDU(Service Data Unit),它是由上层传递的数据,带有传输数据的请求。它也是由下层接收后提取的数据传递给上层的数据。
PCI (Protocol Control Information),将SDU从特定协议层的一个实例传递到另一个实例时需要此信息。例如,它包含源和目标信息。PCI在传输端由协议层添加,在接收端再次移除。
  讲人话,如下图所示:PDU = SDU+PCI。PCI 包含了当前层信息和目标层信息。在Can driver 中生成 PCI 和 数据结构(L-PDU),在Can if 中抽象隔离为N-PDU 然后CAN TP中组合成I-PDU。最终在PDU router 中根据PCI信息解析得到目标地址传给COM,在COM中对SDU进行解析将数据传到RTE–>应用层。

在这里插入图片描述
在这里插入图片描述

1.2 分类

数据链路层: L-PDU(Interaction Layer Protocol Data Unit)
  在COM中打包或者拆包SDU。在外部通信的情况下,交互层将一个或多个信号打包到指定的i - pdu中,并将它们传递给底层,以便在网络中的节点之间传输。
网络层(TP层): N-PDU(Network Layer Protocol Data Unit)
  在CAN TP 中打包或者拆包。TP模块的主要目的是分割和重新组装不适合指定N- pdu的I - pdu。实现N-PDU与 I-PDU的转换。
交互层: I-PDU(Data Link Layer Protocol Data Unit)
  在ECU抽象层(CanIf)中实现打包或者拆包。将SUD和PCI 组装或者拆包。

在这里插入图片描述

缩写对照表 1

缩写描述
Can CCCAN Communication Controller
CAN CFCAN Consecutive Frame N-PDU
CAN FCCAN Flow Control N-PDU
CAN FDCAN flexible data rate
CAN FFCAN First Frame N-PDU
CAN N-PDUThe PDU of the CAN Transport Layer
CAN N-SDUThe SDU of the CAN Transport Layer
CAN SFCAN Single Frame N-PDU
CDDComplex Device Driver
CRCCyclic Redundancy Checksum
DLCData Length Code. The portion of an L-PDU which describes the SDU length
ETKProvides development and calibration tools with a powerful interface to the development ECU
FDFlexible Data
FUP messageTime adjustment message (Follow-Up)
GTDGlobal Time Domain
GTMGlobal Time Master
HOHHardware Object Handle - identifier for a specific CAN mailbox structure
HRHHardware Receive Handle - HOH for receive operations (defined by Can)
HTHHardware Transmit Handle - HOH for transmission operations (defined by Can)
L-PDUProtocol Data Unit. Consists of an identifier, DLC and data portion (SDU). Visible to the Can module
L-SDUService Data Unit. Data transported inside a CAN L-PDU. Visible to the upper layer modules (e.g. PduR)
MSBMost Significant Bit
N_ArTime from transmission of the CAN frame (any N_PDU) on the receiver side until function CanTp_TxConfirmation() is called
N_AsThe time for transmission of a CAN frame (any N_PDU) on the part of the sender until function CanTp_TxConfirmation() is called
N_BrTime from receiving the N_PDU CanFrame (FF,CF,FC) until transmission of the next FlowControl N_PDU
N_BsTime from transmission N_PDU CanFrame (FF, CF, FC) until receiving of next FlowControl N_PDU
N_CrvTime from transmission of CAN frame (FC) until reception of the next Consecutive Frame N_PDU
N_CsTime from receiving N_PDU FlowControl until transmission of the next Consecutive Frame N_PDU in the sender side
N_PCINetwork protocol control information
N_TAtypeThe N_TA parameter shall be used to encode one or multiple (depending on the N_TAtype: physical or functional)receiving network layer protocol entities
OFNS messageOffset adjustment message
OBDOn-Board Diagnosis
OFS messageOffset synchronization message
PDUProtocol Data Unit
PNPartial Networking
PNIPartial Network Information
RxReceipt/Reception
Rx L-PDUReceived L-PDU (lower to upper layer)
SDUService Data Unit
StbMSynchronized Time-Base Manager
TDTime Domain
TGTime Gateway
TMTime Master
TSTime Slave
TSDTime Sub-domain
TxTransmission
Tx L-PDUTransmitted L-PDU (upper to lower layer)
UDSUnified Diagnostic Services
WUFWake up flag
XCPA protocol description (ASAM standard) between a master (tool) and a slave (device)
SF:Single Frame
FF:First Frame
CF:Consecutive Frame
FC:Flow Control

>>>>>回到总目录<<<<<<

相关文章:

  • 代码随想录算法训练营day39 | 62.不同路径、63. 不同路径 II
  • 说一下JVM类加载机制?
  • InnoDB索引与优化篇(2)-理解InnoDB的执行计划
  • Windows预定义阴影画刷学习
  • Go语言教程
  • MyBatis的缓存机制: 一级缓存和二级缓存
  • css复习
  • spark为什么比mapreduce快?
  • 数据结构 第1章 绪论(一轮习题总结)
  • 代码随想录算法训练营第二十五天|216.组合总和III、17.电话号码的字母组合
  • Spring Boot 的参数校验方案
  • 【k8s资源调度-Deployment】
  • 【Linux】 faillock 命令使用
  • 【前端素材】推荐优质后台管理系统Sneat平台模板(附源码)
  • 如何食用Kaggle的Course中的exercise?
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 5、React组件事件详解
  • CAP 一致性协议及应用解析
  • ECS应用管理最佳实践
  • iOS编译提示和导航提示
  • JavaScript-Array类型
  • Javascript设计模式学习之Observer(观察者)模式
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • MYSQL 的 IF 函数
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • Spring Cloud Feign的两种使用姿势
  • Vue ES6 Jade Scss Webpack Gulp
  • 安卓应用性能调试和优化经验分享
  • 程序员该如何有效的找工作?
  • 大整数乘法-表格法
  • 构造函数(constructor)与原型链(prototype)关系
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 检测对象或数组
  • 开发基于以太坊智能合约的DApp
  • 使用Gradle第一次构建Java程序
  • 想写好前端,先练好内功
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • $NOIp2018$劝退记
  • (1)Android开发优化---------UI优化
  • (8)STL算法之替换
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm码农论坛 毕业设计 231126
  • (南京观海微电子)——COF介绍
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (四)汇编语言——简单程序
  • (一)Neo4j下载安装以及初次使用
  • (译) 函数式 JS #1:简介
  • (转)EOS中账户、钱包和密钥的关系
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Core 成都线下面基会拉开序幕
  • .NET 简介:跨平台、开源、高性能的开发平台