Not familiar with the Omega design, are there any buffer chips used for the keyboard? They could be the cause…
Also you could analyze the signals from the keyboard arriving on the mainboard. Do it before and after the issue arises to determine if there is a change. If there is a change it seems something is wrong in the keyboard, if not check further downstream…
The Omega's keyboard signals go through a 7407 and/or 74145 chips before go to the mainboard, I don't know if this is relevant. Could be one of those?
I will try to check the signals arriving on the mainboard as you recommended. Actually, if I unplug the cable during the issue it stops, so I thought that the cause is more likely to be on keyboard's side, but as I said I'm not an expert in electronics, I can be completely wrong.
Thank you for the tips!
I just found something very relevant. The exact keys being "pressed" belongs to the same net line, as seen below:
UPDATE - If I remove both ICs from the keyboard (7407 and 74145), I won't be able to press any key of course, but the issue still happens and all keys from net COLUMN0 are ghost-pressed together in an infinite loop.
That makes me think that it's very likely that the issue is happening on the mainboard side, especially on the 8255 (non-CMOS version).
UPDATE - If I remove both ICs from the keyboard (7407 and 74145), I won't be able to press any key of course, but the issue still happens and all keys from net COLUMN0 are ghost-pressed together in an infinite loop.
That makes me think that it's very likely that the issue is happening on the mainboard side, especially on the 8255 (non-CMOS version).
I don't think it is a 8255 issue.
It looks like one of the input lines for the 8255 were always low.
8255 is sending sequentially binary numbers to ROW_A to ROW_D and scanning how many of them get to the COLUMN_1-to-7.
So, when it sends "0000" the ROW0 will be low and it will scan how many column inputs will get this low.
If column0 is low, then the Omega say this key is pressed (the "0" key) and sow on.
I think one of the column inputs (input for the 8255 but ouput for the keyboard circuit) is all time low.
Could you check if any of the column 0 to 7 is low all time?
I think you perhaps will note it better with an oscilloscope than with a voltage tester.
Thanks @msxmakers, I just did the test you asked.
Notes:
- All the COLUMN_0 pins had the exact same behavior as follows (I drove this test using the column pin of the F4 switch)
- All the non-COLUMN_0 pins have always 5V
- I didn't touch the keyboard during the test (I stayed away from it)
1) Turned on the Omega, no issue was happening. All the COLUMN_0 pins were HIGH with around 5V:
2) A couple of minutes later, I saw that the voltage had decreased to 3.5V. It kept 3.5V for sometime, but it was unstable, it went back to 5V, than came back to 3.5, and kept floating:
3) A minute or 2 later I saw that the voltage started to decrease even more seconf by second, and it was already around 2.8V (with some peaks of 5V):
4) It kept decreasing and in about a minute or 2 more, it arrived at a critical voltage of 1.5V:
5) From this point on, the signal started to be handled as a LOW and the issue began to happen:
https://i.ibb.co/Hpch9hx/kbd5.jpg
When the issue was happening, I checked all the COLUMN_0 points and all of them had a LOW.
Important: When I turn off the Omega after the issue and turn it on again, it boots up with all the COLUMN_0 having a LOW and the issue starts immediately. To make it stop, I have to leave it turned off for some time, let's say 20 to 30 minutes, then it boots up with 5V at the switches. If I leave turned off for just 5 minutes, for example, it boots up with less than 5V on the switches (let's say 4V), so the issue is not happening but starts to happen faster.
Disconnect the keyboard completely and see if the problem persists. If so, the 8255 may be faulty and will give up after a few minutes of operation.
Disconnect the keyboard completely and see if the problem persists. If so, the 8255 may be faulty and will give up after a few minutes of operation.
No issue with the keyboard disconnected. If I disconnect the keyboard during the issue, it stops.
Lots of Additional Info:
- Issue happens only when keyboard is connected;
- When issue is happening, the COLUMN pins of affected switches (COLUMN_0 net) are LOW, but the switch connection is NOT closed (no connectivity between its pins), so I don't think it has to do with the switches;
- When issue is happening, I can press another buttons (it shows on the screen), but not the COLUMN_0 buttons (they just don't work)
- When issue is not happening, all COLUMN_0 buttons works flawlessly;
- Issue happens even when both ICs (7407 and 74145) are removed;
- I didn't install the Caps Lock and Code/Kana LEDs yet (I don't think they're required);
- I replaced the C3 10uF electrolytic (just in case) – no changes;
- I didn't replace R1-R3 470R because they're being used only for the LEDs;
- I didn't replace C1-C2 100nF MLCC because if the issue happens even without the ICs, so it doesn't make sense to have anything to do with those;
- I see that the D4 1N4148 net pass through both SHIFT keys (ROW pin), and these keys are both in COLUMN_0, so I replaced D4. No changes.
try what happens to column_0 if 8255 is not in.
Is there any other column or ROW going low a part from column_0?
Why 7407 and 74145? Are they not 74LS07? I think they are common and I think they might be important, in that case.
MLCC could be the problem but... Is general VCC at the keyboard going also low?