|
Учет времени наработки |
|
|
|
May 19 2006, 13:37
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Возникла проблемка - в девайсе необходимо считать время наработки. Куча параметров системы хранится в AT45DBxxx, добавить еще один не проблема. Однако.... По условиям девайс может работать меньше часа и короткие фрагменты могут сложиться в солидную неучтенку, поэтому время придеться писать поминутно. Исходя из количества циклов флэши, писать хватит менее чем на год. Вижу два выхода: 1. Хранить наработку в ОЗУ и писать по пропаданию питания, снабдив девайс солидным кондером. Не хочеться из-за усложнения схемы и занятости выводов прерываний. 2.Писать в десяток ячеек памяти попеременно - благо памяти с избытком. Не хочеться из-за достаточно морочного алгоритма - очевидно придеться писать в разные страницы. М.б кто-н. посоветует третий путь?
Сообщение отредактировал beer_warrior - May 19 2006, 13:38
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
 |
Ответов
|
May 19 2006, 18:05
|
Местный
  
Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284

|
Цитата(beer_warrior @ May 19 2006, 21:32)  Наверное попробую и так и эдак, а о результатах доложу  А может так: 1)При начале работы девайса пишется время начала. 2)При завершении - время завершения 3)Вычитаем одно из другого и получаем длительность работы. 4)Считываем из памяти сколько проработали за всю жизнь 5)Прибавляем туда полученое время. 6)Записываем обратно результат. Т.е. за каждый цикл включения выключения тратиться только 1 запись в память. В eeprom естессно.
|
|
|
|
|
May 19 2006, 19:16
|
Местный
  
Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284

|
Цитата(rezident @ May 19 2006, 23:03)  Цитата(ps1x @ May 20 2006, 00:05)  1)При начале работы девайса пишется время начала. 2)При завершении - время завершения 3)Вычитаем одно из другого и получаем длительность работы. 4)Считываем из памяти сколько проработали за всю жизнь 5)Прибавляем туда полученое время. 6)Записываем обратно результат.
При аварийном выключении такой довольно длительный алгоритм может не прокатить. Обычно время между возникновением сигнала об аварии питания и пропаданием питания рассчитывают порядка 10-20 мс. Конечно при использовании ИБП это время бывает и больше, но расчитывают на самый худший случай. Так токи там совсем небольшие, можно от маленького ионистра запитать... Я думаю его на пару минут до выключения хватит.
|
|
|
|
Сообщений в этой теме
beer_warrior Учет времени наработки May 19 2006, 13:37 iosifk Цитата(beer_warrior @ May 19 2006, 17:37)... May 19 2006, 13:47 rezident 1 способ. Сопровождайте каждую запись в DataFlash ... May 19 2006, 14:10 Petka Цитата(rezident @ May 19 2006, 18:10) 1 с... May 19 2006, 14:21 rezident А мне вот любопытно, у кого-либо из советующих FRA... May 19 2006, 14:30 Petka Цитата(rezident @ May 19 2006, 18:30) А м... May 19 2006, 14:34  rezident Цитата(Petka @ May 19 2006, 20:34) не исп... May 19 2006, 14:36   kolobok0 Цитата(rezident @ May 19 2006, 18:36) Цит... May 22 2006, 15:07    rezident Цитата(kolobok0 @ May 22 2006, 21:07) ста... May 22 2006, 18:33 m16 beer_warrior
раз у вас есть RTC так может примени... May 19 2006, 15:24 OlegIvanov SRAM с внутренней батареей - ножек правда до черта... May 19 2006, 16:21 beer_warrior 1.Хм, FRAM.
Дело в том что уже используеться 45DB,... May 19 2006, 17:06 rezident Цитата(beer_warrior @ May 19 2006, 23:06)... May 19 2006, 17:20 defunct Цитата(beer_warrior @ May 19 2006, 16:37)... May 19 2006, 19:35 Igor26 ЦитатаНу, а что если вообще просто поставить DS130... May 22 2006, 06:00 beer_warrior ОК всем спасибо.
Небольшой OFF - где в Киеве можн... May 23 2006, 01:51
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|