Перейти к содержанию
    

Есть небольшая разработка на AVR для промышленного использования.

Во время эксплуатации обнаружилась очень неприятная особенность - слетает флешина у кристалла (образ считанной флеш не совпадает с залитым при установке изделия), что приводит к некорректной работе прибора.

 

Пока работаем на дома на столе - все нормально, проявляется только в цеху, при сильно плохом питании - скачки напряжения, гармоники...

 

На входе по питанию у нас - импульсный стабилизатор, на плате - внешний далласовский спервизор на 4.5 вольта...

 

Если кто сталкивался подобным траблом, поделитесь опытом, плиз

 

проблема наблюдалась на AT8535, ATmega163, ATmega322, ATmega32

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если подтянуть те порты, которые MISO-MOSI? Может, на них помехи наводятся, пока Reset в нуле стоит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема на самом деле известная, и хворают этой болезнью практически все атмельные камни - кто больше, кто меньше.

Чаще всего проявляется в слете 0 ячейки во флэш данных.

Лечение - ставить молнитор питания на вход сброса. Отписано у Атмелов.

можно не пользоваться о ячейкой.

моси-мисо-сцк- не оставлять в воздухе.

 

Да, еще не хило бы посмотреть на качество разводки проводников с резонатора, сброса и питания. Частенько проблемы живут именно там...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема на самом деле известная, и хворают этой болезнью практически все атмельные камни - кто больше, кто меньше.

Чаще всего проявляется в слете 0 ячейки во флэш данных.

Лечение - ставить молнитор питания на вход сброса. Отписано у Атмелов.

можно не пользоваться о ячейкой.

моси-мисо-сцк- не оставлять в воздухе.

 

Да, еще не хило бы посмотреть на качество разводки проводников с  резонатора, сброса и питания. Частенько проблемы живут именно там...

Тщательные испытания на стендах показали, что andk абсолютно прав, особенно во втором абзаце.

Никогда не следует пренебрегать чтение тех глав даташитов, где говорится о разводке цепей питания и других полезных советах.

Наша фирма выпускает изделия на Atmel AVR семействе десятками тысяч и подобных моментов не было (начальство очень серьёзно жарит конструкторский отдел).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за советы, поэксперементируем еще...

Супервизор у нас стоит, моси-мисо тоже подтягиавли, все равно глюк проявлялся...

 

А насчет схемы разводки проводников с резонатора и ресета я первый раз слышу, может действительно в этом глюк?

 

Вроде обычная печатная плата, не очень длинные проводники, 30-40 мм, пара изгибов...

что имеется в виду под качеством разводки, длина самих проводников, их расположение относительно других элементов на плате?

 

У атмела насчет этого что-то можно почитать? Я у них видел только стандартную отмазку - типа ставте внешний супервизор и все у вас будет хорошо...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Атмела пишут о слёте не flash, а EEPROM. Это да, лечится супервизором, а также неиспользованием ячейки 0 (и выставлением на неё указателя в тот момент, когда EEPROM не используется). Но это, насколько я вижу, несколько иная история.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, Серокой, именно об слете флэш данных я и писал.

Хотя, по большому счету, ничто не мешает загнуться и памяти программ.

Про качество разводки:

1. Резонатор - как можно ближе к камню. Идеальный вариант - 1-2-3 мм от камня.

2. Конденсаторы резонатора максимально близко от выводов.

3. Общий провод конденсаторов - ОТДЕЛЬНОЙ проволокой НА ОБЩИЙ КАМНЯ.

4. Оч. хорошо, если есть полигончик по резонатором, прицепленный на общий камня. Ну и резонатор можно к полигончику припаять.

5. Сброс желательно цеплять к плюсу через резистор ~ 1к, т.к. внутренний резистор имеет огромное сопротивление и разброс - если не изменяет память до 500к. Я применял в качестве монитора питания 1117сп42, там открытый коллектор и резюк встает автоматом, вроде замечаний нет

6. Питание.... Самый печальный вопрос... Целиком зависит от опыта конструктора-разработчика... Рекомендации только самые общие.

Блокировочные емкости прямо на ногах проца - обязательно.

Проволока общего - отдельная до источника (видел страшенные глюки когда на одной проволоке сидел проц и мощный инвертор)

Пульсации питания - макс. 0.1 в Имееттся ввиду на экране осцилла - вч и нч составляющие вместе. (Ну естес-но щуп с делителем!)

 

Все остальное - качество конструктора-разработчика :)

Удачи!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока работаем на дома на столе - все нормально, проявляется только в цеху, при сильно плохом питании - скачки напряжения, гармоники...

 

Попробуй поставить супрессоры (TVS диоды) соотв. напряжения

на все питания и все провода, подходящие к плате извне.

:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если бы проблема была с подтяжкой MISO, MOSI, затиралась бы не только EEPROM(память данных), но и flash(память программ).

 

Была похожая проблема но с кристаллами семейства avr. В семействе mega можно вроде обходится и без внешнего супервизора. Во всех mcu этого семейства есть встроенные brown-out detect. Надо только fuse правильно прошить. Если интересно прилагаю атмеловскую статейку на эту тему(avr180), там всё подробно описано.

 

Чтобы не было проблем с питанием я использую dc-dc с гальванической изоляцией и с широким входным диапозоном напряжений.

AVR180_1051.PDF

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Была похожая проблема но с кристаллами семейства avr. В семействе mega можно вроде обходится и без внешнего супервизора. Во всех mcu этого семейства есть встроенные brown-out detect.

 

Чтобы не было проблем с питанием я использую dc-dc с гальванической изоляцией и с широким входным диапозоном напряжений.

Встроенный супервизор у них глючно работает, в какой-то статейке я читал на эту тему.. чуть ли не сами атмелы рекомендуют использовать внешний супервизор :)

 

А что за dc-dc вы используете, если не секрет, как называется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поскольку у меня много индикаторов, устройство потребляет порядка 1.5-2А, ну я и взял с запасом 15Вт. Каталог прилагаю. Кстати это самые дешёвые dc-dc в Питере на такую мощность. Я по крайней мере дешевле не нашёл.

 

неплохие вроде dc-dc фирмы traco, но они значительно дороже.

 

есть ещё дешёвые dc-dc серии va... на несколько ватт. Однако они имеют узкий входной диапазон(10%) и ужасно глючат при плохом источнике. Поэтому для их использования необходимо предварительно ставить что-нибудь типа шим регулятора. В этом случае шим регулятор обеспечит широкий входной диапозон, а dc-dc гальваническую изоляцию. КПД правда в этом случае будет низкий.

ASD15H.pdf

VA.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

<Встроенный супервизор у них глючно работает, в какой-то ...>

Юмор в том, что встроенный супервизор может срабатывать при меньшем чем декларируемое минимальное напряжение питания :(

 

К тому же в "классике" может возникать "тиристорный эффект" - при шумах по питанию она может закорачивать порты на землю, при это начинает греться до покраснени я и сгорает :(

Сам я подобными экспериментами не занимался, уважаемый мной друг с этим бодается уже больше года, утверждает, что с Mega дела в этом плане получше, во всяком случае они просто виснут не закорачивая порты, вот только собаку приходится внешнюю делать, своя то же помереть может :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть. Я работал только с 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)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если бы проблема была с подтяжкой MISO, MOSI, затиралась бы не только EEPROM(память данных), но и flash(память программ).

 

Так ведь так оно и происходит, то есть слетает именно память программ, или я неверно понял автора темы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...