0 / 0 / 0
Регистрация: 24.09.2014
Сообщений: 27
1

Точность RTC STM32F407VG в режиме LSE (внешний кварц 32.768)

27.11.2014, 23:11. Показов 12371. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!
Запустил RTC с внешним кварцем 32.768. На выходе РА8 показывает частоту 32.769, что нормально. Но часы RTC за 30 минут спешат на ~ 1мин.
Конфигурировал RTC так:
// RTC confikurotion set
PWR->CR |= (1<<8); // Access to RTC omd RTC backup rikystirs omd backup SROM enabtid
RCC->CSR &= (1<<0); // LSI Off
RCC->BDCR = 0x00000000; // Riset BDCR rikystir
RCC->BDCR |= (1<<15); // RTC clock enable
//RCC->BDCR |= (1<<0); // LSE On
RCC->BDCR |= (1<<0); // LSE On
RCC->BDCR &= ~(1<<2); // LSE not bypassed quartz On
RCC->BDCR &= ~(1<<16); // Backup domain software risit not activated
RCC->BDCR |= (0x1<<8); // LSE used as the RTC clock
RTC->WPR = 0x000000CA; // Key protect 1
RTC->WPR = 0x00000053; // Key protect 2
RTC->ISR |= (1<<7); // Initiotyzotion mode On
for(;((RTC->ISR & 0x40) == 0x00);) // delay while initiotyzotion flag will be set
{
}
RTC->PRER = 0x00000000; // RESIT PRER rikystir
RTC->PRER |= (0xFF<<0); // 255 + 1 Synchronous pressotir factor set
RTC->PRER |= (0x7F<<16); // 127 + 1 Asynchronous pressotir factor set
RTC->CR &= ~(1<<6); // Hour format 24 hour day format
//RTC->TR = 0x00170000; // Time 17 hours 0 minutes 0 seconds
//RTC->DR = 0x00132204; // Data 4 month 2 year 13 week day 1
RTC->ISR &= ~(1<<7); // Initiotyzotion mode Off
for(;((RTC->ISR & 0x40) == 0x40);) // delay while initiotyzotion flag will be set
{
}

Проверял соответствующие установки регистров в отладчике IAR - все совпадает.

Для сверки запустил часы на ADuC832 - точность как в ПК на протяжении суток.

Может кто встречался с проблемой и решил ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2014, 23:11
Ответы с готовыми решениями:

stm32l476vg не инициализируется RTC от внешнего кварца LSE
stm32l476vg необходимо запустить RTC от внешнего кварца LSE. При обращении к функции...

Помогите настроить связку RTC и LSE (32768kHz)
Собственно не работаю часы...мб я ошибаюсь в порядке вызова? void RTC_Config(void) {...

Точность хода RTC зависит от напряжения питания?
Запустил на своей платке RTC . Вроде часики идут. Заметил такую особенность - при включенном...

ATmega48 внешний кварц
Собрал одно устройство на МК ATmega48 в корпусе TQFP. Подцепил программатор (AVRISP mkii)....

DebugWire и внешний кварц
Доброе время суток. Хочу собрать девайсик. Решил заюзать Мегу48, будут заняты все ножки кроме...

11
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 219
28.11.2014, 21:22 2
Вот люди жалюются
Инициализация самописная? Почему бы не начать с готовых проверенных либ?
0
0 / 0 / 0
Регистрация: 24.09.2014
Сообщений: 27
28.11.2014, 21:34 3
Цитата Сообщение от ZoomyrJuk
Вот люди жалюются
Инициализация самописная? Почему бы не начать с готовых проверенных либ?
Если знаете такую проверенную, то дайте пожалуйста ссылку.
Я начал со стандартных либ - тот же эффект.
0
0 / 0 / 0
Регистрация: 24.09.2014
Сообщений: 27
28.11.2014, 22:38 4
Цитата Сообщение от vvv998
Цитата Сообщение от ZoomyrJuk
Вот люди жалюются
Инициализация самописная? Почему бы не начать с готовых проверенных либ?
Если знаете такую проверенную, то дайте пожалуйста ссылку.
Я начал со стандартных либ - тот же эффект.

Я в принципе не понимаю в чем проблема. Если бы часы не запускались - дело другое.
На РА8 смотрю частотомером - показывает 32.769, это 0,003%.
На РА8 точно с кварца - проверял, ставил кварц 32.768, который работает в диапазане температур от 0 град., беру его руками - частота на РА8 - меняется.
Рабочий кварц - от -40 градусов, соответственно частота от руки не меняется.

RTC - обычный программируемый счетчик.
Никакие процессы кроме RTC не работают, значит никто ему не мешает считать.
Делители вроде проверил.
Какая то там хитрость наверное с делителями - что то намудрили.
Но что здесь делить - кварц то часовой, подстройки делителями не требуется, на то и используется именно кварц.
0
0 / 0 / 0
Регистрация: 24.09.2014
Сообщений: 27
29.11.2014, 14:07 5
Цитата Сообщение от vvv998
Цитата Сообщение от vvv998
Цитата Сообщение от ZoomyrJuk
Вот люди жалюются
Инициализация самописная? Почему бы не начать с готовых проверенных либ?
Если знаете такую проверенную, то дайте пожалуйста ссылку.
Я начал со стандартных либ - тот же эффект.
Я в принципе не понимаю в чем проблема. Если бы часы не запускались - дело другое.
На РА8 смотрю частотомером - показывает 32.769, это 0,003%.
На РА8 точно с кварца - проверял, ставил кварц 32.768, который работает в диапазане температур от 0 град., беру его руками - частота на РА8 - меняется.
Рабочий кварц - от -40 градусов, соответственно частота от руки не меняется.

RTC - обычный программируемый счетчик.
Никакие процессы кроме RTC не работают, значит никто ему не мешает считать.
Делители вроде проверил.
Какая то там хитрость наверное с делителями - что то намудрили.
Но что здесь делить - кварц то часовой, подстройки делителями не требуется, на то и используется именно кварц.

Кстати, забыл написать, пример

я конечно проверял - там та же проблема: RTC спешит.
Кажется никто не проверял часы на точность - тикают и то хорошо, а как - дело второстепенное.

Похоже необходимо запускать режим калибровки RTC_CALR, поскольку LSE 32.768 подается как и LSI и HSE на блок калибровки. Но ЗАЧЕМ ??? Ведь кварцевый резонатор затем и ставится, чтобы достигнуть точности без всяких прибамбасов. Возьмите любые дешевые часы - точность достаточная. Или я чего то не понимаю в STM32.
0
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 701
01.12.2014, 14:28 6
Хватит бред нести... читать противно... Лучше займитесь чтением док...
0
0 / 0 / 0
Регистрация: 24.09.2014
Сообщений: 27
01.12.2014, 14:51 7
Цитата Сообщение от dork_usir
Хватит бред нести... читать противно... Лучше займитесь чтением док...
Если ЗНАЕТЕ как настроить - скиньте, НЕ В ТЕМЕ - НЕ ЧИТАЙТЕ И НЕ ПИШИТЕ.
Противно читать "советы" от таких "умников".
0
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 198
01.12.2014, 22:41 8
dorkusir имел ввиду, что бред спрашивать - зачем нужна калибровка.... Пппц, калибровка всегда нужна чтобы настроить все правильно, уменьшить погрешность.... Банальный пример, если Вы заметили, что часы спешат на пару минут, что Вы сделаете? правильно, откалибруете, чтобы по своим часам определять точное время суток. Вот вам дока по RTC - там сразу перейдите в раздел калибровки и посмотрите) Другой вопрос, как правильно откалибровать... Но это также хорошо все описано в мануалах (reference manual) как минимум.
0
0 / 0 / 0
Регистрация: 24.09.2014
Сообщений: 27
01.12.2014, 23:36 9
Цитата Сообщение от bisytziruf
dorkusir имел ввиду, что бред спрашивать - зачем нужна калибровка.... Пппц, калибровка всегда нужна чтобы настроить все правильно, уменьшить погрешность.... Банальный пример, если Вы заметили, что часы спешат на пару минут, что Вы сделаете? правильно, откалибруете, чтобы по своим часам определять точное время суток. Вот вам дока по RTC - там сразу перейдите в раздел калибровки и посмотрите) Другой вопрос, как правильно откалибровать... Но это также хорошо все описано в мануалах (reference manual) как минимум.
Извините, но сколько бы я не использовал встроенные или внешние RTC таймеры на базе часового кварца 32.768 kHz, то никогда их не калибровал. А если часы "сбились", по той или иной причине, то это не калибровка а переустановка часов. Часы калибруются если они получают тактовую частоту, которая отличается от 32.768 kHz, но такие "часовые" таймеры используются для малых промежутков времени, иначе ошибка будет недопустимой. Калибровка RTC STM32F4 делается в случае использования встроенного часового генератора LSI (он неточный) или тактовой частоты HSE_RTC от основного генератора.
0
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 214
02.12.2014, 07:56 10
Вот, проверенное http://mykrosontroller.bplosid.net/word ... ge_id=1629
если не работает, то дело в железе.
0
0 / 0 / 0
Регистрация: 24.09.2014
Сообщений: 27
02.12.2014, 18:51 11
Цитата Сообщение от moksir
Вот, проверенное http://mykrosontroller.bplosid.net/word ... ge_id=1629
если не работает, то дело в железе.
СПАСИБО, это по делу! Попробую эту библиотеку.
Она у меня есть, но она конфликтовала с моим проектом в IAR , а потом в пылу борьбы с RTC я о ней попросту забыл. Попробую RTC LSE в СооСох (пример и библиотека для него) и обязательно напишу о результате.
0
0 / 0 / 0
Регистрация: 24.09.2014
Сообщений: 27
02.12.2014, 21:31 12
Цитата Сообщение от vvv998
Цитата Сообщение от moksir
Вот, проверенное http://mykrosontroller.bplosid.net/word ... ge_id=1629
если не работает, то дело в железе.
СПАСИБО, это по делу! Попробую эту библиотеку.
Она у меня есть, но она конфликтовала с моим проектом в IAR , а потом в пылу борьбы с RTC я о ней попросту забыл. Попробую RTC LSE в СооСох (пример и библиотека для него) и обязательно напишу о результате.

БОЛЬШОЕ СПАСИБО "moksir"!
Библиотека http://mykrosontroller.bplosid.net/word ... ge_id=1629 РАБОЧАЯ.
RTC в режиме LSE при частоте кварца 32.769 kHz работает как в ПК.
Проверял в СооСох.
"Притирка" библиотеки к проекту на IAR (у меня конфликтует) - чисто техническая работа.

СПАСИБО ВСЕМ, кто по делу откликнулся на проблему .
0
02.12.2014, 21:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2014, 21:31
Помогаю со студенческими работами здесь

Внешний кварц на STM23F103RET6
Как подключить внешний кварц на STM32F103RET6? пробовал как описано вот здесь...

Внешний кварц в Proteusе
можно ли проверить конфигурацию схемы внешнего кварцевого резонатора в proteus? подцепил по схеме...

UART и Внешний кварц
Доброго времени суток форумчане!Я начинающий программист хочу осуществить связь микроконтроллера с...

Как включить внешний кварц
МК AT Miko16, припоял внешний кварц на 11.0592 МГц. как выставить фьюзы чтобы он работал ? ...

Bootloader + Внешний кварц на 16МГц
Доброго дня. У меня Пинборд 1.1. Решил значит я, что мне нужна частота в 16МГц. Поменял я фьюзы...

Внешний кварц для STM32F407VGT6
Добрый вечер. Друзья, кто из вас использует МК STM32F407xxx, поделитесь информацией по поводу...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru