[volt-nuts] 32-Bit PWM divider

Bruce Griffiths bruce.griffiths at xtra.co.nz
Wed Oct 6 21:49:21 UTC 2010


Randy Scott wrote:
>> I will do this for all steps PWMH = PWML =  0x0000,
>> 0x1000, 0x2000, .... 0xF000, 0xFFFF (or even finer
>> resolution).
>>      
> Andreas,
>
> Thanks for sharing the details of your project.  Building one of these DACs (or the 20-bit DAC described in LT's AN86 app note) has been on my to-do list for a while.
>
> I'm wondering what your reason was for taking the measurements this way.  My first thought would have been to set one of the PWMs to a constant value and then manipulate the other.  For example, comparing H = 0x8000, L = 0x8000 with H = 0x8001, L = 0x8000 to measure the effect of single-step changes in the high PWM.  Or, fixing H at 0x8000 and stepping the L value through a range of values (with a step size equal to whatever you think is measurable above the noise).
>
> And, FWIW, this link explains measurement of INL/DNL for a converter (specifically an ADC, but seems to apply to a DAC if you reverse everything):
>
> http://www.maxim-ic.com/app-notes/index.mvp/id/283
>
> Based on this, it would seem like you're computing what they call "End-point INL".  What Bruce describes is called "Best straight-line INL" and is the recommended approach.
>
> Randy.
>
>
>    
One should avoid both 0% and 100% PWM duty cycle as there are then no 
switching transitions of the error integrator input switch.
Depending on the switching times for the input switch and the PWM cycle 
time this may be a significant contribution to non linearity if either 
100% or 0% duty cycles are included.
The useful range for the PWM duty cycle decreases as the PWM period 
decreases as the input switch switching transients have to fully settle 
before the switch state changes again.

This form of indirect DAC is somewhat analogous to a dual slope ADC.
It is possible to devise variants that are analogous to a multislope ADC.
These variants should be less sensitive to the effects of dielectric 
absorption.

The major contributor to INL is the Ron mismatch of the error integrator 
input switch when switching to ground or the reference.
However this doesn't affect the monotonicity of the DAC so this effect 
is usually of little consequence in closed loop control systems.

Bruce




More information about the volt-nuts mailing list