EEVblog Electronics Community Forum
Electronics => Repair => Topic started by: Nebukad on May 13, 2021, 08:04:39 am
-
Hi there!
I am working on a GW PST-3202 Bench Power Supply - nothing super-fance but still a decent lab power supply.
I was able to fix the original issue and now the only thing left is the LCD, which has been severly damaged.
It's a simple 192x128 Pixel monochrome LCD with a parallel interface. The Original Display was a Winstar WG192128A (note the Rev. A).
I did quite a lot of searching, but I was only able to get the newer model WG192128C (note the Rev. C). It is exactly the same size and has the same 20pin-connector or it.
However, after swapping it, I only got random stuff on the screen. After even more googleing I discovered, that apparently, the Rev. A used the Motorola 6800 interface protocal, while the Rev. C now uses the Intel 8080 protocol. This can also be seen in the pinout description (see fotos).
I never got in contact with any of those protocols before. One major difference appear to be the Enable and Read/Write Pins of the 6800 protocol in contrast to the /Read and /Write Pins of the 8080. I already tried to translate those pins using some 74series logic:
- I pull the /Read pin low, when Enable is present and Read/Write is high
- I pull the /Write pin low, when Enable is present and Read/Write is low
This has stopped random-data to get written to the display, so I don't get a random image anymore, but sadly, the image is now completely blank, so something is still not write.
Could someone with a little more knowledge about those display protocols maybe step in and help me out here?
Is it even possible to "convert" between these two protocols or are also the commands fundamentally different?
Or does anybody know, where I could get the original WG192128A display from these days?
Thanks in advance!
-
sometimes you have some surface mount component to move at some places to change the working mode ... of if they are excactly the same models on the glass surface i would do a lcd change if the original board is still intact ??
show us some photos
-
After even more googleing I discovered, that apparently, the Rev. A used the Motorola 6800 interface protocal, while the Rev. C now uses the Intel 8080 protocol. This can also be seen in the pinout description (see fotos).
I never got in contact with any of those protocols before. One major difference appear to be the Enable and Read/Write Pins of the 6800 protocol in contrast to the /Read and /Write Pins of the 8080. I already tried to translate those pins using some 74series logic:
- I pull the /Read pin low, when Enable is present and Read/Write is high
- I pull the /Write pin low, when Enable is present and Read/Write is low
Could someone with a little more knowledge about those display protocols maybe step in and help me out here?
Is it even possible to "convert" between these two protocols or are also the commands fundamentally different?
The 6800 transfers data when the Enable signal is high while the direction of transfer is determined by the R/W signal. It is relatively straight forward to translate these 6800 bus interface signals to suit 8080 style peripherals using the RD/ and WR/ strobes.
The easiest way is to use a decoder e.g. 1/2 of 74HC139 with the Enable and R/W signals taken to the A1 and A0 decoder address lines respectively. With the decoder enable input tied low the required RD/ and WR/ signals appear on the decoded Y3/ and Y2/ outputs respectively.
Your decoding with the 74 series logic should have also worked - draw up a truth table for your logic and verify it generates the correct states. Also check the circuit operation with a scope as glitches in the decoding may cause spurious transfers to take place corrupting the data in the LCD controller.
-
See if you can get the Winstar data sheet , it might point to the LCD controller on board, then google the controller for the data sheet and you see if it has a 8080 AND 6800 interface
-
Hey guys and thanks a bunch for the replies! I've attached a photo of the old display assembly.
Regarding Jumpers: There are a couple of them, but from what I figured out so far, they are purely for connecting the backlight to different signales, maybe to the logic supply or the external supply. They are set the same way on the new assembly.
The two versions use different ICs (Old: LC7981, New: RA6963) and the IO pins go straight into those controllers. I'm afraid, each controller only has the one protocol, so there is nothing to change there. This also matches the rare information I found about those displays online. For the -A it says only 6800 and for the -C only 8080.
Regarding swapping the LCD itself: This is indeed an option, but only my last option. Here's why: Since the LCD has no controller on it, all 192 columns and all 128 rows are individually connected to the controller PCB. the colums via 2 gigantic zebra-strips but the 128 rows via a heat-bar attachmacht. I would have to safely remove the heat-bar-attached flat-flex from the new assembly and somehow reattach it to the old controller pcb. There is no extra length to cut it. I might try it in the end, but I don't suspect, it will work.
Regarding my logic:
I've used a quad-Nand (74HC132), since I had that lying aroung in a breadboard-friendly DIP-package.
My logic looks something like this:
/RD = Enable NAND (Read/Write)
/WR = Enable NAND ( Read/Write NAND Read/Write) = Enable NAND (NOT Read/Write)
Looking at the circuit with a scope, I can see the following things:
- There is a lot of activity on the Read/Write-Pin, even when the Enable is low. So I suspect, this bus i used for other things as well. This could explain, why there was so much crap before beeing written to the LCD.
- The Enable Signal does not appear to be periodic at all. I read somewhere, that 6800 would be a synchronous interface, but this does not seem to be the case here.
- Whenever the Enable signal is high, the Read/Write Signal is low. This would indicate, the the Master is never reading from the LCD but only writing to it. Which makes sense, I guess.
- My circuit seems to do the write thing: Whenever the Enable Signal is high, the /WR signal is pulled low (since Read/Write is low) and /RD always stays high.
But as I said: This prevents "crap" data to be written to the LCD, but now it stays completely blank.
-
The controller is a RA6963. According to the datasheet (https://www.newhavendisplay.com/app_notes/RA6963.pdf) it only supports 8080 interface.
Likewise, the LC7981 in the original display is 6800 interface only.
Unfortunately, if you look at the datasheets in detail, you'll find that they have completely different instruction sets.
-
Unfortunately, if you look at the datasheets in detail, you'll find that they have completely different instruction sets.
Thank you very much for taking the time to look into the datasheets!
Even if this is not what I was hoping for, at least it explains, why I was not able to get this LCD working.
It's a shame, that I can't get a hold of a correct replacement LCD assembly. This power supply is still beeing sold unter the GWInstek brand as well as ISOTech.
Maybe I try to get a replacement directly from the manufacturer. But I'm surprised, it's not really available anywhere.
-
They could be using another part with the 6800 interface and same instruction set, or changed firmware to use a different one.
-
I did it! >:D
I could not find any other display online, that would have worked. Even the 192128C I ordered was the last one in that shop.
After beeing sure, that the replacement display assembly I have would not be compatible, I had no other option but to try to swap the LCD itself to the old controller module.
I used a hot air gun set to 200°C, the actual temperature was more like 150°C. Maybe a little more heat would have been better, but I wanted to start at the low end.
I managed to remove the new LCD with it's flat flex cable intact (see photo). The glue sadly did not really come of, but instead stayed on the PCB. But as can be seen in the photo, the cable was only glued in on a ~3mm wide bar, so there was still some "fresh" glue left on the very edge of the cable and on the inner side.
Do NOT get the idea to cut some of the flat flex away so you have a "fresh" and with a lot of glue. There is no mm spare length in the cable, if you make it any shorter, you won't be able to get the LCD into its correct position.
After cleaning the pads on the original controller PCB, I aligned the pins under the microscope and stuck it down with some capton tape on both sides. I heated it up again and pressed down with flat screw drivers and a piece of rubber. I went along all pins multiple times. It did not work perfectly the first time, since there is not really much glue left and maybe because my heat was a little too low. But after a second go, I managed to get all connections done.
I quick test revealed, that the LCD survived and has no dead lines or colums. I did not really think, this would be possible.
The connections on the hot-bar are now of course not nearly as strong as they were originally, so I don't know, if some might fail in the future, but for now, it's 100% working!
After this repair, I finally peeled of the last piece of film from the front panel, after the unit was in use for over 13 Years ^^
-
Congratulations!
-
Great work :-+
If it loosens up again in the future you may be able to repair it using ACF tape.