Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: atmega8 не хочет шиться
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
NN1317
всем здрасьте!
уже недели 2 пытаюсь заставить работать самодельный программатор, схему прикрепляю.
как я понял это аналог stk200, тока аффтар той схемы зачем то поменял номера всех выводов(по даташиту ниче не должно измениться) и вместо того чтобы юзать по 2 преобразовалки на линию, юзает по одной, а вторая запараллелена и на конце стоят светодиоды для индикации.
светодиоды у меня мигают(и без внешнего питания тоже - тут как я понял дело в отсутствии диода), но настроенный PonyProg говорит что ошибка передачи данных или как то так...
это мой первый контроллер авр, до этого были тока пики, поэтому вопросы:
1. у меня свежекупленная AtMega8L. должен ли быть впаян кварц с 2 емкостями в землю при первой прошивке? пробовал и так и так, ниче не выходит.
2. при перепрошивке, нужно ли ножку SS (slave select) - замыкать на минус (типа перевести в режим slave)?
3. в чем все таки дело в моем случае? возможно ли что не хватает мощности у одной преобразовалки на линию?

PS:
1. в основном тестирую на LPT-порту ноута, но проверяю все и на нормальном компе с LPT - результат одинаково отрицателен. + lpt порты и там и там 100% рабочие.
2. сильно не пинайте - все таки мой первый авр + поиск по данным вопросам ниче не дал...
Igor26
1. Не обязательно. Со стапелей Мега8 сходит настроенная на работу от внутреннего генератора.
2. Не нужно. При программировании используются только линии MOSI, MISO, SCK, Reset ну и, естесственно, питание. Остальные линии никакой рояли не играют и находятся в третьем состоянии.
3. Если 74НС244 исправна, то мощи хватит за глаза. Есть люди, которые успешно шьют контроллеры вообше без шинных формирователей, просто проводами от ЛПТ напрямую к контроллеру.

У Вас, скорее всего, ошибка в монтаже программатора и/или платы с Мегой. Либо что-то Поней. С ней никогда не работал, посему не могу дать никаких советов :-( Прозвоните тестером сначала весь монтаж и программатора и платы. Убедитесь, что сигналы от программатора гарантировано доходят до платы, а питание до программатора. Кстати, а какое оно у Вас?

P.S. В приаттаченой схеме ошибок не увидел, обязана работать.
NN1317
мне тоже кажется что в теории я делаю правильно. питание внешнее, +5.5в. фишка вот в чем - когда поня обращаеться к нему, мигают все 3 светодиода(2 мигают и один горит)! т.е. как я понимаю контроллер отвечает, т.к. светодиоды отвечают за чтение, запись и просто подачу питания. возможно, стоит поюзать другую программу.
1. а может ли быть дело в том, что авр-ка на внутреннем генераторе работает медленнее чем ожидает ponyprog и потому контроллер тупо не успевает за портом?
2. какую программу посоветуете попробовать для этого программатора?
у меня есть avr studio 4, там вроде что то должно быть... но что именно там искать я не понялsad.gif
Igor26
Цитата(NN1317 @ Dec 5 2007, 11:19) *
мне тоже кажется что в теории я делаю правильно. питание внешнее, +5.5в. фишка вот в чем - когда поня обращаеться к нему, мигают все 3 светодиода(2 мигают и один горит)! т.е. как я понимаю контроллер отвечает, т.к. светодиоды отвечают за чтение, запись и просто подачу питания. возможно, стоит поюзать другую программу.
1. а может ли быть дело в том, что авр-ка на внутреннем генераторе работает медленнее чем ожидает ponyprog и потому контроллер тупо не успевает за портом?
2. какую программу посоветуете попробовать для этого программатора?
у меня есть avr studio 4, там вроде что то должно быть... но что именно там искать я не понялsad.gif

5.5 вольт это предел для МК, попробуйте снизить до 5.0в.
Да, если мигает VD2, то Мега что-то там отвечает.

1.Не знаю, можно ли у Пони снизить скорость программирования, если можно, то порпробуйте снизить до минимума.
2.Настоятельно рекомендую AVREAL. Гуглем ищется влет. Правда работает он из командной строки, но оно того стоит.
В студии нет утилит для работы с LPT-программатором.
NN1317
в поне я не нашел возможности скрутить скорость... буду искать avreal.
спасибо за советы.
Camat
На каком-то сайте читал что «ПОНИ» с AVR работает только с подключенным 4 мГ кварцем.
Попробуй подключить кварц.
Igor26
Цитата(Camat @ Dec 5 2007, 13:22) *
На каком-то сайте читал что «ПОНИ» с AVR работает только с подключенным 4 мГ кварцем.
Попробуй подключить кварц.

Чтобы мега заработала от внешнего кварца, нужно запрограммировать соответствующие фьюз-биты.
А из постов автора ясно, что из-за этой пони, он даже сделать ничего не может с кристаллом.
_Alfred_
Цитата(Camat @ Dec 5 2007, 14:22) *
На каком-то сайте читал что «ПОНИ» с AVR работает только с подключенным 4 мГ кварцем.
Попробуй подключить кварц.

У меня работает от внешнего генератора, теперь МК шьется и при выставленном кварцевом и при выставленом внешнем генераторе.
Сам сделал так, когда случайно фьюзы неправильно выставил (поставил внешний тактовый) и не мог понять, почему не работает...

NN1317
Соберите схему PONY через COM - все нормально работает, на пайку не более пары часов.
Схема: http://www.lancos.com/e2p/si-prog-v2_2.pdf. Base Board можно взять попроще: PONYP_SI.GIF - я пользуюсь именно этим.
Igor26
Цитата
Соберите схему PONY через COM

Зачем собирать еще один сомнительный девайс, если у NN1317
уже собран STK200. Из-за любви к пони?
Лично я на работе ЗАПРЕТИЛ ею пользоваться! Слишком часто с ней кристаллы убивали на объектах. То фьюзы поставит так, что помогала только замена кристалла, то программу/данные зальет вообще не ясно каким макаром и всё начинает косить - мама не горюй. А объекты бывают - 8 часов на самолете пилить.
Кстати, о "косячности" пони НЕОДНОКРАТНО народ писАл на разных форумах и камней ею "поубивали" только держись!
otrog
2 NN1317
Какая длина шлейфа от программатора до микроконтроллера?
NN1317
Цитата
Соберите схему PONY через COM - все нормально работает, на пайку не более пары часов.

1. у меня на ноуте тока LPT
2. возможно в будущем все равно соберу usb-ный программер, если появиться мотивация

Цитата
Зачем собирать еще один сомнительный девайс, если у NN1317
уже собран STK200. Из-за любви к пони?

действительно, любви никакой к ней нет, просто раньше шил ПИКи ей...
сейчас пытаюсь юзать avreal.

Цитата
Какая длина шлейфа от программатора до микроконтроллера?

раньше была около 20 см, потом укоротил до 10. результат тот же.

по поводу AvReal: у меня пишет Can't resync, хотя программатор он видит и светодиодики мигают, хотя и менее энтенсивно чем с понипрогом.
у меня остался последний вариант - понизить питание. попробую - отпишусь.
zltigo
Цитата(NN1317 @ Dec 5 2007, 18:47) *
по поводу AvReal:

1.Для начала правильно опишите свой программатор Avreal-у.
2.Попробуйте получить от Avreal-а побольше информации по ключу -%
3.А у верены в свежести чипа? А то я тут недавно натолкнулся на патрию зажатых на 500KHz тактовой
- тоже ни гу-гу были, пока не сменил 800KHz default на меньшую.
NN1317
я пробовал:
avreal32.exe +atmega8 -p1 -as -bc
avreal32.exe +atmega8 -p1 -as -b
avreal32.exe +atmega8 -p1 -as -e
+ все тоже самое с ключами -o30 (30кгц, как я понимаю)
еще пробовал добавлять задержки -1 ....
NN1317
пробовал понижать напряжение, ниче не изменилось.
лог такой:
Код
Command:
+atmega8 -p1 -as -b -o500 -%
    % LPT base port 0x378
    % assume that LPT data writes not faster then 1uS
    % Atmel adapter for STK*00 found
    % STK mode
    % osc = 500kHz -> setup=4, hold=4,3
    % Reset
    % PgmOn reply  0xAC530000
    % Try 1 to resync by reset pulse    % PgmOn reply  0xAC530000
    % Try 2 to resync by reset pulse    % PgmOn reply  0xAC530000
    % Try 3 to resync by reset pulse    % PgmOn reply  0xAC530000
    % Try 4 to resync by reset pulse    % PgmOn reply  0xAC530000
Can't resync
Reset pin released
Adapter disabled

похоже что то с reset, щас буду схему изучать.

правда, пока пытался понизить напряжение, случайно подал на схему +6.6в... думаю, контроллер должен выжить.
черт... почитал даташит... sad.gif((( до 5.5в.
у меня есть шансы что контроллер еще живой?
kd_Rash
попробуй подать сигнал с внеш. генератора - примерно 1 МГц
если котел рабочий - должен откликнуться
Mik174
Рекомендую пользоваться программатором avreal - использую уже больше 5 лет, никаких проблем не замечал.
Адаптер соберите по схеме на сайте автора программатора:
http://ln.com.ua/~real/avreal/index.html
Программатор скачайте там же.
если у Вас Windows XP, не забудьте установить драйвер DriverLINX, который можно взять на той же странице - без него работать программатор не будет.
Соберите простейшую схему - МК, кварц с конденсаторами рядом с ним, разъем программирования и все.
Подайте питание 5 В. Именно так, не 4, не 5.5 а 5В.
Очень редко, но встречались случаи когда на некоторых компах при несовпадении напряжения питания схемы и внутреннего +5В ПК МК не зашивался. Как только напряжения становились одинаковыми - все ОК.
Для удобства работы создайте текстовый командный файл, например, PROGRAM.BAT

Пример содержания такого файла у меня:

avreal32.exe +mega16 -p378 -as -fCKSEL=f,SUT=3 -l2 -ebvw -c 1.hex

-fCKSEL=f,SUT=3 - означает записать фузы в состояние когда используется внешний кварцевый резонатор

Теперь в процессе работы при необходимости прошить программу, достаточно просто запустить этот файл на выполнение.
Исполняемый файл программатора, avreal32.exe, файл прошивки, в моем случае 1.hex и командный файл PROGRAM.BAT должны быть в одной папке.

Кстати, частая ошибка новичков - неверная запись фузов, определяющих источник тактирования.
При этом контроллер не отзывается при программировании - он же не стартовал, т.к. не затактирован верно.
Для "лечения" - подать тактовый сигнал от внешнего генератора, МК при этом заведется, и перешить на правильное положение фузы.
NN1317
Mik174:
1. я вапще не трогал фьюзы
2. avreal - это софт для программатора. именно его я сейчас и пытаюсь заюзать

kd_Rash:
путь дажея найду этот 1 мгц и подам. как он откликнется? прошивка там чистая должна быть.
zltigo
Цитата(NN1317 @ Dec 6 2007, 21:04) *
похоже что то с reset, щас буду схему изучать.

Конденсатор с reset уберите, ибо видно, что AVR-ка отвечает и разум проглядывает, но результат с каким-то сдвигом.
NN1317
ммм...в моей сборке этой схемы нету кондеров... никакихsmile.gif
zltigo
Цитата(NN1317 @ Dec 7 2007, 21:13) *
ммм...в моей сборке этой схемы нету кондеров... никакихsmile.gif

Ну тогда с идеями все.
NN1317
ладно, попробую купить еще такой же контроллер, но это еще не скоро будет - завал со временем...sad.gif
ReAl
Цитата(NN1317 @ Dec 6 2007, 21:04) *
лог такой:
Код
    % PgmOn reply  0xAC530000
    % Try 1 to resync by reset pulse    % PgmOn reply  0xAC530000
    % Try 2 to resync by reset pulse    % PgmOn reply  0xAC530000
    % Try 3 to resync by reset pulse    % PgmOn reply  0xAC530000
    % Try 4 to resync by reset pulse    % PgmOn reply  0xAC530000
Похоже на КЗ между линиями MISO/MOSI, так как при не сброшенном контроллере там будут либо уровни с контроллера, либо мусор-наводка, получить наводку, полностью совпадающую с запросом на включение программирования "и так четыре раза" мало реально (но можно, если постараться - за счёт ёмкостной связи между проводами MISO-MOSI в длинном шлейфе).
Ну или в целевой схеме между этими ногами резистор, но контроллер не входит в режим программирования.
NN1317
2ReAl: спасибо!!!! так и оказалось.

светодиоды стали мигать повеселей, однако вот что дает avreal:
Код
avreal/WIN32  -  AVR controllers LPT programmer by Redchuk Alexandr
v1.25rev5 (Jan 15 2007 20:02:38)  http://www.ln.com.ua/~real/avreal
bug-reports, suggestions and so on mail to avreal@real.kiev.ua

Command:
+atmega8 -p1 -as -b -o800 -%
    % LPT base port 0x378
    % assume that LPT data writes not faster then 1uS
    % Atmel adapter for STK*00 found
    % STK mode
    % osc = 800kHz -> setup=3, hold=3,2
    % Reset
    % PgmOn reply  0x00000000
    % Try 1 to resync by reset pulse    % PgmOn reply  0x00000000
    % Try 2 to resync by reset pulse    % PgmOn reply  0xAC530000
    % Try 3 to resync by reset pulse    % PgmOn reply  0xAC530000
    % Try 4 to resync by reset pulse    % PgmOn reply  0xAC530FFF
Can't resync
Reset pin released
Adapter disabled

коды ответа уже разные... собственно, как толковать то что сейчас есть?

мало того что они разные, дак они еще м каждый раз разные...sad.gif
alex2665
Цитата(Mik174 @ Dec 7 2007, 18:00) *
Кстати, частая ошибка новичков - неверная запись фузов, определяющих источник тактирования.
При этом контроллер не отзывается при программировании - он же не стартовал, т.к. не затактирован верно.
Для "лечения" - подать тактовый сигнал от внешнего генератора, МК при этом заведется, и перешить на правильное положение фузы.


В самую точку.... Я начинающий - мегу8 в конфиг закинул 32768 и все на этом, если не сложно по полочкам как его завести "вылечить". Заранее спасибо. help.gif
NN1317
а я таки собрал программер. потом плюнул, купил вторую мегу и собрал usb-прогрмматор. очень доволен.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.