Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
15.08.2008, 10:10
|
|
Частый гость
Регистрация: 18.12.2007
Сообщений: 34
Сказал спасибо: 8
Сказали Спасибо 3 раз(а) в 1 сообщении
|
Сообщение от Superki
|
Если Вам нужно сохранять данные в памяти контроллера энергонезависиомо, можно работать с внутренней флэш-памятью, так называемый self-programming, я этим пользуюсь, не жалуюсь)))
могу поподробней если нужно рассказать))
|
Superki, аууу......
Я надеюсь на подробности
|
|
|
|
15.08.2008, 15:35
|
|
Прописка
Регистрация: 08.02.2008
Сообщений: 150
Сказал спасибо: 22
Сказали Спасибо 19 раз(а) в 19 сообщении(ях)
|
Что могу сказать.. действительно, существует ограниченность ресурса записи/перезаписи во флэш-память.. по данным Atmel, количество перезаписей ограничено 10000... если данные не будут часто меняться, то этого вполне достаточно..
поподробней про реализацию почитайте
http://www.gaw.ru/html.cgi/txt/app/m...avr/AVR109.htm
мне очень помогло, когда начинал работать с флэш.. еще конечно без даташита не обойтись))
у меня в проекте ведется сохранение 19000 значений... сбоев не было... запись происходит достаточно быстро, за секунду можно записать несколько тысяч значений...
насчет EEPROM не знаю, насколько часто могут возникать ошибки))
есть еще один вариант-подключить внешнюю микросхему с флэш или ЕЕПРОМ памятью.. но это дополнительные аппаратные затраты...
если что еще нужно разъяснить, обращайтесь))
|
|
|
|
15.08.2008, 21:56
|
|
Прописка
Регистрация: 30.06.2006
Сообщений: 147
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 3 сообщении(ях)
|
Если у Вас что-то улетело из еепром в атмеле- это
только неправильно написаны программы чтения/ записи.
Просто в результате сбоя- например при понижении напряжении и отключеном BOD, и отсутствии супервизора на сбросе, ниже 2.7в на контроллере (пускай даже на милисекунду), происходят безусловные переходы по программе, контроллер беспорядочно начинает выполнять непонятно какую инструкцию, и если он попадает на запись в еепром- то поверьте он запишет что хочет куда хочет. Это относиться и к пикам и к техасам и ко всему что есть. Никакая компания не сможет защитить свои контроллеры от неумелого программиста.
Обязательно вешайте на сброс супервизор или включайте BOD на запрет ниже 4.1в (атмелы) и проблем не будет даже с косыми программами.
Еще есть рекомендации защищать процесс записи алгоритмом (например проверкой истинности значения какого-нибуть регистра непосредственно перед записью),это сделает ошибку почти невозможной.
Кстати я тоже недавно купил книгу на рынке о контроллерах, и там такая ахинея написана, сразу понятно- автор никогда то о чем пишет в глаза не видел. Так что советую сначала прочитать даташит на контроллер, а потом выбирать что читать.
И еще насчет количества чтения записи еепром-
я однажды проверил контроллер- написал такую прогу, которая ПОСТОЯННО пишет в еепром числа 00,01,02...FF
во все ячейки, при этом проверяет что записал, и если наступает ошибка- включается светодиод. В минуту- тысячи записей. И что Вы думаете- светодиод засветился только через неделю причем контроллер уже потом не читался. Похоже у него отказала вся память.
И он был горячий на ощупь когда шла постоянная запись.
Так что делайте выводы сами. Контроллер был еще AT90 серии.И на мой взгляд еепром память- очень надежная память.
/ret/
|
|
|
|
16.08.2008, 14:53
|
|
Прохожий
Регистрация: 05.09.2004
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
|
Были случаи повреждения данных в EEPROM (данные простые , объем -несколько бит )записываются при воздействии оператора (а не автоматически).
Устройства (ну может пара дюжен ) работают в разных регионах страны в промышленном диапазоне температур. Тип проца- мега16. (применяется супервизор) (время работы устройств от 3 лет до полугода)
Сбои произошли при невыесненных обстоятельствах
Количество отказов - раза 4 (в двух случаях , повторение на одном и том же обьекте)- предположительная причина -электромагнитная помеха.
Прислушайтесь к PICAVR !!!
|
|
|
|
16.08.2008, 19:20
|
|
Прописка
Регистрация: 08.02.2008
Сообщений: 150
Сказал спасибо: 22
Сказали Спасибо 19 раз(а) в 19 сообщении(ях)
|
retaler, разрешите поинтересоваться, что такое супервизор?
|
|
|
|
16.08.2008, 19:25
|
|
Прохожий
Регистрация: 17.11.2006
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
на AVR tiny делал девайс, который сохранял результаты работы в EEPROM при пропадании питания (отслеживался минимально допустимый уровень напряжения на входе девайса, пока разрядится входная емкость в БП времени хватало и еепром записать и чайку попить ). Через полтора года заказчик ещё приобрел несколько таких девайсов... и уже два года пока от него никаких жалоб. Девайсы эксплуатируются в производственных цехах. Как писалось уже выше - добротный РЕСЕТ поможет избижать проблем с затиранием ЕЕПРОМ.
|
|
|
|
18.08.2008, 08:54
|
|
Частый гость
Регистрация: 25.12.2007
Сообщений: 14
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от Superki
|
retaler, разрешите поинтересоваться, что такое супервизор?
|
Это такой девайс, который вешается на ножку сброса контроллера и при включении формирует специальный сигнал сброса для уверенного запуска МК!
|
|
|
|
18.08.2008, 08:58
|
|
Частый гость
Регистрация: 25.12.2007
Сообщений: 14
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Надёжность EEPROM в AVR
Сообщение от lankai
|
Прочитал в книге Баранова, что EEPROM в AVR довольно ненадёжная штука .
|
Извини, а что за книга баранова? Интересно почитать.
|
|
|
|
18.08.2008, 09:39
|
|
Частый гость
Регистрация: 07.07.2004
Сообщений: 37
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
picavr прав самое надежное востановление данных это многократное повторение (я делал по 5 ячеек). Для повышения надежности лучше писать в ячейки не подряд а через одну (были случаи когда портились две соседнии ячейки), и желательно не пользоваться нулевой ячейкой (это помоему и в даташите прописано). Еще один алгоритм который я применял это смена адресов т.е. каждые полчаса меняется адрес ячеек для записи данных, блок кодируется CRC и в случае ошибки возможен откат на полчаса назад (или на час, полтора ).
|
|
|
|
18.08.2008, 10:12
|
|
Временная регистрация
Регистрация: 29.09.2006
Сообщений: 64
Сказал спасибо: 0
Сказали Спасибо 23 раз(а) в 1 сообщении
|
Программирование BODEN и BODLEVEL, ИМХО, еще не дает 100% гарантии отсутствия проблем с EEPROM. Проверено на практике не раз. Я всегда ставлю BODEN на 4В, внешний супервизор не ставлю. Разрушение данных EEPROM возникает при включении (или может быть при последнем выключении).
Используемые кристаллы - Mega16/Mega32, Mega64.
Начет криво написанных программ - вопрос спорный при использовании компиляторов. Тут скорее речь о специальных алгоритмах для работы с EEPROM для уменьшения вероятности разрушения данных в ней.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:39.
|
|