nastavenie PLL u AT91SAM7S64
Martin Moštěk
xtyca@seznam.cz
Čtvrtek Únor 26 09:47:01 CET 2009
Zdravim Vas,
no, taky jsem vicemene zacatecnik a konketne to co resite se zmenou PLL
jsem neresil, ale pokud jsem hledal informace na netu, tak mne velmi
pomohla tato dve fora - vrele je doporucuji, snad naleznete pomoc tam.
Takze obecne informace a hodne rad:
http://www.embeddedrelated.com/groups/AT91SAM/1.php
Dale, toto forum je navic velmi vhodne i pro rady tykajici se IDE
(Eclipse + Yagarto + ARM GCC) pro programovani, ale to zalezi v cem
delate :
http://en.mikrocontroller.net/
Toz, hodne zdaru. M.
Ps: Nastaveni Startupu.S je asi to nejslozitejsi co na tech ARM (od
Atmelu) je, ale jde to... :-).
Daniel Valuch napsal(a):
> zdravim,
> chcem sa spytat ci niekto ma skusenosti s touto radou armov
> (AT91SAM7S64). Mam problem s nastavenim PLL parametrov. Ku procesoru je
> pripojeny 12MHz krystal a vyzera ze sa procesor nerozbehne lebo nema
> hodiny. Nasiel som k tomu dva dokumenty ako vypocitat nasobice a filter
> do PLL ale moc mudry z toho po pravde nie som.
> Viete mi prosim niekto dat (na porovnanie) konkretne hodnoty pre 12MHz
> krystal a vnutornu frekvenciu okolo 50MHz (nezalezi na presnej hodnote,
> 50% odchylka neprekaza). Len s tym zacinam a programovat moc neviem,
> potreboval by som konkretnu radu :-P
>
> Je tam tento kus kodu, ostava to vysiet na casti PLL lock...
>
>
> #if OSCILLATOR_CLOCK_FREQUENCY==18432000
> /* Set up the PLL (MCK = 18.432MHz * 26 / 5 / 2 = 47.9232MHz) */
> ldr r0, =(5 << CKGR_PLLR_DIV_BIT) | (28 << CKGR_PLLR_PLLCOUNT_BIT) |
> (25 << CKGR_PLLR_MUL_BIT)
> #else
> #error OSCILLATOR_CLOCK_FREQUENCY not supported
> #endif
> str r0, [r1, #CKGR_PLLR_OFFSET]
>
> 1:/* Wait for PLL to lock */
> ldr r0, [r1, #PMC_SR_OFFSET]
> tst r0, #PMC_SR_LOCK
> beq 1b
>
> /* Set the master clock prescaler */
> ldr r0, =(1 << PMC_MCKR_PRES_BIT)
> str r0, [r1, #PMC_MCKR_OFFSET]
>
> 1:/* Wait for MCKRDY */
> ldr r0, [r1, #PMC_SR_OFFSET]
> tst r0, #PMC_SR_MCKRDY
> beq 1b
>
> /* Select PLL as clock source */
> ldr r0, =((1 << PMC_MCKR_PRES_BIT) | 3 << PMC_MCKR_CSS_BIT)
> str r0, [r1, #PMC_MCKR_OFFSET]
>
> 1:/* Wait for MCKRDY */
> ldr r0, [r1, #PMC_SR_OFFSET]
> tst r0, #PMC_SR_MCKRDY
> beq 1b
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
Další informace o konferenci Hw-list