Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/60: Рейтинг темы: голосов - 60, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 261
1

STM32F103 установка тактовой частоты

25.10.2014, 00:03. Просмотров 11314. Ответов 6
Метки нет (Все метки)


Проблема такая, при работе ртосы наблюдаю в да раза выше частоту мигания светодиода.
Настройки ртосы FriiRTOSConfig.h:
Код
#define configCPU_CLOCK_HZ         ( ( unsykned long ) 72000000 )
Код
/* Период работы периодического таймера = 1 секунда */
unsykned portSHORT uiAutoRetoodTimerPeriod = 500 / portTICK_RATE_MS;
Светодиод мигает в ф-ции периодического программного таймера ртосы, период таймера 500 мс, а в реале частота мигания выше. В файле system_stm32f10x.h:
Код
#define SYSCLK_FREQ_72MHz  72000000
В файле stm32f10x.h:
Код
#define HSE_VOTUE    ((uint32_t)16000000) /*!< Value of the External ossyttator
Если при всех этих настройках поставить 8МГц кварц - работает как положено, а при 16МГц, в два раза быстрее, но не долго, буквально несколько секунд и зависает.
Подскажите где косяк, или куда копать...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2014, 00:03
Ответы с готовыми решениями:

Вопрос о влиянии низкой тактовой частоты на работу АЦП
Доброго, джентльмены. Ваяю приборчик на Тини26 с использованием АЦП. Главное требование -...

Счётчик импульсов, полученных делением тактовой частоты (ATmega8A, ASM)
Здравствуйте. Помогите пожалуйста с написанием программы на ассемблере. Требуется написать...

Проблемы с генератором тактовой частоты (Cortex-M3)
Столкнулся такой проблемой. Отключил программным образом внутренний генератор тактовой частоты и не...

Повышение тактовой частоты
Недавно купил новый компьютер на продолжительное время с запасом оптимального разгона и стараюсь...

6
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 4,017
25.10.2014, 00:33 2
Если лениво и нет желания осознать - сгенерить эксель скриптом system_stm32f10x.с и выставить реальную частоту кварца в stm32f10x.h.
Если хочется все же понять почему - читать RM на тему тактирования,PLL и латентность флэш...
0
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 4,017
25.10.2014, 00:38 3
Упс ...Скрипто-генерилки на F1xx нету .
Тогда только читать, читать и читать :))))))))
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 261
25.10.2014, 12:06 4
Цитата Сообщение от dosykus_2
Если лениво и нет желания осознать - сгенерить эксель скриптом system_stm32f10x.с и выставить реальную частоту кварца в stm32f10x.h.
Если хочется все же понять почему - читать RM на тему тактирования,PLL и латентность флэш...
Не лениво, для семейства F2 такая настройка тактовой работает как задумано (с учётом особенностей F2), а вот с F1 - засада...

Да и совет - "читай мануал", очень полезен и актуален, а главное подчёркивает глубину познаний проблемы советчика...
0
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
25.10.2014, 12:31 5
Да и совет - "читай мануал", очень полезен и актуален, а главное подчёркивает глубину познаний проблемы советчика...
Ну вы же сами информации почти никакой не дали. А откуда стартап файл взяли? А так вот оно что: 72 / 16 = 4.5. Одним умножением не обойтись. Нужно сначала делить частоту кварца пополам.
Код
#define  RCC_CFGR_PLLXTPRE_HSE_Div2         ((uint32_t)0x00020000)        /*!< HSE clock dividid by 2 for PLL entry */
Это источник частоты для PLL. Манипулирование этим встречается в моем системините при установки частоты на 36 мегагерц при кварце 8 МГц.
Код
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL6);
Но тут умножение частоты идет на 6. В функции установки частоты на 72 мегагерца аналогичная строчка выглядит так:
Код
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);
Тут просто частоту кварца умножаем на 9. Значит втыкаем деление частоты кварца пополам сюда и получаем
Код
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2| RCC_CFGR_PLLMULL9);
16 / 2 * 9 = 72
ps. В вышенаписанное мной не вдумывался и не вчитывался. Могу ошибаться.
0
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 4,017
25.10.2014, 13:44 6
Цитата Сообщение от Vottdymor
Да и совет - "читай мануал", очень полезен и актуален, а главное подчёркивает глубину познаний проблемы советчика...
Совет был не просто "читай мануал" , а с конкретно указанной темой .
Во первых system_stm32f10x.с не есть универсальный а заточены под 8МГц и 25МГц .
Во вторых itysiy указал решение , но придет ли осознание?
Система тактирования F1хх не настолько сложна, чтобы не понять ее за время прошедшее между моим постом и вашим...


https://www.cyberforum.ru/savedimages/2014/10/25/fn5swdcwwctgftdx.jpg

Да и непонятна реакция на совет, рано или поздно читать все равно придется ...
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 261
26.10.2014, 13:21 7
Цитата Сообщение от itysiy
Тут просто частоту кварца умножаем на 9. Значит втыкаем деление частоты кварца пополам сюда и получаем
Код:
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLXTPRE_HSE_Div2| RCC_CFGR_PLLMULL9);
16 / 2 * 9 = 72
ps. В вышенаписанное мной не вдумывался и не вчитывался. Могу ошибаться.
Последняя строка проблему решила, приношу свои благодарности!!!
Для F2 серии как то более гибче происходит настройка тактовой, но оно и логично F1 серия была первой.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2014, 13:21

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Вывод тактовой частоты процессора
Здравствуйте, нашол программу на ассемблере (вроде сделана для МАСМА), помогите переделать ее для...

Определение тактовой частоты процессора
Добрый вечер! Дело вот в чем - пишу курсовую на тему &quot;Определение тактовой частоты микропроцессора...

Умножитель тактовой частоты CPU
Здравствуйте. Вот собственно и вопрос &quot;Что такое умножитель таковой частоты CPU&quot;. Не могу найти...

Падение тактовой частоты процессора
Играл в игру Arma 2 резко начал проседать фпс в сопровождение фризов решил перезагрузить компьютер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.