Jump to content

    
Sign in to follow this  
Al_Jumper

ATmega1281V не стартует

Recommended Posts

При времени нарастания питания от 0 до 3.3В порядка 10-20 мс МЕГА встает враскорячку, не отзывается по ISP и вообще не подает признаков жизни. Ресет хороший, генерится стабилизатором TPS70158, поднимается резко примерно через 100 мс после достижения VCC 3.3 В. При резком нарастании VCC (~1мс) все нормально. При совсем медленном (1-2 секунды) - тоже. Кто с таким сталкивался - HELP!!! :help: Раньше с мегой103 такого никогда не было.

Share this post


Link to post
Share on other sites
Попробовать встроенный bod ?

 

Пробовал - бесполезно. BOD генерит RESET , а ресетом процессор из этого раскоряченного состояния не выводится. Никаким. Пока напрашивается только решение сделать ключ, подающий питание на МЕГУ уже после того, как VCC установилось. Но это означает переразводку платы, чего не хотелось бы.

Share this post


Link to post
Share on other sites

А какой генератор используете, может он не запускается?

И как определили, что проц встал в раскорячку? Может, он в бутлоадер влез, а вы там ничего не написали?

Лучше всего, конечно, такие ситуации с эмулятором отлавливать. У меня сейчас xmega32 + JTAGICE mkII прекрасно отслеживают пропадание и включения питания проца. При включении программа идет по вектору ресета (у меня в бутлоадер), так ставим брекпойнт и рассматриваем ситуацию!

Share this post


Link to post
Share on other sites
А какой генератор используете, может он не запускается?

И как определили, что проц встал в раскорячку? Может, он в бутлоадер влез, а вы там ничего не написали?

Лучше всего, конечно, такие ситуации с эмулятором отлавливать. У меня сейчас xmega32 + JTAGICE mkII прекрасно отслеживают пропадание и включения питания проца. При включении программа идет по вектору ресета (у меня в бутлоадер), так ставим брекпойнт и рассматриваем ситуацию!

Враскорячку, потому чтот ни на ресет ни на попытки обмена с компом по ISP (через AVREAL) он не реагирует. Бутлоадер у меня не используется - отключен фузами. JTAG тоже не используется и отключен.

Share this post


Link to post
Share on other sites
Пробовал - бесполезно. BOD генерит RESET , а ресетом процессор из этого раскоряченного состояния не выводится. Никаким.

Он не только генерит ресет, но и удерживает его, пока не установится нормальное питание (должен по идее), не допуская вставание "враскорячку"

На MSP430 подобная проблема решилась установкой внешнего супервизора на правильное напряжение

Share this post


Link to post
Share on other sites
Он не только генерит ресет, но и удерживает его, пока не установится нормальное питание (должен по идее), не допуская вставание "враскорячку"

На MSP430 подобная проблема решилась установкой внешнего супервизора на правильное напряжение

Даже если держать ресет вручную (кнопкой) на время поднятия питания с большим запасом, то все равно то же самое. Зависит только от скорости нарастания VCC. Внешний супервизор есть, уже писал, что ресет поднимается через 100 мс после установки питания. Клок от внешнего генератора, его амплитуда тоже устанавливается с запасом раннее, чем отпускается ресет.

Share this post


Link to post
Share on other sites
А параметр Vpsr (Power-on slope rate) Min=0.01V/ms Max=4.5V/ms (стр. 375 doc2549) Вам ничего не говорит ?

 

А что с ним не так ? 3.3в/(10..20мс) = 0.165..0.33в/мс - в рамках.

 

Честно говоря, первое подозрение - на клок.

Но раз уж он от геренатора и стабилен, не знаю (может ещё раз его проверить - а) заменить генератор, б) запитать генератор от отдельного постоянного питания, в) включить последовательно с клоком R~33ом, г) попробовать внутренний RC генератор меги, д) поднять питание меги до 5в...).

За сколько мсек у меня в проекте на 1281 (не V) растёт питание до 5в смогу только в чт глянуть (даже не задумывался об этом - всё на BOD спихнул, проблем не было. один раз с аналогичными симптомами не запустился генератор - почесал затылок, ткнул осциллографом в кварц -> заменил его - всё ок).

Edited by Ronin

Share this post


Link to post
Share on other sites
Честно говоря, первое подозрение - на клок.

При времени нарастания питания от 0 до 3.3В порядка 10-20 мс МЕГА встает враскорячку...

Может мега через защитные диоды запитывается от клока? И её от такого питания ставит с ступор? В старом даташите на мегу128 написано:

"Input High Voltage, XTAL1 pin, External, Clock Selected - Max: Vcc + 0,5V" Получается нельзя подавать клоки ДО подачи питания? Проверьте, переключив мегу на внутренний RC. (И отрезав соответственно генератор)

Share this post


Link to post
Share on other sites
При времени нарастания питания от 0 до 3.3В порядка 10-20 мс МЕГА встает враскорячку

А SUT фузы прошиты в соответствии с указанным нарастанием VCC?

14 CK + 65ms?

Share this post


Link to post
Share on other sites

Установите в фузак CKDIV=8, а в программе инициализации MCU (лучше в самом её конце) переходите на CKDIV=1.

И будет счастье.

Share this post


Link to post
Share on other sites

Давно заметил такую проблему с мегами (первоначально заметил на ATM128, потом то же самое на ATM32. (где-то в 2005 году экспериментировал).

Видимо это семейное у них.

Исследовал в свое время эту проблему.

Выявил на ATMega128 - когда проц впадает в такое состояние, у него на выводе PEN низкий уровень становится.

Причем никакие подтяжки на VCC его не могут поднять. Если напрямую на VCC замкнуть пи этом то ток течет бешеный через эту ного, процессор греется.

У меня при этом он откликался на команды ISP по SPI без команды входа в режим ISP (т.е. как бы изначально находился в режиме ISP).

Но при этом записаться туда ничего не могло и читался мусор.

Из этого состояния проц выводился только передергиванием питания.

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

После этого все мои девайсы на мегах содержат внешний watchdog с коммутацией питания. Если после подачи питания с проца не поступают прямоугольные импульсы, то питание снимается и подается вновь.

С тех пор больше с этой проблемой гиморроев не имею. правда стоимость девайса чуть увеличивается.

Share this post


Link to post
Share on other sites

Да, со 128 тоже такая проблема была, но там заметил четкую закономерность - проц не любит быстро растущий VCC. С SUT экспериментировал с разными - безрезультатно. На клок грешить на приходится. Генератор питается от того же источника. Пробовал с кварцем. Только с внутренним RC еще не пробовал. Попробую, но, предполагаю, что ничего не даст. Самое неприятное то, что источник питания находится в системе заказчика, и какое там будет нарастание неизвестно. В общем, похоже, придется сделать что-то похожее на то, что Вы предлагаете с внешним ключом по питанию.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this