The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Measurements >> Phase Noise and Jitter Measurements >> Jitter measurement for autonomous RC-based relaxation oscillator
https://designers-guide.org/forum/YaBB.pl?num=1467257095

Message started by kangjh7 on Jun 29th, 2016, 8:24pm

Title: Jitter measurement for autonomous RC-based relaxation oscillator
Post by kangjh7 on Jun 29th, 2016, 8:24pm

Hello everyone,

Thanks for taking your time to read this post.  I am currently designing a RC-based relaxation oscillator, and want to extract a jitter measurement from the output waveform.  

The output clock frequency is 32kHz, with 1.1V supply.

I have tried several methods:

1. Transient analysis with transient noise checked, then standard deviation of the period jitter at rising clock cycles.

Simple transient simulation, with no separate noise source but with the transient noise option turned on.  I am running it with Fmax = 1MHz and Fmin = 1kHz at the moment, but I am not sure if this is the right range.  I do understand that 1kHz represents the flicker noise corner.

For the RMS jitter I just take the standard deviation as the value.

2. PSS analysis with PNOISE analysis, with "sources" as the noise type (SSB).

For PSS I have set the beat frequency correctly (32kHz fundamental), and have set the number of harmonics to 32.  Moderate accuracy with 1ms of additional time for stabilization, along with the oscillator box checked at the +/- nodes set as the output and ground, respectively.  This results in proper convergence at default tolerance options (reltol=1e-3, vabstol=1e-6, iabstol=1e-12).  I do realize that a smaller reltol is desired for proper jitter measurement for oscillators, but it simply does not converge at lower tolerance values.

The PNOISE settings for SSB noise are relative with relative harmonic 1 and the output frequency sweep range of 10Hz to 16kHz(half of fundamental).  Sweep type logarithmic with 100 points per decade, and sidebands set to default with maximum sideband at 128.  The output is voltage with the positive and negative output nodes set to output and ground, respectively.  Input source set to none, as it is autonomous.  Noise type is set to sources.

After simulation has finished, I integrate the pn('pnoise) plot from 1kHz to 32kHz, multiply it by 2, then take the square root and divide by (3.14*2*32000) to get the RMS jitter.

3. PSS analysis with PNOISE analysis, with "jitter" as the noise type (DSB).

PNOISE settings for DSB are exactly the same as SSB, except the noise type is set to PM jitter.  The output and ground signals are designated and the threshold value is 0.55V (half of supply).  Crossing direction is set to all.

After simulation has finished, I plot the jc and jcc for the pnoise jitter from main form for the RMS jitter.

----------

The three methods all yield a different value.  Out of the three, the transient value is closest to the tested value (previously taped-out test results).  I think my problem may be that I do not know the range for which to take the integration or PNOISE sweep frequency range, as 32kHz is a very low frequency from which to obtain jitter simulation results.  It would be great if someone could point out something that I missed, or anything that could be of help.  Please let me know if I missed giving out an additional detail that is necessary.

Thank you again!

Title: Re: Jitter measurement for autonomous RC-based relaxation oscillator
Post by Frank Wiedmann on Jun 30th, 2016, 1:26am

For pnoise jitter analysis, you should either use pnoisemethod=fullspectrum (works only with APS and also requires the maxacfreq parameter to be set correctly) or make sure that the maxsideband value is large enough. See http://www.designers-guide.org/Forum/YaBB.pl?num=1438976388 for more details.

Title: Re: Jitter measurement for autonomous RC-based relaxation oscillator
Post by kangjh7 on Jun 30th, 2016, 11:33am

Thank you for the response, Frank.  My problem with the pnoise jitter simulation has been that the Jc and Jcc values have been much too large compared to expected values.  Changing the sidebands method to fullspectrum and keeping the maximum sideband value of 128 increased the jitter values by a small percentage, which is expected relative to the previous results from the default method.

In general, based on test results, I am expecting jitter values anywhere from 10ns to 100ns.  But the pnoise jitter results have yielded jitter values in the -us range.  So far only the transient noise results have yielded somewhat realistic values.

Could it be that I am setting the wrong integration limits?  The jitter values do not change much with the start frequency, but just by changing the stop frequency from 1k to 10k, the jitter values go from around 30 ns to 5 us.  From what I understand, the stop frequency should at the very least be greater than twice the fundamental, which would be 64kHz in my case (yields jitter of 22us, when the period itself lasts 31us!).  I set the maxacfreq to be 1 MHz, which should cover the white noise.

Thanks again,

John

Title: Re: Jitter measurement for autonomous RC-based relaxation oscillator
Post by Frank Wiedmann on Jul 1st, 2016, 12:52am

For pnoise jitter simulation, the upper integration limit must be half of the pss fundamental (or "beat frequency"). For more background, see http://www.designers-guide.org/Analysis/sc-filters.pdf (pnoise jitter is equivalent to pnoise timedomain analysis).

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.