Мастеркит BM9010 и AVRProg

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 6
Зарегистрирован: Ср авг 19, 2009 20:26:28

Сообщение lampert »

Здравствуйте.
Приобрел себе данный программатор, все установил, переназначил его на порт COM2. Все определяется нормально. AVRProg запускается без ошибок (ОС - Windows XP. МК - ATmega32).

Но прошивать/читать контроллер не получается. Выскакивает сообщение что-то вроде "cannot enter programming mode".
При заходе в настройки Advanced AVRProg именно при ATmega32 - получается аналогичное сообщение. Иногда процесс чтения вроде начинается, но в первые секунды все повисает. Если выбрать AT89, например, такого сообщения не появляется при заходе в Advanced, и даже что-то считывается с меги32 для данного выбора.

Попытался использовать ChipBlasterAVR, произвел настройки в нем контроллера, порта - но он выдал похожую ошибку.
В чем может быть проблема?
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 117
Зарегистрирован: Чт фев 28, 2008 23:54:35
Откуда: Воскресенск, МО

Сообщение Synergetik »

lampert писал(а):Здравствуйте.
Приобрел себе данный программатор, все установил, переназначил его на порт COM2. Все определяется нормально. AVRProg запускается без ошибок (ОС - Windows XP. МК - ATmega32).

Но прошивать/читать контроллер не получается. Выскакивает сообщение что-то вроде "cannot enter programming mode".
Обычно такая ошибка вылетает, если программируемый МК не подключён - отсутствует контакт, нет питание МК (кстати, оно обязательно - насколько я понял, питание от программатора на схему не идёт, только масса), отсутствует кварцевый резонатор. У меня также помогало (на самодельном AVR910 от Prottoss'а) переключение в режим пониженной частоты, хотя на Мастер Китском (хотя в остальном схема та же) такой перемычки явно нет.
Контактная информация:
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Проверьте верность подключения контроллера к программатору.
Программировать лучше с помощью AVROSPII.
Вложения
AVROSPII.rar
(87.31 КБ) 603 скачивания
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Родился
Сообщения: 6
Зарегистрирован: Ср авг 19, 2009 20:26:28

Сообщение lampert »

Спасибо, разобрался.
Проблема была в неправильном отсчете выводов.
Я считал как
2 4 6 8 10
1 3 5 7 9

| Провод |

А правильно
1 3 5 7 9
2 4 6 8 10

| Провод |
Последний раз редактировалось lampert Вс авг 23, 2009 13:30:35, всего редактировалось 1 раз.
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 6
Зарегистрирован: Ср авг 19, 2009 20:26:28

Сообщение lampert »

Теперь возникла другая проблема.
Написал программку простую на ассемблере (просто определил все выходы входы, задал начальной состояние и зациклил на пустой цикл), прошил, но на выходе PB0 у меня есть напряжение.
Т.е. если подключить к нему и к земле диод, то он будет гореть. Хотя не должен, потому что я задал выходу нулевое состояние. На остальные PB1, PB2 и др. такого нет.
Не могу понять в чем проблема.
Привожу текст программки:

Код: Выделить всё

.device	atmega32
.nolist
.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes\m32def.inc"
.list

.def temp =r16


	rjmp Init

Init:

; Делаю все ноги МК выходами
	ldi temp,0b11111111
	out DDRB,temp
	ldi temp,0b11111111
	out DDRD,temp
	ldi temp,0b11111111
	out DDRA,temp
	ldi temp,0b11111111
	out DDRC,temp

; Приписываю выходам нулевое состояние
	ldi temp,0b00000000
	out PortB,temp
	ldi temp,0b00000000
	out PortD,temp
	ldi temp,0b00000000
	out PortA,temp
	ldi temp,0b00000000
	out PortC,temp

	rjmp Start

Start:
	rjmp Start
Что здесь не так?
Реклама
Родился
Сообщения: 6
Зарегистрирован: Ср авг 19, 2009 20:26:28

Сообщение lampert »

Неужели никто не знает?
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 47
Зарегистрирован: Пн мар 30, 2009 15:55:13
Откуда: г. Комсомольск на Амуре

Сообщение kupriyanov »

Самый верный способ проверить код в Atmel AVR Studio.
Если там все порты становятся в нужные значения, то тогда это проблема не в коде.
Any Problems????
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

при такой конфигурации, выводы переводятся в Z-состояние, при этом на выводе будет присутствовать примерно половина питания процессора.
При замыкании на землю (ну или подключении светодиода) будет протекать ток ограниченный (мах) 10 мА, не помню где читал, связано это с тем что буферные каскады собраны по схеме ограничителя тока.

зы если вы только начинаете писать на АСМе, что само по себе уже заслуживает уважения, старайтесь приучить себя писать "культурно", об этом много написано.
и на будущее - оператор OUT не меняет значение регистра-источника, следовательно в вашем примере достаточно один раз присвоить значение регистру temp. сбрасывать регистр в 0 лучше операторм CLR, а устанавливать в 1 оператором SER, и код короче и выполняется за 1 такт.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

kupriyanov писал(а):Самый верный способ проверить код в Atmel AVR Studio.
для простого примера да, но AVRStudio не гарантирует 100% работоспособности кода в железе, проверено не раз, в нем тоже глюков хватает.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Родился
Сообщения: 6
Зарегистрирован: Ср авг 19, 2009 20:26:28

Сообщение lampert »

kupriyanov писал(а):Самый верный способ проверить код в Atmel AVR Studio.
Если там все порты становятся в нужные значения, то тогда это проблема не в коде.
Проверял, работает как задумывалось.
Родился
Сообщения: 6
Зарегистрирован: Ср авг 19, 2009 20:26:28

Сообщение lampert »

GP1 писал(а):при такой конфигурации, выводы переводятся в Z-состояние, при этом на выводе будет присутствовать примерно половина питания процессора.
При замыкании на землю (ну или подключении светодиода) будет протекать ток ограниченный (мах) 10 мА, не помню где читал, связано это с тем что буферные каскады собраны по схеме ограничителя тока.

зы если вы только начинаете писать на АСМе, что само по себе уже заслуживает уважения, старайтесь приучить себя писать "культурно", об этом много написано.
и на будущее - оператор OUT не меняет значение регистра-источника, следовательно в вашем примере достаточно один раз присвоить значение регистру temp. сбрасывать регистр в 0 лучше операторм CLR, а устанавливать в 1 оператором SER, и код короче и выполняется за 1 такт.

Спасибо, учту. А как же тогда присвоить нулевое состояние?
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

DDRx-1
PORTx-0
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

старайтесь приучить себя писать "культурно"
Кто бы видел мои первые "программы" :)
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

GP1 писал(а):при такой конфигурации, выводы переводятся в Z-состояние, ...
В Z-состоянии выводы могут быть только, если они сконфигурированы, как входы и в них не включен пуллап, то есть, если в DDR'ах - нули, и в PORT'ах - тоже нули. Здесь же выводы всех портов - обычные выходы.

lampert: А на PB0 - хорошо бы осциллом посмотреть. ;)
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

А не проверить ли монтаж?
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

В смысле коротыша на PB0? Так ведь тогда мега32 грелась бы страшно - там же выход с нулём. Хотя, проверка никогда не помешает. :)))
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Yellow Tiger писал(а):
GP1 писал(а):при такой конфигурации, выводы переводятся в Z-состояние, ...
В Z-состоянии выводы могут быть только, если они сконфигурированы, как входы и в них не включен пуллап, то есть, если в DDR'ах - нули, и в PORT'ах - тоже нули. Здесь же выводы всех портов - обычные выходы.

lampert: А на PB0 - хорошо бы осциллом посмотреть. ;)
Прошу прощения. Действительно мой глюк, DDRы то =1, сорри. :oops:
но для входов все вышесказанное мной справедливо.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

GP1 писал(а):...но для входов все вышесказанное мной справедливо.
Да, конечно(!) - если почему-то не включены пуллапы, то входы действительно будут в Z-состоянии, вот только напряжение на них не будет равно половине питающего - вместо этого, на входах будет невообразимая чехарда, так как весьма высокое входное сопротивление не демпфирует даже слабые наводки (а их обычно много вокруг). Собственно, именно по этой причине и не рекомендуется оставлять "висеть в воздухе" выводы, сконфигурированные, как входы; рекомендуется притягивать их к земле или питанию внешними или внутренними пуллапами.
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Yellow Tiger
ну не придирайтесь к словам, я же написал - примерно :wink:
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

GP1 писал(а):...ну не придирайтесь к словам, ...
Ни в одном глазу! Просто я уверен, что начинающие поймут это утверждение неверно и будут думать, что там есть какое-либо определенное напряжение. Лучше уж пусть сразу поймут, что в таких условиях там можно будет найти всё, что угодно, любую чехарду, только не какое-то предсказуемое, постоянное напряжение.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»