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

 
 
> Правильность отсчета времени в таймере и RTC
dimon_rub
сообщение Oct 7 2016, 08:04
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-09-16
Пользователь №: 93 282



Здравствуйте. Прошу помощи по следующим вопросам.
1. Во всех примерах пределитель на RTC необходимо ставить 32767 при внешнем кварце на 32768. Когда ставится данный пределитель часы считают очень медленно 1 секунда где то в 10-15мин. Начал изменять путем подбора вышел на значение пределителя где то 32. ЧТО ЭТО ЗНАЧИТ.
2. В таймере то же какой то глючек. Может ошибка общая с 1 пунктом. Частота шины 36МГц. Опрашивается через функцию RCC_GetClocksFreq. Ставлю пределитель 36000 и счет до 1000 прерывание срабатывает гораздо раньше.

Контроллер STM32F103RC. 16МГц кварц, на RTC кварц 32768.

P.S. Нет источника питания. Питание контроллера взято с ST-Link V2.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
esaulenka
сообщение Oct 7 2016, 09:52
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



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

Можно вывести на ногу CLKOUT частоту кварца (подробности - в reference manual) и проверить осциллографом, что оно работает стабильно.
Напрямую в ноги часового кварца тыкать бесполезно - сразу же останавливается.

Очень похоже, что кварц постоянно останавливается-запускается.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
dimon_rub
сообщение Oct 7 2016, 10:20
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 10-09-16
Пользователь №: 93 282



Цитата(esaulenka @ Oct 7 2016, 09:52) *
В RTC у STMа есть особенность, что они довольно критичны к качеству кварца. Точнее, к самому кварцу, его обвязке (в лице двух конденсаторов) и монтажу (количеству флюса вокруг).
В погоне за микропотреблением узел получился весьма нежным.

Можно вывести на ногу CLKOUT частоту кварца (подробности - в reference manual) и проверить осциллографом, что оно работает стабильно.
Напрямую в ноги часового кварца тыкать бесполезно - сразу же останавливается.

Очень похоже, что кварц постоянно останавливается-запускается.


Дело в том что пробовал поднять RTC на LSI. Ситуация та же. Изменение регистра счета происходит примерно через 10-15 мин

Инициализация таймера:
RCC_GetClocksFreq(&rcc_Clocks);

//Включается тактирование таймера TIM6
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6,ENABLE);
// Настраиваем делитель что таймер тикал 1000 раз в секунду (
TIM6->PSC = (rcc_Clocks.PCLK1_Frequency / 1000) - 1; //36000
// Чтоб прерывание случалось раз в секунду
TIM6->ARR = 1000 ;
//разрешаем прерывание от таймера
TIM6->DIER |= TIM_DIER_UIE;
// Начать отсчёт!
TIM6->CR1 |= TIM_CR1_CEN;
//Разрешение TIM6_DAC_IRQn прерывания
NVIC_EnableIRQ (TIM6_IRQn);

СКАЖИТЕ ПОЖАЛУЙСТА через какое время должно срабатывать прерывание

Сообщение отредактировал dimon_rub - Oct 7 2016, 10:26
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- dimon_rub   Правильность отсчета времени в таймере и RTC   Oct 7 2016, 08:04
- - Obam   2 в 32-ой степени ни на что не намекает?   Oct 7 2016, 08:19
- - Pridnya   Цитата(dimon_rub @ Oct 7 2016, 11:04) Здр...   Oct 7 2016, 08:32
- - dimon_rub   Код инициализации: Код RCC_APB1PeriphClockCmd...   Oct 7 2016, 08:46
- - Obam   "…вышел на значение пределителя где то 32. ЧТ...   Oct 7 2016, 09:18
- - SasaVitebsk   Цитата(dimon_rub @ Oct 7 2016, 11:04) Здр...   Oct 7 2016, 09:29
- - Obam   Оп-па, вот что значит переключиться с 16-битки, не...   Oct 7 2016, 09:54
- - esaulenka   Код выглядит нормально. Разве что, не очень понятн...   Oct 7 2016, 13:42
|- - dimon_rub   Цитата(esaulenka @ Oct 7 2016, 13:42) Код...   Oct 7 2016, 14:26
|- - Pridnya   Цитата(dimon_rub @ Oct 7 2016, 17:26) RCC...   Oct 7 2016, 18:04
- - dimon_rub   Поднял RTC в качестве эксперимента на частоте осно...   Oct 8 2016, 05:01
- - SasaVitebsk   То ли вы не можете внятно описать что вас не устра...   Oct 10 2016, 08:26
- - bolden   А не должно быть так ? // Чтоб прерывание случалос...   Oct 10 2016, 09:08
- - SasaVitebsk   Ну да. Я же написал в первом посту. И объяснил поч...   Oct 10 2016, 19:06
- - bolden   Цитата(SasaVitebsk @ Oct 10 2016, 22:06) ...   Oct 11 2016, 04:12


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

 


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


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