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

 
 
> самопроизвольная модификация EEPROM
stells
сообщение May 27 2008, 18:43
Сообщение #1


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



при отключении/включении питания происходит изменение содержимого EEPROM в tiny26... было предположение, что на одном из входов АЦП в этот момент присутствует отрицательное напряжение, поставил диод - не помогло. где искать причину?
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3 >  
Start new topic
Ответов (15 - 29)
singlskv
сообщение May 29 2008, 14:24
Сообщение #16


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Nanobyte @ May 28 2008, 21:57) *
Да, вот ещё есть малые сапёрные грабли (те, что по пояс smile.gif ). На время записи в EEPROM лучше будет запретить прерывания, если конечно они используются. Как-то я очень весело провёл почти сутки в поисках сбоев процесса калибровки прибора по этой причине.
На все время записи ?
ИМХО, это ерунда, запрещать нужно только на время спецпоследовательности запуска записи,
иначе 1,8-8,5мс (зависит от чипа) прога не может ничем заниматься,
запрещение прерывания на все время записи это костыль который скрывает ошибки в
проектировании проги.
Go to the top of the page
 
+Quote Post
west329_
сообщение May 29 2008, 16:00
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Цитата(singlskv @ May 29 2008, 17:24) *
На все время записи ?
ИМХО, это ерунда, запрещать нужно только на время спецпоследовательности запуска записи,
иначе 1,8-8,5мс (зависит от чипа) прога не может ничем заниматься,
запрещение прерывания на все время записи это костыль который скрывает ошибки в
проектировании проги.

Прерывание можно использовать для ЕЕПРОМА
Go to the top of the page
 
+Quote Post
stells
сообщение May 29 2008, 16:01
Сообщение #18


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(singlskv @ May 29 2008, 18:24) *
На все время записи ?
ИМХО, это ерунда, запрещать нужно только на время спецпоследовательности запуска записи,
иначе 1,8-8,5мс (зависит от чипа) прога не может ничем заниматься,
запрещение прерывания на все время записи это костыль который скрывает ошибки в
проектировании проги.

наверное Вы правы... главное проверить в подпрограмме обработки прерывания завершилась ли предыдущая запись (если надо что-то писать), а так прерывание не должно повлиять на результат записи... может он не это имел ввиду?
Go to the top of the page
 
+Quote Post
singlskv
сообщение May 29 2008, 16:15
Сообщение #19


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(stells @ May 29 2008, 20:01) *
наверное Вы правы... главное проверить в подпрограмме обработки прерывания завершилась ли предыдущая запись
Да, именно так, проверили и если еще не закончилась ушли заниматься другими делами...
Цитата
(если надо что-то писать)
Если запрос на запись возникает спонтанно(те в практически в любой момент времени),
тогда нужно организовать очередь из запросов.
Цитата
, а так прерывание не должно повлиять на результат записи... может он не это имел ввиду?
Не должно ни разу, проблемы могут быть только если очень часто пишем и очередь
образовалась внушительная, типа если в одной и той же еще необработанной очереди может
попасться две записи одного данного...
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение May 30 2008, 21:15
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(QuickWitted @ May 29 2008, 14:13) *
тоже изредка наблюдается у меги 8 в моём
проекте...
питание от USB. Слетает вся память полностью...
МК пишет/читает епром по требованию от ПК.
сам МК в неё не лезет... чтение епрома сильно не часты...


Это стопудовый программный хомут. У меня серийное изделие выпускается на м8 с питанием от USB. Перед ним стаял комплект из м8515+т2313 ну и так далее. Конфигурация этого прибора хранится в EEPROM. Причём так, что с вероятностью близкой к 100% если запортится, то изделие ко мне вернётся. И так уже много лет. Ну нет проблем! Просто нет. Единицы тысяч изделий.
Go to the top of the page
 
+Quote Post
Nickolya_K
сообщение Jun 1 2008, 05:14
Сообщение #21





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



Аналогичная ситуация и именно с тини26
Слетают ячейки еепром то ли по включению, то ли по выключению - естественно, выяснить не удалось.
Все что выше советовалось, пробовал - вопрос в статистике.
собрал автомат - клацалку с периодом в 10 секунд. Более 2-х суток не выдерживала никакая идея.
Что помогло:
Значений мне надо сохраниять немного.
Каждое значение сохранил в 3-х местах.
По включению сравниваю считанные. Если 2 значения равны между собой, записываю его в 3-ю ячейку.
вылетов одновременно 2-х ячеек, относящихся к одной переменной, пока не наблюдалось (клацанье пошло уже на вторую неделю).
Go to the top of the page
 
+Quote Post
stells
сообщение Jun 1 2008, 13:09
Сообщение #22


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(Nickolya_K @ Jun 1 2008, 09:14) *
вылетов одновременно 2-х ячеек, относящихся к одной переменной, пока не наблюдалось (клацанье пошло уже на вторую неделю).

мажорирование вещь хорошая, конечно, но вылет и 2-х ячеек дело времени... Вы знаете, у меня после включения BOD нормально все работает.
Go to the top of the page
 
+Quote Post
Nickolya_K
сообщение Jun 1 2008, 13:26
Сообщение #23





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



Да BOR-то включен...
Я понимаю, 2 ячейки тоже вопрос времени. Но надеюсь, что время будет достаточно большим.
Но все остаьные меры, что я пробовал, существенно ситуацию не улучшали
Go to the top of the page
 
+Quote Post
stells
сообщение Jun 2 2008, 08:06
Сообщение #24


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(Nickolya_K @ Jun 1 2008, 17:26) *
Да BOR-то включен...
Я понимаю, 2 ячейки тоже вопрос времени. Но надеюсь, что время будет достаточно большим.
Но все остаьные меры, что я пробовал, существенно ситуацию не улучшали

может быть надо питание посмотреть в момент включения/выключения? может быть время ресета увеличить? что-то не то... надо причину найти, наверное, а не с последствиями бороться...
Go to the top of the page
 
+Quote Post
Nickolya_K
сообщение Jun 2 2008, 12:12
Сообщение #25





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



Верю, что причину найти было бы лучше.
Прблема,что сбои слишком редкие.
Проверка каждой идеи - день-два прогона.
Долбался, долбался, да и решил устранить последствие
Go to the top of the page
 
+Quote Post
stells
сообщение Jun 2 2008, 14:04
Сообщение #26


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(Nickolya_K @ Jun 2 2008, 16:12) *
Верю, что причину найти было бы лучше.
Прблема,что сбои слишком редкие.
Проверка каждой идеи - день-два прогона.
Долбался, долбался, да и решил устранить последствие

а регистр адреса EEPROM тоже пробовали устанавливать на неиспользуемый адрес после записи, как советовали выше?
эта ошибка одного кристалла или системная для tiny26?
Go to the top of the page
 
+Quote Post
Nickolya_K
сообщение Jun 2 2008, 15:21
Сообщение #27





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



проверял на 3-х кристаллах. может партия неудачная. 0735
записывал сразу пакет из 6 байтов данных. после выключения-включения иногда один из битов может изменить состояние из 0 в 1.
расположение бита по этим 6 байтам произвольное. Поэтому думаю, что прямой связи адреса ЕЕПРОМ и потерянного данного нет. Кстати, ячейка с адресом, на который указывал регистр, портилась, пожалуй, пореже остальных...
Go to the top of the page
 
+Quote Post
stells
сообщение Jun 2 2008, 16:57
Сообщение #28


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(Nickolya_K @ Jun 2 2008, 19:21) *
проверял на 3-х кристаллах. может партия неудачная. 0735
записывал сразу пакет из 6 байтов данных. после выключения-включения иногда один из битов может изменить состояние из 0 в 1.
расположение бита по этим 6 байтам произвольное. Поэтому думаю, что прямой связи адреса ЕЕПРОМ и потерянного данного нет. Кстати, ячейка с адресом, на который указывал регистр, портилась, пожалуй, пореже остальных...

да... засада... не знаю, как у вас, а у меня прибор, в котором я использую tiny, скважинный и доступа к нему во время работы нет... поэтому и понять, что с ним происходит, невозможно... если будет проявляться такой эффект, то он будет просто гнать наверх ложную телеметрию...
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jun 2 2008, 17:18
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



В одном из изделий у меня слетала EEPROM на некоторых изделиях. Причина проста. Изделие работало от 14745600 на 3.3V. BOD, согласно документа, выставлен на 2.7V. Скорее всего сбой происходит либо в момент включения либо выключения (нарастания либо спада) при напряжении граничном с BOD. Перевод изделия на 11059200 полностью устранил проблему.

Мои рекомендации таковы. Увеличьте скорость нарастания/спада питания источника. Выберите частоту контроллера согласно даташиту при выбранном напряжении BOD. Борьба с последствиями - сможет уменьшить вероятность возникновения, но проблему не устранит. Если процессор молотит неправильно, то он может запортить любую инфу. Даже на внешнем носителе информации.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 2 2008, 17:47
Сообщение #30


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(SasaVitebsk @ Jun 2 2008, 20:18) *
BOD, согласно документа, выставлен на 2.7V.
....
11059200 полностью устранил проблему.

Overclock все равно остался ;>

Как-то по недосмотру зашили BOD 2.7В (вместо 4.0В) в партию девайсов (100 шт) с питанием 5В и частотой 11.0592. В девайсах есть особенность - быстрое нарастание и очень медленный спад питания.
В одном из девайсом слетел блок eeprom через месяц работы причем слетел "по-взрослому", CRC8 проверка выдала "Ok" в, то время как данные запортились напрочь. В остальных 99 устройствах слетов не наблюдалось.

Мораль байки:
Atmel гарантирует работу на частотах до 8Mhz с питанием 2.7В, для частот выше 8Mhz и питании ниже 3В есть риск и неопределенность.
Go to the top of the page
 
+Quote Post

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

 


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


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