1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-24 05:53:49 +01:00
RIOT/sys/can/Kconfig
Gilles DOFFE f05fc0c70f can: introduce loop_delay
During the data phase of a FDCAN transmission only one node is
transmitting, all others are receivers. The length of the bus line has
no impact.
When transmitting via pin FDCAN_TX the protocol controller receives the
transmitted data from its local CAN transceiver via pin FDCAN_RX. The
received data is delayed by the CAN transceiver loop delay.
If this delay is greater than TSEG1 (time segment before sample point),
a bit error is detected. Without transceiver delay compensation, the bit
rate in the data phase of a FDCAN frame is limited by the transceiver's
loop delay.

Since this parameter is related to the transceiver used, there cannot be
a default value, and it must be explicitly defined with the
configuration variable CONFIG_FDCAN_DEVICE_TRANSCEIVER_LOOP_DELAY.

Signed-off-by: Gilles DOFFE <gilles.doffe@rtone.fr>
2025-01-29 20:51:23 +01:00

37 lines
1.2 KiB
Plaintext

menu "CAN"
depends on USEMODULE_CAN || USEMODULE_FDCAN
menu "FD CAN"
config FDCAN_DEVICE_SET_TRANSCEIVER_LOOP_DELAY
depends on USEMODULE_FDCAN
bool "FD CAN transceiver loop delay"
default n
help
Allow to set FD CAN Transceiver loop delay.
config FDCAN_DEVICE_TRANSCEIVER_LOOP_DELAY
depends on FDCAN_DEVICE_SET_TRANSCEIVER_LOOP_DELAY
int "FD CAN transceiver loop delay value"
range 0 1000
default 0
help
This parameter defines the loop delay introduced by the CAN transceiver
during transmission. The loop delay represents the time taken for the
transmitted signal to be looped back to the CAN controller. This delay
is introduced by the physical transceiver circuitry and may vary
depending on the transceiver model and other physical factors.
The value is typically measured in nanoseconds and should be set
according to the specifications provided by the transceiver manufacturer.
A higher loop delay can affect the timing of CAN message transmissions
and may need to be adjusted in systems with tight timing requirements.
If unsure, leave this value as 0 or refer to the hardware documentation
for the correct delay value.
endmenu # FD CAN
endmenu # CAN