本文主要是介绍车载以太网报文如何抓包?包括100BASE-T1/1000BASE-T1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这两年,100BASE-T1、1000BASE-T1车内的应用项目越来越多,包括各种传感器(摄像头、雷达、激光雷达等)以及连接这些传感器的ECU,以及连接主干网络的域控制器ECU;
当单体ECU测试验证后,再进行系统测试时,不可避免地要需要监控ECU和传感器、以及ECU之间的报文;
如果对于CAN、LIN总线来说,在原有网络上增加个节点很容易;但对于车载以太网,如何能够不丢包的抓取到网络里的全部报文,并且不对原有连接产生时延等影响?
下面是几个实现方案;
需求描述
这里举个例子,如下,ECU2 通过2个通道的100BASE-T1分别与Camera和ECU1相连接,下面的方案需要实现对2个通道的100BASE-T1能对个通道的100BASE-T1进行抓包?
方案1:使用Media Gateway(车载以太网媒体网关、交换机)抓包
工具名称:Media Gateway. 型号: TE-1100
工具简介:
- Media Gateway是1个带有12个端口100BASE-T1 Switch, 可以用作多端口的100BASE-T1转换器,以及报文镜像;
- Media Gateway上有3个RJ45口,以及一个SFP 扩展口,可以扩展100BASE-T1, 1000BASE-T1, RJ45口以及两个Media Gateway级联;
- Media Gateway可扩展5个CAN端口,实现CAN和以太网端口之间的报文转发;
实现原理:
- ECU2原来连接ECU1和Camera的端口分别通过Media Gateway再与ECU1和Camera相连接;报文经过Media Gateway这个交换机后自动转发到ECU1和Camera.
- 根据实际应用情况,建议使用VLAN或者Double VLAN;
方案优势:
- 通过Media Gateway,用户可以方便的进行报文镜像,获取到ECU2与ECU1和Camera之间的报文;
- 除了能够抓包报文,用户还可以方便的从电脑端对每个ECU以及Camera进行访问,比如SSH登录、ADB命令等;
方案缺点:
- 由于100BASE-T1报文需要经过Media Gateway这个交换机转发,转发过程中可能会引入一个时延,这个时延受报文大小、具体的T1端口有多少报文排队等影响,从而不是固定值;
总结:如果抓报文场合对于时延要求不高,那么选择Media Gateway会很灵活、方便;如果对时延要求高(AVB/TSN),那么建议用SPY Mini或者CM Eth/CM 100等通过FPGA实现的低时延方案;
图1:通过Media Gateway进行报文镜像
方案2:使用100BASE-T1 SPY Mini进行抓包
工具名称:100BASE-T1 SPY Mini. 型号: TE-1550
工具简介:
- 100BASE-T1 SPY Mini是一个通过FPGA实现100BASE-T1通信报文抓包的模块,这种抓包方案也叫TAP;
- 模块带有(4个)2对100BASE-T1 端口,可以同时抓包2个连接的100BASE-T1报文;抓到的报文可以带有40ns时间戳;
- 通过DIP Switch 拨码设置,它也可以被用作2个独立的100BASE-T1 Converter也就是百兆车载以太网转换器,实现100BASE-T1和100BASE-Tx的转换;
方案优势:
- 通过SPY Mini的FPGA方案进行报文抓包,对原有100BASE-T1通信时延最低,理论上150ns左右;
- 抓到的报文带有40ns时间戳,可以用于ECU或Camera的(报文转发)性能测试、时延测试等;
- SPY Mini可以既用作抓包工具,也用作转换器;但不能同时使用;
方案缺点
- 不能同时进行抓包,和ECU的交互,只能或者用于抓包,或者用于ECU交互(当做转换器)
- 如果要同时进行,可参考方案一的交换机方案,和方案三的Capture Module 的数据注入方案;
图2:通过SPY Mini进行报文抓包;
图3:SPY Mini被用作两个独立的100BASE-T1转换器
方案3:使用Capture Modules- CM Eth Combo进行抓包
工具名称:CM Eth Combo. 型号: TE-1715
工具简介:
- CM是In Vehicle Network Capture Modules简称,可实现车内网络报文(包括100/1000BASE-T1, CAN, LIN, Flexray等)时钟同步的报文捕获;
- 这个案例中,我们选择使用CM Eth Combo.
模块 | CM Eth Combo | CM 100 High | CM 1000 High | CM CAN Combo | CM LIN Combo |
与车内网络端 端口 | -100BASE-T1, x4 -1000BASE-T1, x2 | - 100BASE-T1, x12 | -1000BASE-T1, x12 | -CAN/CAN FD, x6 | -LIN, x10 |
配置端口 | -1000BASE-T, RJ45, x2 - 100BASE-T1, x1 | -1000BASE-T, RJ45,x3 - 100BASE-T1, x1 | -1000BASE-T, RJ45,x3 - 10Gb SFP, x1 | -1000BASE-T, RJ45, x1 -100BASE-T1, x1 | -1000BASE-T, RJ45, x1 -100BASE-T1, x1 |
功能 | - 基于FPGA方案 - 2个连接的100BASE-T1抓包; - 1个连接的1000BASE-T1抓包; - 抓包同时数据注入,与ECU交互等; |
- 6个连接的100BASE-T1抓包; - 抓包同时数据注入,与ECU交互等; |
- 6个连接的1000BASE-T1抓包; - 抓包同时数据注入,与ECU交互等; | - 6个端口的CAN, CAN FD报文收发, - CAN, CAN FD与以太网报文的转发 | - 10个端口的LIN报文收发(Slave) - LIN和以太网报文的转发 |
其他功能 | - CM 模块之间通过以太网进行级联,并且通过802.1AS进行时钟同步; - 报文可带有40ns时间戳; - 支持TECMP协议(兼容BMW PLP协议) - 快速启动,带有缓存,流整流等功能
|
方案优势:
- 通过CM Eth Combo进行抓包,对原有通信影响时延最低(理论上~150ns),抓包报文带有40ns时间戳;所以可以用于测时延、性能测试等;
- 抓包的同时,可以进行数据注入;比如抓包ECU1和ECU2之间报文的同时,还可以通过SSH, ADB等命令与ECU1和ECU2进行交互;
- 如果需要更多的通道,包括CAN, LIN, 100/1000BASE-T1等,不同的CM模块之间可以通过802.1AS进行时钟同步,这样报文的时间戳都是基于同一时钟;也可以和ECU进行时钟同步;
- CM模块启动时间很小(~100ms),启动之后就可以进行报文捕获,如果此时上位机电脑还没有启动完毕,CM模块会先把报文缓存下来,之后再发送到上位机;
- CM模块还有很多其他功能,详细的可以查询用户手册;
图4:通过CM Eth Combo进行2个连接的100BASE-T1抓包;
这篇关于车载以太网报文如何抓包?包括100BASE-T1/1000BASE-T1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!