Система тактирования К1921ВК01Т

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

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

Ответить
Аватара пользователя
MR.Smith
Сообщения: 78
Зарегистрирован: 25 апр 2016, 10:56

Система тактирования К1921ВК01Т

Сообщение MR.Smith »

Здравствуйте!

Помогите пожалуйста разобраться с системой тактирования К1921ВК01Т.
Делаю все по техническому описанию, но что-то не сходится.

Итак, имеем кварц на 12 МГц (XI_OSC = 12 MHz). Пропустим этот сигнал через PLL, чтобы получить 100 МГц.
Частота на выходе PLL определяется, как: FOUT = (FIN * NF)/(NR * NO)
Положим регистр делителя обратной связи PLL_NF[F_PLL] = 48. тогда сам делитель примет значение NF = 50
Далее положим регистр опорного делителя PLL_NR[R_PLL] = 1, тогда сам опорный делитель будет NR = 3
И наконец пусть регистр выходного делителя примет значение PLL_OD[PL_OD] = 01b и выходной делитель примет значение NO = 2.
Получаем: FOUT = (FIN * NF)/(NR * NO) = (12'000'000 * 50)/(3 * 2) = 100'000'000 Гц
Далее в дело вступает делитель PLL_DIV коэффициент деления которого считается по формуле: N = 2*(PLL_DIV + 1). Этот делитель нельзя отключить и после него системная частота будет понижена как минимум в 2 раза. Таким образом, в моем случае системная частота на выходе превращается в 100 МГц / 2*(0+1) = 50 МГц.

Только вот при таких значениях регистров системная частота на самом деле составляет 100 МГц.

Где здесь ошибка? Что я не так понял из технического описания на микроконтроллер?

Спасибо!
bkolbov
Сообщения: 248
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: Система тактирования К1921ВК01Т

Сообщение bkolbov »

Добрый день.

Т.е. вы хотите использовать в качестве системной частоты выход PLL с делителем PLLDIV (этому режиму соответсвует SYS_CLK[SEL_SRC] = b100) и получить 50МГц в итоге, а получаете 100? Я вас правильно понял?

Если вас не затруднит, то пришлите код всей описанной вами процедуры инициализации пожалуйста.
Аватара пользователя
MR.Smith
Сообщения: 78
Зарегистрирован: 25 апр 2016, 10:56

Re: Система тактирования К1921ВК01Т

Сообщение MR.Smith »

bkolbov писал(а):Добрый день.

Т.е. вы хотите использовать в качестве системной частоты выход PLL с делителем PLLDIV (этому режиму соответсвует SYS_CLK[SEL_SRC] = b100) и получить 50МГц в итоге, а получаете 100? Я вас правильно понял?

Если вас не затруднит, то пришлите код всей описанной вами процедуры инициализации пожалуйста.
Извиняюсь, ступил. Не проверил SYS_CLK[SEL_SRK] и в результате пропустил выход PLL мимо делителя. По этому и конечная частота никак не реагировала на коэффициент деления PLL_DIV.
Все вышеописанные вычисления верны.
Кстати, в этом варианте Fvco = 200 МГц, что не выполняет требования технического описания (стр. 28). Однако, все хорошо работает. Мне лучше пересчитать делители, чтобы поднять Fvco или я могу оставить это значение на границе диапазона?
bkolbov
Сообщения: 248
Зарегистрирован: 14 дек 2015, 11:37
Предприятие: АО НИИЭТ
Откуда: Воронеж

Re: Система тактирования К1921ВК01Т

Сообщение bkolbov »

Полагаю, что надежнее будет подбирать коэффициенты так, чтобы гарантированно попадать в обозначенные диапазоны, а не находится на их границах.
Ответить

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