nastavenie PLL u AT91SAM7S64
Daniel Valuch
daniel.valuch@orange.fr
Středa Únor 25 21:07:37 CET 2009
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
Další informace o konferenci Hw-list