Tuesday 19 July 2016

Debugging the analog data bus of a Roland JX3P

I've been having problems with my JX3P (modified with a Kiwi 3P kit) recently. Had been working very well for months and months, but everything went extremely quiet one day. Kiwitechnics have been super helpful and suggested that it didn't sound like an MCU problem, and gave me a couple of debugging tips. They are awesome.

Last weekend I finally had a few hours to investigate, so I opened her up!




Everything sounded extremely quiet with the occasional very loud noise. The moment it went loud was not completely random... It seemed to coincide with more than 3 key presses, although not consistently (sometimes I could press 6 keys and nothing would happen... At other times, it causes the loud noise).

First off, I checked the volume levels of the patches. Strangely, they had all become extremely low. I'm not sure why, but my guess would be a knock. In the course of this analysis, I realised there was a weak connection inside one of my MIDI cables - this could be related :)

So I increased the level of the active patch, and sure enough I could hear the notes again. However, a problem remains (otherwise I wouldn't have bothered with this post). The same reproduction steps I described above now make everything *even louder* despite the VCA levels for the active patch being set to maximum!!

A few knowns at this stage:

  1. The problem is related to multiple (more than 3) keys being pressed at once (although the pattern isn't obvious)
  2. It seems to be unrelated to specific voices (as each voice chip works fine in isolation)
  3. The resultant level goes beyond what it should be capable of (max VCA level on any given patch)

So I started looking a the multiplexers used in the JX3P... the "4051" chip:


 

The 4051 is a clever little chip. It can be used to multiplex (bring together) or de-multiplex (split apart) 8 individual signals. The signal active on pin 3 (the input or output signal pin... depending on whether we are demultiplexing or multiplexing, respectively) is determined by the bit pattern on pins 9, 10 and 11. Whether it is multiplexing or demultiplexing is controlled by the signal on pin 6.

This chip is used to set the different analog outputs that control the various blocks in the analog signal path of the JX3P. Including the VCAs for each voice chip (which control the amplitute of the notes...)