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

 
 
> Tiny13, проблема с чтением EEPROM
Len_OK
сообщение May 13 2008, 06:44
Сообщение #1


Участник
*

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



Есть электронный ключ на базе МК Tiny13. Данные ключа хранятся в EEPROM.
Проблема такая: после некоторого времени использования ключа EEPROM-ка периодически не читается, либо при чтении обнаруживаются изменённые данные! можно ли решить эту проблему?
Как защитить контроллер от статики,которая может наводиться на корпус ключа?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
defunct
сообщение May 13 2008, 10:36
Сообщение #2


кекс
******

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



Цитата
В моём случае (на мой взгляд) следующая ситуация : в определённые моменты времени уровень на линии RESЕT достигал низкого уровня, при этом по линиям MOSI, SCK могли проходить помехи которые и преводили МК в режим программирования.

Все это очень смущает. Почему тогда у вас не слетал Flash? Помеха была такой умной, что генерила только команду записи eeprom? Звучит абсурдно.
И не проще ли отключить reset в таком случае? Для восьминогой Tiny13 дополнительная ножка куда более актуальна чем вкл/откл ISP.
Go to the top of the page
 
+Quote Post
mart-13
сообщение May 13 2008, 12:17
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 12-12-07
Из: Украина
Пользователь №: 33 226



Цитата(defunct @ May 13 2008, 14:36) *
Да ну бросте городить чушь. BOD надо включать, а не SPIEN смыкать, чтобы МК сбрасывался до того как питание упадет ниже критической отметки, после которой может изменяться содержимое RAM (регистр PC относится к RAM). А вот изменение содержимого RAM как раз может повлечь за собой прыжек на любой участок кода, в том числе и на участок где производится запись в eeprom. От того он у вас и слетал.

Для отладки Tiny13 вообще-то есть debugWire интерфейс, при включение которого ISP отключается автоматически.

1. Включить BOD.
2. Сделать запись помехозащищенной - разбить eeprom на два блока по 32 байта. Данные сохранять сразу в два блока, блоки защищать хотя бы CRC8. При слете данных в одном из блоков - брать данные из второго, и восстанавливать "сбойнувший" блок.


Все это очень смущает. Почему тогда у вас не слетал Flash? Помеха была такой умной, что генерила только команду записи eeprom? Звучит абсурдно.
И не проще ли отключить reset в таком случае? Для восьминогой Tiny13 дополнительная ножка куда более актуальна чем вкл/откл ISP.


На сколько я понимаю, даный форум был создан для того, чтобы люди смогли получить ответы на свои вопросы и поделиться опытом, а не слышать в свою сторону "несешь чушь"... Хотя Вы, уважаемый defunct и "Гуру", но с вашей стороны это мягко говоря неуважение к нам форумчанам.
Ну включили вы свой БОД, ну есть цитата в даташите:

EEPROM data corruption can easily be avoided by following this design
recommendation:
Keep the AVR RESET active (low) during periods of insufficient power supply voltage.
This can be done by enabling the internal Brown-out Detector (BOD). If the
detection level of the internal BOD does not match the needed detection level, an
external low VCC Reset Protection circuit can be used. If a reset occurs while a write
operation is in progress, the write operation will be completed provided that the
power supply voltage is sufficient.

Да в этом Вы правы, но, судя из моего опыта - это не всегда срабатывает...
В моем случае порча ЕЕПРОМ часто происходила в тех же случаях, что и у Kalina, и у Len_OK, создавшего эту тему, а именно в момент присутствия каких либо напряжений на Vcc и линиях SPI, при этом на Reset было 0В. Один мой знакомый даже отправлял письмо компании Atmel (которая, кстати изначально занималась только ЕЕПРОМ) с подобным вопросом, и получил ответ, который полностью совпадает с опытом Kalina - проблемы с SPI, конечно же при условии соблюдения всех остальных замечаний по поводу ЕЕПРОМ АВР-ов.

И во-первых: !!!Внимательно!!! читая данную тему я заметил, что Kalina работал с Мега8, а там вообще нету debugWire...
Во-вторых:на сколько я знаю для debugWire надобно заиметь не совсем простой программатор...
В-третьих:если Вы отключите Reset, то не сможете программировать по SPI и Вам снова придется заиметь не совсем простой программатор...
В-четвертых:может быть Вы посоветуете еще и кодировать сами записываемые данные кодами Хеминга, Грея и т. п. Что же у Вас за ключ такой получится???
В-пятых:сама компания Атмел гарантирует правильную работу при соблюдении всех правил использования ЕЕПРОМ, как аппаратных так и программных.

ИМХО, люди здесь должны делиться своими знаниями и опытом, а не указывать кому и что как делать...

Цитата(defunct @ May 13 2008, 14:36) *
Все это очень смущает. Почему тогда у вас не слетал Flash? Помеха была такой умной, что генерила только команду записи eeprom? Звучит абсурдно.
И не проще ли отключить reset в таком случае? Для восьминогой Tiny13 дополнительная ножка куда более актуальна чем вкл/откл ISP.


Кстати, уважаемый defunct, вот нашел в этом же форуме тему, связаную со стиранием памяти контроллера в результате влияния помех на SPI - - -
http://electronix.ru/forum/index.php?showtopic=47174
Go to the top of the page
 
+Quote Post
defunct
сообщение May 13 2008, 12:17
Сообщение #4


кекс
******

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



Цитата(mart-13 @ May 13 2008, 14:53) *
На сколько я понимаю, даный форум был создан для того, чтобы люди смогли получить ответы на свои вопросы и поделиться опытом, а не слышать в свою сторону "несешь чушь"... Хотя Вы, уважаемый defunct и "Гуру", но с вашей стороны это мягко говоря неуважение к нам форумчанам.

это просто метки которые форум сам расставляет от количества постов. Никакого отношения к квалификации эти метки не имеют. Я бы был непротив если бы вместо "гуру" у меня там было написано "кекс".

Цитата
Ну включили вы свой БОД, ну есть цитата в даташите:
...
Да в этом Вы правы, но, судя из моего опыта - это не всегда срабатывает...

Хорошая попытка...

Цитата
В моем случае порча ЕЕПРОМ часто происходила в тех же случаях, что и у Kalina, и у Len_OK, создавшего эту тему, а именно в момент присутствия каких либо напряжений на Vcc и линиях SPI, при этом на Reset было 0В.

А у меня порчи eeprom от этого не происходило. Что я делаю не так?

Цитата
И во-первых: !!!Внимательно!!! читая данную тему я заметил, что Kalina работал с Мега8, а там вообще нету debugWire...

"Внимательно" читая данную тему Вы бы заметили, что тема называется "Tiny13". Какое отношение к этой теме могут иметь способы применимые на mega8? В m8 можно разместить бутлоадер и с легкостью перешивать чип через любой доступный интефейс. С t13 такой фокус не пройдет, но есть debugWire.
Я как раз стараюсь быть в русле темы не переключаться на другие чипы.

Цитата
Во-вторых:на сколько я знаю для debugWire надобно заиметь не совсем простой программатор...

А разве это не обязательное условие для нормальной работы? Или Вас больше устраивает верить в то что SPI интефейс (которого кстати в Tiny13 нет) каким-то образом может стирать EEPROM?

Цитата
В-третьих:если Вы отключите Reset, то не сможете программировать по SPI и Вам снова придется заиметь не совсем простой программатор...

Да разумеется, но в свете откровенно станного совета - отключить ISP - отключение Reset'a для Tiny13 смотрится куда более разумным выходом, т.к. хотя бы добавится драгоценный для этого чипа пин.

Цитата
В-четвертых:может быть Вы посоветуете еще и кодировать сами записываемые данные кодами Хеминга, Грея и т. п. Что же у Вас за ключ такой получится???

Может быть, зависит от задачи. Для задачи этой ветки я считаю, что два блока защищенных CRC8 будет достаточно для того чтобы навсегда избавиться от проблем искажения EEPROM.

Цитата
В-пятых:сама компания Атмел гарантирует правильную работу при соблюдении всех правил использования ЕЕПРОМ, как аппаратных так и программных.

Мы не застрахованы от пропадания питания и/или подачи сигнала Reset во время записи ячейки EEPROM, следовательно никаких гарантий нет и быть не может. Гарантии достигаются дублированием важной информации.

Цитата
ИМХО, люди здесь должны делиться своими знаниями и опытом, а не указывать кому и что как делать...

Разумеется я вам и не указ. И мне все равно как те или иные задачи будут решены.
Я просто высказываю свое мнение, а оно у меня таково - взаимосвязи между стиранием EEPROM и отключением ISP нет.

Цитата
вот нашел в этом же форуме тему, связаную со стиранием памяти контроллера в результате влияния помех на SPI

Я ее читал - там нет ни одного серьезного факта подтверждающего стирание памяти. Только "друг сказал", "где-то слышал", "кто-то жаловался" и т.п, это можно расценивать как реальные факты?.
Go to the top of the page
 
+Quote Post
Kalina
сообщение May 13 2008, 12:38
Сообщение #5


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

Группа: Свой
Сообщений: 75
Регистрация: 19-12-07
Из: Житоимр
Пользователь №: 33 457



Цитата(defunct @ May 13 2008, 16:17) *
Или Вас больше устраивает верить в то что SPI интефейс (которого кстати в Tiny13 нет) каким-то образом может стирать EEPROM?


Интересненько, а как же без SPI этот контроллер вообще можна прошить? Может вам удавалась его прошить по debugWire?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Len_OK   Tiny13   May 13 2008, 06:44
- - Палыч   Цитата(Len_OK @ May 13 2008, 09:44) ...по...   May 13 2008, 06:55
- - Len_OK   по питанию всё нормально, пробовала на корпус дава...   May 13 2008, 07:28
|- - Палыч   Возможно, при включении питания у Вас - кратковрем...   May 13 2008, 07:34
|- - ZyBEX   Цитата(Len_OK @ May 13 2008, 11:28) по пи...   May 13 2008, 13:08
- - Len_OK   как можно избавится от этого?   May 13 2008, 07:38
|- - Vanizma   Цитата(Len_OK @ May 13 2008, 11:38) как м...   May 13 2008, 08:04
- - Палыч   Взять хороший блок питания   May 13 2008, 07:39
|- - Клим   Цитата(Палыч @ May 13 2008, 10:39) Взять ...   May 13 2008, 07:44
|- - Палыч   Цитата(Клим @ May 13 2008, 10:44) Какой т...   May 13 2008, 08:12
|- - Kalina   Цитата(Палыч @ May 13 2008, 12:12) Легче ...   May 13 2008, 08:40
- - Kalina   Цитата(Len_OK @ May 13 2008, 10:44) либо ...   May 13 2008, 07:51
|- - defunct   Цитата(Kalina @ May 13 2008, 10:51) Пробл...   May 13 2008, 09:52
|- - Kalina   Цитата(defunct @ May 13 2008, 13:52) Да н...   May 13 2008, 10:17
|- - Палыч   Цитата(Kalina @ May 13 2008, 13:17) ...в ...   May 13 2008, 13:23
- - Serega Doc   А разве бывают диоды с падением 5-6 В Помоему на д...   May 13 2008, 08:26
- - sseett   EEPROM портится, когда питашка падает до уровня сл...   May 13 2008, 08:48
|- - Kalina   Цитата(sseett @ May 13 2008, 12:48) EEPRO...   May 13 2008, 09:16
|- - Палыч   Цитата(Kalina @ May 13 2008, 12:16) ...ка...   May 13 2008, 09:23
|- - sseett   Цитата(Kalina @ May 13 2008, 18:16) Если ...   May 16 2008, 08:52
- - Клим   Цитата(Палыч @ May 13 2008, 11:12) Питани...   May 13 2008, 09:26
- - Len_OK   в том то и дело, что данные портятся во время чтен...   May 13 2008, 09:37
|- - Палыч   Цитата(Len_OK @ May 13 2008, 12:37) одна ...   May 13 2008, 10:06
|- - Len_OK   Цитата(Палыч @ May 13 2008, 13:06) Если с...   May 13 2008, 10:40
|- - mart-13   Цитата(defunct @ May 13 2008, 16:17) Или ...   May 13 2008, 12:28
||- - defunct   Цитата(mart-13 @ May 13 2008, 15:28)...   May 13 2008, 12:32
||- - defunct   Цитата(Kalina @ May 13 2008, 15:38) Интер...   May 13 2008, 12:52
||- - mart-13   Цитата(defunct @ May 13 2008, 16:52) пери...   May 13 2008, 13:36
|||- - defunct   Цитата(mart-13 @ May 13 2008, 16:36)...   May 13 2008, 13:55
|||- - Kalina   Цитата(defunct @ May 13 2008, 17:55) Ну а...   May 13 2008, 14:04
||||- - defunct   Цитата(Kalina @ May 13 2008, 17:04) Про ...   May 13 2008, 14:45
|||- - mart-13   Цитата(defunct @ May 13 2008, 17:55) Знач...   May 13 2008, 14:17
||- - Kalina   Цитата(defunct @ May 13 2008, 16:52) Чере...   May 13 2008, 13:47
|- - mart-13   Цитата(defunct @ May 13 2008, 16:17) Или ...   May 13 2008, 12:47
|- - singlskv   Цитата(defunct @ May 13 2008, 16:17) это ...   May 13 2008, 21:21
|- - 777777   Кстати, о программировании сброса. Я его программи...   May 14 2008, 05:49
|- - Палыч   Цитата(777777 @ May 14 2008, 08:49) есть ...   May 14 2008, 06:09
|- - 777777   Цитата(Палыч @ May 14 2008, 10:09) Почему...   May 14 2008, 06:41
|- - Палыч   Цитата(777777 @ May 14 2008, 09:41) И куд...   May 14 2008, 06:57
- - Serega Doc   Может не будем разводить базар вокзал в ветке фору...   May 14 2008, 09:47


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

 


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


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