The invention relates generally to systems and methods for detecting a type of display device, and more particularly to serial communication systems and methods that facilitate display detection for a plurality of display devices.
Graphics controllers are used in a wide variety of applications to enhance graphics processing and display capabilities for devices such as laptop computers, desktop computers, portable communication devices and other devices having displays. Some computer units and communication devices allow connection to multiple display devices. For example, a graphics controller may provide display data to a cathode ray tube (CRT) monitor, a liquid crystal display (LCD) monitor, or other types of monitors. The differing refresh rates and resolutions of the differing multiple display devices must be accounted for by the graphics controller to suitably display image data simultaneously on multiple display units.
Monitor detection standards are typically classified into three types: DDC2B, DDC1, and others. Typically upon initialization, a graphics controller chip or other controller communicates in a standard serial monitor detection communication protocol such as I2C (DDC1, and DDC2B protocols), or in a non-DDC protocol (such as may be used by Apple Computer® Company based monitors) to facilitate monitor detection. For example, with Inter-IC Control (I2C) monitor detection protocol developed by Philips Semiconductor in about 1995, the graphics controller chip (serving as a master controller) initiates commands or requests to a CRT (which serves as a slave device) to detect the type of monitor. The CRT responds indicating resolution information and other information necessary for the graphics controller chip to suitably generate display data for the display device. One mechanism for monitor detection includes the use of a register based monitor detection interface to be used to facilitate this communication. Data registers are used to facilitate serial to parallel conversion to or from the graphics controller with the display device. A direction register controls the direction of input/output ports on the graphics controller to suitably communicate to allow the graphics controller to detect the type of display device being connected with the graphics controller. The registers and control are typically located on the graphics chip and dedicated to the monitor detection function.
Systems are known that have a graphics controller chip that provides data to multiple differing display devices. Generally, a two-line (two pin) connection is made between the multiple display devices and the graphics controller chip. One line is used for serial data and the other line is used for a serial clock signal. Also, when attempting to display information from a single data source over multiple displays, ratiometric expansion must typically be used to interpolate, stretch or scale the image on a screen having a larger resolution.
Many graphics controller chips have been sold that were originally designed for digital display outputs without a companion chip such as a chip serving as a ratiometric expander that may be needed for expanding data to accommodate display on different resolution displays. With the desire for companion chips, it is desirable to have control over such as chip without requiring additional pins while maintaining the original monitor detection capability.
Consequently, a need exists for a device and method to facilitate serial communication between a display data source and a plurality of display devices where differing protocols may be used for the different types of display units. It would be desirable if such a device could be connected to existing graphics controller chips to facilitate monitor detection with a plurality of different types of display devices and to allow use of existing monitor detection pins in a multipurpose fashion to control a companion circuit (or chip) and to support a plurality of different types of display devices in addition to multi-pin monitor detection. In addition, it would be desirable if such a device minimized interface complexity to facilitate a smaller circuit size to reduce cost and improve reliability.
Briefly, a device and method supports both register read/write and monitor detection operations by a graphics controller chip, or other display data source through a two-wire communication circuit, with a plurality of display devices. The device may support differing monitor detection protocols including, for example, DDC1, DDC2B protocol and non-DDC type protocols. The device may be set in two modes, a register mode and a bypass mode. The register mode is used to facilitate standard I2C protocol to a display device. Display detection bypass circuitry is used to selectively bypass the register based display detector interface by connecting input ports to any two of a plurality of I/O ports (pads) so that the system may be used for monitor detection of a plurality of different display devices, such as CRTs and LCDs. Hence, the system facilitates multiprotocol display detection. The plurality of I/O ports form a group of shared bidirectional ports that selectively communicate data with a plurality of display devices either through the register based display detection interface or the display detection bypass circuit.
The serial communication circuit 14 includes a register based display detection interface circuit 16, a display detection bypass circuit 18 and shared multiprotocol display detection I/O ports 20. The communication circuit 14 is operatively coupled to the display data source 10 through at least a pair of signal lines 22 such as a signal line dedicated for serial data (SDA), and signal line 24 that may be used, for example, to communicate serial clock data (SCL). The display detection bypass circuit 18 is coupled to the shared multiprotocol display detection I/O ports 20. A portion of the display detection bypass circuit 18 is also operatively coupled with the register based display detection interface circuit 16 through suitable signal links 26. The display detection bypass circuit 18 is coupled to the shared multiprotocol I/O ports through suitable signal lines 28.
The register based display detection interface circuit 16 is operatively coupled through bus lines 30 to the shared multiprotocol display detection I/O ports 20. The register based display detection interface circuit 16 may be a conventional register based I2C interface circuit as known in the art. The shared multiprotocol display detection I/O ports 20 are shared bidirectional ports that selectively communicate data with the plurality of display devices 12a-12n wherein the data is obtained from the register based display detection interface circuit 16 or alternatively through the display detection bypass circuit 18.
The display detection bypass circuit 18 selectively bypasses the register based detector interface circuit 16 to facilitate multiprotocol display detection for the display data source 10. Hence, when different types of displays are being supported by the display data source 10, the display data source 10 may perform monitor detection operations through each of the differing display devices to determine suitable display resolutions and refresh rates and other information to facilitate display of data.
During the bypass mode, the slave controller 42 generates a direction control signal 50 to the shared multiprotocol display detection I/O ports 20 to set the requisite ports in an output or input mode depending upon whether data is being output from the ports or received by the ports. The direction control signal 50 is used to facilitate multiprotocol communication with a plurality of display devices by selectively activating the appropriate ports for communication. Control signal 40 controls activation of the bypass multiplexer to bypass data directly to the output multiplexing circuit. Communication port enable signal 48, generated by the slave controller, controls the output multiplexing circuit 44 to allow bidirectional communication directly from the communication port 36. The slave controller 42 also generates a direction enable signal 55 during the bypass mode to allow bidirectional communication directly from the shared I/O ports 20 to the serial communication pads 36.
In this embodiment the display data expander 32 is located on a separate integrated circuit from the display data source 10, such as a graphics controller chip or other master control logic. The display data expander 32 includes a ratiometric expander 34 as previously indicated. The ratiometric expander 34 ratiometrically expands display data received from the display data source 10 for display on at least one of the plurality of display devices after monitor detection has been completed. It will be recognized that any suitable functionality may also be used. For example, the device 32 may include a frame modulator, dithering block, centering logic or any other suitable video processing logic.
The serial communication circuit 14 also includes a filter 54 coupled between the bypass multiplexing circuit 38 and the slave controller 42 to remove noise from data received from the data source 10. The serial communication circuit 14 also includes a set of registers generally indicated at 56 including a shift register 58, data register 60, direction register 62, index register 64, mode register 66 and LVDS register 68. The display data expander 32 includes a low voltage differential signaling (LVDS) block 69, such as an LVDS type developed by National Semiconductor, as known in the art. The LVDS block 69 serves as a high speed low voltage analog transmitter that transmits display data and clock data serially to a display device such as an LCD notebook display panel. Its advantages include low power consumption, low EMI emissions and low cost making it suitable for portable display devices. Also if desired, another type of differential signaling may be incorporated, such as transition minimization differential signaling (TMDS) developed by Silicon Image Inc. that has been adopted as a Video Electronics Standard Association (VESA®) plug and display standard (P&D™).
A TMDS block 71 is also a high speed low voltage analog transmitter that transmits display data and clock data serially to a display device such as a desktop flat panel. The data is encoded before transmission to insure minimal transitions and to facilitate DC balanced signals. In addition to similar advantages as LVDS, TMDS based transmitters can also tolerate a relatively high amount of skew among the transmitted signals making such transmitters suitable for remote display devices such as a flat panels and distant display set up connected via fiber optic cables. The TMDS block 71 uses the TMDS register set 67 to facilitate operation. The TMDS registers and LVDS registers are programmed using the port 36 through the bypass multiplexer and shift register through bus 63. Also, ratiometric expansion registers are programmed using the two pin port 36. Hence the general operations of the companion chip (e.g., non-monitor detection circuits) are also controlled using the monitor detection pins.
The registers 56 form part of the registered based display detection interface as known in the art. With the register mode, the graphics controller serves as a master to perform normal register read/write operations to facilitate I2C monitor detection protocol, non-DDC protocol or other suitable protocol. The shift register 58 serves as a serial-to-parallel converter of serial data signal 22 received through the bypass multiplexer when the bypass mode is not active. This data is then stored in the data register 60. The slave controller 42 generates a read/write control command signal 70 to either write data from the data register 60 or allow the reading of data from the data register 60. The data stored in shift register 58 is dumped into the data register upon receipt of a data dump command 72 from the slave controller 42. Similarly, data stored in data register 60 is loaded into the shift register upon receipt of a data load command from the slave controller. The index register 64, as known in the art, contains an index address pointer to a target register index address. A direction register signal 74 controls whether data is received from the data register. The content of the direction register controls the direction of the shared ports during the register mode. An index register update signal 76 updates the index register 64 to indicate which register in the LVDS register set and TMDS register sets and other control register sets to access.
The LVDS register set 68 and TMDS register set 67 include registers that contain data to control LVDS and TMDS transmitter voltage level, phase lock loop frequencies, swing control and other miscellaneous analog set up controls for the LVDS and TMDS blocks. The ratiometric expansion engine 34 uses registers containing display information such as resolutions and other digital configuration data. The resolution data is used to determine the amount of ratiometric expansion needed to suitably display data on an LCD or other display, as known in the art. The ratiometric expansion engine 34 obtains the resolution data used to store resolution data from monitor detection process through bus 63. Hence, the display data expander 32 combines a ratiometric expansion engine 34 (including suitable registers) with a serial communication circuit to facilitate multipurpose functionality using common pins.
If desired, the default mode for the serial communication circuit 14 may be to use the register based display detection interface circuit. In this mode, the bypass path (lines 46) between the bypass multiplexer 38 and output multiplexer 44 are effectively disconnected such that the graphics controller or data source can only access the internal registers 56. Hence the serial communication circuit 14 is selectable between the bypass mode activating the display detection bypass circuit and a register mode that activates the register based display detection interface circuit. The display data source 10 activates either the bypass mode or register mode using the mode register 66. The mode register 66 contains bypass control data, such as bits indicating whether to activate the display detection bypass circuit 18.
During the bypass mode, I2C protocol (e.g., DDC1 and DDC2B) or other suitable protocol, may be used and the appropriate shared multiprotocol display detection I/O ports are selected for serial communication directly from the display data source bypassing the registered based display detection interface circuit. The display detection bypass circuit is used during monitor detection process performed by the graphics controller and receives data from the graphics controller which is sent out through the ports 20 or receives data from ports 20 as received from the display devices in response to data (including clock signals) generated by the graphics controller. The display detection bypass circuit enables a pass through of the serial data and serial clock information to any two of the shared multiprotocol display detection I/O ports which are used for monitor detection of both CRTs, LCDs and any other suitable monitor.
The slave controller 42 uses the mode register as a control register that can be controlled by the display data source to selectively activate the display detection bypass circuit. The controller register may include, for example, a bypass mode enable bit, a serial clock pulse enable bit, a serial data bypass select bit, a serial clock bypass select bit and any other suitable information. To change the circuit 14 from register mode to bypass mode, the display data source sets the bypass enable bit in the bypass control register. By way of example, three bits in this register may be used to select shared ports for serial data bypass and three bits may be used to select a shared port for the bypass the register circuit for serial clock data. Any port may be selected for either serial data or serial clock communication to facilitate multiprotocol communication with a plurality of differing display devices. As such, if there are eight I/O ports, eight monitor signals can communicate with a host or display data source through the two wire I2C connection ports. The shift registers and slave controller 42 facilitate serial-to-parallel and parallel-to-serial conversion to encode and decode eight data channels for input and output data communications.
As indicated above, the bypass mode is used for monitor detection. For DDC2B monitors, the display detection bypass circuit is enabled for corresponding ports so that the display data source can directly communicate with the monitors through the shared ports. For DDC1 monitors, several methods may be used. One may include bypassing extended display identification data (EDID) data in port to the serial data line 22. This allows the display data source to sample the data directly. The serial clock signal port should be set to ensure that all clock signals come from the data source. Another method may include, for example receiving a clock pulse from a display data source or other source, sampling any received data internally and storing data in a temporary shift register using the SCL line 24 to clock data in or out through the serial communication circuit at a desired rate. For example, the data source may receive a vertical synchronization pulse that may be used by the data source to clock data. In this way, the display data source can read data from the register in a suitable time by controlling the clock signal to help ensure that no underflow or overflow of registers occurs.
For non DDC-type monitors, such as monitors manufactured by Apple® Computer Company, monitor detection is accomplished in the register mode by encoding and decoding data from the shared ports in a byte format or other suitable format and sending the information across the two port data and clock signals 22 and 24.
As shown in
As shown in block 88, the slave controller 42 continuously (dynamically) monitors data to determine when to change flow direction to allow communication from or to the display data source 10 and the display devices. For example, when using I2C protocol the slave controller monitors the signals 22 and 24 through the bypass multiplexing circuit 38 and filter 54 to determine if an I2C stop data bit has been detected from the display data source 10 as shown in block 90. If the stop data bit has not been detected, the slave controller 42 determines the direction of the input/output serial communication pads and shared I/O ports to switch direction every eight bits as shown in block 92. If the stop data has been detected, the slave controller, for example, sets the mode bit in the mode register 66 through bus 63 to set the bit back to register mode to disable the display detection bypass circuit. This is shown in block 94. As shown in block 96, the system now operating in the register mode, receives signals 22 and 24 and stores them in the shift register 58, as shown in block 96. A counter (not shown) is set to determine whether or not the shift register is full as shown in block 98. When full, the slave controller determines whether the contents of the shift register correspond to device identification data 100 indicating that the serial communication circuit is a recognizable device to the data source as shown in block 102. Device ID data is prestored in circuit 14 memory, or set through external communication, and represents a number or other identification data of the serial communication circuit. If there is a match between the data sent by the controller indicating what it thinks is the serial communication circuit and device ID data, an acknowledgement is sent back to the data source.
The bypass multiplexing circuit 38 may be any suitable multiplexing circuit but is shown to be a plurality of tristate buffers configured to enable the data to pass directly from, and to, the output multiplexor 44 through the ports 36 and 20. The bypass multiplexing circuit 38 may include a plurality of tristate buffers 114a, 114b and 114c configured to facilitate bi-directional data flow to selected shared ports 20.
The output multiplexing circuit 44 includes a plurality of multiplexes 116a, 116b and 116c. These multiplexors selectively transfer data when the enable line 48 is activated by the slave controller. As shown, the slave controller may generate different control signals, for example, a bypass select signal for the serial data signal 22 and a bypass select signal for the serial clock signal 24. Output multiplexing circuit 44 is suitably controlled to allow the bidirectional transfer of data as necessary to determine the type of monitor or display device connected with the shared ports 20 and the data source 10.
The shared data ports 20 may be any suitable bidirectional ports. As shown in one embodiment, I/O ports 106-109 may include a series of tristate buffers indicated as 118a, 118b, 118c and 118d. It will be recognized that additional or fewer ports may be used depending upon the particular application. In this embodiment, the shared port associated with tristate buffer 118a and 118c can bi-directionally communicate data (input bypass data and output bypass data) as the serial signal 22. The shared ports associated with tristate buffer 118b and 118d output clock data or other data (output bypass data) communicated as the serial clock signal 24. They may also be used to input data (input bypass data) if coupled to a port 104 or 106.
It will be recognized that any suitable configuration may be used including allowing the tristate buffer 118b and 118d to also be connected to communicate data to either serial data lines 22 or serial clock line 24. Also as shown, another line 50 may include a number of different signals for enabling each tristate buffer individually to allow any shared port to communicate data with the serial data line and serial clock lines 22 and 24, respectively.
It should be understood that the implementation of other variations and modifications of the invention in its various aspects will be apparent to those of ordinary skill in the art, and that the invention is not limited by the specific embodiments described. It is therefore contemplated to cover by the present invention, any and all modifications, variations, or equivalents that fall within the spirit and scope of the basic underlying principles disclosed and claimed herein.
Number | Name | Date | Kind |
---|---|---|---|
5727191 | Konishi et al. | Mar 1998 | A |
5874928 | Kou | Feb 1999 | A |
5953074 | Reddy | Sep 1999 | A |
5963192 | Wong et al. | Oct 1999 | A |
6028585 | Ishii et al. | Feb 2000 | A |