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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> 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
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

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

 


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


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