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

以太网通信

1. 缩略词

  • OSI模型:Open System Interconnection Reference Model(开放系统互联参考模型),国际标准化组织提出的概念模型,定义于ISO/IEC 7498-1标准,旨在为全球计算机互联提供标准框架。
  • TCP/IP协议簇:包含传输控制协议(TCP)和网际协议(IP),斜杠表示协议组合关系;支持跨网络信息传输,包含ICMP、ARP等子协议。
  • ETH控制器:在AUTOSAR标准中具有双重含义,既指以太网通信本身,也代表MCAL层的物理控制器硬件。
  • ETHIF模块:BSW层标准化接口,对底层ETH控制器功能进行抽象化处理,实现驱动与上层模块的解耦。
  • TCPIP模块:需与TCP/IP协议簇区分,特指BSW层实现TCP/IP协议簇功能的标准化软件模块。
  • 套接字机制:实现网络主机间进程通信的端点抽象,是跨设备应用层通信的基础设施。
  • SOAD转换器:Socket Adapter(套接字适配器),完成以太网报文与AUTOSAR IPDU格式的双向转换,位于BSW层协议栈关键位置。

2. 理解车载以太网通信

(1)物理层标准

  • 速率标识:IEEE标准中“100/1000”表示传输速率,如100BASE-T1代表100Mbps单对双绞线方案,1000BASE-T1代表1000Mbps单对双绞线方案。
  • 线缆配置:车载常用单对双绞线全双工方案(T1标准),相比消费级4对双绞线(TX标准)更节省空间和重量,适配车载紧凑环境。
  • 连接器类型:RJ45接口在消费领域通用,车载环境多采用专用连接器(如HSD连接器),满足抗振动、耐高温等车载要求。

(2)协议栈架构

  • MAC控制器:实现数据链路层功能,支持MII/RMII等接口标准,与PHY芯片协同完成数据帧的封装与收发。
  • PHY芯片选型:决定物理层具体实现(如100BASE-T1或1000BASE-T1),需根据ECU的通信速率、成本需求选择适配芯片。
  • 应用层重点:在AUTOSAR中需特别关注车载特有协议配置,如AVTP(音频视频传输协议)、DOIP(诊断通信-over-IP)等。

3. Autosar对于OSI模型的实现

(1)学习Autosar对OSI模型实现的原因

  • 配置指导价值:通过分层模型理清复杂网络配置逻辑,尤其是以太网通信涉及的多模块协作关系(如ETH、ETHIF、TCPIP、SOAD)。
  • 概念区分需求:不同总线技术(CAN/LIN/ETH)在AUTOSAR中的实现差异显著,需建立清晰的分层认知框架,避免模块功能混淆。

(2)OSI模型概述

在这里插入图片描述

  • 标准分层:从下至上依次为物理层(PHY)、数据链路层(MAC)、网络层(IP)、传输层(TCP/UDP)、会话层、表示层、应用层。
  • 实现特点:实际应用中可能出现层次合并或简化,如AUTOSAR将会话层(5层)、表示层(6层)、应用层(7层)统一视为“应用层”处理,简化配置逻辑。

(3)Autosar架构下不同网络通信对七层模型的实现

网络类型OSI七层模型实现特点核心差异
以太网通信完整实现7层模型,协议栈结构最复杂具备网络层(IP),支持子网划分、端到端通信
CAN通信缺失网络层(无IP概念),通过CAN TP模块衔接传输层与数据链路层协议栈简化,实时性强,适合控制指令传输
LIN通信仅处理物理层和数据链路层,协议栈最简化无传输层以上逻辑,仅支持单主多从的简单通信

(4)以太网通信模块对OSI七层模型的实现

  • 硬件实现层(1-2层)
    • 物理层(Layer1):由PHY芯片实现物理信号转换(如电信号与数字信号的互转)。
    • 数据链路层(Layer2):MAC控制器处理数据帧收发,ETHIF模块提供标准化接口,解耦MAC硬件与上层软件。
  • 软件协议栈(3-7层)
    • 网络层-传输层(Layer3-4):TCPIP模块实现IP路由(Layer3)和传输控制(TCP/UDP,Layer4)。
    • 应用层衔接(Layer5-7):SOAD模块完成应用层IPDU与网络层报文格式的转换,实现“信号-以太网帧”的适配。

(5)CAN通信对OSI模型的实现及与以太网通信的对比

① CAN协议栈特点
  • 物理层(Layer1):通过CAN控制器和收发器硬件实现总线电平信号的收发。
  • 传输层(Layer4):CAN TP模块提供类似TCP的分包重组功能,解决CAN帧8字节长度限制。
  • 应用层(Layer7):直接通过COM模块与RTE交互,省略网络层(无IP地址管理)。
② 复杂度与功能对比
对比维度以太网通信CAN通信
功能优势支持子网划分、端到端连接、大带宽传输实时性更好,协议栈简单可靠,成本低
适用场景多媒体数据(音频/视频)、诊断数据(DOIP)控制指令(发动机、底盘控制)
协议栈复杂度高(7层完整实现)低(简化为3层)

4. AutoSAR架构下的ETH通信

(1)以太网的系统描述

① 建立以太网的系统描述
  • 核心要素:需明确signals(信号)、pdu(协议数据单元)、frame(以太网帧)、network(以太网网络)四个元素及其映射关系。
  • 实现方式:通过AR Explorer打开工程,使用System Editor查看和建立系统描述,最终将所有映射关系挂载在目标ECU下。
② 信号与PDU配置
  • 信号参数:必须明确signal的起始位置、长度(如32位对应标准int32类型)和数据类型,双击signal可通过对话框手动配置。
  • PDU建立:用于ECU间信号交互的PDU称为“I symbol PDU”,命名建议以“IC”为前缀(标识ECU间通信),需建立信号与PDU的引用关系。
③ 以太网帧与网络映射
  • 帧创建:若无“Ethernet Frame”文件夹,可右键新建;单个frame最大长度可设为MTU值(示例为1024字节),需与PDU、signal关联。
  • 网络映射:选择“Signal Communication”类型,因以太网支持SOME/IP协议,需选择“面向信号的通信方式”;验证时需在ECU下看到以太网控制器接收的两个以太网帧。
④ 系统描述的补充说明
  • 配置参考:具体配置可参考第五章的系统配置内容,以太网系统描述使用ARXML文件(无专用数据库,区别于CAN的DBC文件)。
  • 其他建立方式:通过AR Explorer的“收印”功能查看,系统描述存储在“dbc_system_description.arxml”文件中,可使用Autosar Example Editor编辑。
⑤ 以太网BSW模块配置特点
  • 自动生成限制:工具自动BSW生成器功能不完善,无法生成以太网相关模块,需手动配置。
  • 注意事项:点击“自动配置”不会得到有效结果,需逐一手动配置ETH、ETHIF、TCPIP、SOAD等模块。

(2)配置ETH模块(MCAL层)

① 以太网通信模块概览
  • 模块位置:与以太网通信相关的核心模块均在Com Stack中,包括基础模块(Eth、EthIf、Eth State Manager、SOAD、TCPIP)和辅助模块(Memory Stack、Mode Management Service,相关度较低);应用层模块DoIP本章暂不关注。
② ETH模块的配置项
  • 配置分类
    • General配置项:描述以太网驱动器的主要属性(如功能开关、错误处理机制)。
    • Config Set配置项:实际ECU配置的核心,重点为“EthCtrlConfig”文件夹(包含ECU Controller实例配置)。
③ 关键参数配置
  • 速率与地址:MAC层速率可选择10M/100M,需配置物理地址(Find Address)和发送Buffer Length(缓冲区大小)。
  • 数据流:数据流向为“Eth Controller → EthIf → TCP/IP → SoAD → PDU Router → COM”,可通过PDU Trace View窗口查看BSW层级的模块引用关系。
④ Internet Controller配置
  • 核心配置项:短名(控制器标识)、MAC接口类型(如MII/RMII)、数据处理方式(中断/轮询)、MAC层速率、物理地址、TX Buffer设置。

(3)配置EthIf模块(BSW层)

① 模块配置结构
  • 配置分类
    • General配置项:模块宏观功能裁剪(如是否启用帧过滤)、主函数周期声明。
    • Config Set配置项:实际功能配置重点,需关联底层ETH模块与上层TCPIP模块。
② Config Set配置详解
  • 控制器引用:声明使用的Eth模块中配置的Controller,建立Eth与EthIf的硬件关联。
  • Frame配置:配置EthIf Frame的Type(参考Quick Info说明),声明Rx Indication的Reference,将Rx指示函数配置为“TCP/IP Rx Indication”(上层模块为TCPIP)。
③ 其他相关模块说明
  • ED Net State Manager:与CAN和以太网的模式管理相关,后续章节讲解。
  • Internet Transceiver模块:位于MCAL层,管理ED Net的Transceiver,需结合具体芯片的Transceiver型号配置。

(4)配置TCPIP模块(BSW层,Layer3-4实现)

① 模块概述
  • 实现基础:TCPIP模块是AUTOSAR对OSI模型中网络层-传输层的实现,需先掌握以太网网络层知识和TCP/IP协议栈子协议(ARP、ICMP、DHCP)概念,结合BSW帮助文档学习。
② General配置
  • 配置范围:包含模块宏观配置(如错误处理)和TCP/IP协议v4/v6版本的通用配置,需同时关注IPv4和IPv6(按需启用)。
  • 协议开关:包含DHCP(动态获取IP)和ICMP(网络测试,如ping命令),建议开启ICMP便于后续调试。
③ Config配置选项(共9个子项)
  • TCP IP Controls:配置TCPv4/v6协议参数、ARP协议使能、ICMP TTL(生存时间),需引用Ethernet Interface中配置的Controller。
  • ARP协议配置:用于获取其他ECU的MAC地址,实现点对点通信,必须配置(ARP表超时时间、最大表项数量)。
  • IP配置:支持静态IP(推荐,需配置IP地址、网关、子网掩码)或动态IP(结合DHCP,适用于灵活组网)。
  • DHCP配置:启用后可分配IP地址,作为网络参与者的ECU通常无需配置(仅网关需启用)。
  • ICMP配置:参数需参考工具生成的RBA前缀模块,可参考示例填写(如TTL设为100跳)。
  • Socket Owner配置:声明上层模块与TCP/IP的连接,AUTOSAR中通常配置为SOAD模块。
  • TCP/UDP配置:TCP需配置三次握手/挥手机制的时间参数;UDP更简单,重点关注最大TTL参数(不保证可靠性,错误/丢失不处理)。
④ 与NV模块交互
  • 功能说明:用于存储需持久化的网络信息(如静态IP),示例中暂不使用。

(5)配置Socket Adapter(SOAD)模块

① 模块关联与配置原则
  • 上层模块声明:明确使用SOAD的上层模块(如PDUR),建立模块依赖关系;通信需使用PDUR协议,需在此声明PDUR。
  • 配置参考:可参考示例工程导入查看,重点关注“SO AD Config”文件夹。
② SO AD Config配置
  • 路由声明:配置“SO AD PDU路由”,声明SOAD为哪些上层IPDU建立socket连接。
  • 收发处理差异
    • 发送处理:“so a dp du wrote”文件夹处理SOAD需转换为socket连接的PDU。
    • 接收处理:“so ad socket route”文件夹决定哪些socket需转换为IPDU。
  • 模块关系:SOAD对上承接PDUR,对下与TCPIP建立引用。
③ Socket Connection配置
  • 新建路由:在“so ad socket route”下新建路由,命名建议如“udp.rx_0”(标识UDP接收);暂未建立socket connection时无法完成引用,需后续补充。
  • 参数设置:rx user设为PDUR,type选择if层,reference指向“udp rx”(SOAD需将socket内容复制给该IPDU)。
  • 远程连接配置:配置远程端口(如6700,选择不常用端口)、目标主机IP(如192.168.1.61)、协议(UDP);“so ad socket udp listen only”设为FALSE(不仅监听),检查group ID等必要项。

(6)配置IPDU、信号与COM模块

① 工程准备与PDU建立
  • 环境准备:关闭已打开的控制器,进入VCU Starter工程,先建立IPDU(通信基础)。
  • PDU配置:使用UDP协议,长度统一设为1024字节(与系统信息一致),命名含方向标识(如“com_to_pdu”“pdu_to_soAD_rx”),需明确传输方向(接收/发送)。
② COM模块配置
  • 信号创建:展开COM模块→Com Config,新建signal(位置设为0,类型选standard int32)。
  • 信号映射:使用“on map signal”功能,将COM层signal与系统描述中的signal关联,选择“i_signal_to_ipdu_mapping_udp”。
  • IPDU配置:配置为接收型UDP,处理方式设为“立即处理”,用途选“normal”(网络通信);与ECUC中建立的IPDU关联,引用“com_to_pdu”模块并加入rx组,将signal绑定到PDU后保存。

(7)配置PDUR模块

① 基础配置
  • 路由表建立:进入PDUR模块,首先建立路由表(后续配置的前提),明确数据传输路径。
② 数据流向配置
  • 接收数据搬运:需将SOAD模块的数据搬运到COM模块,destination PDU选择COM模块对应项,source PDU选择“pdur_to_soad”。
  • 引用确认:检查配置的引用关系是否正确,完成ECUC、COM、PDUR的基础配置。

(8)SOAD模块与ARXML文件创建

  • 模块创建:在Com Stack下新建SOAD模块,工具弹出配置存储位置选项,单击“finish”后可在Filesystem中查看。
  • 文件编辑:回到ECU Navigator,双击打开BSW Editor编辑SOAD模块配置。

(9)模块关联与配置总结

① 配置流程
  • 示例配置为UDP接收报文,完整流程:系统描述建立→ETH(MCAL)→ETHIF→TCPIP→SOAD→PDUR→COM。
  • SOAD模块重点:区分收发配置(接收配socket route,发送配pdu wrote);TCPIP模块需结合实际场景(静态IP/动态IP、TCP/UDP);硬件关联需参考MCAL层文档和芯片Data Sheet。
② 关键注意事项
  • 以太网通信需额外配置网络层(TCPIP)和SOAD模块,区别于CAN/LIN;各模块间的引用关系需逐一确认,避免“声明未引用”错误。

(10)其他模块配置补充

① EitherIf模块配置
  • 模块创建:创建EitherIf模块,进入一对一服务配置界面;先检查General选项的必要配置(如主函数周期)。
  • Frame Owner配置:frame type通常填1,rx indication配置为“tc pr PR x indication”,internet模块和phi controller因未配置ED Net暂不处理。
  • 硬件参数:m dio时钟配置选20(按需调整),示例工程简化配置,实际需结合硬件场景。
② ETH模块配置细节
  • General选项:hcl配置用20微秒,暂关模块诊断和相关API;number填0,index填0,main function period选1毫秒,最大controls supported选5。
  • Config Set选项:接口类型按实际配置(示例用s2k148控制器);MAC地址复用已配置内容,发送buffer lens设1550,最大buffer设1536,fifo数量1、ID 0。
③ 模块关联配置
  • 引用设置:mtu选1536,不使用VLAN;引用either iff controller 0。
  • 函数配置:配置rx main function,引用ETH模块中配置的fifo ingress。

5. 车载以太网与OSI模型

(1)车载以太网特性

  • 网络层差异:相比CAN/LIN通信,以太网多出网络层(Layer3),涉及IP地址分配、路由选择等协议栈内容,配置复杂度更高。
  • 协议栈特点:网络层实现需理解TCP/IP协议簇工作原理,如ARP(MAC-IP映射)、ICMP(网络测试)、DHCP(动态IP)。

(2)分层配置方法论

  • 配置原则:严格遵循OSI七层模型,重点关注物理层(PHY选型)、数据链路层(MAC配置)、网络层(IP/TCP/UDP)的参数匹配。
  • 类比学习法:对比LIN通信(无网络层),明确以太网各层功能边界(如SOAD衔接应用层与网络层)。
  • 思维整理技巧:绘制OSI模型框架思维导图,填充各层对应的AUTOSAR模块(如Layer3对应TCPIP模块),梳理配置逻辑。

(3)协议栈实践要点

  • 学习重点:掌握TCP三次握手、滑动窗口等可靠传输机制,是网络层配置的核心。
  • 调试技巧:用Wireshark抓包时,观察各层头部信息(如IP头部、TCP头部),验证配置是否生效。
  • 典型配置:VLAN划分、QoS优先级设置需对应到OSI特定层级(VLAN在Layer2,QoS在Layer3-4)。

二、知识小结

知识点核心内容考试重点/易混淆点难度系数
AutoSAR架构下的以太网通信讲解ETH、EthIf、TCP/IP、SoAd等模块的配置方法,实现以太网信号收发区分“TCP/IP协议簇”与“TCPIP模块”(前者是协议,后者是BSW软件模块)⭐⭐⭐⭐
OSI七层模型详解OSI七层结构及在AutoSAR中的实现,对比CAN/LIN/以太网的分层差异理解各层在不同总线中的简化/完整实现(如CAN缺失网络层)⭐⭐⭐
以太网物理层标准解释100BASE-T1、1000BASE-T1等标准,区分速率(100M/1000M)与接口类型(T1/TX)车载T1标准与消费TX标准的线缆/连接器差异⭐⭐⭐⭐
TCP/IP协议栈讲解AutoSAR中TCP/IP协议栈配置,含ARP、ICMP、DHCP等子协议静态IP与动态IP(DHCP)的配置差异及适用场景⭐⭐⭐⭐⭐
SoAd模块配置介绍Socket Adapter如何实现IPDU与以太网帧的转换,区分收发配置逻辑接收(socket route)与发送(pdu wrote)的不同处理方式⭐⭐⭐⭐
以太网与CAN/LIN通信对比比较三种总线在AutoSAR中的实现差异,分析功能与适用场景以太网网络层带来的复杂度提升及功能优势⭐⭐⭐⭐
AutoSAR工具链操作演示AR工具配置以太网系统描述的步骤,讲解ARXML文件的导入导出系统描述中“signal-pdu-frame-network”的映射关系建立⭐⭐⭐⭐
车载以太网特点分析车载以太网的特殊要求(抗振动、耐高温),讲解MAC地址与PHY选型车载专用连接器(如HSD)与消费级RJ45的区别⭐⭐⭐
以太网报文处理流程解析从ASW层(SWC)到物理层(PHY)的数据流向,梳理模块间接口关系各模块(ETH→EthIf→TCPIP→SOAD→PDUR→COM)的数据流衔接⭐⭐⭐⭐⭐
配置实例演示通过UDP报文接收实例,讲解各模块引用关系的建立方法TCPIP模块中ARP配置与IP地址的关联逻辑⭐⭐⭐⭐⭐
http://www.dtcms.com/a/473609.html

相关文章:

  • 网站运营推广方式网站建设需要学编程么
  • 开源合规:GPL-3.0项目的专利风险规避
  • Java基于SpringBoot的医院门诊管理系统,附源码+文档说明
  • windows查询与设备通讯的mac地址
  • Tauri Android 开发踩坑实录:从 Gradle 版本冲突到离线构建成功
  • nuxt3中使用defineAsyncComponent懒加载组件,但其中的loadingComponent和errorComponent为什么不生效
  • GIS中最常用的编程语言
  • 用wordpress做的网站有哪些公司网站建设成本
  • 网站网页怎么设计无代码开发软件
  • 阿里发布「夸克 AI 眼镜」:融合阿里购物、地图、支付生态;苹果拟收购计算机视觉初创 Prompt AI丨日报
  • 【精品模板鉴赏】WORD版企业IT管理参考资料模板-数据安全|信息安全|网络安全|应急预案|灾备恢复..
  • Vue 核心特性详解:计算属性、监听属性与事件交互实战指南
  • 建设银行 嘉定 网站ai的优点和缺点
  • LeetCode 刷题【115. 不同的子序列】
  • 图像去雾之 Retinex 算法
  • 为什么 React 推荐 “不可变更新”:深入理解 React 的核心设计理念
  • 模型缝合的思想和步骤
  • 【基础算法】DFS中的剪枝与优化
  • 做暧昧视频网站做网页用什么软件写代码
  • Migo报错,可直接记账的提醒
  • 甘肃温室大棚建设网站佛山网页网站设计多少钱
  • js绑定事件的方法有几种?
  • P1003 [NOIP 2011 提高组] 铺地毯
  • 设置关闭宝塔面板依然运行java项目
  • Q:在 Vue.js 中,如何让【事件处理函数】同时接收【事件对象】和【自定义参数】?
  • 企业网站建设规划书pptwordpress改造mip
  • ASW层(应用层)设计与工作内容笔记
  • One Commander(文件管理器) 中文绿色版
  • 标签之超文本链接(本文为个人学习笔记,内容整理自哔哩哔哩UP主【非学者勿扰】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)
  • 北京专业做网站怎么样灵璧做网站