Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос по инециализации PLL1 и PLL2 и EP9302
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
asen
Разработал платку с данным процессором сейчас осваиваю вот вопрос такой встал почемуто не получаеться иницеализироать PLL что бы поднять часитоту ядра ! Это первое что я пытаюсь сделать программа по миганию светадиодам. Работаю с процессором по средствам MT-Link. Вообще я чтото поискал примеры инициализации переферии и не нашел может кто сможет дать свои? Буду очень презнателен!
Код инициализации PLL у меня следующий следующий :

Кварц 14,745600 МГц

void __delay_cycles (long int ckl)
{
for (;ckl>0;ckl--){}
}
int main()
{
int i;
PEDDR |=0xff;

while (1)
{
for (i=0;i<2;i++)
{

__delay_cycles(100000);
PEDR |=0x01;
__delay_cycles(100000);
PEDR &=0x00;
__delay_cycles(100000);
PEDR |=0x02;
__delay_cycles(100000);
PEDR &=0x00;
__delay_cycles(100000);
PEDR |=0x03;
__delay_cycles(100000);
PEDR &=0x00;

}
ClkSet1_bit.PLL1X1FBD1=30;
ClkSet1_bit.PLL1X2FBD2=34;
ClkSet1_bit.PLL1X2IPD=9;
ClkSet1_bit.PLL1_PS=3;
__no_operation();
__no_operation();
__no_operation();
__no_operation();
__no_operation();
__no_operation();
__no_operation();
__no_operation();
__no_operation();
__no_operation();

for (i=0;i<100;i++)
{

__delay_cycles(100000);
PEDR |=0x01;
__delay_cycles(100000);
PEDR &=0x00;
__delay_cycles(100000);
PEDR |=0x02;
__delay_cycles(100000);
PEDR &=0x00;
__delay_cycles(100000);
PEDR |=0x03;
__delay_cycles(100000);
PEDR &=0x00;

}
}
return 0;
}

07.gif
aaarrr
Из приведенного выше кода совершенно невозможно понять, как определен ClkSet1_bit.

Вот мой код для запуска PLL:
Код
; ***************************************************************************
; * Clock and Power Configuration

; 1. PLL1

ClkSet1_Value    EQU    0x02a4b907; FCLK = 199.0575MHz
                            ; HCLK = FCLK / 2, PCLK = HCLK / 2

        ldr        r0, =ClkSet1_Value
        ldr        r1, =ClkSet1
        str        r0, [r1]
        nop
        nop
        nop
        nop
        nop

; 2. PLL2

ClkSet2_Value    EQU    0x000fc317; USB Clk = 48MHz

        ldr        r0, =ClkSet2_Value
        ldr        r1, =ClkSet2
        str        r0, [r1]

; 3. Poll PLL1_LOCK_REG and PLL2_LOCK_REG    (Wait 1ms ???)

        ldr        r1, =PwrSts
1
        ldr        r0, [r1]
        and        r0, r0, #0x00000280
        cmp        r0, #0x00000280
        bne        %B1

; 4. Set PwrCnt

        ldr        r0, =0x00000000; UART_BAUD = 7.372MHz, USB & DMAs disable
        ldr        r1, =PwrCnt
        str        r0, [r1]

Кроме того, после запуска PLL нужно перевести ядро из режима FastBus в асинхронный или синхронный режим тактирования.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.