[智能网联汽车/CAN/ASCLOG/BLF] CAN ASC Log文件
0 引言
因工作研究需要,担心精华内容丢失。故转载之,精华内容转载自:图文详解CAN Log文件 - ASC文件格式 - CSDN
- CAN总线,是当下智能汽车的核心车载网络之一。CAN总线上的CAN报文/CAN信号,作为车端控制器间核心的通信、控制数据,也被多用于云端软件做诊断、测试、远控、分析等核心业务。
- 存储CAN log的asc文件,主要用于车端嵌软。如果云端需要采集使用,其内的CAN报文数据,会被车端嵌软做一定的转换、封装,通过其他的车云网络协议与云端交互。
CAN ASC 文件样例
-
Vector提供了两种记录数据格式的格式规范:BLF和ASC。
-
在Vector提供的CAN_LOG_TRIGGER_ASC_Format.pdf文件中,规定了CANoe/CANalyzer ASC记录中CAN、Log和Trigger event的格式。
-
CAN Message Event
是 ASC 文件的主要部分。
从左到右一次是:时间戳、CAN通道编号、帧ID(16进制)、帧方向(发送或接收)、d。之后跟的DLC、数据。
1 1 CAN ASC Log 文件 := 以 ASCII 编码格式的 CAN 总线日志文件
- CAN ASC Log 文件 := 以 ASCII 编码格式的 CAN 总线日志文件
文件格式后缀:
.asc
- ASC Log 及 BLF (Binary Logging Format) 文件,是 Vector 公司制订的一种日志文件格式,其支持描述:CAN / ETH(以太网/SOMEIP等) / FlexRay / LIN 总线数据。
Vector 提供的规范文件: (如有需要可找笔者领取)
- CAN_and_General_BLF_Format.pdf
- Ethernet_BLF_Format.pdf
- FlexRay_BLF_Format.pdf
- LIN_BLF_Format.pdf
- MOST_BLF_Format.pdf
- TPDiag_BLF_Format.pdf
1.1 Header
- 一个
ASCII
格式的日志文件,以一个header
开始。
header
包含关于日志文件的一般信息。
Format |
date <WeekDay> <Month> <Date> <Fulltime> <Year> base <hex |dec> timestamps <absolute |relative> <”” |no> internal events logged |
Example | date Wed Apr 16 09:21:13.159 am 2014 base hex timestamps absolute internal events logged |
base:表示记录的数值是十六进制(hex)、或十进制的符号(dec)。
timestamps:表示时间戳是绝对写入测量的开始时间(absolute)、还是相对于前一个事件(relative)。
internal:events logged 表示是否记录了内部事件。
1.2 版本编号
从CANalyzer/CANoe v7.0开始,版本号以注释的形式写在Header之后:
Format Since v7.0 | // version <major>.<minor>.<patch> |
Example | // version 8.2.1 |
-
<major>
.<minor>
: 表示CANalyzer
/CANoe
的版本号不包括构建号(例如v7.0、v7.1等) -
<patch>
: 表示在CANalyzer
/CANoe
主版本中的变更版本(例如:服务包中所做的变更)。 -
无论
ASCII
格式是否发生更改,CANalyzer
/CANoe
的每次新主版本的<major>.<minor>
号通常都会增加。
主版本的
<patch>
号始终为零。
在service Pack
中,只有对ASCII
格式进行了更改和/或添加时,才会增加<patch>
编号。
1.3 经典CAN网络中的描述
该部分列出了CANoe/CANalyzer ASC记录中的所有CAN event。
1.3.1 经典CAN Standard标准帧的描述
Format since v8.0 | <Time> <Channel> <ID> <Dir> d <DLC> <D0> <D1>...<D8> Length = <MessageDuration> BitCount = <MessageLength> ID = <IDnum> <MessageFlags> |
Example | 0.003040 1 123 Tx d 2 00 00 Length = 768000 BitCount = 67 ID = 291 |
-
ID:表示 CAN ID 的十六进制值;
-
Dir : 数据的收发方向(Direction): "Tx"(发送) / "Rx"(接收)
-
Length:表示发送/接收该Frame/Message占据总线的时间,单位纳秒;
-
BitCount:表示发送/接收该Frame/Message由多少各Bit构成;
-
IDnum:表示CAN ID的十进制值。
-
举例:
date Mon Apr 10 02:24:54.471 pm 2023
base hex timestamps absolute
internal events logged
// version 11.0.0
0.036886 CAN 1 Status:chip status error active
0.036886 CAN 2 Status:chip status error active
0.101317 1 211 Tx d 8 00 00 00 00 00 00 00 00 Length = 242015 BitCount = 124 ID = 529
0.201267 1 211 Tx d 8 00 00 00 00 00 00 00 00 Length = 242015 BitCount = 124 ID = 529
0.301361 1 211 Tx d 8 00 00 00 00 00 00 00 00 Length = 242015 BitCount = 124 ID = 529
0.401419 1 211 Tx d 8 00 00 00 00 00 00 00 00 Length = 242015 BitCount = 124 ID = 529
1.3.2 经典CAN Extended扩展帧的描述
Format since v8.0 | <Time> <Channel> <ID>x <Dir> d <DLC> <D0> <D1>...<D8> Length = <MessageDuration> BitCount = <MessageLength> ID = <IDnum>x <MessageFlags> |
Example | 4.876870 1 54C5638x Tx d 8 00 00 00 00 00 00 00 00 Length = 1704000 BitCount = 145 ID = 88888888x |
与经典CAN标准帧的差异: ID和IDnum后带字符x。
举例:
date Mon Apr 10 02:28:37.439 pm 2023
base hex timestamps absolute
internal events logged
// version 11.0.0
0.021151 CAN 1 Status:chip status error active
0.021151 CAN 2 Status:chip status error active
0.101557 1 211x Tx d 8 00 00 00 00 00 00 00 00 Length = 290015 BitCount = 148 ID = 529x
0.201483 1 211x Tx d 8 00 00 00 00 00 00 00 00 Length = 290015 BitCount = 148 ID = 529x
0.301437 1 211x Tx d 8 00 00 00 00 00 00 00 00 Length = 290015 BitCount = 148 ID = 529x
0.401151 1 211x Tx d 8 00 00 00 00 00 00 00 00 Length = 290015 BitCount = 148 ID = 529x
1.3.3 CAN Remote远程帧的描述
Format since v8.5 | <Time> <Channel> <ID> <Dir> r <DLC> Length = <MessageDuration> BitCount = <MessageLength> ID = <IDnum>x |
Example | 2.5010 1 200 Tx r 8 Length = 1704000 BitCount = 145 ID = 88888888x |
与经典CAN**标准 **/ 扩展帧的差异:没有<D0> <D1>...<D8>
。
举例:
date Mon Apr 10 02:31:19.810 pm 2023
base hex timestamps absolute
internal events logged
// version 11.0.0
0.041478 CAN 1 Status:chip status error active
0.041478 CAN 2 Status:chip status error active
0.101079 1 211 Tx r 8 Length = 88015 BitCount = 47 ID = 529
0.101219 1 211x Tx r 8 Length = 134015 BitCount = 70 ID = 529x
0.200845 1 211x Tx r 8 Length = 134015 BitCount = 70 ID = 529x
0.200939 1 211 Tx r 8 Length = 88015 BitCount = 47 ID = 529
1.3.4 CAN Error错误帧的描述
CAN Error Frame | |
Format since v7.5 | Interfaces with CAN-Core: <Time> <Channel> ErrorFrame Flags = <flags> CodeExt = <codeExt> Code = <code> ID = <ID> DLC = <DLC> Position = <Position> Length = <Length> Flags: 定义参数Code, CodeExt, ID, DLC, Position和Length的有效性的Bit field。Bit含义: 0:SJA 1000 ECC是有效的 1:矢量CAN核心错误代码有效 2:矢量CAN核心错误位置有效 3:矢量CAN核心帧长度(ns)有效 Code: Vector CAN-Core的Bit含义: Bit 0-5: 0: Bit Error 1: Form Error 2: Stuff Error 3: Other Error 4: CRC Error 5: Ack-Del-Error 7: Ack-Error Bit 6-7: 0: RX-NAK-Error 1: TX-NAK-Error 2: RX-Error 3: TX-Error |
CodeExt:Extended error flags Bit 0-4:Segment (only SJA1000) Bit 5:Direction, 1=RX Bit 6-11:Error Code 0 Bit Error 1 Form Error 2 Stuff Error 3 Other Error 4 CRC Error 5 ACK- DEL Error 7 ACK Error Bit 12-13:Extended Direction 0 RX NAK 1 TX NAK 2 RX 3 TX Bit 14:1 =错误帧由应用程序发送 备注 1 只对带有Vector CAN-Core的接口有效(CANcardXLe, VN7600, VN16xx, VN89xx和其他)。 2 ID、DLC和data field的有效性取决于干扰的类型和位置。 例如: 如果信息在ID- field受到干扰,那么只有ID的第一个Bit可能有效,但DLC和data field无效。错误位置不是干扰的位置。 例如: 如果错误位置位于CRC-field,那么信息可能在任何其他field受到干扰,错误的CRC是该干扰的结果。 | |
Examples | 1.592186 2 ErrorFrame Flags = 0xe CodeExt = 0x20a2 Code = 0x82 ID = 0 DLC = 0 Position = 5 Length = 11300 |
CAN Error Event | |
Format | <Time> CAN <Channel> Status:<Error> <Time> CAN <Channel> Status:<Error> - TxErr: <TxCount> RxErr: <RxCount> TxCount: transmit error count寄存器的值 RxCount: receive error count寄存器的值 |
Example | 0.0006 CAN 2 Status:chip status error active 2137.317027 CAN 2 Status:chip status error active - TxErr: 8 RxErr: 0 |
举例:
date Mon Apr 10 02:33:32.536 pm 2023
base hex timestamps absolute
internal events logged
// version 11.0.0
0.014704 CAN 1 Status:chip status error active
0.014704 CAN 2 Status:chip status error active
0.100641 CAN 1 Status:chip status error active - TxErr: 8 RxErr: 0
0.100642 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.100901 CAN 1 Status:chip status error active - TxErr: 16 RxErr: 0
0.100902 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.101161 CAN 1 Status:chip status error active - TxErr: 24 RxErr: 0
0.101162 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.101421 CAN 1 Status:chip status error active - TxErr: 32 RxErr: 0
0.101422 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.101681 CAN 1 Status:chip status error active - TxErr: 40 RxErr: 0
0.101682 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.101941 CAN 1 Status:chip status error active - TxErr: 48 RxErr: 0
0.101942 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.102201 CAN 1 Status:chip status error active - TxErr: 56 RxErr: 0
0.102202 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.102461 CAN 1 Status:chip status error active - TxErr: 64 RxErr: 0
0.102462 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.102721 CAN 1 Status:chip status error active - TxErr: 72 RxErr: 0
0.102722 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.102981 CAN 1 Status:chip status error active - TxErr: 80 RxErr: 0
0.102982 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.103241 CAN 1 Status:chip status error active - TxErr: 88 RxErr: 0
0.103242 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.103501 CAN 1 Status:chip status warning level - TxErr: 96 RxErr: 0
0.103502 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.103761 CAN 1 Status:chip status warning level - TxErr: 104 RxErr: 0
0.103762 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.104021 CAN 1 Status:chip status warning level - TxErr: 112 RxErr: 0
0.104022 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.104281 CAN 1 Status:chip status warning level - TxErr: 120 RxErr: 0
0.104282 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
0.104541 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 0
0.104542 1 ErrorFrame Flags = 0xfffe CodeExt = 0x31d9 Code = 0xc7 ID = 0x211 DLC = 8 Position = 99 Length = 226015 Data = 0 0 0 0 0 0 0 0
1.014705 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 0
1.014705 CAN 2 Status:chip status error active
2.014705 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 0
2.014705 CAN 2 Status:chip status error active
3.014705 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 0
3.014705 CAN 2 Status:chip status error active
4.014706 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 0
4.014706 CAN 2 Status:chip status error active
5.014706 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 0
5.014706 CAN 2 Status:chip status error active
1.4 CANFD网络中的描述
该部分列出了CANoe/CANalyzer ASC记录中的所有经典CAN event和CAN FD channel上的CAN FD event。
1.4.1 经典CAN Standard标准帧的描述
Format since v8.1 | <Time> CANFD <Channel> <Dir> <ID> <SymbolicName> <BRS> <ESI> <DLC> <DataLength> <D1> … <D8> <MessageDuration> <MessageLength> <Flags> <CRC> <BitTimingConfArb> <BitTimingConfData> <BitTimingConfExtArb> <BitTimingConfExtData> |
Example | 0.105364 CANFD 1 Tx 1 0 0 1 1 01 112000 59 200040 39b5 46500250 460a0250 20011736 20010205 |
ID:表示CANID的十六进制值;
BRS:表示CANFD Frame的BRS位;
ESI:表示CANFD Frame的DEI位;
DLC:表示CANFD Frame的控制段DTC;
DataLength:message的有效长度,以字节为单位。
MessageDuration:表示发送/接收该Frame/Message占据总线的时间,单位纳秒;
MessageLength:表示发送/接收该Frame/Message由多少各Bit构成;
Flags:Bit含义
- Bit 0: Reserved, must be 0
- Bit 1: Reserved, for internal use
- Bit 2: 1=NERR (1=single wire on low speed CAN)
- Bit 3: 1=High voltage wake up
- Bit 4: 1=Remote frame (only CAN)
- Bit 5: Reserved, must be 0
- Bit 6: 1= Tx Acknowledge
- Bit 7: 1= Tx Request
- Bit 8: Reserved, must be 0
- Bit 9: SRR (CAN FD)
- Bit 10: R0
- Bit 11: R1
- Bit 12: FDF bit 0: CAN frame 1: CAN FD frame
- Bit 13: BRS bit (CAN FD)
- Bit 14: ESI bit (CAN FD)
- Bit 15: Reserved, must be 0
- Bit 16: Reserved, must be 0
- Bit 17: 1= Frame is part ofa burst
- Bit 18: Single shot mode: Frame could not be transmitted
- Bit 19: Single shot mode: If bit 18 set to 1, then this bit reports the reason.0 = arbitration lost 1=frame disturbed
- Bit 20: Reserved, for internal use
- Bit 21: Reserved, for internal use
- Bit 22 -31: Reserved, must be 0
CRC:message的校验和;
- Bit 0 – 20: CRC
- Bit 21 – 26: Reserved for internal use
- Bit 27 – 29: Stuff count field
- Bit 30: Stuff count field parity
- Bit 31: ISO format. 如果设置为1,那么该报文是CAN FD ISO格式,并且stuff count是有效的.
BitTimingConfArb和BitTimingConfData:指的是用于仲裁和数据段的bit timing参数。这些段可以解释为32位长的bit field。
- Bit 0-7: Quartz Frequency in kHz
- Bit 8-15: Prescaler
- Bit 16-23: BTL Cycles
- Bit 24-31: Sampling Point
BitTimingConfExtArb和BitTimingConfExtData:bit timing存储在该段中。如果bit timing不能以旧格式存储,那么
- Bit 0 – 7: TSEG1-1
- Bit 8 – 15: TSEG2-1
- Bit 16 – 27: Prescaler
- Bit 28 – 31: Quartz Frequency (enumeration). Supported values: 0: 16 MHz, 1: 32 MHz, 2: 80 MHz
举例:
date Mon Apr 10 02:38:41.859 pm 2023
base hex timestamps absolute
internal events logged
// version 11.0.0
0.038849 CAN 1 Status:chip status error active
0.038849 CAN 2 Status:chip status error active
0.100980 CANFD 1 Tx 211 0 0 8 8 00 00 00 00 00 00 00 00 242015 124 200040 2a8f 50a00150 46280150 20001f7e 20000b1a
0.200978 CANFD 1 Tx 211 0 0 8 8 00 00 00 00 00 00 00 00 242015 124 200040 2a8f 50a00150 46280150 20001f7e 20000b1a
0.301134 CANFD 1 Tx 211 0 0 8 8 00 00 00 00 00 00 00 00 242015 124 200040 2a8f 50a00150 46280150 20001f7e 20000b1a
0.400976 CANFD 1 Tx 211 0 0 8 8 00 00 00 00 00 00 00 00 242015 124 200040 2a8f 50a00150 46280150 20001f7e 20000b1a
1.4.2 经典CAN Extended扩展帧的描述
Format since v8.1 | <Time> CANFD <Channel> <Dir> <ID> <SymbolicName> <BRS> <ESI> <DLC> <DataLength> <D1> … <D8> <MessageDuration> <MessageLength> <Flags> <CRC> <BitTimingConfArb> <BitTimingConfData> <BitTimingConfData> <BitTimingConfExtArb> <BitTimingConfExtData> |
Example | 0.100995 CANFD 2 Rx 10001x 0 0 1 1 01 156000 82 200000 149a 46500250 460a0250 20011736 20010205 |
各字段的解释详见“1.4.1 经典CAN Standard标准帧的描述”。
举例:
date Mon Apr 10 02:42:26.030 pm 2023
base hex timestamps absolute
internal events logged
// version 11.0.0
0.035889 CAN 1 Status:chip status error active
0.035889 CAN 2 Status:chip status error active
0.100829 CANFD 1 Tx 211x 0 0 8 8 00 00 00 00 00 00 00 00 290015 148 200040 37b 50a00150 46280150 20001f7e 20000b1a
0.200893 CANFD 1 Tx 211x 0 0 8 8 00 00 00 00 00 00 00 00 290015 148 200040 37b 50a00150 46280150 20001f7e 20000b1a
0.300831 CANFD 1 Tx 211x 0 0 8 8 00 00 00 00 00 00 00 00 290015 148 200040 37b 50a00150 46280150 20001f7e 20000b1a
0.400909 CANFD 1 Tx 211x 0 0 8 8 00 00 00 00 00 00 00 00 290015 148 200040 37b 50a00150 46280150 20001f7e 20000b1a
1.4.3 CANFD Standard标准帧的描述
该部分列出了CANoe/CANalyzer ASC记录中的所有经典CAN event和CAN FD channel上的CAN FD event。
Format since v8.1 | <Time> CANFD <Channel> <Dir> <ID> <SymbolicName> <BRS> <ESI> <DLC> <DataLength> <D1> … <D64> <MessageDuration> <MessageLength> <Flags> <CRC> <BitTimingConfArb> <BitTimingConfData> <BitTimingConfExtArb> <BitTimingConfExtData> |
Example | 0.151061 CANFD 1 Tx 2 0 0 2 2 02 03 150000 78 301040 10151 46500250 460a0250 20011736 20010205 |
各字段的解释详见“1.4.1 经典CAN Standard标准帧的描述”。
举例:
date Mon Apr 10 02:48:53.277 pm 2023
base hex timestamps absolute
internal events logged
// version 11.0.0
0.046804 CAN 1 Status:chip status error active
0.046804 CAN 2 Status:chip status error active
0.100836 CANFD 1 Tx 211 1 0 8 8 00 00 00 00 00 00 00 00 107015 139 303040 f801828f 50a00150 46280150 20001f7e 20000b1a
0.200741 CANFD 1 Tx 211 1 0 8 8 00 00 00 00 00 00 00 00 107015 139 303040 f801828f 50a00150 46280150 20001f7e 20000b1a
0.300714 CANFD 1 Tx 211 1 0 8 8 00 00 00 00 00 00 00 00 107015 139 303040 f801828f 50a00150 46280150 20001f7e 20000b1a
0.400735 CANFD 1 Tx 211 1 0 8 8 00 00 00 00 00 00 00 00 107015 139 303040 f801828f 50a00150 46280150 20001f7e 20000b1a
date Mon Apr 10 02:38:41.859 pm 2023
base hex timestamps absolute
internal events logged
// version 11.0.0
0.038849 CAN 1 Status:chip status error active
0.038849 CAN 2 Status:chip status error active
0.100980 CANFD 1 Tx 211 0 0 8 8 00 00 00 00 00 00 00 00 242015 124 200040 2a8f 50a00150 46280150 20001f7e 20000b1a
0.200978 CANFD 1 Tx 211 0 0 8 8 00 00 00 00 00 00 00 00 242015 124 200040 2a8f 50a00150 46280150 20001f7e 20000b1a
0.301134 CANFD 1 Tx 211 0 0 8 8 00 00 00 00 00 00 00 00 242015 124 200040 2a8f 50a00150 46280150 20001f7e 20000b1a
0.400976 CANFD 1 Tx 211 0 0 8 8 00 00 00 00 00 00 00 00 242015 124 200040 2a8f 50a00150 46280150 20001f7e 20000b1a
1.4.4 CANFD Extended扩展帧的描述
Format since v8.1 | <Time> CANFD <Channel> <Dir> <ID> <SymbolicName> <BRS> <ESI> <DLC> <DataLength> <D1> … <D64> <MessageDuration> <MessageLength> <Flags> <CRC> <BitTimingConfArb> <BitTimingConfData> <BitTimingConfExtArb> <BitTimingConfExtData> |
Example | 0.105537 CANFD 2 Rx 10001x 0 0 1 1 01 174015 91 301000 bfd9 46500250 460a0250 20011736 20010205 |
各字段的解释详见“1.4.1 经典CAN Standard标准帧的描述”。
举例:
date Mon Apr 10 02:49:57.722 pm 2023
base hex timestamps absolute
internal events logged
// version 11.0.0
0.018020 CAN 1 Status:chip status error active
0.018020 CAN 2 Status:chip status error active
0.100571 CANFD 1 Tx 211x 1 0 8 8 00 00 00 00 00 00 00 00 151015 161 303040 80016b85 50a00150 46280150 20001f7e 20000b1a
0.200634 CANFD 1 Tx 211x 1 0 8 8 00 00 00 00 00 00 00 00 151015 161 303040 80016b85 50a00150 46280150 20001f7e 20000b1a
0.300783 CANFD 1 Tx 211x 1 0 8 8 00 00 00 00 00 00 00 00 151015 161 303040 80016b85 50a00150 46280150 20001f7e 20000b1a
0.400604 CANFD 1 Tx 211x 1 0 8 8 00 00 00 00 00 00 00 00 151015 161 303040 80016b85 50a00150 46280150 20001f7e 20000b1a
1.4.5 CAN Remote远程帧的描述
Format | <Time> CANFD <Channel> <Dir> <ID> <SymbolicName> <BRS> <ESI> <DLC> <DataLength> <MessageDuration> <MessageLength> <Flags> <CRC> <BitTimingConfArb> <BitTimingConfData> <BitTimingConfData> <BitTimingConfExtArb> <BitTimingConfExtData> |
Example | 0.300981 CANFD 1 Tx 50005x 0 0 5 0 140000 73 200050 7a60 46500250 460a0250 20011736 20010205 |
各字段的解释详见“1.4.1 经典CAN Standard标准帧的描述”。
举例:
date Mon Apr 10 02:52:19.883 pm 2023
base hex timestamps absolute
internal events logged
// version 11.0.0
0.026889 CAN 1 Status:chip status error active
0.026889 CAN 2 Status:chip status error active
0.101047 CANFD 1 Tx 211 0 0 8 0 88015 47 200050 2c3a 50a00150 46280150 20001f7e 20000b1a
0.101187 CANFD 1 Tx 211x 0 0 8 0 134015 70 220050 6a2a 50a00150 46280150 20001f7e 20000b1a
0.201045 CANFD 1 Tx 211x 0 0 8 0 134015 70 200050 6a2a 50a00150 46280150 20001f7e 20000b1a
0.201139 CANFD 1 Tx 211 0 0 8 0 88015 47 220050 2c3a 50a00150 46280150 20001f7e 20000b1a
1.4.6 CAN Error错误帧的描述
CAN FD Error Frame | |
Format | <Time> CANFD <Channel> <Dir> ErrorFrame <ErrorText> <flags> <code> <codeExt> <Phase> <Position> <ID> <BRS> <ESI> <DLC> <DataLength> <D1> … <D64> <MessageDuration> <extFlags> <CRC> <BitTimingConfArb> <BitTimingConfData> <BitTimingConfExtArb> <BitTimingConfExtData> <extFlags>: extFlags(Extended error flags): Bit 0:0: FDF is 0 (CAN Error Frame);1: FDF is 1 (CAN FD Error Frame) Bit 1:0: BRS is 0;1: BRS is 1 Bit 2:0: ESI is 0;1: ESI is 1 Bit 3:0: Error in Arbitration Phase;1: Error in Data Phase Bit 4:0: Error is on a CAN channel;1: Error is on a CAN FD channel all others:reserved, must be set to 0 |
Example: Classic CAN | 0.051203 CANFD 1 Rx ErrorFrame Stuff Error fffe 82 20a2 Arb.5 0 0 0 0 0 11984 10 0 46500250 460a0250 20011736 20010205 |
Example: CAN FD | 10.006898 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31ca Arb.556 44 0 0 f 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1331984 11 0 46500250 460a0250 20011736 20010205 |
各字段的解释详见“1.4.1 经典CAN Standard标准帧的描述”。
举例:
date Mon Apr 10 02:55:04.694 pm 2023
base hex timestamps absolute
internal events logged
// version 11.0.0
0.036456 CAN 1 Status:chip status error active
0.036456 CAN 2 Status:chip status error active
0.100770 CAN 1 Status:chip status error active - TxErr: 8 RxErr: 0
0.100770 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.100897 CAN 1 Status:chip status error active - TxErr: 16 RxErr: 0
0.100897 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.101024 CAN 1 Status:chip status error active - TxErr: 24 RxErr: 0
0.101024 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.101151 CAN 1 Status:chip status error active - TxErr: 32 RxErr: 0
0.101151 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.101278 CAN 1 Status:chip status error active - TxErr: 40 RxErr: 0
0.101278 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.101405 CAN 1 Status:chip status error active - TxErr: 48 RxErr: 0
0.101405 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.101532 CAN 1 Status:chip status error active - TxErr: 56 RxErr: 0
0.101532 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.101659 CAN 1 Status:chip status error active - TxErr: 64 RxErr: 0
0.101659 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.101786 CAN 1 Status:chip status error active - TxErr: 72 RxErr: 0
0.101786 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.101913 CAN 1 Status:chip status error active - TxErr: 80 RxErr: 0
0.101913 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.102040 CAN 1 Status:chip status error active - TxErr: 88 RxErr: 0
0.102040 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.102167 CAN 1 Status:chip status warning level - TxErr: 96 RxErr: 0
0.102167 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.102294 CAN 1 Status:chip status warning level - TxErr: 104 RxErr: 0
0.102294 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.102421 CAN 1 Status:chip status warning level - TxErr: 112 RxErr: 0
0.102421 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.102548 CAN 1 Status:chip status warning level - TxErr: 120 RxErr: 0
0.102548 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
0.102675 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 0
0.102675 CANFD 1 Tx ErrorFrame Not Acknowledge error, dominant error flag fffe c7 31da Arb. 109 211 1 0 8 8 00 00 00 00 00 00 00 00 93015 13 f8000000 50a00150 46280150 20001f7e 20000b1a
1.036456 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 0
1.036456 CAN 2 Status:chip status error active
2.036457 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 0
2.036457 CAN 2 Status:chip status error active
3.036457 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 0
3.036457 CAN 2 Status:chip status error active
1.5 标志位(换行符等)
标志
换行符
换行是用CR
+LF
表示的编码。
2 如何分辨CAN Log文件中的“标准帧”和“扩展帧”
2.1 经典CAN网络中的标准帧和扩展帧
经典CAN网络中的标准帧和扩展帧的差异:
- 经典CAN标准帧的ID和IDnum字段后不带字符x;
- 经典CAN扩展帧的ID和IDnum字段后带字符x。
举例:
date Mon Apr 10 04:24:18.233 pm 2023
base hex timestamps absolute
internal events logged
// version 11.0.0
0.028996 CAN 1 Status:chip status error active
0.028996 CAN 2 Status:chip status error active
0.101449 1 211 Tx d 8 00 00 00 00 00 00 00 00 Length = 242015 BitCount = 124 ID = 529
0.101745 1 211x Tx d 8 00 00 00 00 00 00 00 00 Length = 290015 BitCount = 148 ID = 529x
0.201469 1 211x Tx d 8 00 00 00 00 00 00 00 00 Length = 290015 BitCount = 148 ID = 529x
0.201717 1 211 Tx d 8 00 00 00 00 00 00 00 00 Length = 242015 BitCount = 124 ID = 529
2.2 CANFD网络中的标准帧和扩展帧
CANFD网络中,可能同时存在:经典CAN标准帧,经典CAN扩展帧,CANFD标准帧,CANFD**扩展帧。
- 经典CAN/CANFD标准帧的ID字段后不带字符x;
- 经典CAN/CANFD扩展帧的ID字段后带字符x;
- Flags字段的的Bit 12: FDF bit,其0表示经典CAN frame;1表示CAN FD frame。
举例:
date Mon Apr 10 03:28:33.279 pm 2023
base hex timestamps absolute
internal events logged
// version 11.0.0
0.008330 CAN 1 Status:chip status error active
0.008330 CAN 2 Status:chip status error active
0.100736 CANFD 1 Tx 211 1 0 8 8 00 00 00 00 00 00 00 00 107015 139 303040 f801828f 50a00150 46280150 20001f7e 20000b1a
0.100893 CANFD 1 Tx 211x 1 0 8 8 00 00 00 00 00 00 00 00 151015 161 323040 80016b85 50a00150 46280150 20001f7e 20000b1a
0.101141 CANFD 1 Tx 211 0 0 8 8 00 00 00 00 00 00 00 00 242015 124 220040 2a8f 50a00150 46280150 20001f7e 20000b1a
0.101437 CANFD 1 Tx 211x 0 0 8 8 00 00 00 00 00 00 00 00 290015 148 220040 37b 50a00150 46280150 20001f7e 20000b1a
3 ASCLog / BLF 的支持软件
BLF
文件通常需要特定的CAN总线分析工具或文件查看器来打开。
一些常见的工具包括
CANalyzer
、CANoe
、Wireshark
等。
您需要下载并安装其中一个工具。
CANoe
- 推荐文献
在CANoe和CANalyzer中的Tools菜单中,提供了一个“Logging File Conversion”工具,将 CAN Log 文件(
*.asc
,*.blf
…)根据“自定义时间段”截取/分段成多个较小的CAN log文件。
CANalyzer
Wireshark
- can-xx.blf
- can-1.blf
ZCAN Pro
- ZCAN Pro - 数据回放
【实时保存】,支持
.asc
/.blf
/.can
/.csv
格式
TSMaster
- 软件简介
TSMaster
是一款由上海同星智能科技有限公司开发的虚拟仪器软件平台,它集汽车总线嵌入式代码生成、监控、仿真、开发、UDS诊断、CCP/XCP标定、ECU刷写、I/O控制、测试测量等功能于一体。
TSMaster
软件可供客户免费下载、基础功能免费使用并支持第三方硬件设备,包括Vector、PCAN、Kvaser、ZLG等多种硬件。
TSMaster
作为一款功能强大、免费且支持多种常用硬件的软件,可以作为Vector CANoe
的很好的替代产品。
日志记录回放(
.blf
)
汽车文件转换(
.arxml
/.dbc
/*.xls
/*.xlsx
/ ...)
- URL
- 帮助文档
- BLF 转 ASC
- BLF / ASC 文件 的回放
CAN
以太网(SOME/IP)
以太网(SOME/IP)
- 推荐文献
4 样例数据
样例ASC文件 - 001
Time
列的单位: 秒钟。可根据实际诉求,换算为毫秒、微秒等单位。
1秒(s) = 1000毫秒(ms)
1毫秒 = 1000微秒(μs)
1微秒 = 1000纳秒(ns)
1纳秒 = 1000皮秒(ps)
xxx.asc
date Tue Jun 14 04:42:05.200 pm 2022
base hex timestamps absolute
internal events logged
// version 12.0.0
5.409731 1 7DF Tx d 8 02 10 01 00 00 00 00 00 Length = 242244 BitCount = 124 ID = 2015
5.410267 1 7A0 Rx d 8 06 50 01 00 32 00 C8 AA Length = 227926 BitCount = 118 ID = 1952
7.635726 1 7DF Tx d 8 02 10 03 00 00 00 00 00 Length = 242000 BitCount = 124 ID = 2015
7.640162 1 7A0 Rx d 8 06 50 03 00 32 00 C8 AA Length = 227911 BitCount = 118 ID = 1952
9.411097 1 7DF Tx d 8 02 3E 00 00 00 00 00 00 Length = 248000 BitCount = 127 ID = 2015
9.420095 1 7A0 Rx d 8 02 7E 00 AA AA AA AA AA Length = 223911 BitCount = 116 ID = 1952
10.564000 1 7DF Tx d 8 03 19 02 FF 00 00 00 00 Length = 240244 BitCount = 123 ID = 2015
10.569931 1 7A0 Rx d 8 10 2B 59 02 39 C1 46 87 Length = 225910 BitCount = 117 ID = 1952
10.570703 1 720 Tx d 8 30 00 00 00 00 00 00 00 Length = 246000 BitCount = 126 ID = 1824
10.571521 1 7A0 Rx d 8 21 28 C1 55 87 28 C1 69 Length = 221910 BitCount = 115 ID = 1952
10.571782 1 7A0 Rx d 8 22 87 28 C2 31 87 18 C0 Length = 219910 BitCount = 114 ID = 1952
10.572048 1 7A0 Rx d 8 23 74 80 28 A2 A0 54 29 Length = 225926 BitCount = 117 ID = 1952
10.572568 1 7A0 Rx d 8 24 91 00 16 18 91 A0 2A Length = 225910 BitCount = 117 ID = 1952
10.573168 1 7A0 Rx d 8 25 29 C1 84 87 28 60 70 Length = 221910 BitCount = 115 ID = 1952
10.573424 1 7A0 Rx d 8 26 51 19 AA AA AA AA AA Length = 217910 BitCount = 113 ID = 1952
13.411307 1 7DF Tx d 8 02 3E 00 00 00 00 00 00 Length = 248015 BitCount = 127 ID = 2015
13.419873 1 7A0 Rx d 8 02 7E 00 AA AA AA AA AA Length = 223910 BitCount = 116 ID = 1952
CANoe - Trace - 右键导出 : ASC / BLF 文件 :
Z FAQ for ASCLOG/BLF
Q: 如何打开BLF文件?
- 推荐文献
BLF
文件是一种用于存储CAN
(Controller Area Network
)总线数据的文件格式,通常在汽车、航空和工业领域中使用。
Y 推荐文献
X 参考文献
- 图文详解CAN Log文件 - ASC文件格式 - CSDN 【推荐】
- CAN数据格式-ASC - 腾讯云 【推荐】
- 《CAN_LOG_TRIGGER_ASC_Format.pdf - Vector》 【推荐】
安装完Vector软件后,在Doc\LoggingFormat_ASCII目录可见

本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!