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

[CP_AUTOSAR]_分层软件架构_接口之通信模块交互介绍

目录

  • 1、协议数据单元(PDU)传输
  • 2、通信模块的案例
    • 2.1、SDU、 PCI & PDU
    • 2.2、通信模块构成
    • 2.3、从数据传输的角度看Communication
    • 2.4、Communication中的接口

  在前面 《关于接口的一些说明》 以及  《Memory软件模块接口说明》 中,简要介绍了CP_AUTOSAR分层软件接口的常用规范,以及内存模块的接口使用说明,本文以通信软件模块为例,介绍通信模块的接口交互。

1、协议数据单元(PDU)传输

  一些术语的解释说明:
  1、SDU,Service Data Unit,服务数据单元。在上层收到传输数据的请求时,被上层传输的数据是属于当前层的SDU。下层完成接收之后提取出的数据也是SDU,SDU是PDU的一部分。
  2、PCI,Protocol Control Information,协议控制信息。将SDU从特定协议层的一个实例传递到另一个实例时需要此信息。例如,PCI可能会包含源和目标信息。PCI由发送方的协议层添加,由接收方去除。
  3、PDU,Protocol Data Unit,协议数据单元,其包含了PCI 和 SDU。在发送方,PDU由上层传递到下层,并且PDU也作为了下层的SDU。
  下图是PDU传输过程的示意图。由图可知,N + 1层往 N 层发送PDU,对于N + 1层来说,该数据单元属于PDU,而对于N层来说,则是属于SDU。在N层中,SDU添加上PCI信息,则变为了N层的PDU,向N - 1层发送完成时,PDU变为了SDU。
在这里插入图片描述

2、通信模块的案例

2.1、SDU、 PCI & PDU

  SDU 和 PDU命名规范:
  PDU:<bus prefix> <layer prefix> - PDU
  SDU:<bus prefix> <layer prefix> - SDU
  bus prefix 和 layer prefix的描述详见下表:
在这里插入图片描述
  来自于数据链路层(对应AUTOSAR架构中的驱动以及接口模块)的协议数据单元为CAN L-PDU,其中,layer prefix 为 L,bus prefix 为 CAN。
  来自于网络层(对应AUTOSAR架构中的Tp层)的协议数据单元为CAN FF N-PDU,其中,layer prefix 为N,bus prefix 为 CAN FF,其中SF,Single Frame,表示单帧;其中FF,First Frame,表示首帧;其中CF,Consecutive Frame,表示连续帧;其中FC,Flow Control,表示流控帧;《更多关于CAN Tp层中的帧信息,可点击跳转》。
  来自于展示层(对应AUTOSAR架构中的COM/DCM/PDU router模块)的协议数据单元为I-PDU,其中,layer prefix 为 I,bus prefix 无。

2.2、通信模块构成

  1、PDU Router:
   -> 在上层和不同的抽象的通讯控制器之间,提供PDUs的路由功能;
   -> 路由的规模需要根据ECU通信来定;
   -> 提供即时的TP路由。
  2、COM:
   -> 在不同的I-PDUs之间提供单个信号或组信号的路由;
  3、NM Coordinator:
   -> 通过网络协调器处理的网络管理,同步连接到ECU的不同通信通道的网络状态;
  4、Communication State Managers:
   -> 通过接口去启动和关闭通信系统的硬件单元;
   -> 控制PDU组。

  内部通信路径如下图所示:
在这里插入图片描述
  由上图可知,由CAN Driver发往CAN Interface的数据为I-PDU,经过CAN Inteface处理之后,发往CAN Tp为N-PDU,由PDU Router路由转发发往服务层中AUTOSAR COM为I-PDU。

  以太网协议栈内部的通信路径如下图所示:
在这里插入图片描述
  使用CAN XL的以太网和CAN通信,通信路径如下图所示:

在这里插入图片描述

2.3、从数据传输的角度看Communication

  下图展示了数据流向图,SW-C 发送配置好的数据到远程ECU上,此数据不在就地缓存空间处理。
  以下描述了传递流程:
   -> RTE 会回调 SOME/IP transformer模块来传输来自于SW-C的数据,SOME/IP transformer作为传输链路上的第一道转换。
   -> SOME/IP transformer执行转换,并将输出结果写入到RTE提供的Buffer1空间中;
   -> 之后,RTE执行了Safety transformer,其作为传输链路上的第二道转换,Safety transformer的输入就是SOME/IP transformer的输出。
   ->E2E Transformer保护了数据,并将其输出结果写入到RTE提供的Buffer2空间中。此过程增加了一个新的Buffer空间,因为in-place buffer处理未被使用。
   -> 最后,RTE传出最后的输出结果到AUTOSAR COM模块中。

在这里插入图片描述

2.4、Communication中的接口

  架构描述:
  RTE使用了位于BSW中的系统服务层中的转换器:SOME/IP transformer、E2E Transformer。
  接口描述:

	SomeIpXf_SOMEIP_Signal1(uint8 *buffer1,uint16 *buffer1Length,<type> data)
	SafetyXf_Safety_Signal1(uint8 *buffer2,uint16 *buffer2Length,uint8 *buffer1,uint16 buffer1Length)

在这里插入图片描述
  由上图所示,RTE层调用了 SomeIpXf_SOMEIP_Signal1接口函数,将来自于SW-C数据进行转换,转换完成之后,保存到buffer1Length中(即图中的Buffer1);随后RE回调了SafetyXf_Safety_Signal1接口函数,借助于E2E Transformer对数据进行保护处理,转换完成之后,保存到buffer2Length中(即图中的Buffer2);最后,调用Com_SendDynSignal接口函数,将输出结果传递到AUTOSAR COM层中。

   更多内容可点击返回参考 CP_AUTOSAR_总目录

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MyBatis框架学习笔记(四):动态SQL语句、映射关系和缓存
  • 【AI资讯】7.19日凌晨OpenAI发布迷你AI模型GPT-4o mini
  • 前端Vue组件技术实践:构建自定义动态宫格菜单按钮组件
  • SpringBoot连接PostgreSQL+MybatisPlus入门案例
  • 昇思25天学习打卡营第18天|Pix2Pix实现图像转换
  • 前端组件化探索与实践:Vue自定义暂无数据组件的开发与应用
  • CV12_ONNX转RKNN模型(谛听盒子)
  • 深度学习每周学习总结N4:中文文本分类-Pytorch实现(基本分类(熟悉流程)、textCNN分类(通用模型)、Bert分类(模型进阶))
  • tcp协议下的socket函数
  • DICOM CT\MR片子免费在线查看工具;python pydicom包加载查看;mayavi 3d查看
  • vxe-弹窗初始化激活选中Vxe-Table表格中第一行input输入框
  • debian 更新源
  • Spring Boot集成SFTP快速入门Demo
  • 独立站外链如何影响搜索引擎排名?
  • AI算法17-贝叶斯岭回归算法Bayesian Ridge Regression | BRR
  • 30天自制操作系统-2
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • ES6--对象的扩展
  • Hibernate【inverse和cascade属性】知识要点
  • IOS评论框不贴底(ios12新bug)
  • java多线程
  • JS变量作用域
  • node 版本过低
  • 关于List、List?、ListObject的区别
  • 日剧·日综资源集合(建议收藏)
  • 实现简单的正则表达式引擎
  • MyCAT水平分库
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 数据可视化之下发图实践
  • #13 yum、编译安装与sed命令的使用
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #VERDI# 关于如何查看FSM状态机的方法
  • #数学建模# 线性规划问题的Matlab求解
  • (2)nginx 安装、启停
  • (3)llvm ir转换过程
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (阿里云万网)-域名注册购买实名流程
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (九)One-Wire总线-DS18B20
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)http-server应用
  • (转)平衡树
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .apk文件,IIS不支持下载解决
  • .netcore如何运行环境安装到Linux服务器
  • .NET成年了,然后呢?
  • .NET企业级应用架构设计系列之开场白
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • .net网站发布-允许更新此预编译站点
  • .NET序列化 serializable,反序列化
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构
  • @property括号内属性讲解