virtuality
Jul 22 2006, 15:13
Собрал я отладочную платку под ATmega32. Включил, прошил - работает.
Шью через Avreal.
Через неделю перестала читаться и шиться без внешнего тактирования - только при подаче на XTAL1 соответствующего сигнала с программатора. В противном случае Avreal сообщает, что микросхема не отвечает.
ОТнес я ее обратно продавцу - отправили на экспертизу в Москву попросив зайти через 2 недели.
ЧТобы не было скучно я купил Mega16 - она отличается только объхемом памяти - распиновка такая же. На всякий случай проверил монтаж на плате, не понравилась мне пайка в зоне кварца и конденсаторов - подправил, вставил mega16 - работает.
Сообщение о том, что экспертиза в Москве признала микросхему полностью работоспособной укрепила уверенность, что дело было в монтаже конденсаторов и кварца.
Приходит микросхема из "ремонта" - вставляю ее, проверяю - не работает. Подключаю внешнее тактирование - читается, шьется, но не запускается. Иногда (!) если прикоснуться пальцами к зон монтажа кварца и конденсаторов - программа стартует, но с глюками.
Теперь о деталях:
Питание 5 V
Внешний кварц - 16 Мгц
Фьюзы:
Код
New fuses value
OSCCAL = C6, C6, C0, C0
BLEV = 1
BODEN = 1
SUT = 2
CKSEL = F
BLB1 = 3
BLB0 = 3
OCDEN = 1
JTAGEN = 1
CKOPT = 1
EESV = 1
BSIZ = 0
BRST = 1
Что характерно - даже если я не включаю в AVreal режим внешнего тактирования, кристалл шьется если вывод программатора подключен к XTAL1.
Mega16 работает отлично. Даже при 3 вольтах без глюков тянет 16 Мгц.
В чем дело? Микросхема то согласно заключению экспертизы исправна.
Может я какой-то разницы не учел?
Labinskiy Nikolay
Jul 22 2006, 17:44
Включена внешняя синхронизация, меняйте
CKSEL например в 0х01.
так будет работать?
virtuality
Jul 22 2006, 19:03
брр... Это вы о чем?
CKSEL 1 - это не 16 МГц или я чего-то не догоняю...
По какому из фьюзов вы поняли, что включена внешняя синхронизация?
Кстати на то похоже... Потому как контроллер без спроса "жрет" синхроимпульсы если их подать на XTAL1.
И, насколько я знаю, внешняя синхронизация это CKSEL =0000
Laksus
Jul 22 2006, 19:16
Теоретически:
Цитата
CKOPT = 1
doc2503.pdf(ATmega32)-System Clock and Clock Options -
Crystal Oscillator -
...When CKOPT is programmed, the Oscillator output
will oscillate will a full rail-to-rail swing on the output. This mode is suitable when operating
in a very noisy environment or when the output from XTAL2 drives a second clock
buffer. This mode has a wide frequency range. ...
...For resonators, the maximum frequency is 8 MHz with CKOPT unprogrammed and
16 MHz with CKOPT programmed. ...
______________
Memory Programming - Fuse Bits - Table 105. Fuse High Byte
...
CKOPT(2) 4 Oscillator options - Default Value 1 (unprogrammed)
______________
То есть, если я правильно понимаю,
у Вас фюз CKOPT = 1, то есть не прошит, поэтому генератор,
в режиме генерации сигнала малой амплитуды.
Этот режим энергосберегающий,но неустойчив к помехам:
Цитата
Иногда (!) если прикоснуться пальцами к зон монтажа кварца и конденсаторов - программа стартует, но с глюками.
и вообще рекомендуется только до 8 МГц.
Поэтому может попробовать прошить CKOPT = 0. (Все остальное оставить.)
___________
Практически:
А может стоить поменять кварц вместе с конденсаторами.
__________
Александр
2006 07 22
PS
Цитата
По какому из фьюзов вы поняли, что включена внешняя синхронизация?
Ну, насколько я понял, Вам предлагают проверить работает ли чип от внутреннего RC-генератора.
virtuality
Jul 22 2006, 19:19
На RC генераторе чип работает.
Попробую покорячиться с CKOPT
defunct
Jul 23 2006, 00:54
Цитата
Avreal сообщает, что микросхема не отвечает.
ОТнес я ее обратно продавцу - - отправили на экспертизу в Москву попросив зайти через 2 недели.
Покупали бы не менее трех микросхем, даже тогда когда нужна всего одна. И пользовались бы Atmel'овским программатором.
Это, конечно, на тот случай если Вам Ваше время дорого.
virtuality
Jul 23 2006, 05:04
defunct, есть правда в ваших словах, однако я не профессиональный разработчик, а любитель. 300 руб стоит микросхема, 3 штуки покупать, да еще и программатор - накладно.
Labinskiy Nikolay
Jul 23 2006, 05:38
Цитата
брр... Это вы о чем?
Цитата
Ну, насколько я понял, Вам предлагают проверить работает ли чип от внутреннего RC-генератора.
да, именно так.
$ilent
Jul 24 2006, 05:41
CKSEL = E;
White Raven
Jul 24 2006, 07:24
По опыту работы на частоте тактирования 16МГц с кварцами различных производителей практически всегда требуется программирование фьюза CKOPT (Full Amplitude).
Некоторые кварцы работали и без программирования этого фьюза, на затем устройства вели себя капризно на реальном объекте, особенно при сложной электромагнитной обстановке или изменении температуры в широких пределах.
Если у Вас чип перестал шиться из-за незапуска или срыва колебаний генератора, временно подпаяйте кварц на 3,5-6 МГц прямо к ножкам кварца на 16 МГц, прошейте CKOPT и отпаяйте.
Амплитуда колебаний кварца 16 МГц с CKOPT сопоставима с амплитудой колебаний кварца 4 МГц без CKOPT.
А вообще 300 р за мегу32 дороговато...
vesago
Jul 24 2006, 07:49
Я думаю, что запрограммированный CKOPT не поможет осуществить шитье без внешней синхронизации. И данная проблема не из-за битого чипа. Не заню с чем это связано - может из-за кварцов-кондеров, может из-за авреала. Не всеж коту масленица. Я такое часто наблюдаю и поэтому сразу на плате предусматриваю подачу внешней синхронизации при программировании. А вообще как свободнее станет сделаю стк 500 на 2313.
virtuality
Jul 24 2006, 15:36
Ребята!
Может быть я слишком много написал и вы мысли не уловили?
Сконцентрирую.
1. Купленная мега32 работает при первом же подключениина 16 МГц без всяких проблем.
2. Через неделю перестает шиться: два варианта - полетела микросхема или неисправна отладочнаа плата (конденсаторы, кварц)
3. Вставляется Mega16 которая преркасно работает при любых вариантах, работает на 17 МГц даже при 3 вольах питания. Даже в моих ламерских руках, безо всяких там рассуждений о режимах работы кварца, помехах, и фазах луны.
4. Пришедшая из Москвы мега32, находившаяся в ремонте, со слов "эксперта" - полностью исправна.
Соотнесите все это. У меня не укладывается...
White Raven
Jul 24 2006, 20:25
Можешь исследовать фазы луны, фазы переменного тока и прочие фазы, но многолетний опыт работы с мега128, 64, 8, 16, 32 говорит о том, что для кварца 16 МГц CKOPT должен быть запрограммирован.
virtuality
Jul 25 2006, 17:39
Значит так... я думал проблема у меня с матчастью оказалось нет.
Почитал я Даташит, перепробовал все варианты тактирования - внешнее, кварцевое,
от внутреннего РЦ-генератора, все получается. Я делал отладочную плату с микроконтроллером
"неработоспособной", включав внешнюю синхронизацию, после чего МК не программровался, выводил его из комы путем подачи XTAL,
в общем разобрался достаточно для того, чтобы вы меня не отсылали к мануалам.
Так вот, все вышеописанное я проделал с MEGA16. Все получалось. ОДнако MEGA32 упорно не видится AVREAL.'
Пишет, что мол, проверьте питание, микросхема не отвечает.
Я понимаю, что всех уже достал, но, по логике вещей микросхема как будто бы неисправна. А экспертиза утверждает, что с ней все ОК.
Я не прошу вас разбираться с моей проблемой, просто я надеюсь, что может кто-нибудь вспомнит какую-нибудь изюминку или собственные грабли,
мне кажется что ответ лежит где-то в глубине....
P.S. кстати, луна сейчас в той же фазе, в которой она была когда 4 недели назад я обнаружил неисправность в микросхеме и сдал ее по гарантии....))))))))))) А экспертиза проводилась где-то в середине цикла.... ))))))
Случайно нет здесь на форуме московских представителей Platan'a, где я эту микросхему заказывал и куда ее потом отвозили )))))
Ответьте односложно, вы пробовали менять фуз CKOPT?
virtuality
Jul 26 2006, 14:25
Я б запрограммировал. Микросхема не отвечает. Can't resync.
Я даже попробовал из-под ДОС 5-ю проводками. Не получается. Микросхема в коме.
$ilent
Jul 27 2006, 06:10
Цитата(virtuality @ Jul 26 2006, 18:25)

Я б запрограммировал. Микросхема не отвечает. Can't resync.
Я даже попробовал из-под ДОС 5-ю проводками. Не получается. Микросхема в коме.
Это ты с фюзами перемудрил, я как-то тоже перемудрил с 4-мя кристалами. Попробуй вспомнить CKSEL фюзы, мож на внешний РЦ запрогромил, да ещё с какой нибудь "далёкой" частотой...
virtuality
Jul 28 2006, 13:16
Блин, да как их вспомнить эти фьюзы? Как его обнулить?
Цитата(virtuality @ Jul 28 2006, 17:16)

Блин, да как их вспомнить эти фьюзы? Как его обнулить?
Конфигурация свеже купленной Mega32
defunct
Jul 28 2006, 14:42
Цитата(virtuality @ Jul 28 2006, 16:16)

Блин, да как их вспомнить эти фьюзы? Как его обнулить?
А зачем же Вы ранее врали, что полностью прочитали документацию? В даташите описаны значения Fuses по-умолчанию.
Главное нервничать не нужно.
Варианта имеется всего два
1. поставить внешнее тактирование на XTAL1. и попробовать прошить по ISP.
если вариант с ISP не пройдет, тогда:
2. воспользоваться высоковольтным параллельным программатором и попробовать стереть фузы.
Если ни первый ни второй вариант не пройдет, значит чип уже сгорел и тогда имеет место быть третий вариант - купить новый чип. Не тратить же неделю за $4-$5?
virtuality
Jul 29 2006, 09:31
Цитата
Блин, да как их вспомнить эти фьюзы? Как его обнулить?
А зачем же Вы ранее врали, что полностью прочитали документацию? В даташите описаны значения Fuses по-умолчанию.
Еханый бабай, дане врал я. Похоже никто не читает то что я пишу, а просто пробегает глазами....
Все я прочитал, все попробовалнарабочей меге16. Увидев фразу "вспомнить фьюзы" я решил что есть способ установить их в дефолтное состояние типа как в БИОСе компа - чип сам ставит безопасные стандартные установки. Если эе это делать самому, то я и так их помню, кроме того, как сказал defunct, все есть в мануалах.
Но черт, возьми, поймет ли кто-нибудь наконец, что проаграмматор не видит микросхему!!! Такое бывает если фьзы зашиты на внешнее тактирование при отсутствии такового. ОДнако я подаю XTAL на микросхему - безрезультатно. Правильность своих действий, степень зания мной мануала я проверяю проведением аналогичных операций с мега16.
Как я уже сказал выше - повторюсь - все сходитс к тому, что микросхема неисправна. Но ведь Москва считает, что все ОК....
Цитата
2. воспользоваться высоковольтным параллельным программатором и попробовать стереть фузы.
Простите за вопрос, но в этом случае все фьюзы обнулятся, или установятся значения по умолчанию?
Цитата
купить новый чип. Не тратить же неделю за $4-$5?
Что я собственно уже и сделал - заказаол чипы. Будет весело если и они не заработают.
А запрограммировать без внешнего синхра, но поставить низкое значение тактовой в параметрах AVREal (скажем 100 Кгц) не пробовали ? (на случай, если включен внутренний RC c непонятной частотой) Кварц при попытках оживления остается припаянным ? Иногда фронты на принудительной синхронизации раскачивают кварц, и тактировка МК сбивается. И проверьте сигнал RESET, может из-за ошибки в схеме, он вверх не подтягивается.
virtuality
Jul 29 2006, 11:59
Попробую с низкой частотой, может получится. Кварц и припаивал и отпаивал все одно. С RESET все нормально.
vesago
Jul 31 2006, 20:35
Я вот недавно мегу168 так положил. Тоже несколько раз прошилась и кирдык - я ее кандой сначала с стк200 донглом пробовал шить. Шилась нестаибильно. Видно и попортил фузы. Потом прикрутил к авреалом, да поздно - кэнт ресинк. Если не лень будет, соберу параллельный программатор, да реанимирую. Вообще платы на 168 меге на 14 мгц кварце у меня без тактирования от авреала гарантированно не шьются. Сейча устройство на меге128 делаю. На плате нет возможности засинхронизировать. Когда код небольшой был - шилась. Как разростаться стал, стала с ошибками шиться. Плюнул я на это дело - зашил бутлодер и проблема пропала. 20К за секунду прожигает. А чипу вашему больше не судьба последовательно шиться. А что эксперт сказал - фигня. Из моей практике - отсылаем чего на ремонт, что на гарантии, ремонтники приклеивают бирку, что мол отремонтированно и назад пуляют. Уверен и в вашем случае аналогично.
Цитата(virtuality @ Jul 29 2006, 13:31)

Блин, да как их вспомнить эти фьюзы? Как его обнулить?
Все я прочитал, все попробовалнарабочей меге16. Увидев фразу "вспомнить фьюзы" я решил что есть способ установить их в дефолтное состояние типа как в БИОСе компа - чип сам ставит безопасные стандартные установки. Если эе это делать самому, то я и так их помню, кроме того, как сказал defunct, все есть в мануалах.
Но черт, возьми, поймет ли кто-нибудь наконец, что проаграмматор не видит микросхему!!! Такое бывает если фьзы зашиты на внешнее тактирование при отсутствии такового. ОДнако я подаю XTAL на микросхему - безрезультатно. Правильность своих действий, степень зания мной мануала я проверяю проведением аналогичных операций с мега16.
Код
CKSEL - источник тактирования - комментарий
0000 - внешняя частота - 0...16МГц
0001 - встроенный РЦ генератор - 1МГц
0010 - встроенный РЦ генератор - 2МГц
0011 - встроенный РЦ генератор - 4МГц
0100 - встроенный РЦ генератор - 8МГц
0101 - внешний РЦ генератор - <0.9МГц
0110 - внешний РЦ генератор - 0.9...3МГц
0111 - внешний РЦ генератор - 3...8МГц
1000 - внешний РЦ генератор - 8...12МГц
1001 - низкочастотный пьезорезонатор 32.768кГц
101х - кварцевый резонатор 0.4...0.9МГц
110х - кварцевый резонатор 0.9...3МГц
111х - кварцевый резонатор 3...8МГц
Вариантов всего 13 - если не помнишь что именно установлено - перебирай и оживишь свой кристал. У меня так же было, установил 0110. Потом оживил...
Черчилль
Aug 1 2006, 09:03
Неужели сложно ответить, запрграммировал CKOPT или нет? У меня тож накие проблемы были - mega128 то хочет работать, то нет, пока этот фьюз не запрограммировал, все стало как часы.
virtuality
Aug 1 2006, 14:12
Админы, простите.....
Цитата
Неужели сложно ответить, запрграммировал CKOPT или нет?
Черчиль!!! Ты и такие как ты уже заебали!!!! Неужели сложно прочитать выше ответ на ваш вопрос??? Вопрос тех людей, которые только и умеют, что вальяжно отсылать читать мануалы, не задумываясь о том, что человек хоть и новичок, но столкнулся с нестандартной проблемой, в мануалах которая не описана.
А по теме - пришли два чипа сегодня - я их с закрытыми галазми вставил, запрограммировал, перепробовал все варианты тактирования - все работает. Что самое интересное, мега32 на 16 МГц при 3 вольтах питания, да еще и при обоих вариантах CKOPT работает как часы. До чего чипы качественные!
Так что проблема оказалась в битом чипе, а с толку меня сбило заключение "эксперта".
Кстати может это и SPIEN фюз упал...
defunct
Aug 2 2006, 12:18
Цитата
Простите за вопрос, но в этом случае все фьюзы обнулятся, или установятся значения по умолчанию?
В при высоковольтном программировании, чип использует внешний сигнал синхронизации (по XTAL1), а также этот режим ничем не может быть заблокирован. Т.о. Вам предоставляется возможность перевести чип в режим параллельного программирования, и инициализировать Fuses значением по-умолчанию из даташита. После чего ISP и JTAG несомненно восстановят свою работу (если чип действительно целый).
На оставшейся у Вас Mega16 вы вполне можете реализовать алгоритм параллельного программирования, который описан в разделе даташита Memory Programming -> Parallel Programming. Схема включения MC для параллельного программирования указана в разделе Memory Programming -> Parallel Programming Parameters, Pin Mapping, and Commands
Цитата
Черчиль!!! Ты и такие как ты ....!!!! Неужели сложно прочитать выше ответ на ваш вопрос???
Уважаемый, держите себя в руках. Проблема возникла у Вас, и Вы не имеете никакого морального права оскорблять отвечающих. Уточняющие вопросы здесь просто необходимы, так как причин для того чтобы рабочий чип вдруг перестал программироваться достаточно много.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.