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

 
 
> RTC в LPC, Проверка корректности.
alexander55
сообщение Nov 12 2007, 07:19
Сообщение #1


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Добрый день !
Вопрос следующий.
Каким способом при старте можно проверить, что часы реального времени в LPC не сбились ?
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 21)
Leen
сообщение Nov 12 2007, 07:26
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Ну только если завести еще парочку - для сравнения... Нет, серьезно - а как это проверить, если не сравнением с другими? Если же вопрос стоит - не сбросились ли они - запоминать куда-нибудь при выключении, а при включении сравнивать - больше ли времени, чем было до выключения, хотя это и ненадежно...
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 12 2007, 08:28
Сообщение #3


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(Leen @ Nov 12 2007, 10:26) *
Ну только если завести еще парочку - для сравнения... Нет, серьезно - а как это проверить, если не сравнением с другими? Если же вопрос стоит - не сбросились ли они - запоминать куда-нибудь при выключении, а при включении сравнивать - больше ли времени, чем было до выключения, хотя это и ненадежно...

Ну скажем, год 3310. Боюсь, что не доживу до этого. biggrin.gif
Go to the top of the page
 
+Quote Post
Leen
сообщение Nov 12 2007, 09:30
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Так а что подразумевается под "сбились"? Уход от реального времени вследствие погрешности (постоянной/переменной, скажем, температурный уход частоты) задающего генератора или обнуление из-за сбоя питания? Если обнуление - то запоминать. Тем более, если часы считают годы - если век не соответствует записанному в энергонезависимую память, то точно пропадало питание часов. Ну а если просто уход на +/- полкилометра - то имхо только сравнение с эталоном, а как еще?
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 12 2007, 10:27
Сообщение #5


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(Leen @ Nov 12 2007, 12:30) *
Так а что подразумевается под "сбились"? Уход от реального времени вследствие погрешности (постоянной/переменной, скажем, температурный уход частоты) задающего генератора или обнуление из-за сбоя питания? Если обнуление - то запоминать. Тем более, если часы считают годы - если век не соответствует записанному в энергонезависимую память, то точно пропадало питание часов. Ну а если просто уход на +/- полкилометра - то имхо только сравнение с эталоном, а как еще?

Ну например.
30 июня
при этом это
356 день года. biggrin.gif
Go to the top of the page
 
+Quote Post
Leen
сообщение Nov 12 2007, 11:10
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Цитата(alexander55 @ Nov 12 2007, 20:27) *
Ну например.
30 июня
при этом это
356 день года. biggrin.gif

Хм. Ну если для вас сбой - это разница показанийй двух параллельных счетчиков - так это как раз проверить крайне просто. Можно контролировать по таблице длин месяцев (для простоты) - например, есть массив количества дней: в январе, в январе + в феврале (здесь и далее - год не високосный), по март, и т.д. Смотрим, какой месяц сейчас - берем соотв. число дней до этого месяца + кол-во дней из счетчика. Если нынче високосный год и февраль закончился - плюсадиним, сравниваем со счетчиком дней года. Вроде просто.
А вот отставание или опережение из-за плохонького китайского часового кварца - это да, это проблема. Нужен эталон (который может быть дороже всего остального - цезиевые часы с термостабилизацией, или какие сейчас самые точныеsmile.gif), или просто человека заставить иногда поправлять время, ориентируясть на радио Маяк.
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 12 2007, 11:38
Сообщение #7


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(Leen @ Nov 12 2007, 14:10) *
Хм. Ну если для вас сбой - это разница показанийй двух параллельных счетчиков - так это как раз проверить крайне просто. Можно контролировать по таблице длин месяцев (для простоты) - например, есть массив количества дней: в январе, в январе + в феврале (здесь и далее - год не високосный), по март, и т.д. Смотрим, какой месяц сейчас - берем соотв. число дней до этого месяца + кол-во дней из счетчика. Если нынче високосный год и февраль закончился - плюсадиним, сравниваем со счетчиком дней года. Вроде просто.

Вот и вопрос. Насколько это универсально. smile.gif
Go to the top of the page
 
+Quote Post
Leen
сообщение Nov 12 2007, 11:45
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Цитата(alexander55 @ Nov 12 2007, 21:38) *
Вот и вопрос. Насколько это универсально. smile.gif

В пределах одного семействаsmile.gif, если по железу - тут же привязка к конкретной избыточчности.
Из-за чего могут рассинхронизироваться два счетчика, тактируемые одним источником (часовым таймером в д.с.)? Да еще и так, чтобы ни один не был нулевым. Мне все же представляется, что такая ситуация - более редкое явление, нежели уход частоты тактов или пропадание питания (ионистор был бракованныйsmile.gif). Ну только если сильные радиошумы, или радиация.
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 12 2007, 12:22
Сообщение #9


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(Leen @ Nov 12 2007, 14:45) *
В пределах одного семействаsmile.gif, если по железу - тут же привязка к конкретной избыточчности.
Из-за чего могут рассинхронизироваться два счетчика, тактируемые одним источником (часовым таймером в д.с.)? Да еще и так, чтобы ни один не был нулевым. Мне все же представляется, что такая ситуация - более редкое явление, нежели уход частоты тактов или пропадание питания (ионистор был бракованныйsmile.gif). Ну только если сильные радиошумы, или радиация.

Вероятнее, банальное пропадание контакта от батарейки. smile.gif
Go to the top of the page
 
+Quote Post
Leen
сообщение Nov 12 2007, 12:35
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Ну если все-таки от пропадание напряжения, то они собьются синхронно, не так ли? Тогда смысл такой проверки нулевой - оба счетчика будут (после приведения к общей единице) иметь одно и то же содержимое. Тогда либо оператора-человека, либо второй ртс. Кстати, от пропадания контакта на батарейке есть неплохие ионисторы - 2,3 В х 40 Ф. Маленькие, всего 14х18х(40+12 на выводы)smile.gifХватит может и не до 3310 года, но надолгоsmile.gif Тип К58-16. Вроде даже на 47 Ф уже выпускаются. Как раз думаю, не использовать ли wink.gif
Go to the top of the page
 
+Quote Post
abcdefg
сообщение Nov 12 2007, 12:55
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 201
Регистрация: 23-01-06
Из: Msk
Пользователь №: 13 490



Цитата(alexander55 @ Nov 12 2007, 10:19) *
Добрый день !
Вопрос следующий.
Каким способом при старте можно проверить, что часы реального времени в LPC не сбились ?


Из моего опыта - только проверять валидность (диапазона) данных. Есть там один информационный бит, но при сбое (отключении батарейки) он то "слетал", то нет.
Go to the top of the page
 
+Quote Post
vesago
сообщение Nov 12 2007, 13:08
Сообщение #12


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Я при старте всегда проверяю корректность данных в разрезе диапазона. Когда имею дело со внешней RTC то при каждом чтении. С LPC имел проблему следующего характера - бывало криво тикало. Подлечилось путем начального обнуления всех регистров RTC.
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 12 2007, 13:16
Сообщение #13


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(abcdefg @ Nov 12 2007, 15:55) *
Из моего опыта - только проверять валидность (диапазона) данных.

Я тоже склоняюсь к такому решению.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 12 2007, 13:29
Сообщение #14


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(abcdefg @ Nov 12 2007, 17:55) *
Из моего опыта - только проверять валидность (диапазона) данных. Есть там один информационный бит, но при сбое (отключении батарейки) он то "слетал", то нет.
какой?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 12 2007, 13:40
Сообщение #15


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(GetSmart @ Nov 12 2007, 16:29) *
какой?

1. Срок изделия допустим 50 лет. Т.е. год в диапозоне 2007-2057.
2. День года должен соответствовать числу. Например: 31 декабря 2008 года - 366 день.
Это - то, что на поверхности.
Go to the top of the page
 
+Quote Post
HEX
сообщение Nov 13 2007, 08:27
Сообщение #16


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 25-11-04
Из: Тула
Пользователь №: 1 228



Схожие проблемы, только часы внешние fm31xx.
Если часы ушли (по причине не точности), без дублирование это не определить.
Вот если сдохла батарейка или по каким то причинам прерывалось питания часов или чего то с кварцем часов, это надо отлавливать.
Запускаю часы только при операции "установить время", что бы можно было отловить когда часы показывают ерунду. При работе прибора, периодически сравниваю временя измеренное RTC и таймером. Например, запускаю таймер на 60 сек, за это время показания RTC должно увеличиться тоже на 59..61 сек (дискретность часов в 1сек точнее не дает померить). Кроме проверки корректности значений в регистрах часов еще полезно проверять что считанное значение из RTC больше или равно предыдущему, плюс проверять напряжение на батарейке (у fm31xx есть битик "Low Backup Flag")
Вообщем, если достоверность показания часов критична я думаю лучше ставить внешние часы:
- дублирование часы + программное время
- есть флаги достоверности времени, состояния батарии (например у MAX6916, MAX6917)
- дополнительные функции такие как сторожевой таймер, энергонезависимая/батарейная память и т.п

Хотелось бы еще такой вопрос поднять, как правильнее считать время в случае использования внешних часов: опрашивать RTC или считать программно?
Go to the top of the page
 
+Quote Post
Spb_Alex
сообщение Nov 14 2007, 10:23
Сообщение #17


Участник
*

Группа: Новичок
Сообщений: 22
Регистрация: 26-10-07
Пользователь №: 31 745



Можно взять дешевый GPS (от 17$), время определяется очень точно.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 14 2007, 10:34
Сообщение #18


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(alexander55 @ Nov 12 2007, 18:40) *
1. Срок изделия допустим 50 лет. Т.е. год в диапозоне 2007-2057.
2. День года должен соответствовать числу. Например: 31 декабря 2008 года - 366 день.
Это - то, что на поверхности.
Я спрашивал какой бит в RTC LPC ?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
abcdefg
сообщение Nov 14 2007, 13:12
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 201
Регистрация: 23-01-06
Из: Msk
Пользователь №: 13 490



Цитата(GetSmart @ Nov 14 2007, 13:34) *
Я спрашивал какой бит в RTC LPC ?


Сорри, быстро ответить не смогу, т.к. сижу дома с температурой. К пятнице доберусь до работы, там можно будет поднять переписку с техсупотом филипса...
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 14 2007, 13:12
Сообщение #20


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(GetSmart @ Nov 14 2007, 13:34) *
Я спрашивал какой бит в RTC LPC ?

Я ничего не понял. Про биты я ничего не говорил. sad.gif
Go to the top of the page
 
+Quote Post
deadman
сообщение Nov 14 2007, 13:19
Сообщение #21


Участник
*

Группа: Новичок
Сообщений: 21
Регистрация: 13-09-07
Пользователь №: 30 506



Цитата(Spb_Alex @ Nov 14 2007, 14:23) *
Можно взять дешевый GPS (от 17$), время определяется очень точно.

Ага. Вот только есть гарантия, что он спутник увидит? (из подвала, например)
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 15 2007, 13:41
Сообщение #22


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(alexander55 @ Nov 14 2007, 18:12) *
Я ничего не понял. Про биты я ничего не говорил. sad.gif
Само собой. Потому как я у abcdefg спрашивал.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

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

 


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


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