Collision detection
The generation of the DALI frames is achieved in a DALI device by changing between high and low level within defined times. At a low level, the DALI bus is pulled towards 0 V against a current limitation. With a high level, the DALI connection from the DALI device is high-resistance.
With DALI-2, it may happen that several DALI devices try to send DALI frames independently of each other. For this reason, DALI-2 includes collision avoidance, collision detection and collision resolution.
Collision avoidance is achieved by using the DALI priorities. Before a DALI device sends a DALI frame, it is checked whether the DALI bus is free. Only if the DALI bus is free (high level), a bus access may take place. Correct use of DALI priorities reduces the probability of simultaneous bus access and thus minimizes the number of collisions.
Nevertheless, the DALI priorities cannot completely avoid collisions on the DALI bus, since DALI frames from different DALI devices may have the same DALI priority. For this reason, DALI-2 has collision detection and collision resolution.
The following diagram explains the collision resolution.
If several DALI devices send a high level, this cannot be detected by the DALI devices. The resulting voltage on the DALI bus is also a high level in this case.
At point A DALI device 1 detects a collision, because an attempt is made to generate a high signal at this point, but the DALI bus is pulled to low level by DALI device 2. DALI device 1 starts the break sequence for this reason. During this time the DALI device pulls the DALI bus to low level.
At point B DALI device 2 tries to generate a high level. However, since the DALI bus is pulled to low level by DALI device 1, DALI device 2 also detects a collision and also starts the break sequence.
At point C the break sequence of DALI device 1 has expired. Subsequently, it is checked whether the DALI bus is still at low level. Since this is the case, the system waits until the DALI bus is free again. DALI device 1 then starts sending the DALI frame again, including the settling time.
If the break sequence is finished at DALI device 2, the DALI bus is not occupied by any other DALI device (point D). Therefore the recover sequence is started at DALI device 2 and then the DALI frame is sent again directly (without settling time).

The break sequence has a length of 1.2 ms to 1.4 ms, while the recover sequence can be between 4.0 ms and 4.6 ms.
Collisions on the DALI bus interrupt the transmission on the DALI bus for several milliseconds. This further reduces the data throughput. For this reason, a DALI system should be put together and configured in such a way that as few collisions as possible occur.