lcd panel edid eeprom error factory
The 24C04 is a 4K Bit EEPROM used to store monitor display control data. This memory is not directly accessible by the consumer; the adjustments are entered into the OSD menu, then the MCU writes the new data to the EEPROM. The information stored in the EEPROM is limited to specific parameters controlled by the monitor MCU.
The 24C02 is a 2K Bit EEPROM used to store monitor EDID information for use by the host PC. This information is written at the factory, and cannot be altered or deleted by the consumer.
The 24LC02B is a 2K Bit EEPROM used to store monitor display control data and data adjusted by the consumer. This adjustment data is not directly accessed; it is entered by the consumer in the OSD menu. The monitor"s CPU then writes the new data to the EEPROM. The information stored in the EEPROM is limited to specific display parameters that are controlled by the monitor CPU.
The 24LC02B is a 2K Bit EEPROM used to store monitor EDID information for use by the host PC for DVI-D input. The EDID information is written at the factory, and cannot be altered or deleted by the consumer.
A method of changing EDID of a memory of a motherboard in response to replacing an LCD panel of a computer with a different one comprises detecting a chipset; reading a SM bus base or GPIO base; activating a writing mechanism; selecting compatible EDID; writing the EDID into the memory; detecting an error; and closing the writing mechanism. The invention can be embodied by means of software rather than hardware. Thus, it is much convenient.
The present invention relates to method of changing settings of a motherboard and more particularly to a method of changing an EDID (extended display identification data) stored in memory of a motherboard by means of software rather than hardware in response to replacing an LCD (liquid crystal display) panel of a computer with a different one.
Conventionally, an LCD panel of computer has a unique EDID which is defined by VESA (Video Electronic Standards Association) standard. Electrical characteristics of an LCD panel are stored in EDID. EDID is a protocol of DDC (display data channel) for enabling a computer to correctly identify specifications of the LCD panel for control. EDID is typically stored in an EEPROM (electrically erasable programmable read-only memory) of a motherboard. This means that EDID is unique to each motherboard. Thus, the motherboard and thus the computer may not function normally if the original LCD panel is replaced by a new one of different brand. For solving this problem, the only method is to remove the EEPROM from the motherboard prior to burning in a compatible EDID into the EEPROM. Further, it is required to remove the EEPROM from the motherboard prior to burning in changed parameters of EDID into the EEPROM if parameters of LCD panel are required to change. In view of the above, it is not convenient. Hence, a need for improvement exists. SUMMARY OF THE INVENTION
It is an object of the present invention to provide a method of changing EDID of a memory of a motherboard in response to replacing an LCD panel of a computer with a different one, comprising the steps of detecting a chipset; reading a SM bus base or GPIO (General Purpose Input Output) base; activating a writing mechanism; selecting compatible EDID; writing the EDID into the memory; detecting error; and closing the writing mechanism.
Referring to FIG. 1, a LCD VGA (Video Graphics Array) controller of the invention accesses EDID of a desired LCD via a SM (system management) bus (or I2C bus) of DVOI (Digital Video Output Interface) and a selector. As such, initialization data for illuminating LCD panel can be obtained. Hence, different LCD panels can be controlled by changing EDID with respect to factors such as brightness adjustment, etc.
Referring to FIG. 2, there is shown a process of the invention. The process comprises the steps of detecting a chipset for determining whether it is VIA 686B or Intel 815 (step 21); reading SM bus base or GPIO (General Purpose Input Output) base (step 22) if the determination step is positive else ending the process; activating a writing mechanism if the reading is correct (step 23); selecting compatible EDID (step 24); writing EDID into EEPROM (step 25); detecting error (step 26) if the writing is correct; and closing the writing mechanism (step 27) prior to ending the process.
Referring to FIG. 3, there is shown a screen of the invention. As shown, a predetermined number of ID files are available to select on the screen. The ID files comprise standard 640*480 pixels (31), standard 800*600 pixels (32), standard 1024*768 single and dual pixels (33 and 34), and others for selecting a bin file (35). The process of the invention will store EDID in memory (e.g., EEPROM) if the selected EDID is compatible with that of the LCD panel. Referring to FIG. 4, stored filenames and associated information are shown on the screen. EDID comprises a number of parameters adapted to change. For example, a maximum horizontal image size is defined in address 15 h, and Gamma value to be transmitted is defined in address 17 h. These parameters are recorded in a bin file. Changes of the parameters can be carried out by editing the bin file and clicking the others (35) option of the above screen to write the changed EDID.
In brief, the invention can carry out a method of changing an EDID stored in memory of a motherboard by means of software rather than hardware if the original LCD panel is replaced by a new one of different brand. As an end, a plug and display feature can be obtained.
1. A method of changing EDID of a memory of a motherboard in response to replacing an LCD panel of a computer with a different one, comprising the steps of:
Extended Display Identification Data (EDID) and Enhanced EDID (E-EDID) are metadata formats for display devices to describe their capabilities to a video source (e.g. graphics card or set-top box). The data format is defined by a standard published by the Video Electronics Standards Association (VESA).
The EDID data structure includes manufacturer name and serial number, product type, phosphor or filter type (as chromaticity data), timings supported by the display, display size, luminance data and (for digital displays only) pixel mapping data.
DisplayID is a VESA standard targeted to replace EDID and E-EDID extensions with a uniform format suited for both PC monitor and consumer electronics devices.
EDID structure (base block) versions range from v1.0 to v1.4; all these define upwards-compatible 128-byte structures. Version 2.0 defined a new 256-byte structure but it has been deprecated and replaced by E-EDID which supports multiple extension blocks.HDMI versions 1.0–1.3c use E-EDID v1.3.
Before Display Data Channel (DDC) and EDID were defined, there was no standard way for a graphics card to know what kind of display device it was connected to. Some VGA connectors in personal computers provided a basic form of identification by connecting one, two or three pins to ground, but this coding was not standardized.
This problem is solved by EDID and DDC, as it enables the display to send information to the graphics card it is connected to. The transmission of EDID information usually uses the Display Data Channel protocol, specifically DDC2B, which is based on I²C-bus (DDC1 used a different serial format which never gained popularity). The data is transmitted via the cable connecting the display and the graphics card; VGA, DVI and HDMI are supported.
The EDID is often stored in the monitor in the firmware chip called serial EEPROM (electrically erasable programmable read-only memory) and is accessible via the I²C-bus at address 0x50. The EDID PROM can often be read by the host PC even if the display itself is turned off.
Many software packages can read and display the EDID information, such as read-edidMicrosoft Windows and the X.Org Server for Linux and BSD unix. Mac OS X natively reads EDID information and programs such as SwitchResX
E-EDID was introduced at the same time as E-DDC, which supports multiple extensions blocks and deprecated EDID version 2.0 structure (it can be incorporated in E-EDID as an optional extension block). Data fields for preferred timing, range limits, and monitor name are required in E-EDID. E-EDID also supports dual GTF timings and aspect ratio change.
Some graphics card drivers have historically coped poorly with the EDID, using only its standard timing descriptors rather than its Detailed Timing Descriptors (DTDs). Even in cases where the DTDs were read, the drivers are/were still often limited by the standard timing descriptor limitation that the horizontal/vertical resolutions must be evenly divisible by 8. This means that many graphics cards cannot express the native resolutions of the most common wide screen flat panel displays and liquid crystal display televisions. The number of vertical pixels is calculated from the horizontal resolution and the selected aspect ratio. To be fully expressible, the size of wide screen display must thus be a multiple of 16×9 pixels. For 1366×768 pixel Wide XGA panels the nearest resolution expressible in the EDID standard timing descriptor syntax is 1360×765 pixels, typically leading to 3 pixel thin black bars. Specifying 1368 pixels as the screen width would yield an unnatural screen height of 769.5 pixels.
Many Wide XGA panels do not advertise their native resolution in the standard timing descriptors, instead offering only a resolution of 1280×768. Some panels advertise a resolution only slightly smaller than the native, such as 1360×765. For these panels to be able to show a pixel perfect image, the EDID data must be ignored by the display driver or the driver must correctly interpret the DTD and be able to resolve resolutions whose size is not divisible by 8. Special programs are available to override the standard timing descriptors from EDID data. Even this is not always possible, as some vendors" graphics drivers (notably those of Intel) require specific registry hacks to implement custom resolutions, which can make it very difficult to use the screen"s native resolution.
Preferred timing mode specified in descriptor block 1. For EDID 1.3+ the preferred timing mode is always in the first Detailed Timing Descriptor. In that case, this bit specifies whether the preferred timing mode includes native pixel format and refresh rate.
The CEA EDID Timing Extension was first introduced in EIA/CEA-861, and has since been updated several times, most notably with the 861-B revision (which was version 3 of the extension, adding Short Video Descriptors and advanced audio capability/configuration information), 861-D (published in July 2006 and containing updates to the audio segments), 861-E in 2008, and 861-F which was published on June 4, 2013.
Version 1 of the extension block (as defined in CEA−861) allowed the specification of video timings only through the use of 18-byte Detailed Timing Descriptors (DTD) (as detailed in EDID 1.3 data format above). In all cases, the "preferred" timing should be the first DTD listed in a CEA EDID Timing Extension.
This is particularly useful to insert a delay before reading the EDID of the monitor, for example if the Raspberry Pi and monitor are powered from the same source, but the monitor takes longer to start up than the Raspberry Pi. Try setting this value if the display detection is wrong on initial boot, but is correct if you soft-reboot the Raspberry Pi without removing power from the monitor.
Set this option to 0 to prevent the firmware from trying to read an I2C HAT EEPROM (connected to pins ID_SD & ID_SC) at powerup. See also disable_poe_fan.
Setting uart_2ndstage=1 causes the second-stage loader (bootcode.bin on devices prior to the Raspberry Pi 4, or the boot code in the EEPROM for Raspberry Pi 4 devices) and the main firmware (start*.elf) to output diagnostic information to UART0.