车载以太网简介
Posted 四季帆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了车载以太网简介相关的知识,希望对你有一定的参考价值。
1. 汽车为什么拥抱以太网
从总线技术来说,我们现在车上的总线包括CAN/FD、Flexray、MOST、LIN等,然后现在又加入了新的成员以太网。
以太网的优势在于:
带宽高、可扩展强
基于星型的拓扑结构
随着趋势的发展,成本会越来越低
当前主要应用于娱乐系统和ADAS,主要用于音视频传输
对于带宽要求高的各种传感器,特别是激光雷达和高分辨摄像头必须使用以太网传输数据,节省LVDS总线成本。
车载以太网与传统以太网相比,车载以太网仅需要使用1对双绞线,而传统以太网则需要多对,线束较多。
同时,传统以太网一般使用RJ45连接器连接,而车载以太网并未指定特定的连接器,连接方式更为灵活小巧,能够大大减轻线束重量。除此以外,车载以太网物理层需满足车载环境下更为严格的EMC要求,虽然车载以太网只采用单对差分电压传输的双绞线,但是100M/s以太网可以通过回音消除技术来实现全双工通信。
2. 以太网帧结构
下图是一张以太网帧的结构图。这个结构图很清晰地描述了整个以太网帧每个部分组成。
上图中的前导码和帧开始符主要做一些底层的数据传输和编码流的二进制流,它们本身不会被网卡捕获,网卡一般抓包的时候就已经将前导码跟帧开始符解析掉了。
还有帧后面的校验码,其主要是通过CRC校验判断帧是否有效或者发生篡改或错误,当网卡能收到数据帧并通过抓包工具可以抓到的,就说明该帧没有问题,是有效的,当帧是有效的后,就说明CRC就已经解析掉了。
P数据包里面,有46~1500 字节的长度约束。这不是由ECU决定的。在我们使用的设备中,会有一个最大传输单元(MTU)、MTU一般默认是1518个字节,这就导致IP数据包最多只有1500个字节。
以太网单个最大帧:6(目的MAC)+ 6(源MAC)+ 2(帧类型)+ 1500(IP数据包)+ 4(CRC校验)=1518字节,如果带VLAN就是1522字节(VLAN会多出四个字节的帧类型描述)
以太网最小帧:6(目的MAC)+6(源MAC)+2(帧类型)+46(IP数据包)+4(CRC校验)=64字节
常见的以太网帧类型:
0x0800:IPv4
0x0806:ARP
0x22F0:AVTP
0x8100:VLAN Tag(TPID)
0x86DD:IPv6
0x88F7:PTP / gPTP
接下来我们对以太网帧进行更详细的分析
从上图可以看到,当我们使用SOME/IP协议时,SOME/IP报文是封装在TCP、UDP报文里,然后把它加一个报头,扔到IP层的Payload中,IP层添加报头后,再分装到IP数据包中,一层一层分工。
当对方接收到后,相应的就是去除包头,解析SOME/IP中的Payload。
3. 以太网的通信交互案例
3.1 以太网的二层通信
下图所示为一个Switch的组网,Switch上有四个PHY的接口,每个PHY的接口分别连了一个ECU,每个ECU都有自己的MAC地址,如AA:BB:CC:DD:EE:01等。这四个ECU分成两个VLAN,左边两个ECU在VLAN1中,右边两个ECU是在VLAN2中。
在同一个VLAN(虚拟局域网)里面是可以进行二层通信的,不在同一个VLAN的主机是不能二层通信(如EE:01 与 EE:02 是不能进行通信的),需要注意的是,二层通信本质上是跟IP地址没有关系的,因为二层的通信属于MAC寻址。无非是从一个ECU的MAC到另外一个ECU的MAC进行寻址。
3.2 以太网的三层通信
三层通信是指跨网或者跨VLAN进行通信时,需要通过路由器或者带有路由功能的设备实现IP报文转发。如下图所示为以太网三层通信的示例。
上述中,192.168.1.x 是一个网段 Network A ,192.168.2.x 是一个网段 Network B。这两个网段之间通过一个路由器进行路由转换。
如下图所示,当192.168.1.10 与 192.168.1.20 进行通信时,是不需要经过路由器的,通过Switch就可以进行通信。他们本身就是在一个局域网里面的,不需要经过路由器进行三层转发,因为他们本身没有跨网段。
但是,当192.168.1.10 (Network A 中的)与 192.168.2.10 (Network B 中的)进行通信时, 192.168.1.10 会将报文发送给它的缺省网关 192.168.1.1,192.168.1.1 收到报文后,它会识别其有一个直连的路由 192.168.2.1,然后便会知道需将报文发送给Network B,这个时候这个报文就会送到192.168.2.10 。返回来类似。
SOME/IP的报文就是网卡实际发的帧吗,少了点什么?
答:缺少CRC,如果CRC校验失败,网卡会直接丢弃,能抓到的报文都是校验过的,已经剥离CRC
4.SOME IP
在CAN总线的车载网络中,通信过程是面向信号的,当ECU的信号的值发生了改变,或者发送周期到了,就会发送消息,而不考虑接收者是否需要,这样就会造成总线上出现不必要的信息,占用了带宽;
而SOME/IP的出现就是为了解决这一问题,它和CAN网络发送机制不同,它是接收者有需要时才会发送,避免了无效信息对总线造成的影响;
既然SOME/IP是一种提供服务的通信协议,我们就可以把请求服务的ECU看成是client,而提供服务的ECU就是server。
以上是关于车载以太网简介的主要内容,如果未能解决你的问题,请参考以下文章