Digi-Mod - Details
Power requirements
- +15V (will also work with +12V or +9V)
- +5V *
- Ground
- -15V (will also work with -12V or -9V)
* The +5V supply can be connected to +15V if +5V is unavailable. In this case a clip-on heatsink <= 20°C/W will be necessary on U4. Note the current demand this will then place on the +15V supply.
Theoretical current requirements with all components installed:
- +15V @ 100mA
- +5V @ 250mA
- -15V @ 40mA
The processor
The brain of the Digi-Mod is a dsPIC33FJ128GP708 processor running at 40 MIPS. It is relatively inexpensive and well suited to modest DSP tasks. It has a 16bit wide data path and supports single cycle multiply and accumulate operations, has DMA for zero-overhead ADC scanning, and a DCI interface for efficient communication with the audio CODEC.
Audio I/O
2 channels of audio I/O is provided by a Cirrus Logic CS4270 CODEC. This supports up to 24bit/192kHz, but the standard Digi-Mod uses 16bits and a sample rate of about 47kHz.
There is also a dual VCA for feedback control. The VCA circuitry is needed if both voltage control of the feedback and external access to the feedback loop is required (for example to insert processing of the feedback signal). If voltage control of feedback is not required then feedback control can be provided with a potential divider, with resistors R114 and R115 being included to sum the feedback return with the input. If a potential divider with R114/R115 is used then R117/R118 should be 30K. If the VCA circuitry is included then resistors R114 and R115 should be omitted. If external access to the feedback loop is not required then feedback could be implemented in software with voltage control as required via the CV inputs.
The audio connections are as follows:
- Input 1
- Feedback Loop Return 1
- Feedback CV 1
- Output 1 / Feedback Loop Send 1
- Input 2
- Feedback Loop Return 2
- Feedback CV 2
- Output 2 / Feedback Loop Send 2
Audio and CV inputs should be normalised to ground if nothing is connected.
Input signal levels are nominally 10V ptp (3.536V rms), but will accept 30V ptp without damage.
Feedback CV range is 0V to 6V, approx 20dB/V, with unity gain at 4V. Will accept voltages from -15V to +15V without damage.
Total of input + feedback return (after VCA) can be up to 17.8V ptp without distortion.
Output level is nominally 10V ptp, but will depend on input level. Can be up to 17.8V ptp.
Sample rate selection
The CODEC used has a 2 pins which select the sample rate relative to the clock speed. Using a 12 MHz crystal oscillator for X1 gives the following possible sample rates:
- 11.71875 kHz (Full sample rate / 4)
- 23.4375 kHz (Full sample rate / 2)
- 31.25 kHz (Full sample rate / 1.5)
- 46.875 kHz (Full sample rate = clock speed / 256)
If a different oscillator is used, all sample rates must still be within the range 4-54 kHz.
The sample rate select inputs are not protected and so should not be driven from external sources. Suggested configuration is to use a 2 pole, 4 position rotary switch wired as follows:
- COM-A -> Pin 1 (MDIV1)
- SW-A1 -> Pin 3 (+3.3V)
- SW-A2 -> Pin 4 (GND)
- SW-A3 -> Pin 3 (+3.3V)
- SW-A4 -> Pin 4 (GND)
- COM-B -> Pin 2 (MDIV2)
- SW-B1 -> Pin 3 (+3.3V)
- SW-B2 -> Pin 3 (+3.3V)
- SW-B3 -> Pin 4 (GND)
- SW-B4 -> Pin 4 (GND)
IMPORTANT: The rotary switch must be a break-before-make type to avoid momentary shorting of the power rails.
CV inputs
The full control range is from -5V to +5V, but the inputs will accept voltages from -15V to +15V without damage.
The inputs should be normalised to ground when nothing is connected.
CV inputs 1 to 4 allow summing of 2 separate CVs (for example an external CV and a potentiometer controlled CV). If more than 2 CVs should be summed, or if CV summing is required for other inputs than these 4, then the 100K input resistor on the PCB can be replaced by a link and as many CVs as required can be connected to each input via individual 100K resistors.
CV outputs
CV output range is from -5V to +5V.
If accurate CV output is required (e.g. for pitch CV) then an OpAmp with lower input offset voltage and drift should be used for U19. The TL074 is fine for non-critical CVs.
Gate inputs
The gate inputs have some hysteresis and so should behave ok even with complex, non-square inputs. They are nominally Off below 0.66V and On above 2.64V. They will accept voltages from -15V to +15V without damage.
With the v1.0 PCB, gate inputs will default to On if nothing is connected. If this is not wanted then they should be normalised to ground. On the v1.1 PCB the gate inputs default to Off with nothing connected.
General purpose digital I/O
Direct access is available to 10 pins on the dsPIC. These can be used for general I/O, SPI or I2C as follows:
- SPI1 = Pins 1, 2, 3, 4 (not available if internal EEPROM option installed)
- SPI2 = Pins 5, 6, 7, 8
- I2C1 = Pins 9, 10
Electrical spec: inputs
Low = <0.66V (Abs Min = 0V)
High = >2.64V (Abs Max = 5.5V)
Electrical spec: output
Low = <0.4V
High = >2.4V
The max current in or out of each pin is 4mA
These pins are unbuffered and unprotected, but they are generally fine for inputs from panel switches and buttons. +3.3V and GND voltages are provided on the PCB header.
MIDI In/Out/Thru
The MIDI is the standard 5mA current loop, with isolated input. Because the Out and Thru are derived from 3.3V (not 5V), they are not suitable for use with devices which draw their power from the MIDI bus itself. Devices which follow the MIDI specification are fine.
SRAM
The 4Mbit SRAM gives the following sample times:
- 22.37s @ 11.71875 kHz
- 11.18s @ 23.4375 kHz
- 8.39s @ 31.25 kHz
- 5.59s @ 46.875 kHz
EEPROM
The 8Mbit EEPROM allows 2 memory locations in which the complete SRAM contents can be stored.
When the EEPROM is fitted, direct I/O pins 1, 2, 3, 4 cannot be used externally.
ICSP/ICD
The ICSP/ICD connection is:
- !MCLR
- VDD
- VSS
- PGD
- PGC
More ..