Hi everyone. [Sorry for the long, detailed post in advance].
I have a Sharp LC-52E77UN which randomly shuts down--could be within 15 minutes, could be 40 minutes, over 1 hour, it's unpredictable. From reading the service manual, I was able to get into service mode (where the K is displayed), and found the following error flag toggled: "04 Initial Communication Error 4 -- Error reason: To the communication setting reception," which, from contacting an eBay TV repair store, I was told is caused NOT by a bad TCON (which was my first guess), but rather the motherboard.
I went on eBay to find a replacement, only for the prices for replacement motherboards to be $200 or above. I said screw it, I'll use a v59 universal LCD driver board. (For $250, you can get a 50" LCD TV these days, so why anyone would bother spending almost as much fixing a 10+ year old TV doesn't make sense to me).
I was initially optimistic that the TCON board would work as-is with the universal LCD board (which I don't have yet--it's coming from China), but then I saw this thread "Driving a Sharp TCON/panel with a universal main board" in which the user @advant found he gets "no picture when I connect the universal main board to the Sharp TCON/Panel. I have been able to work around the backlight issue by driving the inverter board of this TV from a backlight enable signal of this main board. So the backlight is up and running correctly. But no picture whatsover," with the reason being that the TCON needs an activation command, most likely to the gamma/vcom IC.
I can confirm that unplugging the [spliced] I2C_SDA, and I2C_SCL wires from the TCON board results in it NOT displaying anything on the LCD, even though I can see the CCFL backlights reduce or increase in brightness after I press the channel up/down buttons and wait for a while.
After ordering a Saleae (clone, 24MHz, 8 channel, $10) logic analyzer, I hooked up the SCL and SDA lines and captured 1 minute worth of waveforms using the open source program Sigrok PulseView, from startup to after the TV enters demo mode (in approximately ~30s, since I enabled auto demo mode). I also enabled i2c decoding.
From a first look, it seems the i2c slave address 74, which is 11101000 binary, is the address for the gamma/vcom IC. I also confirmed this same address using my DS1054Z oscilloscope, so the logic analyzer is definitely on the right track.
Why I think i2c address 77 is the address for the gamma/vcom IC:
1. When I unplug the LP connector from the TCON board side, but leave it plugged in on the motherboard side, I can see the motherboard tries to communicate to address 74, but does not receive an acknowledgement from the slave, so it tries a few more times, up to around 120ms after the backlights come on, and then does not try communicating with address 74 anymore. The LCD remains dark, but backlights are on.
2. When I plug the LP connector back in, I can see the slave address 74 acknowledge all reads and writes. It is called by the motherboard very infrequently after the 120ms (startup) phase. The LCD and backlights are both active and behave normally.
3. Regardless of the state of the LP connector being plugged in or not, the motherboard remains active. It reads and writes data to a bunch of other i2c addresses, which appear to be i2c EEPROMs, at a predictable period of time, about 55ms, continuously as long as the TV is on. This tells me the motherboard doesn't care that the LP connector is not plugged in, and that nothing is being output to the LCD (on startup, at least. See reason 4, which I think is the most compelling reason).
4. After starting the TV up normally, with the LP connector plugged in, I enter the demo mode with the picture showing the color quality between 8-bit and 10-bit panels (marketing gimmick--there is no noticeable difference that I can tell), the bird 120Hz demo (again, marketing gimmick), etc. No problem...So I decide to unplug the LP connector WHILE the TV and demo are on, aaand...not a problem at all--it continues to work just fine, loop through the demo just fine, I'm able to exit the demo, I'm able to access the setup menu, etc. What this tells me is that address 77 is most likely the gamma or VCOM EEPROM recall/setting address, which must be activated on boot, but is NOT needed after the bootup completes.
Could someone more experienced with i2c hardware reverse engineering please offer me some ideas on what to do next? I would ideally like to be able to use an Arduino, Raspberry Pi, Beaglebone, or any other common devboards to be able to supply this enable signal to the TCON.
Am I on the right track? Am I wasting my time with this TV? (I'm certainly having fun playing hardware detective, though).
I've attached screenshots, and also the pulseview files (in case you want to analyze the waveforms, but beware that it uses up a LOT of RAM because I used 24MHz sampling for captures to be very detailed--I'd say 4 or 5GB RAM worth). D0 is SCL, D1 is SDA. You might have to rename the zip files' extension to have no extension, but it works for me on Linux regardless.
I have a Sharp LC-52E77UN which randomly shuts down--could be within 15 minutes, could be 40 minutes, over 1 hour, it's unpredictable. From reading the service manual, I was able to get into service mode (where the K is displayed), and found the following error flag toggled: "04 Initial Communication Error 4 -- Error reason: To the communication setting reception," which, from contacting an eBay TV repair store, I was told is caused NOT by a bad TCON (which was my first guess), but rather the motherboard.
I went on eBay to find a replacement, only for the prices for replacement motherboards to be $200 or above. I said screw it, I'll use a v59 universal LCD driver board. (For $250, you can get a 50" LCD TV these days, so why anyone would bother spending almost as much fixing a 10+ year old TV doesn't make sense to me).
I was initially optimistic that the TCON board would work as-is with the universal LCD board (which I don't have yet--it's coming from China), but then I saw this thread "Driving a Sharp TCON/panel with a universal main board" in which the user @advant found he gets "no picture when I connect the universal main board to the Sharp TCON/Panel. I have been able to work around the backlight issue by driving the inverter board of this TV from a backlight enable signal of this main board. So the backlight is up and running correctly. But no picture whatsover," with the reason being that the TCON needs an activation command, most likely to the gamma/vcom IC.
I can confirm that unplugging the [spliced] I2C_SDA, and I2C_SCL wires from the TCON board results in it NOT displaying anything on the LCD, even though I can see the CCFL backlights reduce or increase in brightness after I press the channel up/down buttons and wait for a while.
After ordering a Saleae (clone, 24MHz, 8 channel, $10) logic analyzer, I hooked up the SCL and SDA lines and captured 1 minute worth of waveforms using the open source program Sigrok PulseView, from startup to after the TV enters demo mode (in approximately ~30s, since I enabled auto demo mode). I also enabled i2c decoding.
From a first look, it seems the i2c slave address 74, which is 11101000 binary, is the address for the gamma/vcom IC. I also confirmed this same address using my DS1054Z oscilloscope, so the logic analyzer is definitely on the right track.
Why I think i2c address 77 is the address for the gamma/vcom IC:
1. When I unplug the LP connector from the TCON board side, but leave it plugged in on the motherboard side, I can see the motherboard tries to communicate to address 74, but does not receive an acknowledgement from the slave, so it tries a few more times, up to around 120ms after the backlights come on, and then does not try communicating with address 74 anymore. The LCD remains dark, but backlights are on.
2. When I plug the LP connector back in, I can see the slave address 74 acknowledge all reads and writes. It is called by the motherboard very infrequently after the 120ms (startup) phase. The LCD and backlights are both active and behave normally.
3. Regardless of the state of the LP connector being plugged in or not, the motherboard remains active. It reads and writes data to a bunch of other i2c addresses, which appear to be i2c EEPROMs, at a predictable period of time, about 55ms, continuously as long as the TV is on. This tells me the motherboard doesn't care that the LP connector is not plugged in, and that nothing is being output to the LCD (on startup, at least. See reason 4, which I think is the most compelling reason).
4. After starting the TV up normally, with the LP connector plugged in, I enter the demo mode with the picture showing the color quality between 8-bit and 10-bit panels (marketing gimmick--there is no noticeable difference that I can tell), the bird 120Hz demo (again, marketing gimmick), etc. No problem...So I decide to unplug the LP connector WHILE the TV and demo are on, aaand...not a problem at all--it continues to work just fine, loop through the demo just fine, I'm able to exit the demo, I'm able to access the setup menu, etc. What this tells me is that address 77 is most likely the gamma or VCOM EEPROM recall/setting address, which must be activated on boot, but is NOT needed after the bootup completes.
Could someone more experienced with i2c hardware reverse engineering please offer me some ideas on what to do next? I would ideally like to be able to use an Arduino, Raspberry Pi, Beaglebone, or any other common devboards to be able to supply this enable signal to the TCON.
Am I on the right track? Am I wasting my time with this TV? (I'm certainly having fun playing hardware detective, though).
I've attached screenshots, and also the pulseview files (in case you want to analyze the waveforms, but beware that it uses up a LOT of RAM because I used 24MHz sampling for captures to be very detailed--I'd say 4 or 5GB RAM worth). D0 is SCL, D1 is SDA. You might have to rename the zip files' extension to have no extension, but it works for me on Linux regardless.
Comment