[sdiy] Communications with voices in a polyphonic synth
Mike Pepper
profpep at hotmail.com
Wed Mar 10 21:35:46 CET 2010
> I'm currently tackling the above problem.
>
> I've already asked about SPI after encountering problems with it. It
> seems to me that some of the problems that I'm having are because it
> isn't really designed for single-master/multiple-slave communications
> over distances of a couple of feet. I've used it to talk to DACs and
> such like, which is fine, because you've got a single master and
> single slave and they're more or less next to each other (distances
> of a few centimetres, not tens of centimetres).
>
> What I'm looking for is a way of talking to the voices. It needs to
> be as fast as possible (no-one likes latency), robust (there will be
> other electronic circuits in close proximity!) and as simple as
> possible (but not simpler).
>
> There are two aspects to this; the hardware level and the protocol.
> I'm currently not really sure where I'm at with either, and I'd like
> to hear people's views and experiences. Usually (I've found) there is
> a wealth of previous experience to learn from, both on this list and
> by digging through the circuit diagrams left to us by synth engineers
> of old, who have already faced these same challenges.
>
> Neil Johnson suggested RS485 to me as a possible hardware option.
> This seems like it would be good from the robustness point of view,
> since it is a differential signal, but I don't how it would do for
> speed, and it might require extra driver chips. I've looked at SPI
> since it's what I know best. I2C is the other one I've heard of. What
> else is there hardware wise?
>
> Protocol-wise, I need to be able to send parameter and control
> information to single voices or groups of voices. How is this
> typically done? I can see easily enough how I can give each voice an
> address, and then send an address message ahead of a data message (or
> group of messages, I suppose), but how do I talk to a couple of
> voices without repeating the message for each?
>
> Sorry to be asking so many questions, but this sort of stuff is
> where googling isn't so good, because (1) it's pretty specialised and
> (2) I don't really know what I'm asking.
>
> Any relevant experiences or pointers to useful material would be
> greatly appreciated.
>
For the MIDIbox SID Version 2, Thorsten Klose used a simplified CAN bus.
This is fast, robust, (especially if you use the differential driver chips
as used in automotive and industrial versions), and has a massive address
range. Certain PC processors have can built in, though for the differential
version you will need to add external driver chips.
Thorsten used what he called ECAN, a simplified protocol with single ended
drive - it works for networking 4 PICs in the multi processor MIDIbox SID.
See: http://www.ucapps.de/
and look for SID V2
Hope this is of use
||\/||ike
More information about the Synth-diy
mailing list