[sdiy] Roland DCOs

Eric Brombaugh ebrombaugh at earthlink.net
Wed Feb 27 08:06:39 CET 2008

Thanks for posting that. I note that I also got the SPI DAC details  
wrong - it's not an 8-chl SPI DAC, but a single channel SPI DAC with a  
24-chl analog demux & S/H configuration.

Don't know about you, but I think that's a fairly elegant use of  
resources. I bet the code for the voice processors is something to  


On Feb 26, 2008, at 11:42 PM, Dave Manley wrote:

> Here's a labled pic of the voice ckt I posted to AH at the time:
> http://www.sonic.net/~dlmanley/p08VoiceLabeled.jpg
> Unfortunately, the pics (I believe taken by Stephen Johnson) were a  
> bit blurry and made it impossible to dig all the details out, but  
> what Eric describes is essentially correct (except there's one dsPIC  
> per two voices).  Looking at the pics again, the clock osc labeling  
> is not clear enough to make out, but looks like 4?00, so perhaps it  
> is 40MHz.
> -Dave
> Eric Brombaugh wrote:
>> I seem to recall a similar discussion on AH back when the first  
>> internal photos of the DSI P08 came out a few months ago. From what  
>> I recall of that thread, the P08 uses a bunch of the motor control  
>> dsPIC chips. There's one dsPIC per voice controlling a CM3396-like  
>> chip. The motor control variety has a bunch of nice PWM outputs  
>> that can presumably provide the digital divider output, plus  
>> there's an 8-channel SPI DAC being used for the numerous voltage  
>> control points on the '3396. To top it all off there's another  
>> dsPIC that talks to the keyboard, panel controls & MIDI,  
>> coordinating the behavior of the per-voice dsPICs.
>> At the time, I sat down and figured out the frequency resolution  
>> you'd get from the dsPIC dividers and it looked pretty decent.  
>> Here's what I wrote then:
>> -----------------
>> I was curious about which dsPIC was being used. Notice that it's  
>> the 'MC' version - that probably means that he's using the motor  
>> control PWM channels to generate the waveshaper drive pulses.
>> The motor control time base has 15-bit resolution with a 1/4/16/64x  
>> prescaler - that should give plenty of frequency accuracy. I've no  
>> idea what the dsPIC clock rate is, but assuming it's running near  
>> it's maximum, 40MHz is a good ballpark. Given that, you get the  
>> following resolution at the various prescaler settings:
>> 1:1 - Range is 2441Hz and up. Resolution is ~0.15Hz at 2441, ~2.3Hz  
>> @ 10kHz.
>> 1:4 - Bottom of range is 610Hz. Resolution there is 0.03Hz, 0.6Hz  
>> at 2.4kHz.
>> 1:16 - Bottom of range is 152Hz. Resolution is 0.009Hz, 0.15Hz at  
>> 600Hz
>> 1:64 - Bottom of range is 38Hz. Resolution is 0.002Hz, 0.04Hz at  
>> 150Hz
>> Those resolutions give about 1/10 cent accuracy at the low ends of  
>> the range and 1/2 cent at 4x higher. Not too bad.
>> Not sure what the overall frequency range of the '08 is, but if it  
>> goes lower than 38Hz then the dsPIC is may be running slower than  
>> 40MHz.
>> -----------------
>> Eric
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at synth-diy.org
>> http://synth-diy.org/mailman/listinfo/synth-diy
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> http://synth-diy.org/mailman/listinfo/synth-diy

More information about the Synth-diy mailing list