How to calculate the necessary HXT accuracy(ppm) for a full speed USB device?

Post Reply
a_ziliu
Posts: 208
Joined: 20 Mar 2017, 10:52

31 May 2021, 15:53

There is an accuracy parameter (ppm) for any external crystals, for example 12M+/-100ppm, and there are independent clock source from full speed USB device and hos. USB SPEC. has defined a frame timer range to be 500ppm.

Below is USB2.0 Spec. definition about frame timer range in ppm.

Nuvoton has no constrain of the crystal accuracy and user can calculate the effect to USB by the following calculation. (PFM-M487 has HXT with +/-30ppm)
There are two major errors contribute to USB clock, one is the crystal accuracy and the other is PLL jitter.
Crystal ppm contribution – For a 100ppm crystal pass through the PLL to the USB clock has still 100ppm at the end of USB clock.
PLL Jitter contribution – By datasheet, the maximum PLL jitter is 250ps (RMS, Figure1). PLL Jitter (192MHz) pass to USB (12M) has a divider of 16 timers and 250ps jitter will become 250ps/16 = 15.625ps (RMS) at USB clock. Transform RMS jitter to peak-to-peak period jitter by equation1 of Figure2, 7.44*15.625 = 116.25ps. For a full speed USB, it takes 1 ms for a single frame and jitter ppm calculation will be 116.26ps/1ms=116.25ppm
The final USB in ppm = 100ppm(by crystal) + 116.25ppm(by PLL jitter) = 226.25pps still less than 500ppm. By this calculation, we can make sure that a crystal with 100ppm is fine for a full speed USB devuce.
Figure1:

Figure2:

Post Reply
  • Information
  • Who is online

    Users browsing this forum: Bing [Bot] and 7 guests