Настройка синтезатора частоты PLL 1921ВК028

32-разрядные микроконтроллеры разработки АО "НИИЭТ"

Модераторы: ea, dav, bkolbov, Alis, pip, _sva_

Ответить
Summer Thunder
Сообщения: 6
Зарегистрирован: 13 дек 2022, 16:08
Предприятие: Концерн

Настройка синтезатора частоты PLL 1921ВК028

Сообщение Summer Thunder »

Добрый день. Возникла проблема с получением частоты на микроконтроллере 1921ВК028. В качестве опорной выбран сигнал генератора 20 МГц с контакта XI_OSC.
REFDIV = 2
FBDIV = 80
DIV1 = 2
DIV2 = 2
((20/2) *80) /(2*2) = 10*80/4= 200 МГц
Следуя инструкции, сбросил бит BP, выставил REFDIV и FBDIV, сбросил бит PD, установил коэффициенты DIV1 и DIV2. После обнулил бит OUTDIS. При попытке отладки через JTAG, программа не запускается, в ниже части экрана висит PC = 00000000 [__Vectors]. При попытках изменения выходной частоты в большую сторону происходит ошибка "Несанкционированного изменения режима процессора". При выставленных коэффициентах и не сброшеном бите BP, программа работает, но нет уверености в получении необходимых 200 МГц.

_RCU -> PLLCFG_bit.REFSRC = 0;
_RCU -> PLLCFG_bit.BP = 0;
_RCU -> PLLCFG_bit.REFDIV = 0x2;
_RCU -> PLLCFG_bit.FBDIV = 0x50;
_RCU -> PLLCFG_bit.PD = 0;
_RCU -> PLLCFG_bit.DIV1 = 0x2;
_RCU -> PLLCFG_bit.DIV2 = 0x2;
_RCU -> PLLCFG_bit.OUTDIS = 0;
В чем может быть проблема?
dav
Сообщения: 209
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

Re: Настройка синтезатора частоты PLL 1921ВК028

Сообщение dav »

Summer Thunder писал(а): 15 фев 2023, 10:46 При выставленных коэффициентах и не сброшеном бите BP, программа работает, но нет уверености в получении необходимых 200 МГц.

_RCU -> PLLCFG_bit.REFSRC = 0;
_RCU -> PLLCFG_bit.BP = 0;
_RCU -> PLLCFG_bit.REFDIV = 0x2;
_RCU -> PLLCFG_bit.FBDIV = 0x50;
_RCU -> PLLCFG_bit.PD = 0;
_RCU -> PLLCFG_bit.DIV1 = 0x2;
_RCU -> PLLCFG_bit.DIV2 = 0x2;
_RCU -> PLLCFG_bit.OUTDIS = 0;
В чем может быть проблема?
Доброго времени суток!

1. Проверили на нашей макетно-отладочной плате, с данными настройками PLL работает корректно, с отладкой проблем не наблюдается.
2. В микроконтроллере предусмотрена возможность вывода частоты PLL, например на вывод D0 (альтернативная функция CLKOUT).
Вот пример (из файла "system_K1921VK028.c") вывода частоты PLL (CKO = PLLCLK/8):

Код: Выделить всё

    //D0 clockout
    RCU->HCLKCFG_bit.GPIODEN = 1;
    RCU->HRSTCFG_bit.GPIODEN = 1;
    GPIOD->ALTFUNCNUM0_bit.PIN0 = 2;
    GPIOD->ALTFUNCSET_bit.PIN0 = 1;
    GPIOD->DENSET_bit.PIN0 = 1;
    
    RCU->CLKOUTCFG = (RCU_CLKOUTCFG_CLKSEL_PLLCLK << RCU_CLKOUTCFG_CLKSEL_Pos) |
                     (3 << RCU_CLKOUTCFG_DIVN_Pos) |
                     (RCU_CLKOUTCFG_DIVEN_Msk) |
                     (RCU_CLKOUTCFG_CLKEN_Msk); //CKO = PLLCLK/8    
Ответить

Вернуться в «32-разрядные микроконтроллеры»