mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-24 05:53:49 +01:00
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>
37 lines
1.2 KiB
Plaintext
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
|