Sun Jan 9 12:05:49 EST 2011

Modular system

To gear up for production of prototypes it might be a good idea to
think about some way of modularizing the system.  Some principles:

  * Central symmetric (analog) power supply.  This should be a "clean"
    supply (i.e. linearly regulated) such that V+ and V- can be used
    as signal references without risk of power supply bleed.

  * Separate digital and analog power supplies.  I'm not sure if this
    is really necessary, but most mixed A/D design do seem to go by
    this principle.  The reason is that digital supplies are
    necessarily dirty due to CMOS charge/discharge spikes, while
    linear circuitry is more smooth, possibly depending on signal but
    mostly fixed bias currents.

  * No panel potentiometers on the separate modules.  We're going for
    a fully digitally controlled analog synthesizer.  Pots are
    expensive, bulky and the nonlinear ones are usually not very well
    tapered.  Building a controller can be a separate project
    (i.e. using pots instead of rotary encoders, since they still give
    much more resolution).  I would like the basic synth box to fit in
    a suitcase.

  * No trimpots.  Not really an interface issue, but reflects basic
    design: no mechanical calibration.  All calibration needs to be
    designed in and computer controllable, either once at fabrication,
    possibly using external circuitry, or on-line using feedback

  * Final design: no patch cables.  All routing should be digitally
    controlled analog switches/muxes.  External outputs are optional.

  * Virtual ground inputs referenced to analog mid voltage, direct
    opamp outputs.  Current configured as 100k = unit voltage gain.
    This gives several advantages:

      - Free input summing and cheap input scaling (resistor).
      - Direct connection of NPN (negative) or PNP (positive)
        transistors as exponential converters.

      - Free fanout.

    We might use the convention that negative currents correspond to
    positive signals, as this allows for more common and cheaper NPN
    transistors to be used for current gain setting.  Then negative
    voltages should probably also correspond to positive control
    signals to keep the simple resistor-summing rule.

    Note that signal routing needs to be solved centrally, as each
    module has a variable number of inputs and outputs.  For now it
    could be just el cheapo bell wire patch cables from female SIP

  * Shared digital bus for low-speed data comm (setpoints and
    calibration data).  Probably I2C.

  * Clock.  It might be a good idea to have a shared high speed clock
    for synchronous microcontroller operation.

  * Physically, the shared bus could be used to support stacks, and to
    allow for later expansion, i.e. simply by widening the connectors.
    Board dimension could be one of the easy to find perfboard sizes.

This gives the following duplicated bus lines for each card:

analog:  +,0,-
digital: +,0
i2c:     SCA,SDL
clock:   CLK

Then each card has a number of opamp (voltage) outputs and virtual
ground (current) inputs.