[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