高效的以太网网络分析窗口Protocol Monitor详解

描述

车载以太网在当今现代车辆中担任着至关重要的角色,为各种关键功能和服务提供支持。随着车辆网络的不断发展,大规模以太网的部署使得网络拓扑变得更加复杂,数据格式和协议也变得更加多样,数据流量也变得更加庞大。这些复杂性给车载以太网络的分析带来了严峻的挑战。专业的分析工具,可以让开发和测试人员更为轻松地应对挑战。

CANoe/CANalyzer提供了“Protocol Monitor”分析窗口,可帮助用户从大量的流量信息中快速获取“Who talks to whom about what”的内容。Protocol Monitor具备以下主要特性:

根据网络流量建立协议层次模型

提供协议端点及其连接的可视化视图

支持多种协议

灵活的过滤功能

强大的搜索功能

01Protocol Monitor vs Trace Window

Trace Window通常更侧重于分析数据,如图1所示。当观察到一条以太网帧时,Trace Window将其列为新事件并以文本行的形式显示出来,其中Detail View可以显示所有细节,但无法直观地获取通信的端点信息以及报文之间的关系。相比之下,Protocol Monitor可以将这条以太网帧按照Ethernet|IPv4|UDP|SOME/IP的分层结构,逐层显示通信的端点和连接,提供更为清晰的层次化协议信息。

CANoe

图1:Protocol Monitor vs Trace Window

02Protocol Monitor重要概念介绍

Endpoint(端点)

协议信息从一个源端传输到一个目的端,源端和目的端都称为端点(Endpoint)。每个协议层都有相应的端点,并且端点之间存在嵌套关系,对应于协议层级的依赖关系。

Connection(连接)

连接表示两个端点之间的通信。一个连接包含一个发起者(Initiator)和一个接收者(Addressee),角色分配由连接中观测到的第一帧来决定,第一帧的源地址自动成为连接的发起者,目的地址则自动成为连接的接收者。

Network Node(网络节点)

一个网络节点对应一个ECU,节点通常包括一个或多个端点。

Network(网络)

网络是一个广播域内能互相连通的端点的组合,可通过物理网络(如以太网)和虚拟网络(如VLAN)划分。

CANoe

图2:重要概念

03Protocol Monitor用户界面介绍

Diagram View

Diagram View使用图形的方式显示网络通信。不同颜色的方块表示不同协议层级中的端点,箭头则表示各端点之间的连接及通信方向。

Endpoints View

Endpoints View以树形结构显示实时通信的端点。用户可以根据端点所属的网络节点或网络进行分组,并根据需要设置过滤器。

Detail View

Detail View可以显示当前选中元素的更多详细信息。

Connections View

Connections View以列表形式显示所有连接的信息。用户可以根据需要设置过滤器。

CANoe

图3:用户界面

04典型应用案例:SOME/IP通信分析

以CANoe自带的示例工程“SOMEIPBasicAutosar.cfg”为例,说明如何通过Protocol Monitor有针对性地对SOME/IP通信进行分析。

首先,点击Analysis| Protocol Monitor以激活Protocol Monitor窗口,然后运行CANoe工程,即可通过Protocol Monitor快速解决如下问题:

问题:如何查看节点ADAS的MAC地址、IP地址、传输层端口等信息?

- 解决方法:

打开Endpoints View窗口,在列表中找到节点ADAS,如图4所示。

查看其MAC地址:MAC地址为020001:04。

查看其IP地址:IP地址为192.168.3.4。

查看其传输层端口:传输层端口为UDP:30490和UDP:30500。

CANoe

图4:ADAS节点信息

问题:哪些节点通过SOME/IP进行通信?

- 解决方法:

在Endpoints View窗口的左上角,找到“Filter”(过滤器)。点击Filter进行过滤设置,确保仅勾选了Application->SOME/IP。

在Diagram View窗口中,可以看到一个可视化的节点图表,如图5所示,显示所有通过SOME/IP通信的节点以及它们的端点之间的连接关系。

CANoe

图5:SOME/IP通信节点

问题:谁是服务“sif_2001”的提供者和消费者?

- 解决方法:

在Diagram View窗口中,点击工具栏上的搜索框

在搜索框中输入文本“sif_2001”,查找与服务“sif_2001”相关的内容。

双击Type为Endpoint的[Offers]所在行,如图6所示,在Detail View窗口可以看到服务“sif_2001”的提供者为CAMF。

双击Type为Endpoint的[Subscriptions]所在行,如图7所示,在Detail View窗口可以看到服务“sif_2001”的消费者为ADAS。

CANoe

图6:服务sif_2001的提供者(Text Search)

CANoe

图7:服务sif_2001的消费者(Text Search)

- 解决方法2:

在Diagram View窗口中,点击工具栏上的搜索框

点击搜索框上设置按钮,激活Extended Mode。

写入文本“Offers~sif_2001 OR Subscriptions~sif_2001”,查找服务“sif_2001”的提供者或消费者。

双击Type为Endpoint的[Offers]所在行,如图8所示,在Detail View窗口可以看到服务“sif_2001”的提供者为CAMF。

双击Type为Endpoint的[Subscriptions]所在行,如图9所示,在Detail View窗口可以看到服务“sif_2001”的消费者为ADAS。

CANoe

图8:服务sif_2001的提供者(PMQL)

CANoe

图9:服务sif_2001的消费者(PMQL)

问题:节点ADAS订阅了节点CAMF的哪些服务?

- 解决方法:

在Connections View中,点击位于左侧边缘的分割器以展开Stop and Pass Filter区域。

在Stop and Pass Filter区域添加Pass Filter,并命名为“ADAS<->CAMF”。

选择刚添加的过滤器“ADAS<->CAMF”,之后点击图标以添加一个AND条件。

选择刚添加的AND条件行,之后点击图标,添加两个Property Condition,分别设置条件为”Initiator Node = ADAS”以及”Addressee Node = CAMF”。

激活过滤器后,选中搜索结果,如图10所示,即可在Detail View窗口看到ADAS订阅的CAMF的服务为sif_2001。

CANoe

图10:ADAS节点订阅CAMF节点的服务

问题:如何为Trace窗口创建过滤器,从而与Trace窗口联合分析数据?

- 解决方法:

在Protocol Monitor中选择要创建过滤器的特定元素,可以是各个视图中的端点或连接。

在选中的元素上右击选择“Create Filter for Trace Window”,在弹出的配置对话框中,选择要应用过滤器的Trace窗口。

配置Filter的类型以及名称。

点击Create之后,新的过滤器组将显示在Trace窗口的Analysis Filter区域,如图11所示,可用于对Trace窗口中的数据进行分析。

CANoe

图11:创建Trace窗口过滤器

04结论和展望

Protocol Monitor的引入增强了CANoe/CANalyzer的分析功能。在特定的应用场景下,Protocol Monitor能加速和简化问题定位、数据分析和通信监控的过程,为开发和测试人员提供更高效的工作方式。

未来Protocol Monitor的功能也将逐步扩展,以满足越来越多的新需求。例如,支持更多的以太网协议,并扩展到支持其它总线系统的协议,以及更多基于各种协议校验规则的错误检测功能。此外,Vector还计划支持通过Protocol Monitor生成关于网络内容的详细报告,以使其成为更为全面的可视化网络分析工具。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分