车载以太网在当今现代车辆中担任着至关重要的角色,为各种关键功能和服务提供支持。随着车辆网络的不断发展,大规模以太网的部署使得网络拓扑变得更加复杂,数据格式和协议也变得更加多样,数据流量也变得更加庞大。这些复杂性给车载以太网络的分析带来了严峻的挑战。专业的分析工具,可以让开发和测试人员更为轻松地应对挑战。
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的分层结构,逐层显示通信的端点和连接,提供更为清晰的层次化协议信息。
图1:Protocol Monitor vs Trace Window
02Protocol Monitor重要概念介绍
Endpoint(端点)
协议信息从一个源端传输到一个目的端,源端和目的端都称为端点(Endpoint)。每个协议层都有相应的端点,并且端点之间存在嵌套关系,对应于协议层级的依赖关系。
Connection(连接)
连接表示两个端点之间的通信。一个连接包含一个发起者(Initiator)和一个接收者(Addressee),角色分配由连接中观测到的第一帧来决定,第一帧的源地址自动成为连接的发起者,目的地址则自动成为连接的接收者。
Network Node(网络节点)
一个网络节点对应一个ECU,节点通常包括一个或多个端点。
Network(网络)
网络是一个广播域内能互相连通的端点的组合,可通过物理网络(如以太网)和虚拟网络(如VLAN)划分。
图2:重要概念
03Protocol Monitor用户界面介绍
Diagram View
Diagram View使用图形的方式显示网络通信。不同颜色的方块表示不同协议层级中的端点,箭头则表示各端点之间的连接及通信方向。
Endpoints View
Endpoints View以树形结构显示实时通信的端点。用户可以根据端点所属的网络节点或网络进行分组,并根据需要设置过滤器。
Detail View
Detail View可以显示当前选中元素的更多详细信息。
Connections View
Connections View以列表形式显示所有连接的信息。用户可以根据需要设置过滤器。
图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。
图4:ADAS节点信息
问题:哪些节点通过SOME/IP进行通信?
- 解决方法:
在Endpoints View窗口的左上角,找到“Filter”(过滤器)。点击Filter进行过滤设置,确保仅勾选了Application->SOME/IP。
在Diagram View窗口中,可以看到一个可视化的节点图表,如图5所示,显示所有通过SOME/IP通信的节点以及它们的端点之间的连接关系。
图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。
图6:服务sif_2001的提供者(Text Search)
图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。
图8:服务sif_2001的提供者(PMQL)
图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。
图10:ADAS节点订阅CAMF节点的服务
问题:如何为Trace窗口创建过滤器,从而与Trace窗口联合分析数据?
- 解决方法:
在Protocol Monitor中选择要创建过滤器的特定元素,可以是各个视图中的端点或连接。
在选中的元素上右击选择“Create Filter for Trace Window”,在弹出的配置对话框中,选择要应用过滤器的Trace窗口。
配置Filter的类型以及名称。
点击Create之后,新的过滤器组将显示在Trace窗口的Analysis Filter区域,如图11所示,可用于对Trace窗口中的数据进行分析。
图11:创建Trace窗口过滤器
04结论和展望
Protocol Monitor的引入增强了CANoe/CANalyzer的分析功能。在特定的应用场景下,Protocol Monitor能加速和简化问题定位、数据分析和通信监控的过程,为开发和测试人员提供更高效的工作方式。
未来Protocol Monitor的功能也将逐步扩展,以满足越来越多的新需求。例如,支持更多的以太网协议,并扩展到支持其它总线系统的协议,以及更多基于各种协议校验规则的错误检测功能。此外,Vector还计划支持通过Protocol Monitor生成关于网络内容的详细报告,以使其成为更为全面的可视化网络分析工具。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !