|
В AVR слетает flash., проблема. |
|
|
|
Dec 17 2004, 14:34
|

Участник

Группа: Свой
Сообщений: 22
Регистрация: 17-12-04
Из: С.-Петербург
Пользователь №: 1 516

|
Есть небольшая разработка на AVR для промышленного использования. Во время эксплуатации обнаружилась очень неприятная особенность - слетает флешина у кристалла (образ считанной флеш не совпадает с залитым при установке изделия), что приводит к некорректной работе прибора.
Пока работаем на дома на столе - все нормально, проявляется только в цеху, при сильно плохом питании - скачки напряжения, гармоники...
На входе по питанию у нас - импульсный стабилизатор, на плате - внешний далласовский спервизор на 4.5 вольта...
Если кто сталкивался подобным траблом, поделитесь опытом, плиз
проблема наблюдалась на AT8535, ATmega163, ATmega322, ATmega32
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Dec 18 2004, 10:31
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(andk @ Dec 18 2004, 10:33) Проблема на самом деле известная, и хворают этой болезнью практически все атмельные камни - кто больше, кто меньше. Чаще всего проявляется в слете 0 ячейки во флэш данных. Лечение - ставить молнитор питания на вход сброса. Отписано у Атмелов. можно не пользоваться о ячейкой. моси-мисо-сцк- не оставлять в воздухе. Да, еще не хило бы посмотреть на качество разводки проводников с резонатора, сброса и питания. Частенько проблемы живут именно там... Тщательные испытания на стендах показали, что andk абсолютно прав, особенно во втором абзаце. Никогда не следует пренебрегать чтение тех глав даташитов, где говорится о разводке цепей питания и других полезных советах. Наша фирма выпускает изделия на Atmel AVR семействе десятками тысяч и подобных моментов не было (начальство очень серьёзно жарит конструкторский отдел).
|
|
|
|
|
Dec 18 2004, 12:32
|

Участник

Группа: Свой
Сообщений: 22
Регистрация: 17-12-04
Из: С.-Петербург
Пользователь №: 1 516

|
Спасибо за советы, поэксперементируем еще... Супервизор у нас стоит, моси-мисо тоже подтягиавли, все равно глюк проявлялся...
А насчет схемы разводки проводников с резонатора и ресета я первый раз слышу, может действительно в этом глюк?
Вроде обычная печатная плата, не очень длинные проводники, 30-40 мм, пара изгибов... что имеется в виду под качеством разводки, длина самих проводников, их расположение относительно других элементов на плате?
У атмела насчет этого что-то можно почитать? Я у них видел только стандартную отмазку - типа ставте внешний супервизор и все у вас будет хорошо...
|
|
|
|
|
Dec 20 2004, 04:32
|
Частый гость
 
Группа: Свой
Сообщений: 199
Регистрация: 17-12-04
Из: Миасс
Пользователь №: 1 519

|
Да, Серокой, именно об слете флэш данных я и писал. Хотя, по большому счету, ничто не мешает загнуться и памяти программ. Про качество разводки: 1. Резонатор - как можно ближе к камню. Идеальный вариант - 1-2-3 мм от камня. 2. Конденсаторы резонатора максимально близко от выводов. 3. Общий провод конденсаторов - ОТДЕЛЬНОЙ проволокой НА ОБЩИЙ КАМНЯ. 4. Оч. хорошо, если есть полигончик по резонатором, прицепленный на общий камня. Ну и резонатор можно к полигончику припаять. 5. Сброс желательно цеплять к плюсу через резистор ~ 1к, т.к. внутренний резистор имеет огромное сопротивление и разброс - если не изменяет память до 500к. Я применял в качестве монитора питания 1117сп42, там открытый коллектор и резюк встает автоматом, вроде замечаний нет 6. Питание.... Самый печальный вопрос... Целиком зависит от опыта конструктора-разработчика... Рекомендации только самые общие. Блокировочные емкости прямо на ногах проца - обязательно. Проволока общего - отдельная до источника (видел страшенные глюки когда на одной проволоке сидел проц и мощный инвертор) Пульсации питания - макс. 0.1 в Имееттся ввиду на экране осцилла - вч и нч составляющие вместе. (Ну естес-но щуп с делителем!) Все остальное - качество конструктора-разработчика  Удачи!
|
|
|
|
|
Dec 20 2004, 11:52
|

Частый гость
 
Группа: Свой
Сообщений: 146
Регистрация: 4-11-04
Из: Московская область
Пользователь №: 1 040

|
Цитата(serg_am @ Dec 17 2004, 17:34) Пока работаем на дома на столе - все нормально, проявляется только в цеху, при сильно плохом питании - скачки напряжения, гармоники... Попробуй поставить супрессоры (TVS диоды) соотв. напряжения на все питания и все провода, подходящие к плате извне.
--------------------
- ЗАМЕНЯТЬ ДЕТАЛИ НА ХОДУ ВОСПРЕЩАЕТСЯ !!! -
|
|
|
|
|
Jan 18 2005, 11:17
|
Местный
  
Группа: Свой
Сообщений: 278
Регистрация: 18-01-05
Из: Санкт-Петербург
Пользователь №: 2 031

|
Если бы проблема была с подтяжкой MISO, MOSI, затиралась бы не только EEPROM(память данных), но и flash(память программ). Была похожая проблема но с кристаллами семейства avr. В семействе mega можно вроде обходится и без внешнего супервизора. Во всех mcu этого семейства есть встроенные brown-out detect. Надо только fuse правильно прошить. Если интересно прилагаю атмеловскую статейку на эту тему(avr180), там всё подробно описано. Чтобы не было проблем с питанием я использую dc-dc с гальванической изоляцией и с широким входным диапозоном напряжений.
|
|
|
|
|
Jan 18 2005, 12:19
|

Участник

Группа: Свой
Сообщений: 22
Регистрация: 17-12-04
Из: С.-Петербург
Пользователь №: 1 516

|
Цитата(_Sam_ @ Jan 18 2005, 14:17) Была похожая проблема но с кристаллами семейства avr. В семействе mega можно вроде обходится и без внешнего супервизора. Во всех mcu этого семейства есть встроенные brown-out detect. Чтобы не было проблем с питанием я использую dc-dc с гальванической изоляцией и с широким входным диапозоном напряжений. Встроенный супервизор у них глючно работает, в какой-то статейке я читал на эту тему.. чуть ли не сами атмелы рекомендуют использовать внешний супервизор А что за dc-dc вы используете, если не секрет, как называется?
|
|
|
|
|
Jan 18 2005, 14:13
|
Местный
  
Группа: Свой
Сообщений: 278
Регистрация: 18-01-05
Из: Санкт-Петербург
Пользователь №: 2 031

|
Поскольку у меня много индикаторов, устройство потребляет порядка 1.5-2А, ну я и взял с запасом 15Вт. Каталог прилагаю. Кстати это самые дешёвые dc-dc в Питере на такую мощность. Я по крайней мере дешевле не нашёл. неплохие вроде dc-dc фирмы traco, но они значительно дороже. есть ещё дешёвые dc-dc серии va... на несколько ватт. Однако они имеют узкий входной диапазон(10%) и ужасно глючат при плохом источнике. Поэтому для их использования необходимо предварительно ставить что-нибудь типа шим регулятора. В этом случае шим регулятор обеспечит широкий входной диапозон, а dc-dc гальваническую изоляцию. КПД правда в этом случае будет низкий.
Прикрепленные файлы
ASD15H.pdf ( 29.61 килобайт )
Кол-во скачиваний: 176
VA.pdf ( 154 килобайт )
Кол-во скачиваний: 112
|
|
|
|
|
Jan 18 2005, 14:25
|

Их либе дих ...
     
Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609

|
<Встроенный супервизор у них глючно работает, в какой-то ...> Юмор в том, что встроенный супервизор может срабатывать при меньшем чем декларируемое минимальное напряжение питания  К тому же в "классике" может возникать "тиристорный эффект" - при шумах по питанию она может закорачивать порты на землю, при это начинает греться до покраснени я и сгорает  Сам я подобными экспериментами не занимался, уважаемый мной друг с этим бодается уже больше года, утверждает, что с Mega дела в этом плане получше, во всяком случае они просто виснут не закорачивая порты, вот только собаку приходится внешнюю делать, своя то же помереть может
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
Jan 18 2005, 14:55
|
Местный
  
Группа: Свой
Сообщений: 278
Регистрация: 18-01-05
Из: Санкт-Петербург
Пользователь №: 2 031

|
Может быть. Я работал только с ATmega162, ATmega8, проблем которые были с EEPROM at90s8514 не было. И мне начинает казаться, что проблемы с EEPROM у вас не из-за питания. В atmelовских datasheet упоминается о двух возможных причинах повреждения EEPROM. Цитата During periods of low VCC, the EEPROM data can be corrupted because the supply voltage is too low for the CPU and the EEPROM to operate properly. These issues are the same as for board level systems using EEPROM, and the same design solutions should be applied. An EEPROM data corruption can be caused by two situations when the voltage is too low. First, a regular write sequence to the EEPROM requires a minimum voltage to operate correctly. Second, the CPU itself can execute instructions incorrectly, if the supply voltage is too low. EEPROM data corruption can easily be avoided by fol lowing 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 Кстати если пользоваться внутренним BOD надо иметь ввиду, что предусматривается установка двух уровней.(Например для ATmega8 2.4-2.9v и 3.7-4.5v)
|
|
|
|
|
Jan 18 2005, 15:03
|

Частый гость
 
Группа: Свой
Сообщений: 126
Регистрация: 25-11-04
Из: Подольск
Пользователь №: 1 224

|
Цитата(_Sam_ @ Jan 18 2005, 14:17) Если бы проблема была с подтяжкой MISO, MOSI, затиралась бы не только EEPROM(память данных), но и flash(память программ). Так ведь так оно и происходит, то есть слетает именно память программ, или я неверно понял автора темы?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|