Inside the DALI Bus: Frames, Manchester Encoding, and Addressing
A DALI system looks simple from outside: two wires, dozens of devices, no termination resistors, no shield. The elegance hides a carefully specified digital protocol, and knowing how the bus actually works explains why DALI behaves the way it does, why the limits exist, and why troubleshooting follows certain paths.
DALI transmits data using Manchester encoding, also called bi-phase encoding. In this scheme, each bit period contains a guaranteed transition at the bit boundary, and a logic one is represented by a rising transition within the bit period while a logic zero is represented by a falling transition. The transition in every bit carries a clock, so the receiver can recover timing from the signal itself. The nominal data rate is 1200 bits per second, with a permitted tolerance of plus or minus 10 percent, which makes one bit period 833 microseconds. Devices that are not transmitting hold the bus in a high or idle state.
Communication happens in frames. A forward frame, sent from the control device to the control gear, consists of a Manchester-encoded start bit, a full address byte, a command byte, and two stop bits, a total of 19 bits. The most significant bit is sent first. A backward frame, the gear's response to a query, is shorter: a start bit, eight data bits, and two stop bits, eleven bits in all. This asymmetry is why queries return only a single byte of information, enough for status flags, light levels, or error codes.
The address byte is where the protocol gets its addressing power. The most significant bit of the address byte selects the addressing mode. If it is a logical one, the remaining seven bits are a short address from 0 to 63, addressing a single device. If it is zero, the address is a group address from 0 to 15, or the broadcast value that reaches every device on the bus. This one-byte scheme gives DALI its three levels of control: individual, group, and broadcast, without any extra wiring. There are also special commands for addressing unassigned devices during commissioning, which is how the search procedure assigns short addresses.
The command byte carries the operation. For dimming, the command combines an opcode with arc power levels, producing the familiar 254 logarithmic levels from level 1 to level 254, with level 255 reserved as off. Scene commands recall stored levels, fade commands set transition times, and query commands request status. Because every command is a defined opcode, the behaviour of any certified device is predictable to the controller, which is the foundation of interoperability.
The electrical layer is deliberately simple. The bus operates at a nominal 16 V DC from a bus power supply, with devices drawing about 2 mA each, and the standard allows up to 250 mA of bus current. Devices are polarity-insensitive for standard implementations, which simplifies installation. The bus length is limited by the voltage drop, typically to 300 meters at 1.5 square millimeter conductors, because the signal integrity depends on maintaining the specified levels at the far end.
For installers and engineers, the practical lessons are concrete. Because timing is tight, bus faults usually appear as missed responses rather than corrupted text, and because the protocol is half-duplex with immediate responses, a device that drags the bus low will silence everything. The two-wire simplicity is real, but the protocol behind it is precise, and that precision is what allows reliable multi-vendor systems to be built on a pair of wires.
SELV, Class II, and Isolation: Electrical Safety in LED Drivers
The DALI-2 Certification Process: Conformance Testing and Product Registration