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

 
 
 
Reply to this topicStart new topic
> stm32f2xx RTC Проблема обновления данных календаря, Криво и хаотично обновляются данные
rudy_b
сообщение Apr 6 2013, 23:01
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



Никто не сталкивался со странным обновлением данных календаря в RTC stm32f207?

Причем данные времени обновляются совершенно нормально, а вот календарь (его shadow регистр) обновляется как-то хаотически. Использую стандартные st-ные либы, просмотрел их тексты - вроде все нормально и соответствует описанию. Правда в RefMane имеются странные оговорки про возможность отключения shadow регистров, но более ничего про этот бит нет.
Go to the top of the page
 
+Quote Post
vlad_new
сообщение Apr 8 2013, 16:08
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 218
Регистрация: 24-06-10
Пользователь №: 58 127



Цитата(rudy_b @ Apr 7 2013, 03:01) *
Никто не сталкивался со странным обновлением данных календаря в RTC stm32f207?

Было такое. Оказалось влияет последовательность. Сначала надо записывать дату а затем время.
Go to the top of the page
 
+Quote Post
rudy_b
сообщение Apr 10 2013, 00:36
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



Цитата(vlad_new @ Apr 8 2013, 19:08) *
Было такое. Оказалось влияет последовательность. Сначала надо записывать дату а затем время.

Не совсем так, хотя и это влияет. Немного разобрался с этим [CENSORED] RTC, его явно кухарка делала.
1. Календарь следует читать как минимум два раза - пропись в даташите и апноуте.
2. Библиотечная функция правильного чтения не обеспечивает
3. Пришлось сделать свою функцию которая честно сбрасывает и ждет установки флага готовности данных. И занимает это примерно 2 клока 32 кГц, что при частоте проца 120 МГц.... Они даже соответствующее прерывание предусмотрели, недоделки. То, что написано про автообновление каждые 2 цикла 32 кгц - враки. С новой функцией календарь стал читатся четко, ну если не забывать про их [CENSORED] защиту доступа к backup. Кошмар...

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

И много чего еще надыбал. [CENSORED]. Домены с разными клоками синхронизовать нормально не сумел, да еще кучу никому не нужных защит накрутил. В результате вместо одной команды приходится писать 20, 10 до и столько же после.

После потери 3-х дней на разборки с ошибками в этом [CENSORED] RTC, wakeup, наконец, нормально заработал (и снова не работает библиотечная функция, пришлось свою писать). Сейчас разбираюсь с просыпанием по аларму, там тоже масса всякого [CENSORED] обнаружилась. Но до конца еще не разобрался, просыпание по аларму заработало, но как-то странно, четко вижу периодическое запаздывание флага до пары секунд, отсюда иногда пролеты по времени. Буду разбираться...

Сообщение отредактировал IgorKossak - Apr 10 2013, 06:29
Причина редактирования: не нужно столько эмоций
Go to the top of the page
 
+Quote Post
vlad_new
сообщение Apr 10 2013, 10:22
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 218
Регистрация: 24-06-10
Пользователь №: 58 127



Я так глубоко не копал. Хотя двойное чтение или холостое чтение сразу после записи, действительно дурацкая защита, везде вставлял команды синхронизации, задержки и т.д. - все это было. Короче танцы с бубном. sm.gif Удачи.


Сообщение отредактировал vlad_new - Apr 10 2013, 10:24
Go to the top of the page
 
+Quote Post
rudy_b
сообщение Apr 11 2013, 22:10
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



Ну вот, наконец разобрался и все отлично заработало - и wakeup и alarm и wakeup по аларму. Проблемы - ошибки в стандартных библиотеках плюс, похоже, проблемы в харде. Заработало после того, как заменил половину библиотечных функций своими и выстроил правильные последовательности инициализации.

P.S. Уважаемые модераторы, зря вы почиркали мой пост. Разработчик этого замечательного RTC заслуживает гораздо более крепких выражений. Нормальная инициализация этого изумительного девайса (с очень небольшими накладными) занимает около 16 кбайт флеши и кучу времени ожидания синхронизации с клоком 32 кГц.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Apr 12 2013, 11:58
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



А я торопился, готовясь к выставке. Думал - показалось. Но в отладчике прошёл - заработали сами часы и я отложил. Пока мне надо было функционал наполнить. Теперь понятно, что не показалось.
Спасибо за коментарии. Похоже в каждом узле у них куча мелких "нюансов" зарыто. Возле каждого танцевать пришлось.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 8th June 2024 - 15:26
Рейтинг@Mail.ru


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