Author Topic: Yamaha PSR-12 one key doesn't work (but the multiplex waveforms look right...)  (Read 861 times)

0 Members and 1 Guest are viewing this topic.

Offline chaseadamTopic starter

  • Contributor
  • Posts: 27
Picked up an "as is" Yamaha PSR-12 synth keyboard from shopgoodwill.com and I have a bit of a conundrum. Everything appears to work except a single key.

Initially I plugged it in and didn't get any sound. It still didn't make any sound cleaning the buttons, pads and contacts. After leaving it for a few hours it started making noise ranging from static to tones. I left it on overnight and it is now *mostly* working.

Now everything appears to be functioning as expected except a single piano key. When I press it, no tone is emitted, but it will temporarily silence any rhythm which may be playing. Additionally, it I press it after an adjacent tone it will "sustain" the playing tone even after releasing the keys.

This implies the YM3014 (DAC) and YM3812 (OPL2) are functioning as expected, but the XC631A0 (CPU) is having trouble distinguishing which button is being pressed (or something worse).

The clock doesn't look very good, but not sure how to debug the clock cleanliness. This clock is shared between the YM3812 and XC631A0. It is possible the clock "stabilized" after leaving it on for a bit, but it seems unlikely that the clock is just marginal enough to get in the way of decoding only a single key press repeatable 100% for the last few hours.


The contacts are clean and the 74HC365 buffers are acting as expected and passing the expected wave form to the CPU.

Diodes tested fine.

The waveform this key uses is an "inverted" waveform with a pullup on pin 20. Other keys which feed this this waveform back to other CPU pins function as expected.





Blue is the waveform output generated which is shared by the two buffers which multiplex a few input pins.
Yellow is the enable line which toggles between the buffers


Inverted buffer enable lines. The enable lines of the two buffers are connected via a hex inverter.


Blue is the CPU input line after the buffer with the key pressed
Yellow is the inverted enable line hooked to the other inverter.


Documentation collected here: https://ipfs.io/ipfs/QmfGcF7z3anD4MvqL2k5zfLJFHq3FxwyXYrs2Su4WxxGgx
« Last Edit: May 18, 2023, 01:58:16 am by chaseadam »
 

Offline Audiorepair

  • Frequent Contributor
  • **
  • Posts: 736
  • Country: gb
Well since only one key is not working properly it is likely to be the diode or PCB around that keys contacts.
These tiny traces quite often get corroded by stuff falling through the keys onto the PCB.

The other keys working pretty much test all the data lines as good.
 
The following users thanked this post: chaseadam

Offline chaseadamTopic starter

  • Contributor
  • Posts: 27
As far as I can tell the PCB and contact pad are all in good condition and can confirm the waveform which the key uses is passed to the expected pin on the CPU.

I have noticed "stability" issues from the CPU. The "demonstration" mode works well some times, but other times I get inconsistent output and background static. A power reset will usually fix the issue.

I interpret this as corruption of the signal to the OPL 2 from the CPU. The schematic and PCB calls for 1kΩ but are connected with jumpers. It appears to be "cost optimized" out along with some bypass capacitors.

The DC rail looks good.

When I press the same key in question, the Demonstration mode goes silent or glitches. Measuring a data line from the CPU sometimes shows notably different activity with the key pressed and glitches/silence from the output. This pushes me to believe the CPU is the culprit...

Is it known for the Hitachi HD63B01Y0 to go bad?

Aside, here is a request by someone to help dump the ROM from a similar PSR-11 https://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=118795
« Last Edit: May 19, 2023, 04:57:05 pm by chaseadam »
 

Offline Audiorepair

  • Frequent Contributor
  • **
  • Posts: 736
  • Country: gb
Could it be that this one note or the PCB around it is shorting (or partially) 2 datalines together?
 

Offline chaseadamTopic starter

  • Contributor
  • Posts: 27
The PCB for the key contacts is very clean. Both are single sided and there is no sign of battery leakage.

The waveform checked at the input pin of the CPU matched the waveform for the multiplexer, but maybe there is some cross-talk or shorting. The part which makes me doubt this is that the same pathways are used for other keys and they all work.

I can double check the PCB containing the CPU next time I have it open (I just closed it up).

I may also hook up the logic analyzer and see if I can verify the data between the CPU and the OPL 2.

If I can't figure out what is going wrong with the CPU, I may try to drive the OPL 2 directly with another microcontroller to rule it out.
 

Offline Audiorepair

  • Frequent Contributor
  • **
  • Posts: 736
  • Country: gb
The key scanning AFAIK is RowX connects to ColumnY = NoteZ.

Are you saying the CPU is faulty because it interprets correctly every row and column connection except the one it apparently doesn't like?
« Last Edit: May 19, 2023, 07:20:34 pm by Audiorepair »
 

Offline elecdonia

  • Frequent Contributor
  • **
  • Posts: 399
  • Country: us
How many quartz crystal oscillators are in this item?

I have seen cases of “works sometimes” and “almost works but then glitches out” which eventually turned out to be a weak or intermittent crystal. Replacement of the crystal permanently fixed the problem.

If a new crystal increases the oscillation amplitude by 2x or 3x this confirms the old crystal was faulty.
I’m learning to be a leading-edge designer of trailing-edge technology.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf