MKS-40 Assigner PCB


JP-4 Assigner PCB

Overview The ASSIGNER board in the original Jupiter 4 has its own separate Intel 8048 processor to scan the keyboard and create the 4 channels of gate and pitch data. It also has its own 6-bit discrete DAC, an arpeggiator with its own CMOS clock and 4 channel portamento. The original plan was to leave this board out of the MKS-40 and use a 4-channel MIDI to CV converter to directly control each voice, with portamento and arpeggiation done before the MIDI IN of the MKS-40.

However the arpeggiator and portamento help define the character of the Jupiter 4, so I decided to include the ASSIGNER PCB in the MKS-40 and use the keyboard scanning input to interface a CHD Elektroservis JP-4KBD MIDI to CV board. I have replicated the second version of the Roland ASSIGNER PCB, as it has improved portamento uniformity across the four channels thanks to an IR3109.

The ASSIGNER board does a number of important jobs:

  • 4 octaves of keyboard scanning
  • Generation of four channels of pitch CV and Gate
  • Switch scanning of Board E (arpeggiator and keyboard modes)
  • Portamento and gate HOLD function
  • Arpeggiator clock generator
  • Individual voice tuning (pots are on Board G)

The MKS-40 retains all this functionality with the MIDI to CV converter connected to the keyboard scanning, so it can input pitch and gate data directly.

New Assigner PCB

Redesigned DAC The original Roland design is not the most advanced for a DAC generating pitch CV’s, but in 1978 they were constrained by the cost of RAM and availability of DAC chips. The 6-bits of pitch data does cover the whole 4 octave key range, as it has 64 increments, but the resolution is too low. Roland moved to 12-bits in the  Jupiter 8 and then 14 bits in the 8a and JP-6. 14 bits is regarded as the minimum standard 40 years on.

The original DAC uses transistors to invert the data and level shift to the -15V rail, before a CMOS chip does a further inversion, followed by the R2R ladder which has 0.1% resistors and a TL072 summing Op Amp. The use of the -15V rail as a reference voltage means the power supply has to provide a stable and accurate voltage, stated as within +/- 10mV in the service manual.  This is a potential weakness in the design. The summing Op Amp divides the summed voltages down to a maximum of +5V, with the pitch CV’s having a stated accuracy of 2mV at each of the 4 octaves.

I have implemented an improved DAC, although I can not get round the limitation of 6-bits of data without replacing the microprocessor. In fact MIDI only gives 7-bits, so the issue is the accuracy of the DAC circuit rather than the number of bits. A modern 12-bit DAC (MX7541) has been used with a low offset Op Amp (LF411). A precision -5V voltage reference uses a REF02 chip, LT1012 Op Amp inverter and a ten turn trimmer for the pitch WIDTH.

Assigner Switches

The TUNE control pot was originally connected into R2R ladder of the DAC with a 2M2 resistor. This feature is replicated by feeding the TUNE voltage into the DAC buffer Op Amp inverter using the same resistor value. I have concerns that this could introduce tuning instability, so the MKS-40 TUNE pot uses +/-10V precision voltage rails and a LT1012 Op Amp follower.

Arpeggiator Clock The arpeggiator clock has been retained, and it runs from 1Hz to 25Hz. It uses a 4013 chip to generate the pulse clock signal, and the rate potentiometer has been reduced to 1MA in the MKS-40, with a corresponding increase in the clock timing capacitor value. This clock signal is used by the 8048 (at T1) and a S&H circuit on the Controller PCB (relocated onto the MOTHERBOARD).

The VCF MOD potentiometer for controlling the S&H signal into the filter has been moved into the filter group on the front panel. The arpeggiator clock rate potentiometer  is on the left of the new front panel, along with the portamento rate control. The Jupiter 4 is unique in having a separate LFO for S&H which is independent of the main LFO.

The MIDI to CV converter supports MIDI clock as a source for the arpeggiator, so I have deleted the originals external clock input.

Demux and Level Shifting  The original design uses a 4052 CMOS demux chip to create the 4 channels of pitch CV and gate. It has a unique set of power supply rails at +7.5V and -1.3V, this is presumably due to the possibility of negative voltages getting into the DAC output, which also has diode protection added. With the new DAC I know there will only be positive voltages coming out of it, so I can put the 4052 power rails to +15v and GND.

The gate signals need to be level shifted from the +5V DAC output to +15V after the demux. On the original this is done with transistors but a modern  TTL to CMOS level shifting chip (CD4504) is a better solution.

Portamento The AS3109 SMD chip has been used in the portamento section, replacing the IR3109 chip in the original. It delivers four closely matched OTA’s, with high quality 100nF polypropylene capacitors replacing the mylars in the original. Low offset JFET TL288 Op Amps replace the TL082’s to eliminate any offset voltages creeping into the pitch CV’s. The portamento time can be adjusted with a trimmer and is a maximum of 3 seconds. Individual voice tuning voltages are summed into the Op Amps. The trimmers have been moved onto this PCB, no longer accessible externally, but they will not changing as the VCO have been improved for stability.

Arpeggiator Mode There are four modes (UP, DOWN, UP/DOWN, RANDOM) which are selected by interlocking push buttons. There is no ON/OFF switch, so press a button and arpeggiation  starts and sets the T0 pin on the 8048 to GND. The four buttons generate 2-bits of binary data into the 8048 for reading on Ports 24 and 25. When in any arpeggiator mode the keyboard mode is set to POLY 2, this is achieved by the mode buttons pulling Port 23 on the microprocessor to GND. Of course the actual POLY 2 button does not move, so there is no way to use the other modes with the arpeggiator.

The way in which the modes work is a bit confusing in the user and service manuals, so I will verify this once we have the ASSIGNER board working. There is no octave range control, as in the Jupiter 8. In the service manual; when the arpeggiator mode is UP the pitch data is transposed up one octave, and down one octave when in DOWN mode. UP/DOWN adds an octave in the UP sequence of notes and subtracts an octave in the DOWN sequence. RANDOM is not actually random but a sequence of irregular patterns with one octave added on the UP and 2 octaves subtracted on the DOWN. The patterns can never go an octave above middle C.

Keyboard Mode There are four modes (UNISON 1 and 2, POLY 1 and 2) which are interlocked with the arpeggiator modes, one or the other! UNISON 1 is a traditional monophonic mode with all 4 voices on the same note. UNISON 2 is monophonic until you press 2, 3 or 4 keys, then the voices are assigned the new pitch data. The keyboard switches are scanned all the time, and use 2-bit binary encoding into the 8048.

POLY 1 is a round robin assignment useful for keyboard arpeggios (but NOT used by the inbuilt arpeggiator!) whereby ever new note pressed gets a new voice, enabling the release to be heard under the new note being played. Voice 4 (or D) is always played first. POLY 1 does NOT voice steal, once 4 notes are held down – none are released on the fifth note. This is a unique feature of the Jupiter 4.

POLY2 is optimized to work in portamento mode and does not round robin. It allocates a new voice only if the first voice is busy, so the release is typically cut off when playing the next note.

There is also a HOLD function. When this switch is engaged it sends a signal into the interrupt pin of the 8048, and all gates are switched on until released. This feature will be available over MIDI but I have retained this feature.

Switch Decoding The Jupiter 4 uses sets of interlocking manual pushbuttons to control the arpeggiator and keyboard modes, and to select patches. The MKS-40 has been updated to use Jupiter 8 style momentary push buttons with LED indicators.

A new PIC microcontroller debounces these switches and drives the ASSIGNER 8048-11 to simulate the interlocking of these two banks of 4 switches. A second PIC is used to control the main 8048-12 processor and new FRAM for patch selection. It also drives a new dual 7 segment display to show patch number (00 to 77 – 64 patches in total). Patch selection works exactly like the Jupiter 8. The original 10 presets in the 8048 ROM are inaccessible (no preset switches) but I have been replicated them in upper patch memory (Patch 67, 68, 70, 71, 72, 73, 74, 75, 76, 77,).

Power Reset The Jupiter 4 uses a component heavy single power on delay for both 8048’s and the 5101 SRAM, with a massive 1.5 seconds of delay! I have used a modern voltage supervisor (MCP102) that  brings the 8048 online 180ms after the power supply has reached +4.63V, and also resets if the power supply browns out. This is done for both microprocessors and the MCP102 is in a TO92 mounting, just a bypass capacitor is needed.

Clock Speed According to the service manual the 8048’s are clocked somewhere between 3 and 6 MHz. The actual clock speed is 5.9MHz based on the values used in the JP-4; an inductor at 33uH and capacitors at 22pF. A quartz crystal was not used.

Key Changes The MIDI to CV converter enables some features to be controlled over MIDI and I have improved a number of areas of the original design:

  • The arpeggiator clock configuration can be controlled using MIDI CC#19
  • Pitch Bend range is set using MIDI CC #18, +/- two octaves
  • The HOLD feature is also available over MIDI using CC #64
  • A 12-bit DAC has been implemented
  • Gate signal level shifting by a CD4504 chip
  • Improved Portamento Op Amps and capacitors

Outcomes The new ASSIGNER PCB fits on top of VOICE CARD 2.  A prototype PCB was laid out in May 2022 and ordered on 15 June. It is the first PCB to be designed and tested.

Copyright AMSynths 2022