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

 
 
 
Reply to this topicStart new topic
> Работа с RTC DS1305
Измеритель верёв...
сообщение Nov 29 2008, 22:54
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 25-10-08
Пользователь №: 41 188



Господа, в приборе стоит флешка AT45, в неё "по кругу" пишутся данные. Положение сохраняю в ОЗУ микросхемы RTC DS1305.
На Vcc1 подано питание 3 Вольта, на Vcc2 подключена батарейка, Vbat подключен на землю.
Происходит вот что: иногда происходит съезжание записей, т.е. теряются некоторые данные. Можно ли "доверять" ОЗУ таких микросхем? Как лучше организовать хранение данных (ячейка, страница) о местоположении конца записи?

Сообщение отредактировал Измеритель верёвочками - Nov 29 2008, 23:17
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 30 2008, 00:26
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Измеритель верёвочками @ Nov 30 2008, 00:54) *
Как лучше организовать хранение данных (ячейка, страница) о местоположении конца записи?
Это можно сделать и без DS1305. Нужно нумеровать страницы по модулю, не кратному количеству страниц в микросхеме. Например страниц 4, а нумеруем по модулю 3 (0,1,2,0,1,2). При чтении ищем место, где последовательность нарушается - там и будет самая новая страница.

P.S. про DS1305 не подскажу - не работал.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Baser
сообщение Nov 30 2008, 16:16
Сообщение #3


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(Измеритель верёвочками @ Nov 30 2008, 00:54) *
в приборе стоит флешка AT45, в неё "по кругу" пишутся данные. ...... Как лучше организовать хранение данных (ячейка, страница) о местоположении конца записи?

Здесь почитайте, может какие идеи пригодятся:
Хранение указателя на конец данных в AT45xx DataFlash, Как лучше организовать?
Сейчас у меня все организовано по принципу, как предлагал defunct, т.е. сохранение номеров страниц флеша. Отличие в том, что этот номер я сохраняю в служебной области той-же страницы флеша. А при рестарте вычитываю только эти номера и по ним определяю границы данных. Для 32мбит флешки получилось всего около 500-700 мс времени при работе SPI на ~4MHz.

Правда при отладке вылезли кое-какие особенности моей реализации алгоритма, которые мне не нравятся.
Поэтому я окончательные итоги темы так и не подвел. Может быть будет время, подчищу свой алгоритм и отпишу...
Go to the top of the page
 
+Quote Post
Измеритель верёв...
сообщение Dec 8 2008, 20:19
Сообщение #4





Группа: Новичок
Сообщений: 7
Регистрация: 25-10-08
Пользователь №: 41 188



Пипец, дело было в маленькой задержке между концом записи байта и снятием сигнала СЕ. По даташиту, даже при питании 2 Вольта минимальное время - 240 нс. С учётом выхода из цикла for это время в программе составляет порядка 1мкс минимум. Вставил после цикла перед снятием СЕ десяток нопов вместо двух, стоящих чисто для точки останова, и всё, пишется нормально.

Заказчик прошивки берёт RTC где подешевле, у меня поставка из ITC (они, вроде как, от немчуры всё возят). У меня ни одного съезжания за время отладки, у заказчика два прибора из первого десятка изготовленных теряют записи через раз.
Грешу только на китайские поставки.

Сообщение отредактировал Измеритель верёвочками - Dec 8 2008, 20:20
Go to the top of the page
 
+Quote Post
chert_kol
сообщение Jan 23 2009, 11:14
Сообщение #5


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

Группа: Свой
Сообщений: 90
Регистрация: 23-01-09
Из: Санкт-Петербург
Пользователь №: 43 842



Не стоит доверять таким озу. Я сейчас работаю с DS1302 ... та же история...

Цитата(Измеритель верёвочками @ Nov 30 2008, 01:54) *
Господа, в приборе стоит флешка AT45, в неё "по кругу" пишутся данные. Положение сохраняю в ОЗУ микросхемы RTC DS1305.
На Vcc1 подано питание 3 Вольта, на Vcc2 подключена батарейка, Vbat подключен на землю.
Происходит вот что: иногда происходит съезжание записей, т.е. теряются некоторые данные. Можно ли "доверять" ОЗУ таких микросхем? Как лучше организовать хранение данных (ячейка, страница) о местоположении конца записи?



не стоит ... Сам сейчас воюю с DS 1302, те же проблемы...


--------------------
С уважением,
Chert_kol.
Go to the top of the page
 
+Quote Post

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

 


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


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