CanBusParams is used for getting the channels bus params capacity and it can be used for setting up a correct bus speed configuration for a specific CAN channel.
Constraints that must be fulfilled when opening channel in classic CAN Mode:
tq = 1 + prop + phase1 + phase2 tq >= 3 sjw <= min(phase1, phase2) prescaler >= 1
Constraints that must be fulfilled when opening channel in CAN FD Mode:
arbitration.tq = 1 + arbitration.prop + arbitration.phase1 + arbitration.phase2 arbitration.tq >= 3 arbitration.sjw <= min(arbitration.phase1, arbitration.phase2) arbitration.prescaler >= 1 (<=2 will enable Transmitter Delay Compensation Mechanism)
data.tq = 1 + data.phase1 + data.phase2 data.tq >= 3 data.sjw <= min(data.phase1, data.phase2) data.prop = 0 data.prescaler = arbitration.prescaler
The number of time quantas in phase 1.
The number of time quantas in phase 2.
The prescaler value.
The propagation segment in time quantas.
The synchronization jump width in time quantas.
The total number of time quantas (TQ).
CanBusParams is used for getting the channels bus params capacity and it can be used for setting up a correct bus speed configuration for a specific CAN channel.
Constraints that must be fulfilled when opening channel in classic CAN Mode:
tq = 1 + prop + phase1 + phase2 tq >= 3 sjw <= min(phase1, phase2) prescaler >= 1
Constraints that must be fulfilled when opening channel in CAN FD Mode:
arbitration.tq = 1 + arbitration.prop + arbitration.phase1 + arbitration.phase2 arbitration.tq >= 3 arbitration.sjw <= min(arbitration.phase1, arbitration.phase2) arbitration.prescaler >= 1 (<=2 will enable Transmitter Delay Compensation Mechanism)
data.tq = 1 + data.phase1 + data.phase2 data.tq >= 3 data.sjw <= min(data.phase1, data.phase2) data.prop = 0 data.prescaler = arbitration.prescaler