Re: [PATCH v2 2/4] can: fixed-transceiver: Add documentation for CAN fixed transceiver bindings
From: Oliver Hartkopp
Date: Fri Jul 28 2017 - 14:34:08 EST
Hi Kurt,
On 07/28/2017 03:02 PM, Kurt Van Dijck wrote:
The word 'max-arbitration-bitrate' makes the difference very clear.
I think you are mixing up ISO layer 1 and ISO layer 2.
In order to provide higher data throughput without putting extra limits
on transceiver & wire, the requirement for the round-trip delay to be
within 1 bittime has been eliminated, but only for the data phase when
arbitration is over.
So layer 2 (CAN FD) has been adapted to circumvent the layer 1
(transceiver + wire) limitations.
In fact, the round-trip delay requirement never actually did matter for
plain CAN during data bits either. CAN FD just makes use of that,
but is therefore incompatible on the wire.
I forgot the precise wording, but this is the principle that Bosch
explained on the CAN conference in Nurnberg several years ago, or at
least this is how I remembered it :-)
I just checked an example for a CAN FD qualified transceiver
http://www.nxp.com/products/automotive-products/energy-power-management/can-transceivers/high-speed-can-transceiver-with-standby-mode:TJA1044
where it states:
The TJA1044T is specified for data rates up to 1 Mbit/s. Pending the
release of ISO11898-2:2016 including CAN FD and SAE-J2284-4/5,
additional timing parameters defining loop delay symmetry are specified
for the TJA1044GT and TJA1044GTK. This implementation enables reliable
communication in the CAN FD fast phase at data rates up to 5 Mbit/s.
and
TJA1044GT/TJA1044GTK
- Timing guaranteed for data rates up to 5 Mbit/s
- Improved TXD to RXD propagation delay of 210 ns
I haven't followed the developments of transceivers, but with the above
principle in mind, it's obvious that any transceiver allows higher
bitrates during the data segment because the TX-to-RX line delay must
not scale with the bitrate.
In reality, maybe not all transceivers will mention this in their
datasheet.
So whether you call it 'max-arbitration-bitrate' & 'max-data-bitrate'
or 'max-bitrate' & 'max-data-bitrate' does not really matter (I prefer
1st) but you will one day need 2 bitrates.
The question to me is whether it is right option to specify two bitrates
OR to specify one maximum bitrate and provide a property that a CAN FD
capable propagation delay is available.
E.g.
max-bitrate
max-data-bitrate
or
max-bitrate
canfd-capable // CAN FD capable propagation delay available
I assume the optimized propagation delay is 'always on' as the
transceiver is not able to detect which kind of bits it is processing.
That's why I think providing two bitrates leads to a wrong view on the
transceiver.
Regards,
Oliver