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

车载以太网测试-4车载以太网如何进行通信的?

1 摘要

车载以太网的数据传输与接收遵循分层网络架构(如OSI模型或TCP/IP模型),从应用层到物理层需要逐层封装与解封装。本文将对车载以太网的数据传输流程进行介绍。

2 以太网通信过程(封装与解封装)

2.1 发送端流程(数据封装与传输)

数据从应用层向下逐层封装,最终通过物理介质传输。

步骤1:应用层生成数据

  • 功能:生成具体业务数据(如DoIP诊断请求、SOME/IP服务消息)。
  • 协议:DoIP(ISO 13400)、SOME/IP(Adaptive AUTOSAR)、HTTP(OTA更新)等。
  • 数据格式
    • DoIP示例
      Header: 01 FE 80 01 00 00 00 06  
      Payload: 0E80 1001 1002
      

如下图:
在这里插入图片描述

步骤2:传输层封装(TCP/UDP)

  • 功能:提供端到端通信控制(如可靠传输、端口寻址)。
  • 协议:TCP(可靠传输)或UDP(广播/低延迟)。
  • 封装动作
    • 添加TCP/UDP头部
      • 源端口(2字节)
      • 目的端口(2字节)
      • 校验和(2字节,可选)
      • TCP特有字段:序列号、确认号、窗口大小等。

如下图:

在这里插入图片描述

步骤3:网络层封装(IPv4/IPv6)

  • 功能:实现跨子网的路由与寻址。
  • 协议:IPv4/IPv6(车载常用IPv4,如1000BASE-T1)。
  • 封装动作
    • 添加IP头部(20字节):
      • 源IP地址(4字节)
      • 目的IP地址(4字节)
      • TTL(1字节,生存时间)
      • 协议类型(1字节,如0x06表示TCP,0x11表示UDP)。
        如下图:

在这里插入图片描述

步骤4:数据链路层封装(以太网帧)

  • 功能:MAC地址寻址、帧校验。
  • 协议:Ethernet II(车载以太网常用)或IEEE 802.3(带VLAN标签)。
  • 封装动作
    • 添加以太网头部(14字节):
      • 目的MAC地址(6字节)
      • 源MAC地址(6字节)
      • 类型/长度(2字节,如0x0800表示IPv4)。
    • 可选VLAN标签(4字节,用于优先级划分)。
    • 添加FCS(帧校验序列)(4字节,CRC校验)。

如下图:

在这里插入图片描述

步骤5:物理层传输(电信号转换)

  • 功能:将比特流转换为电信号/光信号。
  • 标准
    • 100BASE-T1:单对双绞线,100Mbps(车载主流)。
    • 1000BASE-T1:千兆车载以太网。
  • 封装动作
    • 添加前导码(7字节,用于同步)。
    • 添加帧起始定界符(1字节,0xD5)。
    • 将数据转换为曼彻斯特编码PAM3调制(根据物理层标准)。

2.2 接收端流程(数据解封装与处理)

接收端从物理层向上逐层剥离头部,恢复原始数据。

步骤1:物理层接收与信号解码

  • 动作
    • 检测信号并解码为比特流。
    • 移除前导码帧起始定界符
    • 通过FCS校验数据完整性,丢弃错误帧。

步骤2:数据链路层处理

  • 动作
    • 解析以太网头部,检查目的MAC地址是否匹配。
    • 剥离以太网头部和FCS字段。
    • 根据类型字段(如0x0800)将数据传递给网络层。

如下图:
在这里插入图片描述

步骤3:网络层路由与解封装

  • 动作
    • 解析IP头部,检查目的IP地址是否为本机。
    • 剥离IP头部,根据协议类型(如TCP/UDP)将数据传递给传输层。

如下图:
在这里插入图片描述

步骤4:传输层处理

  • 动作
    • 解析TCP/UDP头部,检查端口号(如DoIP默认端口13400)。
    • 剥离传输层头部,将数据传递给对应应用层协议。

如下图:
在这里插入图片描述

步骤5:应用层数据交付

  • 动作
    • 解析应用层协议(如DoIP报文)。
    • 执行业务逻辑(如处理诊断请求、更新车辆配置)。

如下图:
在这里插入图片描述

2.3 车载以太网封装示例(DoIP诊断报文)

假设发送一个DoIP诊断请求到ECU
完整封装流程如下:

层级封装内容
应用层01 FE 80 01 00 00 00 06 0E80 1001 1002(DoIP头部+Payload)
传输层添加TCP头部(源端口: 5000,目的端口: 13400)
网络层添加IP头部(源IP: 192.168.1.100,目的IP: 192.168.1.200)
数据链路层添加以太网头部(目的MAC: 00:1A:2B:3C:4D:5E,源MAC: 00:0C:29:AA:BB:CC) + FCS
物理层添加前导码和帧起始定界符,转换为电信号发送。

完整解封装流程如下

层级关键字段解析处理动作
物理层移除前导码/SFD,校验FCS传递至数据链路层
数据链路层目的MAC=00:1A:2B:3C:4D:5E,类型=0x0800(IPv4)剥离以太网头部,传递至网络层
网络层目的IP=192.168.1.200,协议=0x06(TCP)剥离IP头部,传递至传输层
传输层目的端口=13400(DoIP)剥离TCP头部,传递至应用层
应用层DoIP负载类型=0x8001(诊断消息),数据=10 02(UDS会话控制)执行诊断服务

3 总结

车载以太网的通信过程是一个逐层封装和解封装的过程:应用层生成数据、传输层添加端口信息、网络层添加IP地址、数据链路层添加MAC地址并封装为帧、物理层将帧转换为信号并传输。在接收端,数据会从物理层到应用层逐层解封装,最终交付给目标应用程序。这种分层结构确保了车载以太网的高效性、可靠性和可扩展性。如下图:
在这里插入图片描述

相关文章:

  • 高级java每日一道面试题-2025年2月18日-数据库篇-MySQL 如何做到高可用方案?
  • Postgresql安装
  • 多模态融合的分类、跨模态对齐的方法
  • Spring boot创建时常用的依赖
  • flask_restx 定义任意类型参数
  • MySQL主从延迟分析
  • JVM、MySQL常见面试题(尽力局)
  • 蓝桥杯P19718-回文字符串 题解
  • 从头开始开发基于虹软SDK的人脸识别考勤系统(python+RTSP开源)(二)
  • 【HarmonyOS Next】鸿蒙应用加载SVG文件显示图标
  • ArcGIS Pro字段编号相关代码
  • Kafka常用指令(详细)
  • 2025华为OD机试真题最新题库 (B+C+D+E卷) + 在线OJ在线刷题使用说明(C++、Java、Python合集)(正在更新E卷,目前已收录581道)
  • 【时序图】1.StarUML绿化
  • Scala编程_实现Rational的基本操作
  • 远程监控项目描述以及总体框架
  • C# 泛型中的协变、抗变和裂变:概念与应用
  • SSM框架
  • NLP常见任务专题介绍(1)-关系抽取(Relation Extraction, RE)任务训练模板
  • SSH可以连接成功,但VSCode连接不成功的问题
  • 以军称已开始在加沙的新一轮大规模攻势
  • 白玉兰奖征片综述丨海外剧创作趋势观察:跨界·融变·共生
  • 国家统计局公布2024年城镇单位就业人员年平均工资情况
  • 美官方将使用华为芯片视作违反美出口管制行为,外交部回应
  • 银行积分大幅贬值遭质疑,涉及工行、中行、农行等
  • 陕西三原高新区违法占用土地,被自然资源局罚款10万元