[sdiy] DsPIC timer issue when used as DCO!

Dave Manley dlmanley at sonic.net
Thu Dec 10 07:02:34 CET 2009


karl dalen wrote:
> Tim, Eric, Dave, etc!
>
>   
>> I wasn't aware that there was an issue with dsPIC timers
>> used to drive 
>> the P08/Mopho/(Tetra?) DCOs. Do you have any pointers to
>> this elsewhere 
>> online?
>>     
>
> This are in fact old news and has been discussed in several places!
> I thought the issue had been resolved by now? People describe it as
> poping/click sound between high and low notes.
> Reminds me of the OSCar rubber band oscillators! :) 
>
> anywho, heres one spot its discussed!
>
> http://www.vintagesynth.com/forum/viewtopic.php?f=1&t=49602
> http://www.vintagesynth.com/forum/viewtopic.php?f=1&t=49602&start=60#p528540
>
> This picture suppose to be an actuall measurement from low freq triangle
> wave and an instant jump to higher frequency, it do look a bit odd!?
> Kind of  counting, counting!  oh! a new value! reset! deeeelaaaay!
> And then load new buffer count? 
>
> http://www.mediafire.com/imageview.php?quickkey=yijnnyyy2o5&thumb=6
>   
How about another wild speculation: the PA397 is apparently a 3396 
variant.  The frequency is set not only by the dsPIC sourced timer that 
resets the timing cap, but also the input voltage (Vwf in the 3396 
datasheet) that controls the current source that charges the cap.  Maybe 
the dsPIC is working perfectly but the control voltage for the current 
source is sometimes messed up after a pitch change.  It would be easy to 
look at the relationship between the output frequency, the dsPIC output, 
and the Vwf control voltage with a scope.  I remember looking at an 
image of the evolver when it first came out, and it is easy to find the 
timing cap, etc.  If I had one of the synths in this family I'd do the 
measurements.

Looking at the linked waveform there's a couple of interesting things - 
the change from low to high frequency doesn't happen at the min/max 
value of the triangle but at about -25 (using the scale in the image).  
Is this because the multiplexed DAC outputs the new Vwf, the current 
source charges the cap at the new rate, the waveshaper quickly sweeps 
thru at the new frequency, and then the timing cap doesn't get reset by 
the dsPIC.  It just sits there for ~13ms.  Perhaps the dsPIC is taking 
an interrupt between setting the new Vwf and updating the dsPIC timer. 
The 'deeeeeeeeelaaaaay' is the length of the ISR?  I can't imagine any 
ISR would take that huge amount of time though. Hmmm.

Again would be very easy to check with a scope.


-Dave



More information about the Synth-diy mailing list