реклама на сайте
подробности

 
 
> Вопросы по тактированию STM32F100, Не совпадают частоты тактирования кварцем и RC-генератором
allsettingsdone
сообщение May 14 2013, 12:30
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 22-01-13
Пользователь №: 75 284



Здравствуйте, начал подробно разбираться со способами тактирования STM. Написал функцию для простоты которая позволяет выбрать источник тактирования и менять множитель частоты, НО возник момент когда я тактирую мк от внутреннего RC генератора 8 МГц - то программа работает медленней чем если бы тактировал от кварца 8 МГц (смотрел на осциллографе частоту дрыгания ногами в цикле с "for(volatile uint32_t i=10; i>0; i--) {}"). И вот в случае тактирования мк от кварца 8 МГц длительность импульса - 3 мкс, а если выбрать тактирование от внутреннего RC генератора с частотой опять таки 8 Мгц - то длительность импульса будет уже 8 мкс!!! (компилирую в Keil со вторым уровнем оптимизации). И ещё совершенно не получается изменять частоту тактирования при помощи ФАПЧ (PLL). Прилагается проект в Keil. Он сам небольшой, функция называется init_clk(uint32_t clk_sourse, uint32_t PLL_status, uint32_t PLL_freq).
Прикрепленные файлы
Прикрепленный файл  test0_delay.zip ( 180.11 килобайт ) Кол-во скачиваний: 12
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение May 14 2013, 15:21
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



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

В процессоре есть специальная ножка на которую выводиться системный клок (не забудьте сделать ее максимально быстрой, в СТМах есть спец регистры которые определяют максимальную частоту работы ножки), подключите эту ножку, и смотрите реальный клок на ней, а не по каким то непонятным циклам.

Настройка ПЛЛ есть в документации, и в примерах программ, в общих словах сначала надо его выключить, потом задать делители и множители, потом подключить, потом подождать сигнала что он засинхронизировался, а потом переключиться на работу от него...

проект качать не очень хочется. вы бы лучше свою функцию в текст сообщения воткнули, ее бы тогда больше народу поглядело...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 21:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016