|
From: | Erik Walthinsen |
Subject: | Re: [avr-chat] XMEGA clocking questions |
Date: | Thu, 14 Mar 2013 09:29:47 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130308 Thunderbird/17.0.4 |
On 03/14/2013 05:38 AM, Graham Davies wrote:
For USB, you re-purpose the 32MHz internal oscillator and use its DFLL to increase its frequency to 40MHz and synchronize it to the Start-of-Frame packet on the USB bus. This cannot be used as the CPU clock, so you use (for example) the 2MHz oscillator as the basis for that and the PLL can then increase the frequency to any multiple, including 32MHz. (Note that Atmel training sometimes gives a different story for USB clocking, however that is not correct; I am 100% certain that what I just wrote is the real situation.)
In theory you can use the 48MHz clock divided by 2 to drive the CPU at 24Mhz, but there's no way to get 32Mhz out of the USB SOF+DFLL ;-(
Also, the 2Mhz DFLL can *only* be driven from internal or external 32.768KHz, which means you can't use the SOF to calibrate the CPU clock as driven by the 2MHz * PLL.
[Prev in Thread] | Current Thread | [Next in Thread] |