[sdiy] General Audio DSP PCB

Seb Francis seb at burnit.co.uk
Sat Jun 10 12:30:06 CEST 2006


Hi,

Since there seems to be a lot of interest in digital going on at the 
moment, I thought I'd give a quick mention about a project I'm working 
on that will be available pretty soon as a PCB.

What I'm building is a quad delay/flanger, but the design & PCB will be 
suitable as a general lightweight DSP platform for playing around with 
any audio effects processing ideas ...

 From the UI point of view there's connectors for:
7 continuous rotary encoders
2 switches (in my case 1 toggle, 1 momentary push)
3 digit LED display
4 clip LEDs

There's also MIDI in and out so you can extend the UI with your 
favourite MIDI controller.

The scanning/control of the UI, and the MIDI is all handled by a 
PIC16F877A (except the clip LEDs which are controlled by the dsPICs)

The PIC16F877A then speaks to 2 independent 'Audio DSP' blocks via SPI 
(*see P.S.):

Each block consists of:
dsPIC40F4013 connected via SPI to another dsPIC40F4013 which is 
connected via GIO to 32K of SRAM.
The first dsPIC40F4013 is connected via DCI to a CS4272 24-Bit, 192 kHz 
Stereo Audio CODEC which has appropriate high quality analog I/O 
buffering/filtering using AD823 opamps.  There's also circuitry to allow 
feedback in the analog domain.

So in summary, what you basically have to play with is: 1xPIC16F877A 
handling the UI & MIDI, 4x dsPIC40F4013s, 2x CS4272 CODECs (=4 in, 4 out 
channels), 2x 32K SRAM.

The PCB will have an ICSP/ICD connector for each PIC so you can program 
and debug to your hearts content using just free Microchip software and 
an ICD2 (or clone - the Olimex one is very good at around £50 or so).  
And the software I'm writing should give a good staring point (in fact 
you will get a fully featured digital delay & flanger).

The PCB will be fairly compact since all PICs and the CODEC ICs will be 
SMT.  But it's all quite big, easily hand solderable packages like 
TSSOP28 & TQFP44.  I might consider supplying PCBs with SMT stuff 
pre-soldered, but certainly only a very limited number (I don't enjoy 
factory work, and I doubt there will be enough interest to get the parts 
soldered commercially).

Note that this is not a mega-powerful platform and it certainly is much 
more limited than using high end DSP or FPGA chips, but on the other 
hand it is specifically designed for audio effects processing and is 
*easy* to work with (the dsPIC assembly language is really very nice 
compared to the earlier PICs, and actually quite powerful).

I'll announce more details and put full schematics & source code on my 
website pretty soon (should be within a month I hope).

Seb

* P.S. In actual fact the SPI connection from the PIC16F877A connects to 
the UART receivers on the dsPIC40F4013s.  This allows the dsPIC40F4013s 
to use their full SPI bandwidth for communicating with each other.  I 
never thought about connecting SPI to UART interfaces until this 
project, but it actually works just fine for 1 way communication!






More information about the Synth-diy mailing list