电子说
01.
车载以太网的独特优势
1.1 多功能技术代替单一技术
传统CAN总线只能满足ECU特定的CAN协议,而以太网可作为雷达、摄像头等传感器验证,支持时间同步、音视频应用,甚至可兼容互联网基础数据。这就能说通为什么今天它在汽车行业处于完全爆发的状态了。
1.2 高速率与强突破性
车载以太网能在汽车领域普及主要是根据高速率和强突破性这两个特点。现在100M和1000M基本上被每个OEM都以这样那样的方式使用,或者计划使用。2.5G、5G、10G技术正在应势而生,很多厂家推出了对应工具。另外,从传统以太网到车载以太网转变也与EMC突破有关。
100BASE-TX无法具备EMC功能,100BASE-T1可以依据物理层转换技术,适配更便宜的电缆和连接器,进而解决不带屏蔽即可满足电磁兼容性的需求。所以说车载以太网突破性强,也是被广泛应用于汽车领域的重要原因之一。
02.
车载以太网技术解析
2.1 ISO/OSI参考模型
以太网协议模型支持结构成层以及重组和独立开发。在Internet Model中将5-7层进行合并,融合了数据链路层和物理层,共计四层;但考虑到功能描述的详细性,创建了五层模型,即在会话层、表示层、应用层合并为应用层的基础上,保留物理层和数据链路层。因此将五层模型定义为最佳协议模型,TCP/IP也采用了五层模型结构。
各层协议分布
2.2 物理层:传输方式与接口设计
与100BASE-TX相比,100BASE-T1只用一对非屏蔽双绞线(UTP线缆和专用连接器)开启全双工模式,成本、重量和电磁兼容性更高。用汽车专用接口MQS/MATENET/HMTD来替代传统RJ45数水晶头,编码方式也由PAM3代替了PAM5,将逻辑的-1,0,1转化为在双绞线上的电压。
2.3 数据链路层:以太网帧结构
以太网帧结构如上图,由目标MAC地址、源MAC地址、帧类型、IP数据包和校验值构成。在抓包过程中目的MAC地址和源MAC地址已经被解析出来,报过帧类型也可以在wireshark工具中查看到。
以太网最大帧:6+6+2+1500+4=1518字节
以太网最小帧:6+6+2+46+4=64字节
基于CRC32的FCS (Frame Check Sequence),如果接收到错误FCS的以太网帧,该帧被丢弃
VLAN Tag的EtherType为0x8100;VLAN ID (VID)作为VLAN的唯一ID
2.4 网络层:以太网IP路由配置
路由:当IP数据报文的源设备和目的设备不在同一网络中时,数据报文必须使用中间系统转发,这一过程被称为路由。IP地址是数据包传输系统的一个重要组成部分。
IP路由转发过程示例:
目的网络/掩码 | 出接口 | 下一跳 |
10.1.1.0/24 | GE0/0/0 | 1.1.1.2 |
路由配置遵循的规则:
最长匹配原则:选择掩码最长的条目
路由优先级(根据协议来):Dreect—0;OSPF—10;Static—60;RIP—100
路由度量:Cost越小越好
2.5 应用层:SOME/IP协议
SOME/IP主要为应用层提供API接口,创建CS接口,通过TCP/IP协议进行通信。而SOME/IP的访问方式分为三种,分别是事件通知,远程过程调用和访问进程数据。
事件通知:与传统的CAN通信类似,服务端周期性或者事件变化事件向客户端发送特定的数据。
远程过程调用:是当客户端有请求的时候,向服务端发送请求命令,服务端解析命令,并作出相应的响应。
访问进程数据:可以使客户面向服务器写入(Setter)或者读取(Getter)数据。
数据格式如下:
03.
车载以太网应用场景
3.1 点对点转换:实现高效数据传输
通过车载以太网转换器实现1000BASE-T1与1000BASE-TX在物理层点对点的转换,并且不存储和修改任何数据包。还可以进行ECU开发、程序改编、诊断测试等服务,让工程师拥有便捷的测试工具。
3.2 端口镜像:记录与仿真的重要手段
端口镜像将指定源的报文复制一份到目的端口。一般是在不影响网络通讯的情况下,将源数据进行复制,通过观察端口发送到监控设备上,进而判断网络中运行是否正常。
Switch_1-P2:为源报文数据流经端口
S3P8:为目的端口,也称观察端口
原理:PC可以通过RJ45用接口线接入,远程配置交换机内部端口镜像功能,进而记录Switch_1-P2到Switch_3-P0的流量,进行诊断分析和仿真测试。
3.3 MACsec通信验证:保证数据安全性
随着车辆内ECU数量、数据传输以及内部连接性越大,暴露在网络攻击中的风险越大,MACsec技术是必然产物。MACsec称为媒体访问控制安全,是IEEE针对MAC层提出的标准化安全解决方案,提供无连接的用户数据保密性、帧数据完整性和数据源真实性。
带有MACsec技术的硬件可以解密高速MACsec流量并记录,检查ECU上的MACsec实施情况。
04.
车载以太网实践经验分享
4.1 通讯协议栈设计
协议栈支撑ECU在车内使用不同协议来交换数据,不同的OEM会有不同的选择,因此在开发过程中也带来了新的问题。如果主机厂用了新的协议,没有人实际测试过它,那么实现的质量就会降低,并且测试开发需要时间与人力成本。如果试图获得流畅的以太网SOP,建议选择已经成熟的协议栈,尽可能与主流保持一致,不要在协议栈上竞争。
4.2 网关的必要性
在引入互联网时,我们就明白从传统的总线到以太网通讯类型有着很大的区别。因此在每个主机厂的设计中,都会发现gateway的存在。
把传统总线连到以太网系统中有3种方案:
1.通过应用层网关,在应用程序中直接转换信息;
2.将总线数据放置于包进行封装,以服务传输,例如SOMEIP服务;
3.直接用UDP来传输CAN等数据。
无论选取哪一种,网关都需要翻译大量数据,这限制了网关的可扩展性;另外,两个协议之间搭建桥梁,也需要处理很多问题,包括一些安全性指标等。因此,我们需要尽可能简化网关,提高网关的可扩展性。
4.3 网络设计
理想情况下,我们可以自动协商百兆、千兆、万兆,甚至可以降低为1bit。但实际想一下,现有一个800M的数据流,传入到100M的链路,不同速度等级让我们不得不谨慎,因为这会导致网络处于危险之中。有些交换机可能会丢弃数据包,或者链路速率较快传入较慢链路中会丢失数据。这就是为什么在网络设计中你必须做些什么来处理不同链接速度。
为此,我们可以将网络分成更小的单元,使用VLAN、组播等,防止不必要的数据量传入。还可以在交换机进行流量整形,监控流量防止网络被滥用。优化设计网络拓扑等等。
总之,在车载以太网的道路上我们还需要更多的技术挖掘与经验积累,尽管在应用中存在了一些困难和挑战,但伴随着行业创新,这些问题都会迎刃而解,让汽车电子技术愈演愈烈。
全部0条评论
快来发表一下你的评论吧 !