[sdiy] lovely 'glitch' puzzle...siel DK600 74HC923 key matrix read

Bob Weigel sounddoctorin at imt.net
Tue Jan 3 10:07:32 CET 2012


Well here's the deal.  I fixed another one and finally got back to this 
one.  I reasoned in pondering this that because of the other things that 
are working right here and that absolute lack of bit correlations (and 
the fact that swapping the board to a different unit with different 
cables and panel boards did the same thing!) that we HAVE to have a 
sketchy interrupt thing going on.

Reasonably..surely the code is written so that only ONE EVENT can be 
recorded and acted upon per interrupt.  ie. the cpu is going to sense 
the interrupt's movement then begin it's task and ignore changes in the 
interrupt til the task is finished.  When task is finished it will of 
course check to see if the interrupt has gone low again and if not will 
poll it til it goes low since it's supposed to be a fairly fast 
event...and if it doesn't go low then something is wrong and it might 
hang the machine or something who knows.

Anyway the interrupt signal isn't staying up for long for sure. YET we 
are getting as many as 3 or 4 perceived events displayed when a button 
is hit!  And this SURELY means that the interrupt is bouncing. But 
buttons are very clean and again it's not related to the panel anyway 
I've proven now.  The same panel is working fine with another cpu board 
in it.

I see that IC16 (hex schmidt trigger inverters.  40106 originally though 
I'm using 74HC14 which is supposedly identical or what 4538 I think it 
is...) is not changing it's output as much as it should.  With the hc14 
chip it's going from the 5v rail nearly to 1.5V or like that on the 
first section which just sets there as long as you hold the button.  The 
ground measures...0.00V...the 5v pin is 4.95V.  And they stay within a 
few millivolts of that when a button is hit.

The 4500 series version of the chip is WAY worse!!  It only goes as low 
as 3.5V.  I tried a few new ones.  Same deal.  Ack.  Well that's just 
lovely.

I swapped in the 74C14 that is in the board that I got completely 
working.... 3.25V is as low as it' goes on pin 12 there.  Pin 13 is 
definitely going from 50mV or so to 4.5V or so!  
AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!  LOL!  I'm reading right off 
the pins on the chip.  How is this possible!   I read the ground and 5V 
right on the chip.  ...sooooo logically I would think there has to be 
some kind of voltage pulling on that pin 12 but it seemed well isolated 
when I checked with the chip out of socket. yikes.  Well it's definitely 
something in that circuit it would seem anyway.

On 12/27/2011 8:16 PM, Bob Weigel wrote:
>>
>> On 2011-12-27, at 5:55 PM, Bob Weigel wrote:
>>
>>> Hmm.  Here's the correlation after getting everything *else* working 
>>> I think on this synth. Grounds to front panels seem good.  But that 
>>> front panel board has the 74HC923 on there to code the buttons.  
>>> Now... I see that if I hit say a waveform button it'll cause other 
>>> buttons to act like they've been hit as well.  The outputs are 
>>> called A, B, C, D, and E however E isn't used it appears.  Not sure 
>>> why they didn't use the 922 chip since it would have been find I 
>>> think..but whatever.  Anyway so I notice that all the buttons are 
>>> being affected that have common 1's in the code.  For instance the 
>>> LFO pitch A and B routing switch is never affected since it's code 
>>> is 01000 EXCEPT when another button with that same 1 in the code is 
>>> being hit.  All responses are somewhat intermittent too.  Sometimes 
>>> you'll see no affect.  Sometimes it's like another button got hit 
>>> twice etc..  The "B" in other words is the only output high during 
>>> the read.  (Data available of the chip goes to interr
>
> upt the cpu and tell it to do a read on the panel codes coming in to a 
> 74HC244 latch that interfaces to the data buss)
>>>
>>> The 923 chip has a timing capacitor for a schmidt trigger input 
>>> inverter clock (ie. a f/b resistor charges the capacitor and 
>>> discharges it when it crosses threshhold) and this sets the scan 
>>> rate.  There is also a bounce mask timing capacitor.  But I'm 
>>> thinking... that wouldn't be relevant probably.  I'm having trouble 
>>> triggering a scope on the signals out of this for some reason also 
>>> so anyone with a thought would be appreciated.
>>>
>>> Sadly the panel board is a little hard to pull.  And I had a spare 
>>> and tried it but it doesn't work at all it appears so... hoping to 
>>> trouble shoot it w/out ripping it apart.
>>>
>>> -Bob
>>>
>>> -- 
>>> Check out sounddoctorin.com for songs, a studio tour, help
>>> repairing old synthesizers and parts or thought provoking
>>> articles that could help make your eternity!
>>>
>>> _______________________________________________
>>> Synth-diy mailing list
>>> Synth-diy at dropmix.xs4all.nl
>>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>>>
>>




More information about the Synth-diy mailing list