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