[汽车电子/车载以太网] 车载以太网的日志数据记录格式: pcap / blf / asc

概述:车载以太网的日志记录格式

CANoe 与 车载以太网常用的日志文件格式: ASC / BLF / PCAP

  • 对于汽车工程师来说,德国Vector公司推出的CANoe是最常用的开发环境之一。

CANoe的全称为CAN open environment,是一款能够实现网络和ECU开发、测试以及分析的全面工具。
其支持从需求分析到系统实施的总线网络开发的整个过程,其中包括模型的创建、仿真、测试、诊断和通信分析等。
其被广泛地应用于汽车、机械工程、轨道交通等领域。
随着车载以太网的兴起,CANoe也增加了对以太网的支持。
使用CANoe测试以太网时可以选择多种格式保存日志,最常用的为ASCBLF以及PCAP

图:混合了 CAN 和 以太网 的 ASC LOG 文件

图:使用 WireShark 打开 BLF文件格式的 以太网 SOME/IP 报文

ASC / BLF / PCAP 日志文件格式的区别

我们先来看看ASC、BLF和PCAP三种格式有什么区别:

  • ASCII日志文件 (ASC)
  • 基于报文的读写格式
  • 标准 ASCII 编码表示
  • 用于与第三方程序进行数据交换或在文件中包含Trace数据
  • 支持所有总线系统、系统变量、环境变量、内部事件、标记和注释的报文

Tips:由于读写性能较差、存储空间占用较大。因此,不建议在高数据速率下使用ASCII。

  • BLF日志文件
  • 基于报文的读写格式
  • 二进制日志格式
  • 以二进制格式存储数据,在文件大小和读/写性能方面非常高效
  • 支持所有总线系统、系统变量、环境变量、内部事件、标记和注释的报文
  • 文件大小与压缩率
  • BLF 文件:明显相比 pcap 文件小
  • 文件压缩率:偏低,实测 85%-95% 的压缩率(压缩算法:zip / tar.gz / rar)

pcap的压缩优势(实测): 虽 pcap 文件比 blf 大 2倍,但压缩率较高(5%-10%)、pcap 压缩文件 比 blf 压缩文件小得多。

  • PCAP记录文件
  • 基于报文的读写格式
  • 二进制日志格式
  • 用于存储通过网络发送的捕获数据的标准格式
  • PCAP仅支持以太网报文,不支持查看以太网其他事件(比如linkup
  • 支持使用 Wireshark 做报文数据分析。

其他工具: TSMaster 等

  • 文件大小与压缩率(参考 blf)

不支持所有其他总线系统、系统变量、内部事件等。

分析软件: CANoe

详细视图

通过Trace窗口工具栏中的详细视图能够查看报文的详细信息,包括:

  • Time: 从测试开始至捕获到这条报文的时间
  • General: 报文的基础信息,例如:通道、端口等
  • Ethernet: 数据链路层以太网帧头部信息
  • IPv4: 网络层IP包头部信息
  • UDP/TCP: 传输层的数据报/数据段头部信息
  • DoIP: 应用层信息,此处以DoIP为例

差分视图

通过Trace窗口工具栏中的差分视图能够直观查看两条报文的时间间隔,便于分析。

分析过滤器

  • 灵活运用Trace窗口工具栏中的分析过滤器可以简化繁杂的报文,分析过滤器分为Stop过滤器和Pass过滤器,可以分别过滤掉某些报文或只查看某些报文。

分析软件: WireShark(支持 pcap & blf)

  • 虽然BLF保存的总线信息最全面,但在查看日志时还是存在一些不便,只能通过导入CANoe的方式查看,若碰巧没有license且日志文件较大,还可能无法查看全部的报文信息。

例如: 无法直接打开日志文件

  • Wireshark 3.6.0 版本的发布解决了这一问题,从这一版本开始,Wireshark可支持BLF日志文件。

图:使用 WireShark 打开 BLF文件格式的 以太网 SOME/IP 报文

  • 下面我们再来看看如何使用Wireshark分析以太网报文。

显示过滤器

  • 使用过滤器是非常有必要的,通过过滤器可以在众多报文中快速定位,帮助我们找到需要的部分。
  • 除显示过滤器外还有一种捕获过滤器,在捕获过程中进行过滤,以免捕获过多不必要的报文。该过滤器在“捕获”选项中进行设置。
  • 通过过滤器可以进行协议、IP地址、端口等等的过滤。

报文列表

  • 报文列表能够显示所有捕获到的报文,并直观地显示出报文的数量、捕获时间、源IP地址、目标IP地址、协议类型、报文长度和端口号等参数信息。
  • 不同颜色的报文代表不同协议类型,便于查看,可以通过“视图”选项中的“着色规则”进行修改,自定义颜色。

报文详细信息

  • 在报文的分析中,报文详细信息的内容最为重要,在这一部分中,我们能查看Wireshark解析出的报文中每一层的每一个字段。各层信息包括:

  • Frame: 物理层的数据帧概况,包括时间戳和帧的总长度等信息

  • Ethernet II: 数据链路层以太网帧头部信息

  • Internet Protocol Version 4: 网络层IP包头部信息

  • User Datagram Protocol/Transmission Control Protocol:传输层(UDP/TCP)的数据报/数据段头部信息

  • DoIP(ISO13400) Protocol: 应用层信息,此处以DoIP为例

16进制数据

  • 此部分内容以16进制显示了报文的完整数据,可结合报文详细信息查看分析。

Z FAQ for 车载以太网( ASC / BLF / PCAP )

Q: 基于 CANoe 提取blf文件中的Eth数据为pcap文件

  • 参考文献

Y 推荐文献

在Python中,可以使用pyarx库来解析ARXML文件,这是一个用于处理AUTOSAR(Automotive Open System Architecture)文档的工具包。
然而,直接从ARXML获取PDU(Protocol Data Unit,数据单元)或特定信号值并在PCAP(Packet Capture)文件中搜索并非其默认功能。
通常,ARXML主要用于描述车辆电子系统的通信模型,而PCAP处理的是网络流量的实际记录。
为了实现这个需求,你需要结合两个步骤:

  1. ARXML 解析:首先,安装pyarx库并导入必要的模块:
from pyarx.arxml import ARXMLReader
  1. PCAP 解析:

X 参考文献

ASC、BLF 以及 PCAP

文介绍了几种常见的总线数据Log文件类型,包括BLF、ASC和PCAP/PCAPNG文件,详细说明了它们的特点和用途。
在CANoe中,讨论了如何保存、导入和转换这些文件格式,特别强调了自动和手动保存的区别,以及在不同场景下选择适合的文件格式的重要性。
同时,文章提供了关于导入和转换Log文件的实用技巧,帮助测试和开发人员更有效地处理总线数据。

posted @ 2025-06-21 14:44  千千寰宇  阅读(355)  评论(0)    收藏  举报