中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 304查看
  • 0回复

[模块网络] 如何提高车载以太网性能?

[复制链接]


该用户从未签到

发表于 19-3-2025 20:41:37 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


前言

本文思维大纲如下:

如何提高车载以太网性能?w1.jpg

在车载以太网开发过程中,我们最为常见的应用层协议主要是SOMEIP与DOIP两大类协议,其中SOMEIP协议作为实现SOA架构的一种重要实现手段被广泛应用,DOIP协议则针对大文件的刷写场景,大大提高了刷写效率。

特别对于SOMEIP协议作为涉及到整个系统多方交互的重要协议,随着域集中式不断发展,其通信带宽瓶颈也是日趋紧张, 这里指的通信带宽瓶颈更多的指的是SOMEIP应用的最大吞吐量,最大吞吐量的计算可以参考小T之前的文章《车载以太网性能还能这样测!》有着更为详解的说明与测试方法。只要最大吞吐量提高了,那么车载以太网带宽利用率也就上去了,通信带宽瓶颈问题也就能够解决。

本文主要聚焦如何进一步提高基于SOMEIP应用的整体车载以太网性能,目前主要从如下几个方面进行展开优化,以便能够大大提高车载以太网性能:

    物理层优化;

    数据链路层优化;

    网络层优化;

    传输层优化;

    SOMEIP应用层优化;

如何提高车载以太网性能?w2.jpg
1. 物理层优化方向

1.1 提高物理层通信带宽能力

我们都知道车载以太网的PHY需要与对应的MAC层速率相匹配,如果MAC最大通信速率仅为100Mbps,那么其与之匹配的物理层芯片PHY最大仅需满足100Mbps即可。

如果MAC层最大支持1000Mbps,那么此时的PHY则同步需要设置成1000Mbps,才能够大大提高物理层通信带宽能力。

当前需要注意的是在整车情况下,如果ECU A设置成1000Mbps,但是对手件仅为100Mbps,在使能自协商的前提下那么最终协调的通信速率将仅为100Mbps,则大大降低了整个系统的通信带宽。

因此,对于整车以太网设计而言,应当针对通信数据需求场景,合理的设计好通信带宽,无需过多,够用即可。如果一味的追求高带宽而不考虑应用场景的需求,那么就会无形中增加成本,对产品竞争力造成影响。

如下图所示为几种不同通信速率下的MAC与PHY芯片的组合场景:

如何提高车载以太网性能?w3.jpg


    车载以太网MAC层与PHY层两者通信速率要确保设置一致,最大通信速率取决于MAC层与PHY层之间共同能够达到的最大值;

    一般对于整车通信而言,为了减少车载以太网通信双方Linkup时间,一般都会关闭自协商,统一强制设置好Master与Slave,通信速率以及双工模式等;
2. 数据链路层(MAC)优化方向

2.1 使能DMA传输

以英飞凌TC3XX芯片为例,其芯片内部的Eth MAC层存在DMA机制,该DMA完全处于Eth控制器内部,与外部的DMA无关,通过使能多通道DMA机制,可以大大提高通信速率并确保高优先级报文能够优先发送。

Tx DMA通道及优先级配置:

如何提高车载以太网性能?w4.jpg

如何提高车载以太网性能?w5.jpg

Rx DMA通道及优先级配置:

如何提高车载以太网性能?w6.jpg

如何提高车载以太网性能?w7.jpg

2.2 设置硬件最大传输效率

以英飞凌TC3XX芯片为例,看看如何修改并设定MAC层最大通信速率,其他芯片类似,可调整设定成最大传输效率1000Mbps,即1Gbps:

如何提高车载以太网性能?w8.jpg

如何提高车载以太网性能?w9.jpg

如何提高车载以太网性能?w10.jpg

3. 网络层(IP)优化方向

3.1 使能硬件CRC计算

对于网络层我们发送数据是需要需要针对IP层数据进行组包同时需要进行CRC计算,我们知道如果包较长的话,那么CRC耗时就会变长,当前英飞凌TC3XX系列芯片MAC层支持IP层硬件CRC计算功能,这样IP层软件层的CRC可以不用计算,直接在MAC硬件中直接计算即可。

在AUTOSAR Eth Driver 规范中就有关于CRC Offloading的这种软件需求,如下图所示:

如何提高车载以太网性能?w11.jpg

如何提高车载以太网性能?w12.jpg

英飞凌TC3XX系列Eth Driver中的CRC Offloading使能配置如下:

如何提高车载以太网性能?w13.jpg

在使能底层MAC硬件自身的CRC计算能力之后,软件层的TCP/IP协议栈各协议层的CRC计算也需要关闭掉,否则就无法真正发挥底层硬件的功能了,如下所示:

如何提高车载以太网性能?w14.jpg

注意事项:使能其中一个时,四个均需要同时使能,这个可能是硬件特性导致,也是跟AUTOSAR规范有些偏差的地方,不过为了提高性能,全部使能也没啥大问题。
4. 传输层(TCP/UDP)优化方向

4.1 减少数据拷贝

对于TCP或者UDP层可能会存在一些数据拷贝的地方,针对这些数据拷贝,一般会有如下两种思路:

    是不是必须要数据拷贝,有没有零拷贝方案,因为对于以太网这种上千字节的拷贝是很花时间的,应该尽可能做到零拷贝,除了必要的组包跟解包以外;

    如果无法避免数据拷贝,需要考虑源地址与目标地址是否在CPU取值效率最高的地方,比如TC397的DSPR就会比LMU区域快很多,因尽可能将源地址与目标地址均放入到DSPR中;

    如果无法避免数据拷贝,看看是否可以采用单指令多操作数方式(SIMD)方式来实现Memcpy动作,应该也在一定程度上能够加速数据拷贝。

4.2 使能硬件CRC计算

同3.1小节,一并使能TCP以及UDP报文的硬件CRC计算功能,关闭软件CRC计算特性,这样CPU就可以做更多的事情,也不会接收到无效报文的中断。

如何提高车载以太网性能?w15.jpg

5. SOMEIP应用层优化方向

5.1 优化序列化算法

SOMEIP应用中有一个必须要做的步骤就是序列化,但是我们都知道对于SOMEIP而言,特别是报文长度达到1400左右个字节的时候,序列化所花费的时间就会非常长,因此需要优化序列化算法,一般可以从如下几个方面入手进行优化:

    优化内存对齐方式,这个需要结合芯片架构特性来决定,比如当前MCU为32bit,那么采用4字节对齐则更为合适,采用1字节对齐则会增加系统处理时间,影响序列化效率;

    采用更为高效的序列化算法,如Protobuf或者Nanopb等方式来进行序列化,能够在某种程度上提高序列化水平,同时能够实现跨平台的数据解析功能;

5.2 采用结构体对齐方式序列化

    不进行SOMIP特有的序列化,采用结构体对齐的方式来进行序列化,不过这个对于结构体的良好设计会有些要求,当然也会增加较多填充字符,影响每次传输过程中的有效带宽;

-end-

分享不易,恳请点个【👍】和【在看】


该用户从未签到

发表于 19-3-2025 21:12:00 | 显示全部楼层
针对提高车载以太网性能,特别是SOMEIP协议的通信带宽瓶颈问题,我们可以从以下几个方面进行改进:

一、优化协议设计:对SOMEIP协议进行精细化设计,减少冗余信息,提高传输效率。

二、硬件升级:提升车载以太网硬件性能,如采用更高性能的交换机、路由器等网络设备,增强数据处理能力。

三、软件优化:采用流量控制、拥塞避免等网络技术,提高网络系统的整体性能。

四、采用新技术:研究并应用新的网络技术,如软件定义网络(SDN)、网络功能虚拟化(NFV)等,以进一步提升车载以太网性能。

通过以上措施,可以有效提高车载以太网性能,满足不断增长的通信需求。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 19-3-2025 21:12:00 | 显示全部楼层
以下是我的回复:

关于提高车载以太网性能,尤其是针对SOMEIP协议通信带宽瓶颈的问题,我们可以从以下几个方面进行优化:

一、采用更高效的编码和传输技术,减少数据传输的冗余和延迟。

二、优化网络架构设计,比如采用分布式网络架构,以提高系统的吞吐量和响应速度。

三、提高硬件性能,比如提升处理器的运算能力和网络的带宽,以应对日益增长的通信需求。

四、实施流量管理和调度策略,合理分配网络资源,确保关键业务的数据传输优先进行。

五、加强网络安全防护,确保数据传输的安全性和稳定性。

通过以上的措施,我们可以有效提高车载以太网性能,满足系统日益增长的数据传输需求。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 19-3-2025 21:12:00 | 显示全部楼层
以下是我专业的回复:

针对车载以太网性能提升,特别关注SOMEIP协议性能的优化是关键。由于SOMEIP协议涉及系统多方交互,随着域集中式发展,通信带宽瓶颈日益显著。为提高SOMEIP协议的最大吞吐量,我们可以从以下几个方面入手:优化数据传输机制,改进数据包处理流程,减少通信延迟和错误率;运用先进的编码技术提升数据传输效率;对硬件平台进行升级,如提升处理器性能,增加内存带宽等。同时,结合DOIP协议在大文件刷写场景的应用,提升刷写效率,进一步改善车载以太网性能。参考相关测试方法并进行持续的测试和优化是实现性能提升的必要步骤。通过这些措施,车载以太网性能将得到显著提升。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 19-3-2025 21:12:00 | 显示全部楼层
针对提高车载以太网性能,特别是SOMEIP协议的通信带宽瓶颈问题,我们可以从以下几个方面进行改进:

一、优化协议设计:对SOMEIP协议进行精细化设计,减少冗余信息,提高传输效率。

二、硬件升级:提升车载以太网硬件性能,如采用更高性能的交换机、路由器等网络设备。

三、流量管理策略:实施有效的流量管理策略,如QoS 保证关键业务的优先处理,避免网络拥塞。

四、软件优化:对车载系统软件进行优化,如优化数据处理算法,减少处理延迟。

五、测试与评估:定期进行性能测试与评估,确保系统性能持续优化,满足不断增长的需求。

通过综合应用以上措施,可以有效提高车载以太网性能,解决SOMEIP协议的通信带宽瓶颈问题。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 19-3-2025 21:12:00 | 显示全部楼层
针对提高车载以太网性能,特别是SOMEIP协议的通信带宽瓶颈问题,我们可以从以下几个方面进行改进:

一、优化协议设计:对SOMEIP协议进行精细化设计,减少冗余信息,提高传输效率。

二、硬件升级:提升车载以太网硬件性能,如采用更高性能的交换机、路由器等网络设备,增加带宽和数据处理能力。

三、软件优化:改进网络软件的算法和架构,提高数据处理速度和实时性。

四、应用层压缩技术:采用应用层数据压缩技术,减少数据传输量,间接提高通信带宽。

五、负载均衡:通过合理的负载均衡策略,优化网络流量分布,缓解通信带宽压力。

综上所述,通过协议优化、硬件升级、软件优化、应用层压缩技术及负载均衡等措施,可以有效提高车载以太网性能,满足日益增长的系统需求。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 13-7-2025 07:51 , Processed in 0.349348 second(s), 40 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.