SUNCAN CAN FD in Action: Practical Evaluation and Performance in Linux
- Introduction
This article presents a practical evaluation of SUNCAN's performance by measuring its actual throughput on Linux, we will discuss Windows in the next article.
- In action - Linux
- Platform
OS | Ubuntu 22.04 Kernel 6.8 |
CPU | Intel 13th I7-13700 |
Chipset | H770 |
Driver | V2.1.1.0 |
Model | CAN-E2104SI |
Test Tool | can-utils https://github.com/linux-can/can-utils |
|
|
|
can-utils is a collection of command-line tools for working with SocketCAN — the Linux kernel's built-in CAN subsystem. Two commands are well-suited for verifying CAN FD performance: cangen and cansequence.
cangen can send 64-byte data frames back-to-back without gaps. This allows testing of the actual maximum bit rate for transmission and reception.
On the other hand, we need a monitoring tool to track the bus loading. The canbusload command can fulfill this task
- cangen option
|
The complete syntax is
$can{n} –g 0 –f –b –E –D i –L 64 |
-g 0 | -f | -b | -E | -D i | -L 64 |
no gap | FD frame | BRS on | ESI on | Payload Increment | 64bytes |
- cansequence options
We will set the options indicated in the figure below:
|
TX:
$cansequence can{n} –e –v –f –s -b |
RX:
$cansequence can{n} –e –v -r –f –s -b |
-e | -f | -s | -b | -R |
Ext. frame | FD frame | No CAN2.0 frame | BRS on | receiver |
- canbusload options
We will configure the fastest setting with an arbitration bitrate of 1Mbps and a data bitrate of 8Mbps. Due to the hardware configuration involves two CAN channels communicating with each other, We need to monitor two buses.
$canbusload can{n}@1000000[8000000] can{n}@1000000[8000000] |
- SUNCAN Configuration:
|
- Wiring
|
- Practical results
The data highlights two key points: SUNCAN achieves a maximum throughput of 5.3 Mbps and a maximum receive rate of 16,875 frames per second on SocketCAN.
SUNCAN CAN FD in Action: Practical Evaluation and Performance in Linux
- Introduction
This article presents a practical evaluation of SUNCAN's performance by measuring its actual throughput on Linux, we will discuss Windows in the next article.
- In action - Linux
- Platform
OS | Ubuntu 22.04 Kernel 6.8 |
CPU | Intel 13th I7-13700 |
Chipset | H770 |
Driver | V2.1.1.0 |
Model | CAN-E2104SI |
Test Tool | can-utils https://github.com/linux-can/can-utils |
|
|
|
can-utils is a collection of command-line tools for working with SocketCAN — the Linux kernel's built-in CAN subsystem. Two commands are well-suited for verifying CAN FD performance: cangen and cansequence.
cangen can send 64-byte data frames back-to-back without gaps. This allows testing of the actual maximum bit rate for transmission and reception.
On the other hand, we need a monitoring tool to track the bus loading. The canbusload command can fulfill this task
- cangen option
|
The complete syntax is
$can{n} –g 0 –f –b –E –D i –L 64 |
-g 0 | -f | -b | -E | -D i | -L 64 |
no gap | FD frame | BRS on | ESI on | Payload Increment | 64bytes |
- cansequence options
We will set the options indicated in the figure below:
|
TX:
$cansequence can{n} –e –v –f –s -b |
RX:
$cansequence can{n} –e –v -r –f –s -b |
-e | -f | -s | -b | -R |
Ext. frame | FD frame | No CAN2.0 frame | BRS on | receiver |
- canbusload options
We will configure the fastest setting with an arbitration bitrate of 1Mbps and a data bitrate of 8Mbps. Due to the hardware configuration involves two CAN channels communicating with each other, We need to monitor two buses.
$canbusload can{n}@1000000[8000000] can{n}@1000000[8000000] |
- SUNCAN Configuration:
|
- Wiring
|
- Practical results
The data highlights two key points: SUNCAN achieves a maximum throughput of 5.3 Mbps and a maximum receive rate of 16,875 frames per second on SocketCAN.
SUNCAN CAN FD in Action: Practical Evaluation and Performance in Linux
- Introduction
This article presents a practical evaluation of SUNCAN's performance by measuring its actual throughput on Linux, we will discuss Windows in the next article.
- In action - Linux
- Platform
OS | Ubuntu 22.04 Kernel 6.8 |
CPU | Intel 13th I7-13700 |
Chipset | H770 |
Driver | V2.1.1.0 |
Model | CAN-E2104SI |
Test Tool | can-utils https://github.com/linux-can/can-utils |
|
|
|
can-utils is a collection of command-line tools for working with SocketCAN — the Linux kernel's built-in CAN subsystem. Two commands are well-suited for verifying CAN FD performance: cangen and cansequence.
cangen can send 64-byte data frames back-to-back without gaps. This allows testing of the actual maximum bit rate for transmission and reception.
On the other hand, we need a monitoring tool to track the bus loading. The canbusload command can fulfill this task
- cangen option
|
The complete syntax is
$can{n} –g 0 –f –b –E –D i –L 64 |
-g 0 | -f | -b | -E | -D i | -L 64 |
no gap | FD frame | BRS on | ESI on | Payload Increment | 64bytes |
- cansequence options
We will set the options indicated in the figure below:
|
TX:
$cansequence can{n} –e –v –f –s -b |
RX:
$cansequence can{n} –e –v -r –f –s -b |
-e | -f | -s | -b | -R |
Ext. frame | FD frame | No CAN2.0 frame | BRS on | receiver |
- canbusload options
We will configure the fastest setting with an arbitration bitrate of 1Mbps and a data bitrate of 8Mbps. Due to the hardware configuration involves two CAN channels communicating with each other, We need to monitor two buses.
$canbusload can{n}@1000000[8000000] can{n}@1000000[8000000] |
- SUNCAN Configuration:
|
- Wiring
|
- Practical results
The data highlights two key points: SUNCAN achieves a maximum throughput of 5.3 Mbps and a maximum receive rate of 16,875 frames per second on SocketCAN.
SUNCAN CAN FD in Action: Practical Evaluation and Performance in Linux
- Introduction
This article presents a practical evaluation of SUNCAN's performance by measuring its actual throughput on Linux, we will discuss Windows in the next article.
- In action - Linux
- Platform
OS | Ubuntu 22.04 Kernel 6.8 |
CPU | Intel 13th I7-13700 |
Chipset | H770 |
Driver | V2.1.1.0 |
Model | CAN-E2104SI |
Test Tool | can-utils https://github.com/linux-can/can-utils |
|
|
|
can-utils is a collection of command-line tools for working with SocketCAN — the Linux kernel's built-in CAN subsystem. Two commands are well-suited for verifying CAN FD performance: cangen and cansequence.
cangen can send 64-byte data frames back-to-back without gaps. This allows testing of the actual maximum bit rate for transmission and reception.
On the other hand, we need a monitoring tool to track the bus loading. The canbusload command can fulfill this task
- cangen option
|
The complete syntax is
$can{n} –g 0 –f –b –E –D i –L 64 |
-g 0 | -f | -b | -E | -D i | -L 64 |
no gap | FD frame | BRS on | ESI on | Payload Increment | 64bytes |
- cansequence options
We will set the options indicated in the figure below:
|
TX:
$cansequence can{n} –e –v –f –s -b |
RX:
$cansequence can{n} –e –v -r –f –s -b |
-e | -f | -s | -b | -R |
Ext. frame | FD frame | No CAN2.0 frame | BRS on | receiver |
- canbusload options
We will configure the fastest setting with an arbitration bitrate of 1Mbps and a data bitrate of 8Mbps. Due to the hardware configuration involves two CAN channels communicating with each other, We need to monitor two buses.
$canbusload can{n}@1000000[8000000] can{n}@1000000[8000000] |
- SUNCAN Configuration:
|
- Wiring
|
- Practical results
The data highlights two key points: SUNCAN achieves a maximum throughput of 5.3 Mbps and a maximum receive rate of 16,875 frames per second on SocketCAN.