Classic Autosar下的以太网通信架构概览

前言
为了让汽车更加智能,智能网联和智能驾驶功能喷涌而出。满足这些需求,就对传统的以can通信为核心的电子电器架构带来严峻的考验。对网络负载,传输速率等方面都提出了更为严格的挑战。同时,随着汽车电动化进程的加速推进,人们对汽车音视频系统的需求越来越高,外部电子产品控制车辆以及彼此交互的场景不断扩大,对网络带宽也提出了更大的挑战。由此,车载以太网应运而生。以太网的首要优势在于支持多种网络介质,同时物理介质与协议无关,因此以太网可以在汽车领域做相应的调整与拓展,形成完整的车载以太网协议。本文简要介绍classic autosar下的以太网通信架构。
1.autosar中以太网功能架构概览
在classic autosar架构体系下,以太网功能业务涉及大量模块。
1)someip业务相关的模块:eth,ethif,tcpip,soad,pdur,someipxf,ldcom,rte。
2)soemipsd业务相关的模块:eth,ethif,tcpip,soad,sd,bswm。
3)doip诊断业务相关的模块:eth,ethif,tcpip,soad,doip,pdur,dcm。
4)网络管理状态处理业务相关的模块:tcpip,ethif,nm,comm,udpnm。
上述模块共同协作,完成了基于以太网的someip,服务发现,网络管理,诊断 四大功能。
cp以太网模块架构图
2.cp以太网模块与以太网协议
以太网是一种使用十分广泛的协议,由标准的七层架构组成,但cp中的以太网其实仅用了5层协议,那么cp 以太网的模块是如何与以太网协议形成对应的呢?
车载以太网分层协议架构图
以太网第一层是物理层,既可以理解为硬件层,在mcu的软硬件系统中由phy芯片完成。phy芯片能对模拟信号与数字信号进行转换,接收报文时,将模拟信号转换成数字信号给mcu芯片处理;发送报文时,将数字信号转换成模拟信号发送至以太网总线上。
  以太网第二层是数据链路层。链路层即mac层,规定了数据帧能被网卡接收的条件,最常见的方式是利用利用网卡的 mac 地址,发送方会在欲发送的数据帧的首部加上接收方网卡的 mac 地址信息,接收方只有监听到属于自己的 mac 地址信息后,才会去接收并处理该数据。在cp中,位于mcal层的eth模块实现了mac功能,即对于对端与本地mac地址的处理。
  以太网第三层是网络层。每一台搭载了以太网的ecu都需要定义ip地址,主机的网络地址该如何定义,以及如何在网络地址和 mac 地址之间进行映射,即 arp 协议;网络层实现了数据包在ecu之间的传递。网络层的功能由tcpip模块完成。
  以太网第四层是传输层。传输层主要是实现udp以及tcp协议功能,在一个ecu内可能存在不同的应用程序,这些程序可能会使用到不同的ip地址,那么传输层就能区分数据包是属于哪个应用程序的,即传输层可以实现数据包端到端的传递,即ecu1的应用程序至ecu2的应用程序。传输层的功能由tcpip模块完成。
  someip,someipsd,doip位于以太第五层应用层:someip协议,,someipsd协议,doip协议本质上是规定了对网络层传递的数据的处理,适应了不同的应用场景。在cp中,实际上soad,sd,doip,soemipxf都是在实现应用层功能。
3.以太网架构完成的主要功能
3.1 someip业务报文收发
someip报文收发架构图
1)swc通过rte接口将数据传递至rte中。
2)rte通过使用someipxf的功能实现序列化,即将swc输出的结构体数据序列化为字节流信号。
3)ldcom模块位于rte与pdur之间的模块,负责将rte中的字节流信号转换成pdu数据传递给pdur。
4)pdur模块作为cp中最重要的路由模块,能实现模块与模块之间的pdu路由,在someip架构中,以太网通信一定要经过soad模块,因此pdur实现了以太pdu数据在ldcom与soad之间的路由。
5) 在上述模块中,someip数据本质上还是以pdu的形式进行传递,但是以太网是以套节字(包括本地ip地址,远程ip地址,本地port,远程port,udp/tcp协议)为基础的通信。soad实现了在基于pdu的 autosar通信服务模块和基于socket的tcp/ip堆栈之间创建一个链接。为pdu选择合适套接字进行报文的发送或者接收。
6)在someip报文发送链路中,tcpip模块会为以太网报文增加链路层,网络层,传输层的报文头,链路层:本地的mac地址以及对端的mac地址。网络层:本地的ip地址,对端的ip地址,传输层:本地的port,对端的port,tcp/udp协议。
3.2 服务发现someipsd报文收发
someipsd报文收发架构图
1)对于soemipsd服务发现报文的发送与接收,依然会用到soad,tcpip,ethif,eth模块,这些模块属于公共模块,无论是doip,sd还是someip都会用到这些模块做基础数据传输。
2)服务发现报文作为格式固定的报文数据,不需要用户自定义payload,直接发送至sd模块进行处理,不需要通过pdur,ldcom等模块。
3)sd在收到someipsd服务发现报文之后,通过内部的协议计算,对soad的以太网发送进行实时控制。
3.3 基于以太网的诊断报文收发
以太网诊断报文收发架构图
1)诊断仪或者作为诊断client端的ecu发送的基于以太的诊断报文通过switch能够转发至对应ecu中。
2)在诊断报文的收发中,soad,tcpip.ethif,eth作为公共模块,完成数据链路层以及传输层的报文接收与发送任务。
3)doip模块基于以太网的通讯协议对uds数据进行传输,主要实现的基于iso13400中规定的协议功能。在doip模块收到soad模块的诊断报文后,会将诊断报文解析成对应指令通过pdur传输至dcm中,dcm对该诊断指令进行处理(比如11复位指令)。注意:因为pdur可以支持跨核信号路由,因此dcm可以与以太栈(eth,tcpip等)位于不同的核。
4)同时,doip具有与sd模块一样的功能,能对soad模块中套接字进行控制,从而达到控制doip发送开关的效果。
3.4 以太网的网络管理状态处理
以太网网络管理架构图
1)基于以太网的网络管理功能由两部分模块组成,第一部分:以太栈基础模块soad,tcpip,ethif,eth模块,这部分基本模块完成以太报文接收发送基本功能。第二部分:comm,nm,ethsm,udpnm,这部分是autosar中管理栈的模块,完成通信状态的管理。
2)udpnm网络管理模块nm和 tcpip之间的适配层,主要用于管理nm集群中nm节点的网络管理状态机。udpnm模块的功能与cannm类似,cannm管理的是基于can的nm节点的网络管理状态机,而udpnm管理的是基于udp的nm节点的网络管理状态机。
3)udpnm在解析完nm报文并且处理网络管理状态机后,将控制指令通过nm模块传输至comm模块,最终通过ethsm模块控制tcpip以及ethif模块,从而达到控制以太报文收发开关的效果。
注意:
对于仅基于can的网络管理电器架构,如果需要对以太的报文收发进行控制。需要通过bswm或者swc基于can的网络管理状态,向comm模块请求对应以太网通道的网络管理状态。


戴尔以科技创新赋能摄影创作,与摄影师共创艺术之美
三星Note10和Note10Plus官方渲染图曝光
未来机器人会成为我们日常生活的一部分吗
整流滤波电路图及仿真结果
法国总统预测未来人工智能将危机到法国的民主?
Classic Autosar下的以太网通信架构概览
航顺性价比最高的爆款产品:0.1美金-HK32F030M/0301M家族
Linux牛X简史:Linux是如何开发出来的?
常见的液体冷却方式有哪些 数据中心浸没式液冷技术优势分析
5G赋能的价值逐步显现
创新科技再发力 智能汽车年会东软满载而归
研究人员研发出纤维OLED 可用于可穿戴显示设备且性能不会降低
《七彩三安》202306刊精选
深圳超声波焊接机有哪些主要部分组成?
华域麦格纳顺利通过DEKRA德凯ISO 26262 ASIL-D流程认证
带有片上电缆终端的多协议收发器LTC®1546
静压式管网流量监测仪
轿车总成件制造企业华达科技发布2022第一季度报告
浅谈电瓶修复技术:电池的‘焊’要点是怎样的
泰克示波器的应用之时频域信号分析技术