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

 
 
> Учет времени наработки
beer_warrior
сообщение May 19 2006, 13:37
Сообщение #1


Профессионал
*****

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



Возникла проблемка - в девайсе необходимо считать время наработки.
Куча параметров системы хранится в AT45DBxxx, добавить еще один не проблема.
Однако....
По условиям девайс может работать меньше часа и короткие фрагменты могут сложиться в солидную неучтенку, поэтому время придеться писать поминутно.
Исходя из количества циклов флэши, писать хватит менее чем на год.
Вижу два выхода:
1. Хранить наработку в ОЗУ и писать по пропаданию питания, снабдив девайс солидным кондером.
Не хочеться из-за усложнения схемы и занятости выводов прерываний.
2.Писать в десяток ячеек памяти попеременно - благо памяти с избытком.
Не хочеться из-за достаточно морочного алгоритма - очевидно придеться писать в разные страницы.
М.б кто-н. посоветует третий путь?

Сообщение отредактировал beer_warrior - May 19 2006, 13:38


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
beer_warrior
сообщение May 19 2006, 17:32
Сообщение #2


Профессионал
*****

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



Наверное попробую и так и эдак, а о результатах доложу smile.gif


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
ps1x
сообщение May 19 2006, 18:05
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284



Цитата(beer_warrior @ May 19 2006, 21:32) *
Наверное попробую и так и эдак, а о результатах доложу smile.gif



А может так:
1)При начале работы девайса пишется время начала.
2)При завершении - время завершения
3)Вычитаем одно из другого и получаем длительность работы.
4)Считываем из памяти сколько проработали за всю жизнь
5)Прибавляем туда полученое время.
6)Записываем обратно результат.

Т.е. за каждый цикл включения выключения тратиться только 1 запись в память.

В eeprom естессно.
Go to the top of the page
 
+Quote Post
rezident
сообщение May 19 2006, 19:03
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(ps1x @ May 20 2006, 00:05) *
1)При начале работы девайса пишется время начала.
2)При завершении - время завершения
3)Вычитаем одно из другого и получаем длительность работы.
4)Считываем из памяти сколько проработали за всю жизнь
5)Прибавляем туда полученое время.
6)Записываем обратно результат.

При аварийном выключении такой довольно длительный алгоритм может не прокатить. Обычно время между возникновением сигнала об аварии питания и пропаданием питания рассчитывают порядка 10-20 мс. Конечно при использовании ИБП это время бывает и больше, но расчитывают на самый худший случай.
Go to the top of the page
 
+Quote Post
ps1x
сообщение May 19 2006, 19:16
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 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 мс. Конечно при использовании ИБП это время бывает и больше, но расчитывают на самый худший случай.

Так токи там совсем небольшие, можно от маленького ионистра запитать... Я думаю его на пару минут до выключения хватит.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 17:38
Рейтинг@Mail.ru


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