【车载以太网】AUTOSAR-EthIf详解"

admin 2026-10-21 07:30:21 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

【车载以太网】AUTOSAR-EthIf详解

原创

Tomas Li
Tomas Li

汽车电子嵌入式

2026年7月27日 08:46
广东

在小说阅读器读本章

去阅读

目录

1.概述

在AUTOSAR架构中,Ethif属于硬件抽象层,所谓的硬件抽象层,即是抽象硬件,提升软件的可移植性。

Ethif的主要功能是通过对下层以太网控制器以及以太网收发器的抽象,实现了软硬件解耦,能够向Ethif的上层模块(TCPIP,ETHSM,CDD)提供一个统一的并且与硬件无关的接口,这样上层模块能够通过Ethif提供的统一接口实现与硬件系统资源(一个或者多个以太网控制器)交互。

对下,Ethif模块需要使用一个或者多个位于MCAL层的驱动模块,比如Eth(以太网控制器驱动模块),EthTrcv(以太网收发器驱动模块)实现对硬件资源的控制。Ethif模块使用Autosar规范中定义的标准接口与Mcal驱动模块交互,保证了在需要替换芯片以及硬件时,只需要更换mcal驱动,Ethif及其上层模块不需要替换。

2.专有名词

英文名称 含义
Eth Mcal中的以太网控制器驱动
Ethif 以太网抽象接口模块
EthSM 以太网状态控制器模块
EthTrcv 以太网收发器模块
TCPIP 以太网TCP以及IP协议模块

3.EthIf对硬件外设的抽象

3.1 EthIf对以太网控制器的抽象

EthIf模块对于以太网控制器的抽象具有如下特性:

1.抽象接口:Ehernet Interface模块能够提供一个独立的硬件接口,上层模块能够通过该接口访问EthIf抽象的所有以太网控制器,使用这些控制器提供的初始化,配置以及数据传输功能,并且对控制器的具体类型无感。

2.支持多个控制器多个驱动并存的现象:

1)从上图中可以看出,以太网协议栈中可以存在多个以太网控制器与以太网驱动。

2)单个以太网驱动程序(Ethernet Driver)模块只能支持一种类型的控制器硬件,但是可以支持多个类型的控制器。如上图中,ECU存在三种以太网控制器,驱动Ethernet DriverA只能支持同类型的以太网控制器硬件EC TYPE A,但能支持多个EC TYPE A。

3.2 EthIf对以太网收发器的抽象

1.抽象接口:Ehernet Interface模块能够提供一个独立的硬件接口,上层模块能够通过该接口访问EthIf抽象的所有以太网收发器功能,使用这些控制器提供的初始化,配置以及数据传输功能,并且对控制器的具体类型无感。

2.支持多个以太网收发器及多个驱动并存的现象:如Ethif对于以太网控制器的抽象,也支持多个以太网收发器驱动以及硬件并存的功能。

4.功能说明

*4.1  以太网控制器*以及外设**的索引**功能**

EthIf作为ECU抽象层的模块,需要将参与以太网功能的硬件外设进行抽象。EthIf承担了虚拟网卡的功能,通过索引(EthIfCtrlIdx)配置项从底层通信系统中抽象出对Vlan的访问,将Vlan与Ethernet Controller与Ethernet Transceiver硬件驱动资源绑定,达到Mcal的硬件资源以Vlan id进行划分的目的。

如下图,VLAN1为EthIf通过EthIf\_Ctrl0将Driver0 Ctrl0驱动(Ethernet Controller)以及Eth Transceiver0驱动绑定抽象出来的。

*4.2 以太网控制器以及外设状态管理功能*

4.2.1 以太网控制器状态控制

1)Ethif模块提供了函数EthIf\_SetControllerMode(EthIf\_CtrlIdx,CtrlMode)以控制Ethernet Controller的状态,进而控制以太网控制器报文收发开关。

2)EthIfCtrlIdx指的是上图中Ethif Controller的Index,根据Ethif对以太网控制器的索引,进而可以找到以太网控制器索引号通过Eth\_SetControllermode()函数直接进行控制。

下面以打开上图中的EthIf\_Ctrl0为例,代码逻辑如下:

4.2.2  以太网收发器状态控制:

1)EthIf模块提供了函数EthIf\_SetTransceiverMode(TrcvIdx,TrcvMode)控制以太网收发器Ethernet Transceiver的状态。

2)TrcvIdx,指的是上图中的Transceiver的Index,根据EthIf对以太网收发器的索引,进而能够找到收发器的索引号。

5.  以太网报文收发功能

5.1 报文发送功能

具备数据发送功能,提供接口给到上层应用来实现数据的正常发送

EthIf的报文发送功能分为两种模式,一种是Interrupt模式,另一种是Polling模式,Interrupt模式实时性高,一般会采用该模式满足实时性要求。

Polling模式

1)上层模块CDD或者TcpIp通过EthIf\_ProvideTxBuffer函数调用Eth\_ProvideTxBuffer向Eth Controller申请buffer发送以太帧。

2)当EthIf\_ProvideTxBuffer返回E\_OK,说明当前有空闲的Buffer可以用于发送报文。

EthIf模块使用EthIf\_Transmit接口用于发送报文。

1)EthIf的周期轮询任务EthIf\_MainFunctionTx调用Eth\_TxConfirmation函数触发发送确认。

2)EthIf模块通过配置参数EthIfTxConfirmationFunction找到回调函数,将确认结果发送上层。

3)只有发送TxConfirmation完成后,Eth的Buffer才能变成空闲状态,再次开始发送任务。

Interrupt模式

1)中断模式相对于Polling模式的区别在于,发送确认由Eth的中断触发回调EthIf\_TxConfirmation函数。

2)中断模式能够以更快的方式发送确认(中断速率远大于轮询),因此Eth Buffer能够以更快的速率发送报文。

3)中断模式适用于对以太报文发送实时性要求高的需求场景。

5.2 报文接收功能

具备数据接收功能,提供接口给到上层应用来实现数据的正常接收;

在autosar架构中,EthIf模块从Eth接收以太网帧,并将以太网帧转发至TcpIp或者Cdd模块。EthIf模块的数据接收功能可以分为Polling模式以及中断模式两种。

Polling模式

下图中展示的是Poling接收模式,在Polling接收模式下,需要使用到Ethif\_MainfunctionRx函数,在这个函数中使用EthIf\_RxIndication告知上层模块数据已经被成功接收。

这种模式下数据接收完全依赖于Ethif\_MainfunctionRx函数调度,报文接收速率比较低,该模式一般不使用。

*Interrupt模式*

下图展示的是Ethif模块中断接收数据功能,在该模式下可以看到Eth模块在收到报文后,会通过中断触发EthIf\_RxIndication告知上层数据已经被接收。

*5.3 EthIf对于以太帧报文的处理*

*5.3.1 Vlan Check*

EthIf在接收到以太帧后,根据以太帧的Vlan与EthIf配置的vlan进行比较,找到链接的Ethif Controller,并将Ethif Controller Index以及以太帧一起提供给上层模块。

用伪代码的形式表示如下:

*5.3.2 Frame Type Check*

EthIf可以接收多种类型的以太报文:Ipv4(Frame Type = 0x800),Arp(Frame Type = 0x806),Vlan报文(Frame Type =0x8000)。

EthIf模块对于每种以太帧可以配置对应的接收函数,定向将该以太帧传输至上层模块。

比如:为Ipv4配置的接收函数为TcpIp\_RxIndication,则EthIf仅将Ipv4报文传输至Tcpip模块处理。

用伪代码形式表示如下:

6.结语

本文主要说明了以太网硬件抽象模块EthIf如何实现对于以太网控制器,以太网收发器的抽象,以及EthIf模块对于硬件的状态控制功能,以太报文的收发功能。后续将会有文章详细描述Ethif在AUTOSAR中的配置。


End

「汽车电子嵌入式在CSDN上同步推出AUTOSAR精进之路专栏,本专栏每个模块完全按实际项目中开发及维护过程来详细介绍。模块核心概念介绍、实际需求描述、实际工程配置、特殊需求介绍及背后原理、实际工程使用经验总结。 目的是让读者看完每一个章节后能理解原理后根据需求完成一个模块的配置或者解决一个问题。」

点击文章最后左下角的阅读原文可以获取更多信息

或者复制如下链接到浏览器获取更多信息

https://blog.csdn.net/qq\_36056498/article/details/132125693

文末福利

1

.如需汽车电子嵌入式收集的学习文档,

后台回复“

资料

“即可免费下载;

2.为便于技术交流,创建了汽车电子嵌入式技术交流群,可尽情探讨AP,CP,DDS,SOME/IP等前沿热点话题,后台回复“加群”即可加入;


注:本文引用了一些第三方工具和文档,若有侵权,请联系作者删除!

推荐阅读

汽车电子嵌入式精彩文章汇总第一期:20210530-20230703

汽车电子嵌入式精彩文章汇总第2期

汽车电子嵌入式精彩文章汇总第3期

汽车电子嵌入式精彩文章汇总第4期

AUTOSAR项目实战(9) -CanTrcv模块配置实践

AUTOSAR架构下Multi-Core Com配置实战

TC3xx芯片看门狗复位的默认行为分析

AUTOSAR架构下TC3xx芯片是如何进行模式切换的

AUTOSAR架构下NvM\_ReadAll时间优化的实用方案(上)

AUTOSAR架构下NvM\_ReadAll无法退出问题分析

TC3xx芯片RAM监控机制的补充

TC3xx芯片RAM ECC错误软件调试

TC3xx芯片ROM ECC错误软件调试

内存分区设计及链接文件实现

AUTOSAR项目实战(10)-Alignment Error异常问题分析

AUTOSAR项目实战(11)-AUTOSAR OS MPU配置及调试

TC3xx芯片[Class 4, TIN 3] trap原因分享

CanSM何时设置BusOffDTC及常见BusOff内部原因总结

AUTOSAR架构下如何测试NvM的使用率

AUTOSAR架构下如何测量Task的周期和运行时间

EVADC功能安全需求及一些软硬件设计注意事项

AUTOSAR项目实战(12)-Can Driver模块配置使用实践

NvM实车问题分析-看基础扎实老司机如何快速定位问题

TC3xx芯片SMU FSP自检原理和实现

【功能安全】ESM[SW]:SMU:ALIVE\_ALARM\_TEST原理及具体实现

【功能安全】ESM[SW]:SYS:MCU\_FW\_CHECK原理及注意实现

LIN收发器TJA1021功耗过高问题分析

【功能安全】英飞凌TC3xx芯片LBIST实现原理

【车载以太网】Eth Stack Bringup

【车载以太网】AUTOSAR架构下EthTrcv实战详解

【车载以太网】AUTOSAR架构下TC3xx芯片是如何将一帧ETH报文发送出去的

【车载以太网】AUTOSAR架构下TC3xx芯片是如何将一帧ETH报文接收上来的


End

欢迎点赞,关注,转发,在看,您的每一次鼓励,都是我最大的动力!

汽车电子嵌入式

微信扫描二维码,关注我的公众号


【车载以太网】AUTOSAR-EthIf详解" 网络安全文章

【车载以太网】AUTOSAR-EthIf详解"

本文详细解析AUTOSAR架构中EthIf模块作为硬件抽象层的核心功能,包括对以太网控制器和收发器的抽象、索引与状态管理、以及报文收发的中断与轮询模式。关键结论是EthIf通过统一接口实现软硬件解耦,提升可移植性,支持多控制器和收发器并存。可操作建议是理解EthIf配置以优化车载以太网通信性能。
阿里云安全实习面经" 网络安全文章

阿里云安全实习面经"

本文为阿里云安全实习岗位的面经分享,但正文内容缺失,仅包含标题与图片占位符,未提供具体的面试题目、经验总结或技术细节,缺乏实际参考价值。
暗网快讯【20260727】178期" 网络安全文章

暗网快讯【20260727】178期"

本期暗网快讯汇总了多起数据泄露事件,涉及IMCOGroups、印度尼西亚政府、美国医疗企业等,泄露数据包括CCTV机密文件、员工记录、患者记录等。威胁行为者通过泄露论坛和暗网兜售数据,涵盖多个国家和行业。该资讯仅用于网络安全研究与威胁情报分析,不构成行动建议。
评论:0   参与:  0