Hi there!
I have a quetion about the file in subject.
There is two parts
-------------------------------------------------------------------
//* Set MCK at 48 054 850
// 1 Enabling the Main Oscillator:
// SCK = 1/32768 = 30.51 uSecond
// Start up time = 8 * 6 / SCK = 56 * 30.51 = 1,46484375 ms
// mthomas-avoid warning pPMC->PMC_MOR = (( AT91C_CKGR_OSCOUNT & (0x06
<<8) | AT91C_CKGR_MOSCEN ));
pPMC->PMC_MOR = ( (( AT91C_CKGR_OSCOUNT & (0x06 <<8)) |
AT91C_CKGR_MOSCEN ));
-------------------------------------------------------------------
Where is the 32768Hz from? In datasheet there is typ 32000Hz, so why
specifically 32.768kHz?
------------------------------------------------------------------------
-------
// Wait the startup time
while(!(pPMC->PMC_SR & AT91C_PMC_MOSCS));
// 2 Checking the Main Oscillator Frequency (Optional)
// 3 Setting PLL and divider:
// - div by 14 Fin = 1.3165 =(18,432 / 14)
// - Mul 72+1: Fout = 96.1097 =(3,6864 *73)
// for 96 MHz the erroe is 0.11%
// Field out NOT USED = 0
// PLLCOUNT pll startup time estimate at : 0.844 ms
// PLLCOUNT 28 = 0.000844 /(1/32768)
pPMC->PMC_PLLR = ((AT91C_CKGR_DIV & 14 ) |
(AT91C_CKGR_PLLCOUNT & (28<<8)) |
(AT91C_CKGR_MUL & (72<<16)));
------------------------------------------------------------------------
--------
In this part, I found 73HEX=115decimal then I found 151405665Hz so more
than 151MHz instead of 96 wich is a difference.
So I'm wondering how it works. Am I wrong somewhere? If I'm right how
does it work anyway?
Maybe it is not important (sorry) but when I don't get it, I can't use
it (psycological problem from me). And I'm actually trying to manage AD
Conversion so I need to understand Clock working.
Does anyone have an idea, e.g. Martin Thomas?
Thanks a lot
Tibo
Tibo Tibo wrote: > // for 96 MHz the erroe is 0.11% > // PLLCOUNT pll startup time estimate at : 0.844 ms > // PLLCOUNT 28 = 0.000844 /(1/32768) Another little thing, please, how do you estimate this 844µs for startup time? And where the 0.11% is from? Thanks Tibo
The lowlevel-init code use in some of the WinARM test-examples is basically just a copy of Atmel code for other toolsets/chains which I found on at91.com/tools/kits before they "optimized" the at91.com-site. There have been several versions in various examples. The latest "official" (=published by Atmel) versions should be available in the Software-pacakges from http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4227 . Also check http://www.atmel.com/dyn/resources/prod_documents/AT91SAM_pll.htm
Martin Thomas wrote: > The lowlevel-init code use in some of the WinARM test-examples is > basically just a copy of Atmel code for other toolsets/chains which I > found on at91.com/tools/kits before they "optimized" the at91.com-site. > There have been several versions in various examples. > > The latest "official" (=published by Atmel) versions should be available > in the Software-pacakges from > http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4227 . Also > check http://www.atmel.com/dyn/resources/prod_documents/AT91SAM_pll.htm Thank you, the way of getting 48MHz is still a bit strange but I'll go in further investigation about this. Have a nice day Tibo
Tibo Tibo wrote: > Martin Thomas wrote: >> The lowlevel-init code use in some of the WinARM test-examples is >> basically just a copy of Atmel code for other toolsets/chains which I >> found on at91.com/tools/kits before they "optimized" the at91.com-site. >> There have been several versions in various examples. >> >> The latest "official" (=published by Atmel) versions should be available >> in the Software-pacakges from >> http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4227 . Also >> check http://www.atmel.com/dyn/resources/prod_documents/AT91SAM_pll.htm > > Thank you, the way of getting 48MHz is still a bit strange but I'll go > in further investigation about this. > > Have a nice day > Tibo There is no mistake, sorry! Values in C code are in decimal and not in Hexa.
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.