[sdiy] dsPIC33 question..

Tom Wiltshire tom at electricdruid.net
Wed Nov 12 16:51:51 CET 2008


Seb,

On 12 Nov 2008, at 14:33, Seb Francis wrote:

>  The 80 pin dsPICs have 69 I/O pins which breaks down something  
> like this:
>
> SRAM for 1.5s delay - 27 pins
> Stereo CODEC - 4 pins
> ICSP/ICD - 2 pins
> 2x Clip LEDs - 2 pins
>
> Leaving 34 pins for control inputs, up to 24 of which can be CV  
> inputs!

Marvellous! 24 CV inputs is plenty on one module in anyone's book!

> Is it worth having some as buffered outputs, for operating more  
> LEDs, etc??
> Or maybe just unbuffered direct access to some of the I/O pins  
> would be more generally useful.

Yes. It's easy enough to add a transistor buffer to drive an LED if  
required. Although you might be able to design universal hardware, I  
can't see a universal interface being possible. People will probably  
want different numbers of knobs, buttons, switches, and CV inputs.  
However, designing a PCB with a few knobs and switches and CV buffers  
on it is a small job, especially if you've already got the uP  
hardware all done. So I'd advise you to concentrate on designing a  
universal "heart" of a digital module, and leave the interface to  
individuals.
Note that the ADC channels on 33F chips are 3.3V max too. You can't  
feed them 0-5V.

> Particularly the SPI pins, so multiple boards could be hooked  
> together with communication (albeit relatively slow) between them.   
> Also with SPI one could drive external serial DAC(s) which could  
> then output DC-coupled CVs if desired.

SPI would be potentially useful. My DWGS oscillator uses SPI for  
parameter control, since the 28-pin chips only have 6 ADC channels  
when using the DAC. Instead I've got another PIC with more ADC  
channels reading the controls and then sending the parameters to the  
oscillator over the SPI connection.
Running at full speed, the SPI can be clocked at 10MHz, which means  
16bit words at 625KHz. That's not so slow, and certainly fine for  
control interfaces, not least when compared with MIDI.

One possible use would be to connect a multichannel SPI DAC to it and  
use it to generate control signals based on audio inputs (an envelope  
follower would be a simple example, and audio-level controlled LFO  
would be another). It might be possible to use the codec for this (at  
least for two channels), but SPI gives you other options.

> I'm wondering about MIDI input as well .. I wasn't planning to use  
> it myself as I like the immediacy of the unit responding exactly to  
> where the knobs and switches are set and to what external voltages  
> are coming in.  But the dsPICs have UART built in and it wouldn't  
> take much board space to add an opto-isolator and a couple of  
> resistors (although not sure opto-isolators come in tiny  
> packages... might have to be DIP).
>
> So what's the thoughts out there?  Is a MIDI input option worth  
> having?

Again, it's potentially very useful. I've got a small PCB that I  
designed which just has three MIDI sockets (In, Out, Thru) on it,  
plus the interface hardware. This will connect to the Rx and Tx pins  
on a PIC/dsPICs UART and give you a full MIDI interface. The ability  
to add such a board to your module would be useful, even if you can't  
get the MIDI interface on the main PCB.

> Any other wish-list ideas for I/O capability??

Ummm, I think you've covered it.

> Do you mean they use more or less power?   I noticed they are all  
> 3V not 5V.

Yes, they're all 3.3V chips, hence the designation "33F", I guess.  
They use considerably *less* power than the 5V chips.

I look forward to seeing this, Seb. Sounds really good.

Regards,
Tom







More information about the Synth-diy mailing list