|
самопроизвольная модификация EEPROM |
|
|
|
 |
Ответов
(15 - 29)
|
May 29 2008, 14:24
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(Nanobyte @ May 28 2008, 21:57)  Да, вот ещё есть малые сапёрные грабли (те, что по пояс  ). На время записи в EEPROM лучше будет запретить прерывания, если конечно они используются. Как-то я очень весело провёл почти сутки в поисках сбоев процесса калибровки прибора по этой причине. На все время записи ? ИМХО, это ерунда, запрещать нужно только на время спецпоследовательности запуска записи, иначе 1,8-8,5мс (зависит от чипа) прога не может ничем заниматься, запрещение прерывания на все время записи это костыль который скрывает ошибки в проектировании проги.
|
|
|
|
|
May 29 2008, 16:01
|

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

|
Цитата(singlskv @ May 29 2008, 18:24)  На все время записи ? ИМХО, это ерунда, запрещать нужно только на время спецпоследовательности запуска записи, иначе 1,8-8,5мс (зависит от чипа) прога не может ничем заниматься, запрещение прерывания на все время записи это костыль который скрывает ошибки в проектировании проги. наверное Вы правы... главное проверить в подпрограмме обработки прерывания завершилась ли предыдущая запись (если надо что-то писать), а так прерывание не должно повлиять на результат записи... может он не это имел ввиду?
|
|
|
|
|
May 29 2008, 16:15
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(stells @ May 29 2008, 20:01)  наверное Вы правы... главное проверить в подпрограмме обработки прерывания завершилась ли предыдущая запись Да, именно так, проверили и если еще не закончилась ушли заниматься другими делами... Цитата (если надо что-то писать) Если запрос на запись возникает спонтанно(те в практически в любой момент времени), тогда нужно организовать очередь из запросов. Цитата , а так прерывание не должно повлиять на результат записи... может он не это имел ввиду? Не должно ни разу, проблемы могут быть только если очень часто пишем и очередь образовалась внушительная, типа если в одной и той же еще необработанной очереди может попасться две записи одного данного...
|
|
|
|
|
May 30 2008, 21:15
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(QuickWitted @ May 29 2008, 14:13)  тоже изредка наблюдается у меги 8 в моём проекте... питание от USB. Слетает вся память полностью... МК пишет/читает епром по требованию от ПК. сам МК в неё не лезет... чтение епрома сильно не часты... Это стопудовый программный хомут. У меня серийное изделие выпускается на м8 с питанием от USB. Перед ним стаял комплект из м8515+т2313 ну и так далее. Конфигурация этого прибора хранится в EEPROM. Причём так, что с вероятностью близкой к 100% если запортится, то изделие ко мне вернётся. И так уже много лет. Ну нет проблем! Просто нет. Единицы тысяч изделий.
|
|
|
|
|
Jun 1 2008, 05:14
|
Группа: Новичок
Сообщений: 12
Регистрация: 22-08-07
Пользователь №: 29 981

|
Аналогичная ситуация и именно с тини26 Слетают ячейки еепром то ли по включению, то ли по выключению - естественно, выяснить не удалось. Все что выше советовалось, пробовал - вопрос в статистике. собрал автомат - клацалку с периодом в 10 секунд. Более 2-х суток не выдерживала никакая идея. Что помогло: Значений мне надо сохраниять немного. Каждое значение сохранил в 3-х местах. По включению сравниваю считанные. Если 2 значения равны между собой, записываю его в 3-ю ячейку. вылетов одновременно 2-х ячеек, относящихся к одной переменной, пока не наблюдалось (клацанье пошло уже на вторую неделю).
|
|
|
|
|
Jun 1 2008, 13:26
|
Группа: Новичок
Сообщений: 12
Регистрация: 22-08-07
Пользователь №: 29 981

|
Да BOR-то включен... Я понимаю, 2 ячейки тоже вопрос времени. Но надеюсь, что время будет достаточно большим. Но все остаьные меры, что я пробовал, существенно ситуацию не улучшали
|
|
|
|
|
Jun 2 2008, 12:12
|
Группа: Новичок
Сообщений: 12
Регистрация: 22-08-07
Пользователь №: 29 981

|
Верю, что причину найти было бы лучше. Прблема,что сбои слишком редкие. Проверка каждой идеи - день-два прогона. Долбался, долбался, да и решил устранить последствие
|
|
|
|
|
Jun 2 2008, 15:21
|
Группа: Новичок
Сообщений: 12
Регистрация: 22-08-07
Пользователь №: 29 981

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

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

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

кекс
     
Группа: Свой
Сообщений: 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В есть риск и неопределенность.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|