BUS lines, used by BMW

I/K/P BUS (9600 bps), D BUS (9600/115.000 bps), BSD (Bit-serial Data Interface) (1200 bps), Lin-bus (9600/19200/20000 bps), DWA-bus (9600 bps), etc.

These are slow (and not very secure – signal lines are not doubled) serial interfaces, that’s why they are used to control peripheral functions and management of mechanisms.

Common features for all these channels:

  • principle: series/asynchronous
  • architecture: LIN
  • communication via 1 wire (active = low)
  • master/slave: YES
  • network load: power-up resistors in Master and Power-up modules

Network operation: Master unit gives directions for current device to reply. After receiving directions, current device replies with network reply message.

In the picture: simplified schematics of LIN BUS device transmitter/receiver part. Receiver: simple comparator (input = inverted), output: open-collector transistor.

Network power supply, marked with red – terminal resistors, which are placed in current modules. This resistor for sure is located in Master module; if the network contains also Power-up devices (which ensure “awakening” of the car) – also these devices contain such resistors (to ensure normal performance of the network in the moment, when the car “wakes up”).

Network diagnostics: Network voltage in passive mode should be: close to Ubat. Active mode: <1,0V. To check BUS driver of the device, which is network-disabled (to check, if it does not load BUS line) – connect BUS connector via a resistor (1 .. 33 KOhm) to +12V. The voltage on BUS pin has to be close to +12V.

M Bus. In older vehicles, this was used to manage peripheral devices, for example, management of E38 IHKA steppers and ventilation valves. The voltage of M Bus is +5,0V; special feature – continuous sending/receiving of data packets (around 50% duty cycle), additional power supply (+12V) wire for supply peripheral devices.


CAN communication channels.

Basic structure:

  • interface type: series/asynchronous;
  • architecture: CAN
  • number of units: 2 (loCAN); >>2 in typical case;
  • communication via 2 wires;
  • master/slave: N/A;
  • network load: terminal resistors.

Basic performance principle of these data channels:

  • each unit can start sending data any moment;
  • if several units start to send data at the same time, the highest priority is for the unit, which has smaller serial ID number;
  • for reception and sending different ID numbers are used.

K CAN

  • data exchange speed: 100 kbps (or 500 kbps F01+)
  • terminal resistors: 820 Ohm (to +5V/GND) for “Basic” units, 12 KOhm (to +5V/GND) for others.

BMW AG describes K CAN signal in their materials. Unfortunately, this material has some gross mistakes.

For example – the shape of K CAN signal from BMW AG material: E65 BUS Systems.

Sample – oscillogram on the right side of the image is correct (but does not corresponds to the graphical image on the left side).

The correct signal of K CAN is:

Corrected places of the signal are marked with (1) and (2):

  • when BUS is passive, CANH has to be 0V; CANL has to be +5V (important!)
  • when BUS is active, CANH has to be +4,0 .. 4,5V; CANL has to be +0,5 .. 1,0V

If in the monitor of oscilloscope the signal is visible as depicted in previous material from BMW AG – there is a current leak between CAN BUS lines (around 1 .. 2K Ohm), and correct function of BUS is endangered! The current leakage has to be eliminated and correct performance of BUS restored.

Note: addition to BMW AG materials regarding PT CAN diagnostics:

in the active mode CANL could be +4,0 .. 4,5V, but CANH +0,5 .. 1,0V. These tolerances depend on the possibility to use specifics of CAN driver chipsets (are bipolar transistors or MOSFET transistors used, what is the Imax of chipset etc.). For devices, connected to a network, these voltages can differ in the area mentioned.

As mentioned in the description form BMW AG,

Basic unit terminal resistor (2 pieces, one from CANH to GND, second – from CANL to +5V) are with a smaller denomination (820 Ohm), in other units: each 12 KOhm.

Accordingly – the unit, disconnected from car’s CAN network, after a certain time (according to programmed values) will try to send data in CAN line, and this signal can be seen with an oscilloscope.

Unfortunately, in some place the documentation is controversial. For example, in the description for F01 is mentioned, that K CAN 2 has two terminal resistors, which are located in ZGM and JB electronic modules (F01 Workbook, page 41). Obviously, 2 sets of terminal transistors are described, and in other modules CAN “load” modules could be not present (are not present).

PT CAN

  • data exchange speed: 500 kbps;
  • terminal resistors: 120 Ohm; 2 pieces – in the beginning, and end of the interface (older: E65) or included in blocks/inside (E60+).

In case of PT CAN – to achieve higher data exchange speed, network signal wires are loaded with resistors of smaller denomination, it has been done technically more correctly – each PT CAN BUS has only 2 terminal resistors: by each of “final” units.

In case of E65, the placing of terminal resistors has been chosen “professionally”:

  • below the front/right wing;
  • below the rear/left wing.

In the first case – rain and salt, on the second – carbonated drinks are reasons, why this BUS stops to work. Additionally  – the speed of data exchange of this BUS has been chosen so hight, that the units are not able to communicate, if even one of the terminal resistors is damaged; the car is not able to switch to slowed data exchange speed; no emergency solutions (resistors with larger denomination built in blocks to ensure slower data exchange speed) exists. As a result – resistors, which cost several cents, could be the cause of total paralysis of car operation.

PT CAN voltages/oscillogram are visible in the image below:

Description of CANH active level value is incorrect – it has to be 1,0V (max). If this voltage is above +1,0V for any of units, obviously, the output cascade of CAN driver of it (unit) is damaged, or increased series resistance (typically – connectors).

 

Note: addition to BMW AG materials regarding PT CAN diagnostics:

in the active mode CANL could be +4,0 .. 4,5V, but CANH +0,5 .. 1,0V. These tolerances depend on the possibility to use specifics of CAN driver chipsets (are bipolar transistors or MOSFET transistors used, what is the Imax of chipset etc.). For devices, connected to a network, these voltages can differ in the area mentioned.

The problem with terminal resistors in E60+ series is solved, placing them in “end” units. In which blocks the terminal resistors are placed – has to be checked in the description of each model. For example, the F01 description says:

 

The resistance between signal lines of normally performing PT CAN BUS has to be 60 Ohm. I any of the units, who contains terminal resistor, will be disconnected to perform a test, the network resistance will be (become) 120 Ohm, in the connector of disconnected unit the terminal resistor (120 Ohm) has to be placed, for total network resistance again come to 60 Ohm an BUS could perform normally.

Quick diagnostics of PT CAN BUS:

  • the resistance between BUS pins has to be 60 Ohm;
  • the resistance between CAN pins (any of them) and GND has to be at least several hundreds KOhm;
  • the voltage of BUS in the passive state: +2,5V.

To check the unit, which is disconnected from the car, the terminal resistor (if the unit does not contain one) has to be connected to CAN pins (denomination from 100 OHm to several KOhm).

D CAN (Diagnosis CAN).

500 kbit; analogous PT CAN; terminal resistors placed at the ends of CAN lines (one of them – in/near OBD socket).

 

High-speed connections.

MOST, Byteflight, FlexRay, Ethernet, etc.