The I2C protocol has been used as a basis for various different video standards and interfaces, including DVI, VGA, or HDMI. Particularly, these interfaces utilize a signal called the Data Display Channel (DDC), which allows the graphic adapter in the video source to interact with the monitor by sending Extended Display Identification Data (EDID) and High-bandwidth Digital Content Protection (HDCP), which solely affect the overall video display appearance including color definition, screen sizing, and resolution settings within monitors.
DDC is built based on I2C communication and uses its master's serial clock and serial data pins to perform a data exchange between the video source and video display monitor. Within cables like VGA, DVI, or HDMI, there are wires that host a collection of protocols, also known as the Data Display Channel which transfers the needed communication between the two devices.
The EDID that is transferred over the DDC standard is stored within the monitor’s memory device such as a PROM or EEPROM. When a video monitor and video source connect using a VGA, DVI, or HDMI cable, the EDID standard is sent from the video monitor to the video source, presenting its characteristics, capabilities, and what criteria it can support; this criterion can include manufacturer, native resolution, refresh rate, display size, and color depth. If supported, the HDCP data is also sent intended to protect digital copyrighted content coming from a device to the video monitor, and is also exchanged between the devices upon enumeration. This knowledge will allow the source to generate a matching signal, so there is successful interoperability between video devices; users simply need to plug in the cable and start using immediately without having the need to manually adjust the monitors.
Although I2C is a reliable protocol for communication occurring in integrated circuits embedded within a device, when used in video applications where the devices are connected via a long wire signal, issues can arise. The protocol may not function as expected and it can produce corrupted EDID data signals, producing video display issues such as incorrect color or screen sizing, or it can also produce a corrupt HCDP signal that can prevent any signal at all.
When experiencing such issues over the Display Data Channel, it can be hard to pinpoint the exact bug that is affecting the display. Because this transfer of data is based on the I2C protocol, using an I2C protocol analyzer, such as the Beagle I2C/SPI Protocol Analyzer, will allow engineers to capture the I2C data in real time and display any errors occurring on the bus related to this channel. The Beagle I2C/SPI analyzer is easy-to-use, can non-intrusively monitor I2C data up to 4 MHz and SPI data up to 24 MHz, and also offers bit-level timing down to a 20 ns resolution.
Total Phase provides two breakout cables supporting the VGA and DVI interfaces, including the DVI DDC Breakout Cable and VGA DDC Breakout Cable to help access the DDC data being transferred via I2C communication between your video devices.
To monitor the Data Display Channel with a Beagle I2C/SPI Protocol Analyzer:
If we click on the Read transaction within the Data Center Software, we can see the data that was exchanged between the two devices, and that it was successful with no flagged errors. Within the Details pane, we can also see the data in hex and ASCII. In ASCII, we can see the word DELL, which is the video monitor used for this example.
Any errors would be flagged red and could be investigated further in the bus tab and details pane.
Users can also use an Aardvark I2C/SPI Host Adapter and a DVI DDC Breakout Cable to Read EDID data from a DVI Monitor EEPROM as seen here.
For more information on the Beagle I2C/SPI Protocol Analyzer and its capabilities, please contact us at sales@totalphase.com.