[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