Reverse Engineering the Aardvark Direct Pro 21/96

Someone gave me six of these boxes, without the PCI cards that came with them. I figured they were nice enclosures, with a power button and audio connectors already attached.

I was thinking about gutting one for parts when I thought, "I bet I can use the preamps in this thing."

Turns out I can. There is no D/A or A/D circuitry in the breakout box (that must have been on the PCI card). However, the DB25 on the back provides an analog interface to the inputs on the front, and the outputs on the back. The gain of the preamps is set via a serial interface. If the inputs and outputs on the DB25 are jumpered together, and if you can find a power supply and some way to set the gain, the breakout box can be used as a four channel analog mic pre.

I wrote a Python program to bit-bang it using the control lines an RS232 port. I plan to program a PIC to do it better. Maybe it will listen on MIDI.

External DB25 Connector

1 output from channel 1
2 output from channel 2
3 input to channel 1
4 gnd
5 gnd
6 heavy trace goes to U14 pin 5 (Vee?)
7 input to channel 4
8 input to aux out (not sure which)
9 CS to CS3310 and RCLK to 74VHC595
10 serial data in (negative logic)
11 NC?
12 12 V in
13 something MIDI (probably goes to MIDI out)
14 GND
15 GND
16 input to channel 2
17 output from channel 3
18 output from channel 4
19 input to channel 3
20 mute (positive logic)
21 input to aux out (not sure which)
22 serial clock (falling active)
23 -12 V in
24 NC?
25 data from MIDI in. Mark = 0 V, space = 5 V


Serial Interface

The 4 microphone preamps each consist of two stages. The input stage is implemented with an ST micro 33078 op amp and a pair of discrete transistors. The gain of this stage is configurable through analog switches. These analog switches have 4 gain settings, and are set by a 74VHC595 "8-bit shift register w/ output latches".

The second stage is implemented with a pair of CS3310. These are a "stereo digital volume control" IC. Each controls two channels independantly, and can adjusts the level according to an 8 bit number configurable by the serial interface.

Pin 20 on the external connector runs through a Schmitt inverter, and is then connected to MUTE on the CS3310s and also to SCLR on the 74VHC595. MUTE and SCLR are both negative logic, but the Schmitt inverter makes this positive logic on the external interface. The CS3310 data sheet says that it should be muted at startup so that it can perform an offset calibration. However, I've also jumpered MUTE to ground and it works, though maybe I'm missing out on some headroom. The 74VHC595 can not be programmed when mute is enabled.

The serial data input is pin 10 on the external connector, and also passes through the Schmitt inverter. It goes first to the 74VHC595, and the output of the 74VHC595 shift register is chained to the CS3310 for ch. 1 and 2, which is in turn chained to the other CS3310 controlling ch. 3 and 4. Thus, a 40 bit word (16 bits for each CS3310, and another 8 for the 74VHC595) configures the gain of everything. The ordering goes like this, each section 8 bits long:

| ch 3 | ch 4 | ch 1 | ch 2 | input stage |

"input stage" is ordered channel 4, 3, 2, 1, two bits each. All values are MSB first.

The serial data is clocked by external pin 20, and because of the Schmitt inverter, it is active on the falling edge.

In summary, the procedure for setting the gain is this:

  1. Bring CS (9) and clock (22) high.
  2. For each bit:
    1. bring the clock (22) high, and set the data bit (low for 1, high for 0)
    2. wait a bit. 30 ns should be enough, except that for some reason, noise immunity I suppose, there is an RC circuit on the serial data between the 74VHC595 and the first CS3310, limiting the rise and fall times. 10 us is about the minimum for reliable operation.
    3. bring the clock (22) low. The devices read the data bit at this time.
    4. wait a bit again (I use 1 us, but the data sheet for the CS3310 says 30 ns), then repeat until all bits are sent.
  3. Bring CS (9) low. The gain change takes place.

From reading the data sheets, it seems that the CS3310 can wait for a zero crossing to change the gain, so you don't get pops in the audio output. However, I see no such circuitry to do this for the input stage. So if you want to avoid pops, don't change the input stage gain.

Power Supply

The board has internal +/-5 V regulators, supplied from two power connections on the DB25. There is a boost converter to supply 48 V for phantom power. It needs about 8.7 V on pin 12 before it kicks in. Most of the circuitry runs from the 5 V regulator outputs, but a few things are tied directly to the external power, most notably the aforementioned boost converter, and also the opamps driving the outputs on the back.

I am guessing that the supplied power on the back was originally +/-12 V, as this allows the output voltage to reach the levels that would be expected on a +4 dBu professional output. It would probably also work at 15 V. Because it goes directly to the output circuitry, it should be regulated and quiet.

At +/-12 V on the bench, the -12 V supply requires 60 mA, and the positive supply 210 mA with phantom power on, 140 mA with it off.

Inputs and Outputs

Pins 1, 2, 17, and 18 are the outputs from the microphone preamps. Pins 3, 16, 19 and 7 go to some circuitry which drives the outputs on the back. (pins 8 and 21 go to the aux outputs, labeled 5 and 6 on the back panel. I haven't tested these.) If you want, you can connect the pins as below to have the outputs on the back correspond to the inputs on the front:

 1 <-> 3
 2 <-> 16
17 <-> 19
18 <-> 7

The output connectors are TRS, so I assume they are balanced. However, if you put a scope on them you will see that only the tip carries the signal. That doesn't mean they are unbalanced, if done properly.

There is a little gain in the circuit that drives the rear outputs (maybe 6 dB). Very handy, because the signal coming out of the CS3310 is bounded by the +/-5 V rails, which isn't enough for a +4 dBu signal. The opamps on the outputs are connected directly to the power connections on the DB25, which can be +/-12 V.