当前位置: 首页 > news >正文

图文详解CAN Log文件 - ASC文件格式

目录

1 CAN Log文件 -- ASC文件格式

1.1 Header

1.2 版本编号

1.3 经典CAN网络中的描述

1.3.1 经典CAN Standard标准帧的描述

1.3.2 经典CAN Extended扩展帧的描述

1.3.3 CAN Remote远程帧的描述

1.3.4 CAN Error错误帧的描述

1.4 CANFD网络中的描述

1.4.1 经典CAN Standard标准帧的描述

1.4.2 经典CAN Extended扩展帧的描述

1.4.3 CANFD Standard标准帧的描述

1.4.4 CANFD Extended扩展帧的描述

1.4.5 CAN Remote远程帧的描述

1.4.6 CAN Error错误帧的描述

1.5 换行

2 小结:如何分辨CAN Log文件中的“标准帧”和“扩展帧”

2.1 经典CAN网络中的标准帧和扩展帧

2.2 CANFD网络中的标准帧和扩展帧

结尾


优质博文推荐阅读(单击下方链接,即可跳转):

Vector工具链

CAN Matrix DBC

CAN Matrix Arxml

Vector提供了两种记录数据格式的格式规范:BLF和ASC。在Vector提供的CAN_LOG_TRIGGER_ASC_Format.pdf文件中,规定了CANoe/CANalyzer ASC记录中CAN、Log和Trigger event的格式。

1 CAN Log文件 -- ASC文件格式

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的版本号

<patch>表示CANalyzer/CANoe主版本中的修改版本(如服务包中的修改)。

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:表示CANID的十六进制值;

Length:表示发送/接收该Frame/Message占据总线的时间,单位纳秒;

BitCount:表示发送/接收该Frame/Message由多少各Bit构成;

IDnum:表示CANID的十进制值。

举例:

date Mon Apr 10 02:24:54.471 pm 2023
base hex  timestamps absolute
internal events logged
// version 11.0.00.036886 CAN 1 Status:chip status error active0.036886 CAN 2 Status:chip status error active0.101317 1  211             Tx   d 8 00 00 00 00 00 00 00 00  Length = 242015 BitCount = 124 ID = 5290.201267 1  211             Tx   d 8 00 00 00 00 00 00 00 00  Length = 242015 BitCount = 124 ID = 5290.301361 1  211             Tx   d 8 00 00 00 00 00 00 00 00  Length = 242015 BitCount = 124 ID = 5290.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标准帧的差异: IDIDnum后带字符x

举例:

date Mon Apr 10 02:28:37.439 pm 2023
base hex  timestamps absolute
internal events logged
// version 11.0.00.021151 CAN 1 Status:chip status error active0.021151 CAN 2 Status:chip status error active0.101557 1  211x            Tx   d 8 00 00 00 00 00 00 00 00  Length = 290015 BitCount = 148 ID = 529x0.201483 1  211x            Tx   d 8 00 00 00 00 00 00 00 00  Length = 290015 BitCount = 148 ID = 529x0.301437 1  211x            Tx   d 8 00 00 00 00 00 00 00 00  Length = 290015 BitCount = 148 ID = 529x0.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.00.041478 CAN 1 Status:chip status error active0.041478 CAN 2 Status:chip status error active0.101079 1  211             Tx   r 8  Length = 88015 BitCount = 47 ID = 5290.101219 1  211x            Tx   r 8  Length = 134015 BitCount = 70 ID = 529x0.200845 1  211x            Tx   r 8  Length = 134015 BitCount = 70 ID = 529x0.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

CodeExtExtended 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.00.014704 CAN 1 Status:chip status error active0.014704 CAN 2 Status:chip status error active0.100641 CAN 1 Status:chip status error active  - TxErr: 8 RxErr: 00.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  00.100901 CAN 1 Status:chip status error active  - TxErr: 16 RxErr: 00.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  00.101161 CAN 1 Status:chip status error active  - TxErr: 24 RxErr: 00.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  00.101421 CAN 1 Status:chip status error active  - TxErr: 32 RxErr: 00.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  00.101681 CAN 1 Status:chip status error active  - TxErr: 40 RxErr: 00.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  00.101941 CAN 1 Status:chip status error active  - TxErr: 48 RxErr: 00.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  00.102201 CAN 1 Status:chip status error active  - TxErr: 56 RxErr: 00.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  00.102461 CAN 1 Status:chip status error active  - TxErr: 64 RxErr: 00.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  00.102721 CAN 1 Status:chip status error active  - TxErr: 72 RxErr: 00.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  00.102981 CAN 1 Status:chip status error active  - TxErr: 80 RxErr: 00.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  00.103241 CAN 1 Status:chip status error active  - TxErr: 88 RxErr: 00.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  00.103501 CAN 1 Status:chip status warning level - TxErr: 96 RxErr: 00.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  00.103761 CAN 1 Status:chip status warning level - TxErr: 104 RxErr: 00.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  00.104021 CAN 1 Status:chip status warning level - TxErr: 112 RxErr: 00.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  00.104281 CAN 1 Status:chip status warning level - TxErr: 120 RxErr: 00.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  00.104541 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 00.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  01.014705 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 01.014705 CAN 2 Status:chip status error active2.014705 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 02.014705 CAN 2 Status:chip status error active3.014705 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 03.014705 CAN 2 Status:chip status error active4.014706 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 04.014706 CAN 2 Status:chip status error active5.014706 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 05.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是有效的.

BitTimingConfArbBitTimingConfData:指的是用于仲裁和数据段的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

BitTimingConfExtArbBitTimingConfExtData:bit timing存储在该段中。如果bit timing不能以旧格式存储,那么<BitTimingConfArb>、<BitTimingConfData>将被设置为0。

  • 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.00.038849 CAN 1 Status:chip status error active0.038849 CAN 2 Status:chip status error active0.100980 CANFD   1 Tx        211                                   0 0 8  8 00 00 00 00 00 00 00 00   242015  124   200040     2a8f 50a00150 46280150 20001f7e 20000b1a0.200978 CANFD   1 Tx        211                                   0 0 8  8 00 00 00 00 00 00 00 00   242015  124   200040     2a8f 50a00150 46280150 20001f7e 20000b1a0.301134 CANFD   1 Tx        211                                   0 0 8  8 00 00 00 00 00 00 00 00   242015  124   200040     2a8f 50a00150 46280150 20001f7e 20000b1a0.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.00.035889 CAN 1 Status:chip status error active0.035889 CAN 2 Status:chip status error active0.100829 CANFD   1 Tx        211x                                  0 0 8  8 00 00 00 00 00 00 00 00   290015  148   200040      37b 50a00150 46280150 20001f7e 20000b1a0.200893 CANFD   1 Tx        211x                                  0 0 8  8 00 00 00 00 00 00 00 00   290015  148   200040      37b 50a00150 46280150 20001f7e 20000b1a0.300831 CANFD   1 Tx        211x                                  0 0 8  8 00 00 00 00 00 00 00 00   290015  148   200040      37b 50a00150 46280150 20001f7e 20000b1a0.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标准帧的描述

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.00.046804 CAN 1 Status:chip status error active0.046804 CAN 2 Status:chip status error active0.100836 CANFD   1 Tx        211                                   1 0 8  8 00 00 00 00 00 00 00 00   107015  139   303040 f801828f 50a00150 46280150 20001f7e 20000b1a0.200741 CANFD   1 Tx        211                                   1 0 8  8 00 00 00 00 00 00 00 00   107015  139   303040 f801828f 50a00150 46280150 20001f7e 20000b1a0.300714 CANFD   1 Tx        211                                   1 0 8  8 00 00 00 00 00 00 00 00   107015  139   303040 f801828f 50a00150 46280150 20001f7e 20000b1a0.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

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.00.018020 CAN 1 Status:chip status error active0.018020 CAN 2 Status:chip status error active0.100571 CANFD   1 Tx        211x                                  1 0 8  8 00 00 00 00 00 00 00 00   151015  161   303040 80016b85 50a00150 46280150 20001f7e 20000b1a0.200634 CANFD   1 Tx        211x                                  1 0 8  8 00 00 00 00 00 00 00 00   151015  161   303040 80016b85 50a00150 46280150 20001f7e 20000b1a0.300783 CANFD   1 Tx        211x                                  1 0 8  8 00 00 00 00 00 00 00 00   151015  161   303040 80016b85 50a00150 46280150 20001f7e 20000b1a0.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.00.026889 CAN 1 Status:chip status error active0.026889 CAN 2 Status:chip status error active0.101047 CANFD   1 Tx        211                                   0 0 8  0    88015   47   200050     2c3a 50a00150 46280150 20001f7e 20000b1a0.101187 CANFD   1 Tx        211x                                  0 0 8  0   134015   70   220050     6a2a 50a00150 46280150 20001f7e 20000b1a0.201045 CANFD   1 Tx        211x                                  0 0 8  0   134015   70   200050     6a2a 50a00150 46280150 20001f7e 20000b1a0.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 30: Error in Arbitration Phase1: Error in Data Phase

Bit 40: Error is on a CAN channel1: Error is on a CAN FD channel

all othersreserved, 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.00.036456 CAN 1 Status:chip status error active0.036456 CAN 2 Status:chip status error active0.100770 CAN 1 Status:chip status error active  - TxErr: 8 RxErr: 00.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 20000b1a0.100897 CAN 1 Status:chip status error active  - TxErr: 16 RxErr: 00.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 20000b1a0.101024 CAN 1 Status:chip status error active  - TxErr: 24 RxErr: 00.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 20000b1a0.101151 CAN 1 Status:chip status error active  - TxErr: 32 RxErr: 00.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 20000b1a0.101278 CAN 1 Status:chip status error active  - TxErr: 40 RxErr: 00.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 20000b1a0.101405 CAN 1 Status:chip status error active  - TxErr: 48 RxErr: 00.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 20000b1a0.101532 CAN 1 Status:chip status error active  - TxErr: 56 RxErr: 00.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 20000b1a0.101659 CAN 1 Status:chip status error active  - TxErr: 64 RxErr: 00.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 20000b1a0.101786 CAN 1 Status:chip status error active  - TxErr: 72 RxErr: 00.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 20000b1a0.101913 CAN 1 Status:chip status error active  - TxErr: 80 RxErr: 00.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 20000b1a0.102040 CAN 1 Status:chip status error active  - TxErr: 88 RxErr: 00.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 20000b1a0.102167 CAN 1 Status:chip status warning level - TxErr: 96 RxErr: 00.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 20000b1a0.102294 CAN 1 Status:chip status warning level - TxErr: 104 RxErr: 00.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 20000b1a0.102421 CAN 1 Status:chip status warning level - TxErr: 112 RxErr: 00.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 20000b1a0.102548 CAN 1 Status:chip status warning level - TxErr: 120 RxErr: 00.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 20000b1a0.102675 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 00.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 20000b1a1.036456 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 01.036456 CAN 2 Status:chip status error active2.036457 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 02.036457 CAN 2 Status:chip status error active3.036457 CAN 1 Status:chip status error passive - TxErr: 128 RxErr: 03.036457 CAN 2 Status:chip status error active

1.5 换行

换行是用CR+LF表示的编码。

2 小结:如何分辨CAN Log文件中的“标准帧”和“扩展帧”

2.1 经典CAN网络中的标准帧和扩展帧

经典CAN网络中的标准帧和扩展帧的差异:

  • 经典CAN标准帧的IDIDnum字段后不带字符x
  • 经典CAN扩展帧的IDIDnum字段后带字符x

举例:

date Mon Apr 10 04:24:18.233 pm 2023
base hex  timestamps absolute
internal events logged
// version 11.0.00.028996 CAN 1 Status:chip status error active0.028996 CAN 2 Status:chip status error active0.101449 1  211             Tx   d 8 00 00 00 00 00 00 00 00  Length = 242015 BitCount = 124 ID = 5290.101745 1  211x            Tx   d 8 00 00 00 00 00 00 00 00  Length = 290015 BitCount = 148 ID = 529x0.201469 1  211x            Tx   d 8 00 00 00 00 00 00 00 00  Length = 290015 BitCount = 148 ID = 529x0.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.00.008330 CAN 1 Status:chip status error active0.008330 CAN 2 Status:chip status error active0.100736 CANFD   1 Tx        211                                   1 0 8  8 00 00 00 00 00 00 00 00   107015  139   303040 f801828f 50a00150 46280150 20001f7e 20000b1a0.100893 CANFD   1 Tx        211x                                  1 0 8  8 00 00 00 00 00 00 00 00   151015  161   323040 80016b85 50a00150 46280150 20001f7e 20000b1a0.101141 CANFD   1 Tx        211                                   0 0 8  8 00 00 00 00 00 00 00 00   242015  124   220040     2a8f 50a00150 46280150 20001f7e 20000b1a0.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

结尾

获取更多“汽车电子资讯”和“工具链使用”,

请关注CSDN博客“汽车电子助手”,做您的好助手。

相关文章:

图文详解CAN Log文件 - ASC文件格式

目录 1 CAN Log文件 -- ASC文件格式 1.1 Header 1.2 版本编号 1.3 经典CAN网络中的描述 1.3.1 经典CAN Standard标准帧的描述 1.3.2 经典CAN Extended扩展帧的描述 1.3.3 CAN Remote远程帧的描述 1.3.4 CAN Error错误帧的描述 1.4 CANFD网络中的描述 1.4.1 经典CAN S…...

网络编程套接字(一)

学习任务&#xff1a; 我们先来认识端口号&#xff0c;区分好主机IP和端口号的区别&#xff0c;以及涉及到进程PID和端口号的区别。 然后简单认识一下TCP协议和UDP协议&#xff0c;这两个协议都是传输层的。接着了解什么是网络字节序&#xff0c;它有什么作用。然后是网络编程的…...

Mysql数据库存储过程

1、参数分类 存储过程的参数类型可以是IN、OUT和INOUT。根据这点分类如下&#xff1a; 1、没有参数&#xff08;无参数无返回&#xff09; 2、仅仅带 IN 类型&#xff08;有参数无返回&#xff09; 3、仅仅带 OUT 类型&#xff08;无参数有返回&#xff09; 4、既带 IN 又带 O…...

当我开始学习人工智能:人工智能的学派及研究目标

上课真是不认真啊&#xff0c;现在都写不来了作业了&#xff0c;真的会谢 一、人工智能的学派及其争论 1.1 对人工智能方法的争论 三个学派 符号主义 认为人的认知基元是符号&#xff0c;认知过程即符号操作过程。 认为人是一个物理符号系统&#xff0c;计算机也是一个物理符…...

Html5钢琴块游戏制作与分享(音游可玩)

当年一款手机节奏音游&#xff0c;相信不少人都玩过或见过。最近也是将其做了出来分享给大家。 游戏的基本玩法&#xff1a;点击下落的黑色方块&#xff0c;弹奏音乐。&#xff08;下落的速度会越来越快&#xff09; 可以进行试玩&#xff0c;手机玩起来效果会更好些。 点击…...

MySQL数据库——数据库设计概念和数据库设计步骤

数据库设计就是根据业务系统的具体需求&#xff0c;结合我们所选用的数据库&#xff0c;建立好表结构及表与表之间的管理关系&#xff0c;为这个业务系统构造出最优秀的数据存储模型的过程。使之能有效的对应用的数据进行存储&#xff0c;并高效的对已经存储的数据进行访问。 …...

【云原生】Kubernetes(k8s)之Pod概念和使用

k8s之Pod概念和使用一、Pod简介1.1、Pod的阶段&#xff08;状态&#xff09;1.2、容器状态二、Pod的定义2.1、restartPolicy2.2、imagePullPolicy2.3、command2.4、args2.5、resources三、Pod的使用3.1、创建并访问Pod3.2、多个应用容器3.3、Init容器3.3.1、Init容器与普通容器…...

数组(九)-- LC[316][321][402] 去除重复字母

1 移掉 K 位数字 1.1 题目描述 题目链接&#xff1a;https://leetcode.cn/problems/remove-k-digits/ 1.2 思路分析 这道题让我们从一个字符串数字中删除 k 个数字&#xff0c;使得剩下的数最小。也就说&#xff0c;我们要保持原来的数字的相对位置不变。 以题目中的 num1432…...

ubuntu下Thrift安装

thrift是一种常用rpc框架&#xff0c;工作中经常会用到&#xff0c;本文记录一下其安装过程。 目录 1.下载软件包 1.1thrift下载 1.2libevent下载 1.3boost下载 2.安装&#xff08;注意步骤&#xff09; 2.1安装libevent 2.2安装boost 2.3安装与Python2.7版本对应的py…...

读懂AUTOSAR :DiagnosticLogAndTrace DLT(四)-- API解析

一、周期调用的函数&#xff1a;Dlt_TxFunction 根据参数DltGeneralTrafficShapingSupport&#xff0c;决定如何去发送DLT消息。如果为TRUE&#xff0c;那需要参考参数DltLogChannelTrafficShapingBandwidth为每个Log通道设置发送带宽&#xff1b;如果为FALSE&#xff0c;那么…...

【LeetCode】剑指 Offer 56. 数组中数字出现的次数 p275 -- Java Version

1. 题目介绍&#xff08;56. 数组中数字出现的次数&#xff09; 面试题56.&#xff1a;数组中数字出现的次数&#xff0c; 一共分为两小题&#xff1a; 题目一&#xff1a;数组中只出现一次的两个数字题目二&#xff1a;数组中唯一只出现一次的数字 2. 题目1&#xff1a;数组中…...

Zookeeper集群 + Fafka集群

目录 第一章Zookeeper 概述 1.1.Zookeeper 定义 1.2.Zookeeper 工作机制 1.3.Zookeeper 特点 1.4.Zookeeper 数据结构 1.5.Zookeeper 应用场景 1.6.Zookeeper 原理之选举机制 1.7.部署 Zookeeper 集群 总结 第二章消息队列概述 2.1消息队列需求原因 2.2消息队列的优…...

全国青少年电子信息智能创新大赛(复赛)python·模拟四卷

目录 一、编程题 答案解析如下: 下载文档打印做题: 全国青少年电子信息智能创新大赛(复赛)python模拟四卷 一、编程题 第一题:描述 班上有学生若干名,给出每名学生的年龄《整数),求班上所有学生的平均年龄,保留到小数点后两企 输入 第一行有一个整数n (1<= n...

Redis - 介绍与使用场景

简介 Redis 的全称是 Remote Dictionary Server&#xff0c;是一个使用 C 语言编写的、开源的&#xff08;BSD 许可&#xff09;高性能非关系型&#xff08;NoSQL&#xff09;的键值对数据库。 Redis 的数据是存储在内存中的&#xff0c;所以读写速度非常快&#xff0c;被广泛…...

Spark SQL实战(07)-Data Sources

1 概述 Spark SQL通过DataFrame接口支持对多种数据源进行操作。 DataFrame可使用关系型变换进行操作&#xff0c;也可用于创建临时视图。将DataFrame注册为临时视图可以让你对其数据运行SQL查询。 本节介绍使用Spark数据源加载和保存数据的一般方法&#xff0c;并进一步介绍…...

Django DRF - 权限Permissions

权限Permissions 权限控制可以限制用户对于视图的访问和对于具体数据对象的访问。 在执行视图的dispatch()方法前&#xff0c;会先进行视图访问权限的判断在通过get_object()获取具体对象时&#xff0c;会进行对象访问权限的判断 1.提供的权限 AllowAny 允许所有用户IsAuth…...

二叉树(OJ)

单值二叉树&#xff08;力扣&#xff09; ---------------------------------------------------哆啦A梦的任意门------------------------------------------------------- 我们来看一下题目的具体要求&#xff1a; 既然我们都学了二叉树了&#xff0c;我们就应该学会如何去…...

mysql中增删改成的练习

文章目录一、表的创建1.student表的数据2、课程表的数据course3、学生成绩表的数据二、操作序列1、查询计算机系cs的全体学生学号、姓名和性别2、检索选修了课程号为2的学生号和姓名3、检索至少选修了三门课以上的学生号4、检索选修了全部课程的学生5、在原表的基础上创建一个视…...

谈一谈Java的ThreadLocal

目录 先说原理&#xff1a; 再上代码&#xff1a; 运行结果&#xff1a; 先说原理&#xff1a; ThreadLocal 是一个本地线程副本变量工具类&#xff0c;它可以在每个线程中创建一个副本变量&#xff0c;每个线程可以独立地修改自己的副本变量&#xff0c;而不会影响其他线程…...

边缘检测与阈值分割

Canny [1] Canny Edge Detection. https://docs.opencv.org/3.4/da/d22/tutorial_py_canny.html [2] OpenCV Edge Detection ( cv2.Canny ). https://pyimagesearch.com/2021/05/12/opencv-edge-detection-cv2-canny/ 由John F. Canny提出 1、由于边缘检测容易受噪声影响&…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...