mikepctvman wrote:Ok guys one last try here before I give up.
Pretty much the only thing which would warrant giving up is if there's a problem with the CXD1095Q I/O Expander (IC29), but that's unlikely and we might even be able to prove that it can't
be the I/O Expander, if we look at how the circuit works.
M1 KEY MATRIX
The panel buttons are read in a grid or "matrix", so each button is the intersection of a row and a column. Each button lies somewhere within a column group, and also somewhere within a row group. In other words, each button belongs to two different groups with each group containing a different set of keys. Pick any one column and any one row, and there will only be one button in common between those two groups.
If you have a group of dead buttons which all share the same column or row, it is *extremely* likely there is a problem with the functioning of that particular column or row, in an electronic sense. It would be very, very coincidental for buttons to fail mechanically and have all of them just happen to be part of the same and complete column or row group.
If all of the dead buttons share the same column or row, *but* there are still one or more buttons working within that same group then trace damage localized around the dead buttons is very likely, unless they are also physically grouped in the same area -- in which case liquid spill damage, etc. could be suspected.
The I/O Expander continuously cycles through the columns, activating a particular column when it wants to check a certain group of buttons. The I/O Expander sets the column by turning on different combinations of three of its pins (pins 54, 55, and 56). The different column combinations set by those three pins are decoded into one individual column through the 3-to-8 chip which we've already discussed.
Since the I/O Expander has only three pins to set the column it wants, if the I/O Expander had a bad column pin (dead pin 54, 55 or 56) then more than one column would be affected because the columns are set by the I/O Expander in *combination* and it is the job of the 3-to-8 chip (IC25) to make those combinations a separate column.
So... if one of the I/O Expander column pins dies then you automatically must have more than one column dead, and that means there would be a bunch of buttons dead (a bunch being 7 or more). Therefore, if the failure corresponds to a group of buttons sharing the same column, but no other columns are affected then the problem almost definitely lies at the column decoder, or with the continuity of a trace, header pin, ribbon cable, etc. -- something which affects the circuit on an *individual* column basis. Remember, the I/O Expander only works with *combinations* of columns and the 3-to-8 chip is required to split up the combinations.
The buttons are also grouped into rows. The I/O Expander reads in the rows via Port B (pins 3, 4, 5, 6, 7, and 64). IC24 is a 4050 hex buffer, and RA7 is a resistor pack. Essentially, IC24 and RA7 help prepare the row signals so the I/O Expander can successfully read them.
Similar to the column functioning, if something was wrong with any of the I/O Expander's Port B pins, one of the 4050 pins, or one of the connectors/traces in the row circuit then a certain group of buttons would stop working -- the exact group would be dependent upon which of the pins/connectors/traces was not working.
Here is where failure of the I/O Expander could be a bit less obvious because it *is* possible for one I/O Expander pin to fail and it would only affect one row group, although all the other potential row failure problems (4050 failure, connector failure, etc.) are all more likely.
So how do we know where to start? By examining which buttons have failed and trying to group them logically.
Row Groups (destination is ultimately Port B on the I/O Expander, via 4050 buffer):
PB0 = [SW9, SW15, SW25, SW30, SW31]
PB1 = [SW10, SW16, SW26, SW27, SW32]
PB2 = [SW1, SW3, SW11, SW17, SW21, SW28, SW33]
PB3 = [SW5, SW7, SW12, SW18, SW22, SW29, SW34]
PB4 = [SW2, SW4, SW13, SW19, SW23, SW24]
PB5 = [SW6, SW8, SW14, SW20]
Column Groups (source is PA0, PA1, and PA2 from I/O Expander, via 74HC138):
Y0 = [SW1, SW2, SW5, SW6]
Y1 = [SW3, SW4, SW7, SW8]
Y2 = [SW9, SW10, SW11, SW12, SW13, SW14]
Y3 = [SW30, SW32, SW33, SW34]
Y4 = [SW24, SW27, SW28, SW29, SW31]
Y5 = [SW21, SW22, SW23, SW25, SW26]
Y6 = [SW15, SW16, SW17, SW18, SW19, SW20]
In your case, the buttons which failed are designated on the panel board as SW9, SW10, SW11, SW12, SW13, SW14. As you've noted, they are all tied together conspicuously as part of the same circuit area. If we follow the traces and/or look at the schematics (or refer to the above chart), those particular switches are all tied together on the Y2 column line (which should be the 3rd wire on the connector which carries the signal from mainboard to display board).
Since all the buttons correspond to one specific column line and are a conspicuous group with no other button group failures present, the problem almost definitely cannot lie with the I/O Expander. As IC25 is the only component between the I/O Expander and the problem buttons, the problem has to be either IC25, or a trace/connector/pin common to the Y2 line.
To check the continuity of the Y2 line:
With the M1 off, hold one probe to the top of pin 13 on IC25. Touch the other probe to the column side contact of SW14. No buttons need to be depressed for this test.
- If you've replaced IC25 then a stuck column pin is (now) unlikely. But we could test with a 'scope or logic probe and eliminate any element of doubt.
- If there is continuity from IC25 pin 13 all the way to the switches in question then the Y2 line (and any connectors in between) must be good.
- If each switch has continuity between each side of itself when depressed and no continuity between each side of itself when no longer depressed then each switch is physically good.
- If all three of those things are true but those exact switches still do not work then something simple is being missed or there's something *really* unusual going on.
edit: fixed to account for Mooger's superior wisdom and visualization skills...