Jump to: navigation, search

The HDMI-CEC bus

Physical and logical addresses

All CEC devices have both a physical and logical address, whereas non-CEC devices only have a physical address. The physical address is allocated though an algorithm described in the HDMI specification. But contrary to DDC which is point to point, CEC is shared between all devices in the HDMI “tree” (so it’s a bus), and should be interconnected between all inputs and one output of all devices, even those not implementing CEC.

HDMI-CEC-architecture.png


Whenever a new physical address is discovered, a CEC device shall allocate its logical address and report the association between its logical and physical addresses by broadcasting the information on the bus. This process allows any node to create a map of physical connections to logical addresses.

Address Device
0 TV
1 Recording Device 1
2 Recording Device 2
3 Tuner 1
4 Playback Device 1
5 Audio System
6 Tuner 2
7 Tuner 3
8 Playback Device 2
9 Playback Device 3
10 Tuner 4
11 Playback Device 2
12 Reserved
13 Reserved
14 Free Use
15 Unregistered (as initiator address) or Broadcast (as destination address)

Sink and sources

Within HDMI-CEC, devices are of two kinds, TVs and switches inputs (named sinks) and playback device, recording device, switch outputs ...  (named sources). By definition of the HDMI specification, there is only one TV or display within a CEC bus. Most seems to be not that keen on being controlled. Players or recorders, however, definitely support quite well to be controlled.

Only one TV is supposed to be part of the bus (with the physical address 0.0.0.0). But a TV at a physical address other than 0.0.0.0 shall try to allocate the ‘Specific Use’ (14) address. If address 14 is already allocated it shall take the ‘Unregistered’ Logical Address (15).

Other hints to discover CEC