My evil modular plans -- patch cords
Mikko Helin
MHELIN at tnclus.tele.nokia.fi
Thu Apr 24 09:23:06 CEST 1997
DSP's are not that expensive now, but you may like to implement
more than one module with one DSP. So you need some patching
inside a module, and when you are going to expand your system
you may want patch one function on DSP 1 to another on DSP 2,
so you'll come to decision to use a common shared bus. I think
it's best done with physically shared RAM and with an operating
system that treats all modules inside a DSP as separate processes
which get their input from OS scheduler - a process which looks
for messages sent to special process (like VCF) containing data
to be processed. OS patching system then decides where that data
is then sent next. I'm not sure if OS is needed at all, if
every process has it's own dedicated data input and data output buffers,
propably ping-pong style dual-port RAMs (or conventional RAM
with flags). Then it's only question of knowing which address
to use for input and which one for output, and some timing
information is needed, at least a flag which tells when it's
ok to read or write data. D/A is then the last module process
which then simply sends it's input data through serial port
to DAC, which may be CS433x series or better one. Between
DSPs real dual-port RAMs are needed anyway (visit
www.qualitysemi.com for more information). If data format
is fixed between and inside DSPs, whether it's integer, fixed
or floating point, and (dual-port RAM) interface is defined
I guess different DSPs can be mixed.
But if you limit one DSP for one function at a time, it's
easiest to use digital signals without A/D & D/A between,
simply connect (buffered!) sample clock, sample data and word clock
signals like in analog system, and derive all clocks from a
common master clock to avoid EMI. There may be problems with
jitter if clocks are chained too long.
Just some thoughts,
-Mikko
###############################################################
>
>gstopp at fibermux.com wrote:
>>
>> Okay if you make a modular synthesizer out of modules that are digital
>> inside, do you bring out all the patchpoints to panel jacks so that
>> you can use patchcords to connect them to other modules, analog or
>> digital? If you do, then this means A/D and D/A and the subsequent
>> potentially cumulative conversion errors.
>>
> Why not bring out both digital and analog to a single patch connector ?
>For example, if you are using 1/4" phone plugs run the analog to the tip
>and digital to the ring. If you use a standard mono patch cord you would
>route analog to another module or external device. If you use a patch
>cord (stereo for example) that contains the ring, you would instead
>route the digital. You could even use a Y cord and split off analog and
>digital. There could be some issues of possible interference due to the
>close proximity of the digital and analog but I think this could be
>taken care of with some careful design.
>
>Dan Slater (dslater at ix.netcom.com)
More information about the Synth-diy
mailing list