28. March 2016 01:35 by Christian in
CAN Bus Off is an error state of the CAN controller and it can be set only by the Transmitter Node when Transmit Error Counter is above 255. Such critical error is usually the result of a critical hardware issue (e.g. high level of electromagnetic field, bus wiring short-circuit, defective transceiver).
Methods to self-recover from a Node CAN Bus Off state:
1) Automatically after the CAN controller generates an interrupt.
2) Manually upon User request (ISO11898-1 §6.15).
In both the above instances the bus turns back on after 128 occurrences of 11 consecutive Recessive Bits (BOSCH CAN 2.0B §8.12).
Auto-Bus-ON is not required by ISO 11989, therefore the CAN controller makers let the application to decide on its implementation. The automotive industry does not encourage the auto-bus-on feature.
If application's driver reports repeatedly the CAN Bus Off state the application should stop using the CAN.
Christian Rosu
27. March 2016 09:49 by Christian in
The data is carried on the CAN bus as a voltage difference between the
two signal lines. If both lines are at the same voltage, the signal is a
recessive bit. If the CAN_H line is higher than the CAN_L line by 0.9V,
the signal line is a dominant bit.
Immunity to Ground Noise
The CAN bus does not use the ground as
reference point for these two signal lines. Therefore the CAN bus transmissions lines are immune to any
ground noise typically present in automotive applications.
Immunity to Electromagnetic Filed
The signals on the two CAN lines will both be subject to the same
electromagnetic filed level. Therefore no differences in voltages between
the two lines should become relevant under
electromagnetic interference.
Using Twisted Pair Wires for Differential Signal Lines
Bad connectors are almost guaranteed to present an impedance discontinuity,
and hence will cause reflections. Transmission line stubs of any length are also a source of
reflections, longer the stub, the worse the impact of the reflections on lower data rate signals. Reflections are bad because they can cause destructive interference that can corrupt any transmitted data.