EDID data exchange is a standardized means for a display to communicate its capabilities to a source device. The premise of this communications is for the display to relay its operational characteristics, such as its native resolution, to edidthe attached source, and then allow the source to generate the necessary video characteristics to match the needs of the display. This maximizes the functional compatibility between devices without requiring a user to configure them manually, thus reducing the potential for incorrect settings and adjustments that could compromise the quality of the displayed images and overall reliability of the system.
Generally, the source device will be a computer graphics card on a desktop or laptop PC, but provisions are in place for many other devices, including HDTV receivers and DVRs, DVD and Blu-ray Disc players, and even gaming consoles, to read EDID and output video accordingly. Originally developed for use between analog computer-video devices with VGA ports, EDID is also now implemented for DVI, HDMI, and DisplayPort.
Where is EDID Utilized?
EDID was developed by VESA - the Video Electronics Standards Association, with version 1.0 introduced in 1994 within version 1.0 of the DDC standard. See Table 1.
Table 1: EDID Development History
Prior to the development of EDID, pins 4, 11, 12, and 15 on the VGA connector were sometimes used to define monitor capabilities. These ID bit pins carried either high or low values to define different screen resolutions. VESA extended this scheme by redefining VGA connector pins 9, 12, and 15 as a serial bus in the form of the DDC - Display Data Channel. This allowed for much more information to be exchanged, so that EDID and other forms of communication were possible between the source and the display.
VGA-VESA Pin Assignments
The original DDC protocol defined 128 bytes to be sent from the display to the video source, with data formatting defined by the EDID specification.
As display types and capabilities increased, 128 bytes became insufficient, and both EDID and DDC were extended so that multiple 128-byte data blocks could be exchanged. This is known as E-EDID and has been implemented in many consumer devices. In fact, the CEA - Consumer Electronics Association has defined its own EDID extensions to cover additional video formats and to support advanced multi-channel audio capabilities.
In December 2007, VESA released DisplayID, a second generation of EDID. It is intended to replace all previous versions. DisplayID is a variable length data structure, of up to 256 bytes, that conveys display-related information to attached source devices. It is meant to encompass PC display devices, consumer televisions, and embedded displays such as LCD screens within laptops, without the need for multiple extension blocks. Display ID is not directly backward compatible with previous EDID/E-EDID versions, but is not yet widely incorporated in AV products.
What EDID Information is Exchanged Between Display and Source?
The base EDID information of a display is conveyed within a 128-byte data structure that contains pertinent manufacturer and operation-related data. See Table 2. The current EDID version defines the structure as follows:
Table 2: EDID File Structure
Vendor/Product Identification Block – The first 18 bytes identify the display manufacturer and product, including serial number and date of manufacture.
EDID Structure Version & Revision – The next two bytes identify the version and revision of the EDID data within the structure.
Basic Display Parameters/Features – The next five bytes define characteristics such as whether the display accepts analog or digital inputs, sync types, maximum horizontal and vertical size of the display, gamma transfer characteristics, power management capabilities, color space, and default video timing.
Color Characteristics – The next 10 bytes define the RGB color space conversion technique to be used by the display.
Established Timings – The next three bytes define the VESA-established video resolutions/timings that are supported by the display. Each bit represents an established timing such as 640x480/60. The last of the three bytes defines the manufacturer's reserved timing, if any.
Standard Timing Identification – The next 16 bytes define eight additional video resolutions supported by the display. These resolutions must adhere to standard VESA defined timings.
Detailed Timing Descriptions – The next 72 bytes are organized into four 18-byte blocks that describe additional video resolutions in detail, so that custom video timings/resolutions can be supported. The first of the four blocks is intended to describe the display's preferred video timing. The timing data can be structured according to the VESA GTF - Generalized Timing Formula or CVT - Coordinated Video Timings standards.
Extension Flag – EDID versions 1.3 and higher allow for additional 128-byte blocks of data to describe increased capabilities.
This byte indicates the number of additional extension blocks available. Various structures for these extension blocks have been defined, including DI-EXT - Display Information Extension, VTB-EXT - Video Timing Block Extension, and LS-EXT - Localized String Extension.
CEA-861 Extension – The most prevalent EDID extension is CEA-861, defined to support advanced capabilities of consumer devices incorporating HDMI.
Table 3: CEA-861-E EDID Extension
The general structure of CEA-861 extension data is shown in Table 3. CEA-861 allows for a variable number of 18-byte detailed timing descriptions to be included. For example, video timing details for 1080i, which is popular for consumer displays but not for PCs, can be communicated. CEA-861 also specifies a variable length "CEA Data Block Collection" for describing parameters such as display colorimetry, and advanced audio capabilities including surround sound format, audio sampling rate, and even speaker configuration and placement. The significance of the CEA-861 extension is that it aims to address previous operational disparities experienced with integrating consumer-based display devices into computer-based commercial AV systems, allowing for proper conveyance of EDID information between devices.
The DDC uses a standard serial signaling scheme known as the I2C bus. I2C is used extensively where electronic devices and components need to exchange information, due to its simplicity, low pin count, and bi-directional capability. An I2C bus consists of three wires: SDA - data, SCL - clock, and a logic "high" DC pull-up voltage. For the DDC, the logic "high" voltage is specified to be +5V.
EDID information is typically exchanged when the video source starts up. The DDC specifications define a +5V supply connection for the source to provide power to a display's EDID circuitry so that communication can be enabled, even if the display is powered off. At startup, the video source will send a request for EDID over the DDC. The EDID/DDC specifications support hot plug detection, so that EDID information can also be exchanged whenever a display is reconnected to a video source. Hot plug detection is not supported for VGA, but is supported in digital interfaces including DVI, HDMI, and DisplayPort. For these interfaces, the display device will supply a voltage on an HPD - Hot Plug Detect pin, to signal to the video source device that it is connected. The absence of a voltage on the HPD pin indicates disconnection. The video source device monitors the voltage on the HPD pin and initiates EDID requests as it senses incoming voltage.
Display devices can have various levels of EDID implementation and, in some cases, they may lack EDID information altogether. Such inconsistencies can cause operational issues ranging from overscan and resolution problems, to the display device not displaying the source content at all.