Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Я вам симптоматику, вы мне диагноз.
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
zheka
ATMega32, напряжение питания 3.5 вольт, кварц 16 МГц, конденсаторы 22 pf не нашел, на скорую руку поставил 27 pf. Программирую через ByteBlaster.

Если CKOPT ставлю 0 то:
- микросхема не отвечает при программировании и стирании в большинстве случаев, но иногда программируется.
- при внешнем тактировании через XTAL программируется, запускается после отсоединения XTAL.
- при попытке снять осциллографом (USB disco) сигнал с XTAL контроллер останавливается, после убирания щупа продолжает работу без сброса, на XTAL в это время 1.8 вольт.

Если CKOPT ставлю 1 то:

- программируется и стирается через раз.
- но программа работает криво, тестовая моргалка моргает с частотой не 1 сек, а 6-8 секунд.
- при попытке снять осциллографом (USB disco) сигнал с XTAL уровень 0.8 вольт

P.S. знаю, что 16 МГц на Mega32 при 3.5 вольтах - не айс, но: запускал при таких условиях более 20 чипов, все работало устойчиво, по крайней мере шилось на ура. Во-вторых, Mega32 я поставил на место выпаянной Mega32L, которую использовал с кварцем 8 МГц - симптоматика была та же, так что прошу предположения о нехватке питания исключить.

Меня интересует - может ли это быть из-за большей емкости конденсаторов?


Уже 3-я ревизия платы, одна и та же проблема, то есть контроллеры ставил разные, кварцы ставил разные, электрические соединения, замыкания проверены десятки раз.
ikm
А что такая большая проблема купить нужный кондёр, и проверить самому?
zheka
А потому что живем в деревне, в Воронеже, позавчера кондеров не было, ездить каждый день не хочется, да предположение о кондерах возникло в концен написания поста.
По-моему нет ничего предосудительного, прежде чем у меня появятся кондеры нужного номинала, попытаться выяснить, вдруг не в них проблема.
Tcom
Цитата
- но программа работает криво, тестовая моргалка моргает с частотой не 1 сек, а 6-8 секунд.

МК работает от внутреннего RC генератора

Длинна проводов программатора...
Можете попробовать без конденсаторов.
zheka
Цитата
Длинна проводов программатора...



Господа, я премного благодарен за внимание к моей проблеме, поэтому не сочтите за невежливость, но зачем задавать такие вопросы, если я писал "запускал при таких условиях более 20 чипов, все работало устойчиво... " Я не паяю новый программатор для каждого чипа, адлина проводов у меня 10 см.

Выдрал кварцы на 22 пф со старого девайса, припаял - не помогло.
Отпаял кварц и конденсаторы, переключил на внутренний генератор на 8МГЦ - все ОК.
Может быть дело в разводке?
Выкладываю картинку - думаю, там интуитивно понятно где что, если нет - задавайте вопросы.
VladimirYU
Отпаял кварц и конденсаторы, переключил на внутренний генератор на 8МГЦ - все ОК.
ИМХО и на старуху бывает проруха, 20 штук завелись, 21-ый не шмог. Все-таки 3.5В это не штатно для меги32 да еще и на 16МГц. Вывод: не удивляйтесь, паяйте 22-ую, а лучше так не делать. Решать Вам.
zheka
Ладно, забудем про мегу32, до этого на плате побывали 2 меги32L при штатных условиях, те же беды.

Цитата
Отпаял кварц и конденсаторы, переключил на внутренний генератор на 8МГЦ - все ОК.

Таки не все ОК, проблемы опять появились - через раз программируется - "can't resync", даже внешнее тактирование не помогает.
Начинаю грешить на программатор и интерфейсную плату LPT, проблемы начались как раз когда я сменил комп и спаял новый программатор.
Попробую конечно обратно поставить мегу32L и нужные кварцы, а пока все-таки оцените разводку платы, нет ли потенциальных проблем?
Harbour
Да уж, тут телепаты нужны ... судя по всему шьем avreal'ом ... если сменили комп на явно побыстрее, то дело не мегах, нефиг их мучить - там опция есть в avreal - задержки надо выставить ... не успевает мега за гигагерцовыми пнями
zheka
Ставил задержки в 5 раз длиннее

если что - проц 3ГГц двухядерник )))
VladimirYU
Цитата(zheka @ May 5 2009, 08:34) *
а пока все-таки оцените разводку платы, нет ли потенциальных проблем?

Я не увидел. Попробуйте понькой, м.б. поможет, она типа калибруется под машину. А кварц заводится?
zheka
Цитата
А кварц заводится?


Простите я чайник, осциллограф у меня 1 мгц берет максимум, напряжения я указал.

Но! Думаю что все-таки заводится, ибо при программировании или стирании происходит RESET, avreal выдает ошибку, либо просто can't resync, либо "микросхема не отвечает, проверьте питание", после чего контроллер с записанной ранее программой стартует как ни в чем не бывало, и добротно исполняет программу.

в поньке что выбирать - AVR ISP API или AVR ISP IO?
Genadi Zawidowski
Цитата
ATMega32, напряжение питания 3.5 вольт, кварц 16 МГц

Диагноз: слепота (пациент даташита не видит).
8 мгц самое то для такого напражения питания.
@Ark
Цитата(zheka @ May 5 2009, 08:34) *
... все-таки оцените разводку платы, нет ли потенциальных проблем?

Выскажу предположение, что, возможно, проблемы - из-за не очень удачной разводки земли. Местами она, как-бы, состоит из нескольких отдельных кусков, соединеных между собой тонкими перемычками. IMHO, лучше так не делать...
zheka
Цитата
Диагноз: слепота (пациент даташита не видит).


Диагноз Вам: слепота, самомнение и нежелание читать всю тему.

Писал же, что:
а) Все чипы которые мне попадались прекрасно работают на 16 МГц и 3.5 вольт. И данный конкретный чип работает на 16 МГц и 3.5 вольт, если программа в него записана. Он просто не стирается и не программируется.
б) Та же проблема, в том же соусе при использовании amega32L на ее штатном напряжении и штатном кварце.
Genadi Zawidowski
Цитата(zheka @ May 5 2009, 10:46) *
а) Все чипы которые мне попадались прекрасно работают на 16 МГц и 3.5 вольт. И данный конкретный чип работает на 16 МГц и 3.5 вольт, если программа в него записана. Он просто не стирается и не программируется.

И Вы это называете "работает"? Да в чем угодно может "выстрелить" нештатный режим... Действительно всё остальное лишено смысла при такой постановке задачи...

Цитата
Mega32 я поставил на место выпаянной Mega32L, которую использовал с кварцем 8 МГц

Если вы пробовали Мегу32 (без L) при 3-х вольтах питания запускать - ведь тоже нарушение штатного режима - страница 332 (ordering information) дает диапазон допустимых напряжений 4.5..5.5 вольта.
Или гляньте в таблицу DC Characteristics - там для ATMega32 (без L) всё нормируется только при 5 вольт.
zheka
Цитата
Да в чем угодно может "выстрелить" нештатный режим...


Согласен. Но я привел этот довод потому что кажется странным что кварц запускается для работы и не запускается для программирования. Значит дело не в кварце? Или я не прав? Особенно учитывая пункт б
VladimirYU
Цитата(zheka @ May 5 2009, 10:05) *
Простите я чайник, осциллограф у меня 1 мгц берет максимум, напряжения я указал.

Но! Думаю что все-таки заводится, ибо при программировании или стирании происходит RESET, avreal выдает ошибку, либо просто can't resync, либо "микросхема не отвечает, проверьте питание", после чего контроллер с записанной ранее программой стартует как ни в чем не бывало, и добротно исполняет программу.

в поньке что выбирать - AVR ISP API или ?

Сообщение can't resync часто бывает, когда RESET не доходит до лапы контроллера, посмотрите что там делается при попытке программирования. Выбрать следует AVR ISP I/O, сделать калибровку и в светлый путь...Для avreal попробуйте опцию -%, может что-нибудь прояснится.
zheka
Цитата
Сообщение can't resync часто бывает, когда RESET не доходит до лапы контроллера, посмотрите что там делается при попытке программирования.

Контроллер при этом ресетится, так что...
Genadi Zawidowski
Цитата(zheka @ May 5 2009, 11:13) *
Согласен. Но я привел этот довод потому что кажется странным что кварц запускается для работы и не запускается для программирования. Значит дело не в кварце? Или я не прав? Особенно учитывая пункт б

Пункт б это где? Я немного дополнил свое сообщение на предидущей странице...
А Атмел сделал новую версию ATMega32A КОторая как раз во всем диапазоне до 5 вольт работает и только ограничения на частоту меняются - 8 или 16 мегагерц... В случае L и не L просто знать про ограничения по минимальному напряжению питания у каждой из них.
Tolyaha
Цитата(zheka @ May 5 2009, 07:34) *
а пока все-таки оцените разводку платы, нет ли потенциальных проблем?

Чисто мое мнение:
1. Земля и питание разведены не лучшим образом.
2. Кондер (в районе 27 ноги) вобще не работает т. к. "общий" его вывод доходит до МК вобще кругом через всю плату (я даже не увидел где, может и не доходит).
3. 39 вывод вобще не заведен на общий.
4. Кварц со своими кондерами далековат от входов XTAL, а кондеры сидят на общем далековато от выводов GND МК.
5. Непонятные кругом полигоны (острова метализации) не подключенные к GND, в том числе и под МК.
6. Непонятный транзит питания к другой микрухе и к разъему программирования (все без кондеров) т.е. программатор дергает питание МК т.к. запитан через него и микруха вверху тоже.

Пробуем лечить:
1. Добавляем кондер между выводами GND и VCC разъема программатора (прямо на контакты 2-4).
2. Соединяем кротчайшими путями (проволокой по квадрату над корпусом МК) выводы 6, 18, 28 ,39 и "общий" вывод кондера описанного выше (припаиваем на 28). Желательно еще добавить 0,1 мкФ непосредственно между выводами 5 и 6, 17 и 18, 38 и 39.

Пробуем, если не помогло, то отрезаем контакт 2 (VCC) разъема программирования от МК и садим его проводником на источник питания (я так понял в нижнем правом углу).
Должно заработать, но разводка, помоему крайне неудачная.
zheka
Tolyaha
Цитата
2. Кондер (в районе 27 ноги) вобще не работает т. к. "общий" его вывод доходит до МК вобще кругом через всю плату (я даже не увидел где, может и не доходит).
3. 39 вывод вобще не заведен на общий.


Вы правы.

Цитата
3. 39 вывод вобще не заведен на общий.

Ламерский вопрос - это плохо или недопустимо?

Цитата
5. Непонятные кругом полигоны (острова метализации) не подключенные к GND, в том числе и под МК.


А это художник (то бишь Sprint Layout) так видит.


Цитата
6. Непонятный транзит питания к другой микрухе и к разъему программирования (все без кондеров) т.е. программатор дергает питание МК т.к. запитан через него и микруха вверху тоже.


Вот это не понял... Если что - то разъем внизу - это разъем программатора, вертикальный однорядный разъем - это на него плата еще одна будет одеваться. Разъем питания - 2 металлизированных отверстия слева от трехвыводного стабилизатора, располагающегося в правом нижнем углу.

Кондеры какие ставить? один на 0,1 мкф и один на несколько мкф?




Цитата
Пробуем, если не помогло, то отрезаем контакт 2 (VCC) разъема программирования от МК и садим его проводником на источник питания (я так понял в нижнем правом углу).

Отрезать зачем?


Жирный P.S. Наиболее вероятно, что вы правы по поводу разводки. Ибо когда ищешь неисправность, руководствуешься логикой и реакция устройства на твои манипуляции логичная. Здесь же полный абсурд - танцы с бубнами и не выявлено не одной стойкой зависимости, ни одной причинно-следственной связи работы контроллера с твоими действиями.

Единственное - эта разводка через COPY/PASTE перекочевала уже на 3-ю плату и все три платы (причем третья в 3-х экземплярах) глючили. То есть работали нормально, программировались с трудом.

Эх, домой попаду завтра, буду пробовать. Спасибо.
Tolyaha
Цитата(zheka @ May 5 2009, 16:39) *
Ламерский вопрос - это плохо или недопустимо?

Очень желательно.
И специально производитель сделал с каждой стороны МК по паре GND и VCC чтоб между ними поставить кондер (0,1 мкФ вплотную к выводам), можно другой.
Цитата(zheka @ May 5 2009, 16:39) *
Вот это не понял...
Отрезать зачем?

Питание к программатору (на разъем) идет от стабилизатора не прямо, а длинным путем под МК, и отсутствуют напрочь кондеры. Тоесть программатор, когда работает, дергает потенциал энтой самой дорожки питания, которая идет через МК, отсюда предложение отрезать и запаять отдельный проводник, чтобы ток питания программатора не бежал по цепи питания МК и не создавал помех.
Цитата(zheka @ May 5 2009, 16:39) *
Кондеры какие ставить? один на 0,1 мкф и один на несколько мкф?

по 0,1 мкФ на выводы МК, а несколько мкФ между выводами питания разъема программатора
zheka
А конденсаторы на кварце может быть стоит переместить - поставить между кварцем и МК?
Tolyaha
Цитата(zheka @ May 5 2009, 21:10) *
А конденсаторы на кварце может быть стоит переместить - поставить между кварцем и МК?

По жизни (в будущем) стоит схему генератора делать наиболее компактной кварц и кондеры максимально близко к МК. Будет более устойчивая и CKOPT лучше ставить 0 - более мощный помехоустойчивый режим генератора (но больше жрет). А сейчас, помоему программатор сбивает МК, т.к. питание и общий плохо разведены и нет кондеров (кондер по питанию тем более эфективен, чем ближе находится к выводам питания элемента).
zheka
А вообще - на будущее - кондеры цеплять на все 4 питательные стороны МК?
Tolyaha
Цитата(zheka @ May 6 2009, 09:47) *
А вообще - на будущее - кондеры цеплять на все 4 питательные стороны МК?

Читаем внимательнее мои советы
VladimirYU
А все-таки как это вяжется с изначальными утверждениями, что 20 плат нормально программировались. Советы от Tolyaha бесспорно по делу. Но ИМХО в Вашем случае причина в чем-то другом. Откровенного криминала в разводке печатной платы я все же не вижу. Согласен с замечаниями Tolyaha, но должно программироваться и в таком исполнении. А не пробовали питание 5В, или вторая микруха его категорически не любит?
zheka
Цитата
А все-таки как это вяжется с изначальными утверждениями, что 20 плат нормально программировались.


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

Цитата
А не пробовали питание 5В, или вторая микруха его категорически не любит?


Да, не любит.

сделал все как сказали - не помогло.
PonyProg не хочет работать с интерфейсной картой LPT
Avreal последней версии вылетает с ошибкой "nothing to do with fuses"

Весь мир против меня...

Немного осовобожусь, разведу простейшую платку для мега32 и поэкспериментирую.
Tolyaha
Цитата(zheka @ May 6 2009, 16:08) *
сделал все как сказали - не помогло.

Еще кондерчик на RESET 0,1 мкФ можно между 1 и 4 выводами разъема программатора (RESET - GND)
VladimirYU
Цитата(zheka @ May 6 2009, 17:08) *
Более того, вы будете в шоке, но я оставлял в воздухе RESET. Ни одной проблемы.

В воздухе?! Или все же он был выведен на разъем пограммирования. Иначе в режим последовательного программирования контроллер посто не попадет.
zheka
Цитата
В воздухе?! Или все же он был выведен на разъем пограммирования. Иначе в режим последовательного программирования контроллер посто не попадет.


Причем здесь программирование? При всем везении чудес не бывает и без ресета контроллер не запрограммируется.
Имелась ввиду запуск и работа контроллера у которого ресет не подтянут. Ведь в таких случаях могут быть проблемы.
ReAl
Цитата(zheka @ May 6 2009, 16:08) *
Avreal последней версии вылетает с ошибкой "nothing to do with fuses"
Весь мир против меня...

Если ключ -f есть, а ключей -w и/или -v нет, то avreal не знает, что с этими фьюзами делать и честно сообщает "мне нечего делать".
zheka
ну дык что мне делать, если у меня AvrealShell и я никаких ключей не добавляю, я просто на кнопочки жму?
На помойку avrealshell?
Gura
А что за устройство то? Не полимузон ли? Тоже хотел его собрать,расскажите если возможно, так как смущает то что в протеусе он не симулируется...
defunct
Цитата(zheka @ May 7 2009, 13:20) *
Имелась ввиду запуск и работа контроллера у которого ресет не подтянут. Ведь в таких случаях могут быть проблемы.

Не могут. В МК есть встроенный pull-up на reset'e, и имеется всегда активный POR и настраиваемый фузами BOD.
Надобность в вешании на пин Reset внешних компонентов - нулевая.

Цитата(zheka @ May 7 2009, 13:29) *
ну дык что мне делать, если у меня AvrealShell и я никаких ключей не добавляю, я просто на кнопочки жму?
На помойку avrealshell?

И вам посоветую. Купите или сделайте AVRISP + JTAGICE
(схема и boot здесь )
Пользуйтесь прелестями быстрого и безотказного программирования Atmel'овским ПО и внутрисхемной отладки.

После чего выбросьте и забудьте как страшный сон веселый LPT адаптер, и сомнительное ПО.


PS: как только я попробовал JTAGICE и AVRISP, LPTшный программатор и все пониобразное ПО для AVR отправилось в корзину без промедлений.
LPTшный программатор, когда есть бесплатный JTAG и содранный оригинальный программатор от Atmel, это все равно, что паять SMD детали 150Вт паяльником для пайки тазов.
zheka
Ух... наконец-то выздоровел и с делами разгребся.
Продолжим.
Развел самую простецкую плату, упростил для чистоты эксперимента все что можно, даже разъем для программирования нестандартный (не беспокойтесь, спецкабель для него сделаю).

Посмотрите на разводку и скажите, соответствует ли она требованиям, которые здесь обсуждались? Чтобы если я ее соберу и она работать не будет, я мог грешить на слишком быстрый компьютер и интерфейсную плату LPT
rezident
Цитата(zheka @ May 21 2009, 15:48) *
Посмотрите на разводку и скажите, соответствует ли она требованиям, которые здесь обсуждались?
Это для ручной пайки или для автоматизированной? Хотя по-моему в любом случае SMD резисторы/конденсаторы (и вообще маленькие компоненты) паять напрямую к полигону не следует. Утомитесь прогревать маломощным паяльником такой пад. А если еще и маски не будет, то на линии авт.монтажа этот компонент просто "уедет" на полигон. Советую термобарьеры сделать в местах подключения падов к полигону. И там где отверстия сквозного монтажа тоже. Почему-то справа где большое отверстие, вы это сделали, а слева ряд пинов разъема прямо на полигон зафигачили.
zheka
всегда руками такое паял без проблем. Ладно, термобарьер сделаю.
Какие-либо другие замечания будут? Может быть банально где забыл дорожку провести или не туда провел. Уж извините, что прошу не только разжевать но и в рот положить, но у меня диагностический поиск, и я хоть в чем-то хочу быть уверен.
zheka
В общем, проблема была сорее всего в LPT порте. Во-первых новый комп, шустрый, во-вторых, не родной, а плата расширения. Спаял программатор USB от Petka - сделал плату с нарушением всех данных здесь рекомендаций - работает, программируется.

А сколько нервных клеток погибло....
defunct
Цитата(zheka @ Jun 4 2009, 21:53) *
А сколько нервных клеток погибло....

Еще один повод подумать о том стоит ли вообще пользовать LPT г..но-программаторы.
Harbour
lpt для начинающих - в самый раз - там хоть осциллом глянуть можно что происходит, да и приятно что есть avreal под дос - а в usb еще придется с драйверами и виндовсом бороться пока дело до программирования дойдет
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.