Перейти к содержанию
    

Минимальная частота.

Я хочу понизить тактовую частоту.

В pll_init() я вижу следующие ограничения

// Check PLL divider settings are within spec.
  if ((prdiv_val < 1) || (prdiv_val > 8)) {return 0x41;}
  if ((vdiv_val < 16) || (vdiv_val > 47)) {return 0x42;}

  // Check PLL reference clock frequency is within spec.
  ref_freq = crystal_val / prdiv_val;
  if ((ref_freq < 8000000) || (ref_freq > 32000000)) {return 0x43;}

// Check PLL output frequency is within spec.
  pll_freq = (crystal_val / prdiv_val) * vdiv_val;
  if ((pll_freq < 180000000) || (pll_freq > 360000000)) {return 0x45;}

Но последнее ограничение пртиворечит другим. Или я что то не понимаю? Какую минимальную частоту я могу задать?

Изменено пользователем Jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю, что за чип, но, судя по коду, частота на выходе PLL должна быть в пределах 180...360 МГц.

Если нужно меньше, должен быть способ поделить эту частоту после PLL. Опять же, не знаю, что за чип, и есть ли там такая возможность.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю, что за чип, но, судя по коду, частота на выходе PLL должна быть в пределах 180...360 МГц.

Если нужно меньше, должен быть способ поделить эту частоту после PLL. Опять же, не знаю, что за чип, и есть ли там такая возможность.

формула такая

PLL out = (((CLKIN/PRDIV) x VDIV) / 2)

но почему 180000000? максимальная частота камня 120000000

 

чтобы получить 120 мега я делаю

#define CLKIN 50000000

#define PRDIV 5

#define VDIV 24

 

но если я хочу уменьшить наполовину я влетаю в ограничения.

 

то есть исходя из if ((pll_freq < 180000000) || (pll_freq > 360000000)) {return 0x45;} минимальный PLL out будет 180000000/2=90000000 так что ли ?

Изменено пользователем Jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PLL out = (((CLKIN/PRDIV) x VDIV) / 2)

Надо отключить PLL и переключиться на HSE, тогда будете только делить частоту

если PRDIV максимум 8, тогда минимальная частота:

F out = CLKIN/16

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо отключить PLL и переключиться на HSE, тогда будете только делить частоту

если PRDIV максимум 8, тогда минимальная частота:

F out = CLKIN/16

внешний осцилятор в системе будет 20 Мега это маловато. На демо плате это наверное было бы самое то, там 50 Мега.

 

как это F out = CLKIN/16? а где x VDIV часть?

Изменено пользователем Jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как это F out = CLKIN/16? а где x VDIV часть?

Раз частота умножается на VDIV, подозреваю что это умножитель PLL, который отключен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

формула такая

PLL out = (((CLKIN/PRDIV) x VDIV) / 2)

но почему 180000000? максимальная частота камня 120000000

 

Вы путаете диапазон частот, допустимых для PLL, и максимальную частоту, с которой может работать собственно процессор. Частоты PLL существенно выше, и рабочая частота получается делением частоты PLL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

внешний осцилятор в системе будет 20 Мега это маловато. На демо плате это наверное было бы самое то, там 50 Мега.

 

как это F out = CLKIN/16? а где x VDIV часть?

Посмотрите на диаграмму тактирования из мануала:

post-19695-1498773100_thumb.png

Как видно, для клока ядра существует делитель OUTDIV1, работающий в диапазоне от 1 до 16.

К примеру, с PLL вы получили 360 МГц, делите эту частоту на 3 - получаете 120 МГц системный клок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разобрался. Минимальная частота PLL - 180Mhz. На выходе я могу получить 180/2 = 90Mhz.

Всем спасибо за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...