Testing the ELTEC

The PPG Waveterm A was built around an industry processor board named EUROCOM II V7 made by ELTEC. Based on a 6809 CPU it contains two 6821 PIAs, a 6850 ACIA with baud rate generator, a 1793 FDC controller, 64k of dynamic RAM and two 4k ROM sockets. One out of three 16k memory pages can be mapped to the integrated discrete monochrom graphics controller.

Due to the complexity it can become rather complicated to trouble shoot those boards. As lots of counters and other TTL ICs are required for the memory to work properly, chances are good that an application’s firmware won’t run due to memory problems.

For the software I’ve created only the CPU, ACIA and baud rate generator need to work. The first routines run completely within the CPU registers and do not require any RAM.
Once started, a welcome message should appear on the connected terminal. If not, basic 6809 system troubleshooting needs to take place.

As soon as the terminal comes to live, the first 4k of RAM will be checked by a AA/55 pattern. If a mismatch occurs, the routine will stop and the original and read bit pattern is displayed.
Assuming the first memory page is in good condition, the stack pointer is initialized and a menu appears.

For now, four tasks are available:
1. Memory test. The whole memory between 1000 and EFFF will be tested, an error will be displayed with the actual address, the written and the read bit patterns. The test will run forever.
2. PIA output. All 8 bit PIA ports show a square wave with a frequency of 19.2kHz on PA0/PB0 decreasing to 150Hz on PA7/PB7.
3. PIA input. Binary patterns of all four 8 bit ports are displayed continuously.
4. Screen test. A test image will be show.

To Do’s:
– add two more test screens, switchable using the page select lines
– add a test for the hardware scrolling functions
– keep away from the FDC, this will have to be troubleshooted in the target system if necessary

ELTEC Eurocom II V7 board under test

A first impression of a Eurocom II on the emulator

Polysix photocoupler myths

Many Polysix’ will be hit by a sudden photocoupler death somewhen.
There are many “facts” around on the internet describing how do determine whether it has failed and how to substitute the unavailable IC.

Fact 1: it is not true that you can check the photocoupler by measuring the voltage drop on the 4k7 resistor inseries with the LED or even the voltage drop across the LED.
LEDs do fail without exhibiting any dramatic change in electrical parameters. You will find LEDs which drop 1.6 volts @ 20 millamps and emitting no light!
(That – and some scientific applications – is why some applications still require incandescent lamps, and that’s why I’ve designed a controller for a 1960s filament winding machine in 2010!)

In this special case, the LDR saturated at 5.4 megohms with full LED current, so either the LED has become dark or the LDR insensitive.
The only way to check the photocoupler is to remove it from the circuit and measure the LDR resistance versus the LED current and compare it to a known working part (see diagram below)

Some background: the photcoupler is used in a feedback loop to stabilize the expo converter which makes up the V/Hz scale for the VCOs from the octave/V control voltage.
To use only one expo, Korg has used multiplexers to feed the 6 VCO CVs to the expo, followed by a calibration voltage and then the CV for standard pitch (only for the new production voice board).
The two latter outputs are routed to two independent controllers; the last one introduces an offset to the expo input to shift the standard pitch to its desired value, while the converted calibration voltage drives a current through the photocoupler’s LED, while its LDR is placed where you would normally expect the 3300ppm tempco resistor in similar circuits.

This leads to an eady way to check whether a tuning problem is related to the photocoupler circuit at all: measure the voltage on pin 7 of IC18. Within regulation it should be somewhat between -2 and -6 volts, -3 are more normal.
When the loop breaks open due to failure of the photocoupler or related parts, it will be stuck on the maximum negative output, something around -13 volts. There must always be a small current through the LED, otherwise the loop does not work and the TUNE HIGH preset has no effect!

Fact 2: the types VTL5C2 and VTL5C3 which are widely discussed as replacments are simply the wrong choice. In order to make the regulation work, the LDR resistance needs to be in the range of below one to a few kiloohms. The maximum LED current is limited by design to slightly over 2 mA. According to the datasheet, a VTL5C2 has 2 kiloohms at 2mA – regulation will never take place! Even if it seems to work, the controller will work close to the margin and operation cannot be guaranteed. Furthermore, resistance variation is quite large for those devices; the VTL5C2 I have tested had about 20kohms at 1mA.

The diagram below shows a known good original part (blue graph) and a VTL5C9 (yellow graph, values from the datasheet)

As you may have expected from my previous text, the red line represent the data sheet values for a VTL5C2.
While the VTL5C9 closely matches the original part in the most interesting region, the VTL5C2 resistance is way too high for any current.

What about RoHS…?

Photocouplers with LDRs are, as any LDRs which are commonly based on CdS (cadmium sulphide), forbidden for new products within the EU for some years now.
There is an exemption for the use in electronic music instruments, because there is no practical solution to control varying ac voltages better with LDRs.
(MOSFETs, for example, become highly nonlinear introducing distortion).

In this special case – a closed control loop and very small voltage variation across the device – a photo-mos device would probably be possible.

But it won’t be a solution for the control of audio signals in many applications. The EU has decided that science will have developed and indutry produces an alternative from december 31, 2013 on.
Science hasn’t, and industry doesn’t – except from Macron, who even try to force the EU to withdraw the exemption. Unfortunately, their devices are now way available at major european distributors by now…

Although it is always a good way to reduce hazardous substances, eurocracy has lost any sense of proportion for this topic. While power toys (sorry, I refuse to claim such crap tools) with short life spans flooding the market at low prices are allowed to contain batteries with large amounts of Cd, small photocouplers containg micrograms of Cd typically used in high-priced gear which will last for decades and serviced in case of a problem are to be banned.

 

 

Ready to fly!

After almost two years the SE1 mod is finished. Now intense testing can start.

Here’s a quick shot of the new inside. The aluminium back extension contains the six jack boards with all the audio signal amplifiers and CMOS switches. Those boards are connected to the analog PCB of the SE1X directly via shielded cables.
The control board for all the new circuitry resides on top of the SE1X digital and analog boards, shielded with a large copper-cladded FR4 sheet.

 

The new SE1X has 44 1/4″ jacks – somewhat more than the original two connectors. The meaning of the abbreviated information shown on the labels is explained on the very bottom of this page, so scroll down for a reference until I’ve finished the block diagram.

Cables!

Hopefully the last time I had to remove the back and all the modules for some minor fixes, the SE1X shows all its new wiring here.
The 4o wire ribbon cable has been tapped by the new controller board on top of the original boards. All switching signals and control voltages are handled here.
Shielded cable has been used to interface with the audio signals right on the analog board (which means removing some resistors and cutting some traces – ouch!)

All boards have been tested successfully now with this setup, two potentiometers turned out to be of wrong value for the possible parameter deviation and will be replaced soon.
Goooooooooooo!

 

But hey, what’s that?

(first of all, for the younger readers: this is a digital photo of an analogue scope screen, with a real cathode ray tube. Yes, I like those things when working with analog signals.)

The lower trace is the output of the RMOD gates (4070 CMOS device) with only VCO2 running, the upper is the triangle wave of VCO2 routed to the output.
First you might think this is a shot-through of the VCA controlling the RMOD amount to the master mix – nope, it is not.
It’s the hard switching of the 4070 causing a spike on the +10 volts rail, making its way into the analogue circuitry.

I’ll have to think about that later.

Ready again…

Recently I checked the mod boards in the SE1X to find out that there still was some level mismatching. The intended 0.775 volts RMS on any stage output and external input were not yet achived.
So I removed the boards and did some additional modifications. Here’s a photo of the updated boards. No, these are not the boards for 6 SE1X’s but the complete mod for one single unit!
And it’s not even the full mod, the controller board shown above as well as some meters of additonal wiring belong to the upgrade too.

During re-assembly I will check the levels starting at the VCA back to the VCOs and have the last missing parts installed, once the required values have been determined. Stay tuned!

Stacking it up

As circuit design is finished and most PCBs are populated now, it’s time for assembly.
First of all the controller boards need a place:

Here you can see the Controller Board on top of the original SE1X CPU and analog boards.
An additional copper-cladded PCB should prevent digital noise from the new microcontroller to disturb the analog board, although the small ATmega @1MHz with no fast clocked outputs would not make much EMC trouble either. The Controller Board gets its +/-15 volts supply directly from the PSU, all other voltages (+/-12, +/-7, +5) are generated on board.

The board lying on the table is one of three VCO jack boards. The functions of its 8 jacks is alrady outlined in the previous post.

I thikn it’s time to wire & fire things up…

The MIDI jacks from the SE1 CPU board have been removed and extended by shielded cable to allow the DIN jacks to be fitted in the new rear panel, same will apply to the IEC power connector.
Yes, it’s supplied from an isolation transformer, and yes, the open frame PSU is a nasty little devil and will be replaced by something more safe and silent.

The VCO1 Jack Board is now connected to the Controller Board by several (yellow) cables, carrying control voltages of different kind. The two shielded cables are hooked up to the analog board – one in between the VCO output and VCO Amount VCA input, the other one delivers the triangle output to the sine converter on the Jack Board. The sine wave is mixed to the VCO output under control of the Controller Board, eventually overriding the command from the SE1 CPU.

On the photo above I was adjusting the Middlebrook & Richer triangle to sine converter that any of the 3 VCO Jack Boards features to allow all three VCOs producing sine waves. I was quite surprised that I got the 2nd harmonic down to -50dB and the 3rd to -40dB, measured at 440Hz. Overall THD will be in the 1.5% range, maybe even better when final adjustment are made.

 

 

Synclavier Sample-to-Memory – getting serious…

The NED Synclavier is an awful combination – complex circuitry built up of hundreds of (mostly TTL) ICs and no documentation in the wild.

So there’s no way around getting intimate with circuitry to understand how things work to make my latest project possible. First of all I needed an idea how everything is timed – a most important point in a serially operating system. Similar to the Able processor itself, the Sample-to-Memory unit makes use of an unidirectional 16 bit parallel bus on which control information, memory addresses and finally data are sequentially transfered.

All information propagate through the daisy-chained modules PSF, PSADC, PS(B)MC, DDDAC and then back to PSF, while the four timing signals into which all communication is framed traverse the chain in the opposite direction. To learn how this actually works, I’ve hooked up a minimal memory chain setup consisting of only the PSF and a PSMC. As the PSF gets the actual timing from the PSSRGA, the latter board is also installed in the poly bin:

The analyzer probes bring some color into the bin.

It was a quite succesful session so far, the bus timing is no secret to me anymore.

Stay tuned for the next steps on a long way…

SE1 goes modular

Studio Electronics’ SE1X is a nice 19″ synth module featuring 3 VCOs based on a Moog concept, one Moog-style 24dB ladder filter and a 12dB Oberheim-like switchable lowpass / bandpass filter. The VCOs are capable of sawtooth, triangle and variable-width pulse waveforms; with the addition of a triangle-to-sine converter according to Middlebrook & Richer, the SE1X version generates a sine output instead of triangle on VCO2. Everything  is mixed together by classic LM13700 OTAs and finally controlled by two cascaded discrete Moog-style VCAs.

So far everything was strictly analog. The control of all the analog circuits including LFO and envelope generation resides in the digital domain of the central microcontroller. Although the D/A converter used features rather high resolution for internally generated signals, MIDI-only control restricts the actual precision to 7 bits for external control.

Needless to say that the SE1 needs an option for external CV control, stricly analog. Once we started drilling some holes, why not making the whole thing modular? To cut the story short, after all the component count of the modified SE1 has doubled, a new rear panel was necessary to allow 43(!) jacks to be fitted and 7(!) additional circuit boards to be installed.

Ready for a peek inside?

Two out of 43 1/4″ jack holes in the new laser-cut aluminium rear panel grant a peek on the old circuitry

How modular it finally got is probably best described with some photos – stay tuned!

1. The controller board

The controller board for the additional circuitry sitting on the SE1 analog board, waiting to be fitted.
By chaining into the 40 conductor flat cable between the SE1 digital and analog boards, the new board has full control over all analog control voltages and digital switch controls signals.
27 OP Amps and 18 CMOS SPDT switch functions take care of proper signal routing. Almost all analog CVs are buffered and routed to output jacks. Each CV has an input jack assigned, followed by protection circuitry and an input buffer. The mechanical contacts in the jacks do not get in touch with the CVs, but control the CMOS switches. Each VCO has an additional CV input which allows to override the internal waveform setting. The same applies for the VCF; a dedicated CV determines whether to use the internal setting or override to one of the three filter types. For ease of A/D conversion of those latter four CVs, the controller board features a small Atmel AVR microcontroller.

 

2. The VCO jack board (1 out of 3 identical boards)

A VCO jack board in a not fully populated state. Most parts reside on the bottom side.

Each VCO gets one of these jack boards with the following features:

VCO CV OUT – a buffered version of the internally generated VCO CV (pitch, frequency, whatever you like)
VCO CV IN – override the internal VCO CV by an external 0..5V control voltage
WAVE SELECT – override the internal VCO waveform setting by an external CV. With this jack board, all three VCOs now offer saw, tri, pulse AND sine and any combination thereof!
WIDTH CV OUT – the internal version of the pulse width control for rectangular wave form. Dim your studio light with it under MIDI control…
WIDTH CV IN – externally control the pulse width of rectangular wave
VCO RAW OUT – the raw output of the VCO, buffered to 0,775Vrms into 10k ohms in triangle mode
MIX IN – disconnects the VCO from the internal mixer and allows an external signal to be inserted (or an effects enriched version of the raw out)
AMOUNT IN – an external 0..5V CV overrides the internal VCO amount setting

There’s no amount out as this control is not modulated or influenced by the envelope generators, but only a representation of the 0-to-63 value set in the SE1’s menu. Too low resolution to be of real use, sorry.

Important: all intermediate outputs (read: all except the main output) are trimmed to 0,775 volts RMS with a triangular signal at 440Hz.
The inputs are adjusted the same, to a patch wire from any intermediate output to its adjacent input will not change the overall signal amplitude.
This allows for transparent insertion of effects, assuming they provide a 0 dB gain.

 

3. The RMOD/Noise Jack Board

This is the smallest out of the six jack boards of the mod. It provides the following features:

RMOD RAW OUT – the raw output from the ring modulator, trimmed to 0,775 volts RMS with an 440 Hz square wave (50% duty cycle)
RMOD MIX IN – allows to insert an external signal to the RMOD amount VCA, instead of the ring modulator
RMOD AMT IN – override the internal RMOD AMT control by a DC CV of 0..5 volts
NOISE MIX IN  – disconnects the noise generator from its amount VCA and replaces it with an external signal (like the external input on a stock SE1X)
NOISE AMT IN – override the internal noise amount control by a DC CV dod 0..5 volts
MIX OUT – a buffered copy of the “master mix”, the sum of the amount VCAs of OSC1..3, RMOD and noise, right before it enters the VCF

 

4. The VCF jack board

Here’s the board with all the filter controls and signals, look here for its capabilities:

VCF IN  – remove the VCF input from the “master mix” and insert an external signal – 0,775V RMS, input impedance 10kOhms, nothing new here…
VCF TYPESEL – a control voltage on this jack selects the VCF operating mode, one out of 12dB LP, 12dB BP or 24dB, overriding the internal setting
CUTOFF OUT – a buffered version of the internal cutoff control voltage (in the range -5..+5 volts!)
CUTOFF IN – overrides the internal cutoff control, same voltage range as for the output of course
RESO OUT – a buffered version of the internal resonance/Q control voltage (0..5 volts)
RESO IN – overrides the internal resonance control
VCF OUT – the buffered and normalized output of the VCF before it enters the VCA

 

5. Final! The VCA board

Although two parts are missing, here’s the VCA jack board! Featuring those features:

VCA IN – disconnects the VCA input from the VCF output and allows to insert an external signal. 0,775V RMS, you may have guessed it.
FUZZ AMT – something new: the SE1X’s Fuzzzz has gone variable. Apply a 0..5 volts CV here to control the amount of distortion
VCA1 CV OUT – the internal control voltage for the 1st VCA (controlled by ADSR)
VCA1 CV IN – overrides the internal VCA CV for envelope control
VCA2 CV OUT – the internal control voltage for the 2nd VCA (which is mainly the volume knob’s position)
VCA2 CV IN – overrides the internal volume control
OUTPUT – finally, here’s what you are listening to. The level remained unaltered, which means it is normally somewhat lower than 0.775V RMS.

 

White and Blue for the Wave Two

Recent HD44780 based LCDs fit directly to Wave2.3s and can easily be installed into Wave 2.2s. By removing the old HD43160A display controller and adding a 7421, a modern display will work just fine. The 2.2 and 2.3 firmware already have the proper intialization procedures and only need to be convinced to use them by a simple jumper wire.

PPGs Wave 2 was excluded from this upgrade so far because the EPROM code can only deal with the original HD43160A LCD controller. So the old chip has to go at first

HD43160 removed from Wave 2 TAS board

Although the addressing and chip enable signals to the TAS board of the Wave 2 are somewhat different from the TAS82/83 in the 2.2 and 2.3, a valid enable signal for the LCD can easily be generated by addition of a 7421 chip as well.

Wave 2 LCD Wiring

But there’s still the problem with the firmware…

Fortunately, the HD43160A as a predecessor of the HD44780 uses a subset of its command set. Assuming the power-on-reset circuitry of the HD44780 on the new display works well, it would require one additional initialization command to be issued and another command to be modified. The space required for this modification including another delay loop was gained by removing the memory size checks for 6kByte and 32kByte borders, as all Wave 2s known to me have 12kBytes of RAM (excepting the sound RAM). So the memory test has been modified to check whether 12kBytes of usable RAM are available, otherwise throw a ‘9’ to the display to indicate an error.

There are two more locations in the firmware causing trouble: the HD43160A obviously needs the cursor to be re-enabled after some other operations, which is a command 04hex for the 43160. For the 44780 this means to write the characters from right to left, so these commands had to be found and were simply removed for now, as it does not seem necessary for the HD44780 to re-enable the cursor anymore.

Finally it was worth the trouble:

Wave 2 with new display