Тактовая частота процессора получается методом программирования нескольких регистров блока PMC.
Рисунок - Power Management Controller Block Diagram
Детальное описание этого регистра описано в Datasheet, раздел: PMC Clock Generator PLL A Register, страница 285.
23.6.9 PMC Clock Generator PLL A Register
Register Name: CKGR_PLLAR
Access Type: Read/Write
Possible limitations on PLL A input frequencies and multiplier factors should be checked before using the Clock Generator.
Value to be written in CKGR_PLLAR must not be the same as current value in CKGR_PLLAR.
• DIVA: Divider A
DIVA Divider Selected
0 Divider output is 0
1 Divider is bypassed
2 - 255 Divider output is the Main Clock divided by DIVA.
• PLLACOUNT: PLL A Counter
Specifies the number of Slow Clock cycles before the LOCKA bit is set in PMC_SR after CKGR_PLLAR is written.
• OUTA: PLL A Clock Frequency Range
OUTA PLL A Frequency Output Range
0 0 80 MHz to 160 MHz
0 1 Reserved
1 0 150 MHz to 240 MHz
1 1 Reserved
• MULA: PLL A Multiplier
0 = The PLL A is deactivated.
1 up to 2047 = The PLL A Clock frequency is the PLL A input frequency multiplied by MULA + 1.
Таблица 1 - Вставка описания регистра из Datasheet.
Пояснение:
Значение (0x2024be04), присвоенное макросу AT91C_PLLA_VALUE, в дальнейшем загружается в регистр управления тактовой частотой в программе u‑boot:
…
//* -Setup the PLL A
pCkgr->CKGR_PLLAR = AT91C_PLLA_VALUE;
…
Формула при расчете тактовой частоты: F=Fosc*(MULA+1)/DIV;
Из значения 0x2024be04 получается:
MULA = 0х24 (36)
DIV = 0х04 (4)
Fosc = 18,432МГц
После подстановки значений в формулу расчета, находим F=170,496МГц. Частота работы памяти = F/DIV=42.624 МГц.
Для вычисления значения частоты F, можно использовать программу расчета фильтра - ATMEL_PLL_LFT_Filter_CALCULATOR_AT91_2v5.xls, при использовании этой «программы», должны быть включены макросы.
Ссылка для скачивания - http://www.atmel.com/dyn/resources/prod_documents/ATMEL_PLL_LFT_Filter_CALCULATOR_AT91.zip .
Также ATMEL_PLL_LFT_Filter_CALCULATOR_AT91_2v5 позволяет производить вычисления значений номиналов элементов R1, C1 и C2.
Рисунок – Программа-калькулятор расчета значений номиналов элементов R1, C1 и C2 процессора AT91RM9200.
Рисунок – Программа-калькулятор расчета тактовой частоты процессора и значений номиналов элементов R1, C1 и C2.