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

Как соединить STM32 через I2C через HAL-прерывания с AD7746?

9 минут назад, Xenia сказал:

А существует ли вариант, чтобы не при 168, МГц, а при 180 МГц получить результат, пригодный для USB?

Если найдёте в диапазоне VCO: PLL_VCO_CLK >= 100000000 && PLL_VCO_CLK <= 432000000

такую частоту, из которой можно получить и 180МГц и 48МГц с помощью целых делителей - тогда можно.

Но если посмотреть на мою таблицу из https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=155095&page=4&tab=comments#comment-1669656

то можно предположить, что такой частоты нет.

4 минуты назад, ViKo сказал:

Извините и вы меня, но у вас в таблице нет около половины допустимых значений, когда на вход PLL подается 1MHz, а это допустимо. Видимо, вы - не робот. Выбираете только, что нравится, а не перебираете все варианты.

Ну я и не говорил, что там все допустимые варианты. Там только те, которые я пробовал когда тестил свой код инита PLL. Ну и которые после добавлял. Надо будет - добавлю ещё, но думаю не понадобится ибо там и так значения идут с достаточно мелким шагом.

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


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

6 минут назад, jcxz сказал:

ибо там и так значения идут с достаточно мелким шагом

выше я сделал замечание - коррекцию

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


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

10 минут назад, ViKo сказал:

мало того, что допустимо, но еще и Typ, а 2MHz - на краю диапазона! сами почитайте datasheet

ну и что что на краю? А какую другую частоту Вы там предложите?

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


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

2 минуты назад, jcxz сказал:

ну и что что на краю?

В середине надёжнее. Без никаких дополнительных затрат.

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


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

Только что, ViKo сказал:

В середине надёжнее. 

И как получить в середине из 8 МГц? :shok:

Да и - ЗАЧЕМ? Оно же внутри диапазона, а не вне.

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


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

2 минуты назад, jcxz сказал:

И как получить в середине из 8 МГц? :shok:

Взять, и поделить. На 8. :biggrin: В разных МК разные устройства PLL были, а вы в своих таблицах и макросах древних застряли.

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


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

3 минуты назад, ViKo сказал:

Взять, и поделить. На 8. :biggrin: В разных МК разные устройства PLL были, а вы в своих таблицах и макросах древних застряли.

Так опять будет на границе! Только на другой :padonak:

Можно конечно было поделить на 6, а потом N=252, но неохота было тянуть нецелые значения. Да и - какая разница? В диапазоне же!

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


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

7 минут назад, jcxz сказал:

Можно конечно было поделить на 6, а потом N=252

Да, неплохо. Видите, чего лишились, ограничивая себя таблицей. А в Кубе бы одной левой!

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


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

31 минуту назад, Xenia сказал:

А существует ли вариант, чтобы не при 168, МГц, а при 180 МГц получить результат, пригодный для USB?

Считаем: 180*2/48=7.5 - число нецелое, значит невозможно.

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


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

39 минут назад, jcxz сказал:

Теперь откройте наконец и прочитайте моё сообщение: https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=155095&page=4&tab=comments#comment-1669656

и увидите в строчке #define PLLKIT_8000000_168M все эти значения.

Каюсь, не разглядела. Но поймите и мое положение. Сперва вы предлагаете мне разбираться программном коде, а хидер с константами к нему приложить забыли. А выложили его лишь после моего заявления, что разобраться в вашей программе не могу. Причем, каждый раз я повторяла к вам просьбу не кормить меня программным кодом, а сообщить 4 числа N/M/P/Q. Ну то стоило вам выдернуть из того хидера ту строчку, которую вы использовали с платой STM32F429I-DISCO? И этим бы суть моего вопроса была бы полностью исчерпана. Тогда как даже сейчас ответа на свой вопрос я не имею, поскольку вы выложили всевозможные варианты, так и не сказав, какой набор  был вами использован в STM32F429I-DISCO. А я уже даже боюсь еще раз об этом спрашивать. Ну что стоило вам сразу назвать те 4 числа, которые вы использовали в этой плате? Зачем напрасно принуждать вопрошающего разбираться в написанном вами программном коде, когда он ждет от вас вас конкретных цифр? Вы в этой теме уже много страниц исписали, так что мешает вам 4 числа выложить с самого начала, а не тянуть резину?

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


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

12 минут назад, Xenia сказал:

Ну то стоило вам выдернуть из того хидера ту строчку, которую вы использовали с платой STM32F429I-DISCO?

Так я все их использовал. Всю таблицу. Я отлаживал свою процедуру инита PLL и для отладки ставил разные значения желаемой частоты. И проверял работу. Так и получилась эта таблица. Ничего не удалял из неё. И потом позже я иногда переключал свой код то на одну, то на другую из этих частот. 

Цитата

И этим бы суть моего вопроса была бы полностью исчерпана. Тогда как даже сейчас ответа на свой вопрос я не имею, поскольку вы выложили всевозможные варианты, так и не сказав, какой набор  был вами использован в STM32F429I-DISCO.

Я уже несколько раз сказал (и  Viko тоже) что использовал все эти частоты.  :unknw:  Они все рабочие с этой платой. Можете брать любую, какая нравится.

Единственное что не использовал на этой плате - USB. Так что вычисления касающиеся USB - только аналитические, без проверки.

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


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

6 минут назад, jcxz сказал:

Я уже несколько раз сказал (и  Viko тоже) что использовал все эти частоты.  :unknw:  Они все рабочие с этой платой. Можете брать любую, какая нравится.

Ну, а что поплывёт в программе в связи с изменением тактовой частоты? Ведь на шинах APB1 и APB2 частоты в ответ тоже изменяться.

Взять хотя бы дисплей, что на той плате смонтирован. Что-то надо ковырять в его поддержке, а если надо, то где?

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


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

36 минут назад, jcxz сказал:

А какую другую частоту Вы там предложите?

6MHz / 4 = 1.5MHz * 224 = 336MHz. 

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


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

3 минуты назад, Xenia сказал:

Ну, а что поплывёт в программе в связи с изменением тактовой частоты? Ведь на шинах APB1 и APB2 частоты в ответ тоже изменяться.

Вы про что? Про USB?

3 минуты назад, ViKo сказал:

6MHz / 4 = 1.5MHz * 224 = 336MHz. 

На этой плате кварц стоит == 8МГц, а не 6.

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


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

2 минуты назад, jcxz сказал:

На этой плате кварц стоит == 8МГц, а не 6.

Вы же не только покупные платы используете?

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


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

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

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

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

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

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

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

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

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

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