Программатор Громова

Самый простой вариант программатора для AVR это пять проводков, припаиваемых к порту контроллера и втыкаемых в LPT порт. Не спорю, можно и так. Но я все же не рекомендую этот способ. Даже схему подключения давать не буду — если надо будет сам найдешь. Так как данный метод не очень стабилен, возможны сбои при прошивке, длина проводков ограничена двадцатью сантиметрами (если больше, то будет глючить), поэтому придется шариться в комповой заднице. Да и LPT порт спалить проще простого. В общем не рулез.

Шарясь по инету, я нашел отличный программатор, работающий через RS232 он же COM порт. А также удобную программу для прошивки контроллера UniProf от Николаева. Схему программатора придумал Громов, создатель Algorithm Builder.

Саму программу UniProf можно скачать у меня, но лучше взять с сайта автора. Возможно там будет версия посвежее.

Так же, тебе потребуется чертеж печатной платы в формате Layout, для изготовления печатной платы данного программатора.

Это формат программы Sprint Layout которую можно скачать с моего сайта. Пустячок, а приятно. Впрочем, ее можно и на картонке спаять, слишком уж простая схема. Также есть альтернативная разводка платы которую прислал Shama, она на выводных резисторах

Для сборки программатора потребуется:

  • Три диода, любых из маломощных. Например 1N4148.
  • Семь резисторов на 1кОм. У меня резисторы типоразмера 1206
  • Если будешь делать по моей печатной плате, то можешь еще купить 3 резистора на 0 ом — перемычки, они же пофигисторы.

Печатная плата либо рисуется маркером, либо, как у меня, делается методом лазерного утюга.

Спаянную платку я запихал в корпусок, а провод подключил к компьютеру. Длина провода у меня составила метра полтора-два, а от программатора до контроллера стараюсь провод делать покороче.

Разьем DB9, что на фотке, я поставил для удобства. У меня туда подключаются разные прошивающие шнуры либо вот такой вот адаптер:

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

Запускай UniProf.exe и выбирай номер СОМ порта к которому у тебя подключен программатор. Сразу же должен определиться тип контроллера и высветиться над левым окном кода.

Не получилось? Тут три варианта:

  • Программатор спаян криво.
  • Дохлый контроллер.
  • Неправильно припаял проводки к микроконтроллеру.

Еще раз все досконально проверяешь и пробуешь снова. Должно получиться.

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

Скачиваешь Atmel AVR Studio — это официальная среда для разработки программ под микроконтроллеры AVR. Студия поддерживает все микроконтроллеры семейства Atmel AVR. Найти ее последнюю версию можно на сайте Atmel.com

Далее создавай новый проект, в качестве языка программирования выбирай Assembler и укажи папку и имя где будет располагаться твой проект. В качестве отладчика бери AVR SIMULATOR и укажи с каким именно контроллером ты будешь работать. После чего забивай в текстстовое окно простейшую программу.

Вот ее примерный текст:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
.INCLUDE "m16def.inc"
; это подключается список макроопределений 
; без него компилятор не будет знать под какой 
; именно процессор мы собираем программу
; если у тебя другой контроллер, то подставь 
; соответствующий инклюдник. Они находятся в
; папке AVR Studio по адресу 
; "AVR Tools\AvrAssembler\Appnotes\"
 
 
.MACRO outi 
LDI R16,@1 
OUT @0,R16 
.ENDMACRO 
; задаем весьма удобный макрос, позволяющий 
; записать произвольное заданное число в любой
; регистров за одну строку кода. 
.CSEG
.ORG 0x0000
RJMP RESET
 
.ORG 0x0030
; Директива начала кода с адреса 0х0030
; адрес взят с большим запасом, потому как
; у разных AVR разных размеров таблица 
; прерываний. Так что уж чтобы наверняка!
 
 
RESET:
; стартовая метка
 
OUTI DDRA,0xFF
OUTI DDRB,0xFF
OUTI DDRC,0xFF
OUTI DDRD,0xFF
; Конфигурируем направления портов на выход
; Если данный контроллер не имет, например, порта
; С, то эту строчку надо закомментировать.
 
OUTI PORTA,0xAA
OUTI PORTB,0xAA
OUTI PORTC,0xAA
OUTI PORTD,0xAA
; Выдаем на выходы 10101010, чтобы получить
; четкую картину того, что на портах произошли
; изменения. После выполнения программы
; на выходах микроконтроллера в шахматном порядке
; будут либо напряжение питания, либо земля. Что 
; легко проверяется либо вольтметром, либо простейшим
; пробником на светодиоде.
 
RJMP RESET
; Зацикливаем программу.

А лучше не копипасти, а сразу скачай файл проекта.

Далее жми на кнопку компиляции (или F7) и лезь в папку своего проекта. Там тебя уже должен поджидать ****.hex файл с прошивкой.
Запускай UniProf.exe, жми на кнопочку с открытой папкой и надписью HEX. Выбирай свой свежескомпиленный проект и жми ок.
Вторым окном UniProf попросит тебя ввести данные EEPROM, у нас EEPROM не используется, поэтому нажимай отмену.
Все, теперь можно прошивать. Жми на красную стрелку с надписью Prog и жди. По окончании можешь нажать чтение и поглядеть что записалось в твой контроллер — должно показать то же самое, что и было уже загружено в окно.

Теперь тебе остается подать питание на свой микроконтроллер и посмотреть что появилось на портах. Увидел «гребенку» из высоких и низких уровней напряжения? Отлично! Ты прошил свой первый в жизни контроллер! Теперь ты можешь с головой занырнуть в изучение микроконтроллеров AVR.

Если не заработало, то вот возможные грабли и пути решения.

  • Современные компьютеры, с гигагерцовыми процессорами, новомодными Вистами и Семерками очень плохо дружат с этим программатором. Мало того, что у вас может банально не обнаружиться COM порта, а если и будет так еще не факт что все заработает как надо. Рекомендую собрать себе для радиотехнических опытов из подручного хлама что то вроде PIII 800/Windows’98. Бесплатно нарыть такое чудо проблем не составит и сжечь не жалко, если что не так
  • Данная схема не работает через переходники USB-COM или работает, но ОЧЕНЬ медленно. Скажем прошивка одного микроконтроллера может длиться часа полтора.
  • Питание, на первый раз, лучше всего брать с блока компа. Меньше вероятность что либо сжечь или ошибиться
  • Проверяте схему по 3-4 раза! Т.к., судя по комментам, большая часть проблем из-за кривого монтажа.
  • Перед запуском программы в МК НУЖНО ОТКЛЮЧИТЬ ПРОГРАММАТОР и подать на вход RESET +5 вольт через резистор в 1..10кОм. С подключенным программатором ничего работать не будет, т.к. он прижимает RESET и не дает кристаллу стартовать.
  • Если UniProf не определяет МК, возможно у вас слишком быстрый компьютер. Для компенсации этого «недостатка» нужно включить галочку «Тормоз» Она показывается если отключить снятием галки EEPROM панель отображения данных EEPROM.
  • Если галка Тормоз не помогла, то пробуйте на другом компе. Т.к. тут СОМ порт обрабатывается в нештатном режиме, а значит не факт, что ваш СОМ порт поймет все правильно.
  • На худой конец, если ничего не помогает, попробуйте программатор из 5 проводков или другую прошивающую программу, например avrdude. Провода делайте как можно короче! 10-15 сантиметров это МАКСИМУМ!
  • Читайте комменты к записи. Там многие косяки уже были разобраны. Возможно и ваш окажется среди них.

Дополнение от Outsider:
1. Если сзади у компа нет разъема COM-порта, то это не на 100% означает, что такого порта нет на материнской плате в принципе. Пока еще на матерях встречаются разъемчики с 9 штырьками в два ряда — подробнее нужно смотреть документацию к материнской плате. Я на своей ASUS P5K SE нашел и успешно заюзал.

2. Да, +5 и GND это не земля и контакт из COM-порта, а именно внешнее питание. Проще всего его добыть в компе — +5 есть в красном проводе на любом из разъемов, питающих жесткие диски. А GND — на корпусе самого компа. Или на черном проводе того же разъема.

3. Если с UniProf что-то не срастается, то можно попробовать avrdude. Чтобы это сделать, нужно прописать в avrdude.conf следующее:

programmer
id = «nikolaew»;
desc = «serial port banging, reset=dtr sck=rts mosi=txd miso=cts»;
type = serbb;
reset = 4;
sck = 7;
mosi = 3;
miso = 8;
;

А затем запустить avrdude со следующими параметрами:

avrdude -n -c nikolaew -P com1 -p m16

где «com1» нужно заменить на твой порт (если, конечно, используется другой), а «m16» на нужный тип микроконтроллера. Список поддерживаемых программой контроллеров можно найти здесь:http://www.nongnu.org/avrdude/user-manual/avrdude_4.html

Если все в порядке, то программа скажет:
avrdude: AVR device initialized and ready to accept instructions

Дополнение от Riko
Эксприменатально было выяснено, что для правильной работы этого программатора напряжение питания МК должно быть не ниже 5 вольт (но не выше 5.5!!!). То есть если МК подключен к трем пальчиковым батарейкам, то вы обламываетесь, так как там 4.5 вольта! Запитывайте от компа!!!

Дополнение от SLY_DEr
Не работало. Сменил резисторы с 3к (не было на 1к) на 460ом’ные — заработало, но с ошибками.
Решил чисто ради спортивного интереса снизить скорость ком-порта в диспечере устроиств и о, чудо, все заработало как надо. Скорость порта снизил с 9600к до 4800к и плюс убавил буфер приема и передачи (там же) до значений 4 и 6 соответственно.

Если что непонятно, то не стесняйся спрашивать у меня в комментах.

З.Ы.
Если не получается ну никак, то может быть ваша материнска плата не поддерживает столь нестандартное обращение с COM портом и стоит попробовать другие программаторы? Например, STK200 или FTBB. Они хоть и сложней, но зато работают более корректно, без извратов.

1 067 thoughts on “Программатор Громова”

  1. Слушай, есть вопрос. Я ток начал разбираться с МК, хочу собрать такую штуку (вариант с COM портом), но ни как не пойму, отдельно питания что ли на МК не надо в нем подавать? Собираешь как на схеме и можно пользоваться?

    1. В принципе да. Подаешь питание от компа (те самые + 5 вольт и GND) и все.
      Если прошиваешь внутрисхемно, то питание можешь подавать от родного источника, только обьедини GND компа и GND твоей схемы. НО! Я обычно прошиваю не 5ю проводами ,а 6ю. Т.е. в момент прошивки вся моя схема кормится от компового блока питания (т.е. от программатора). Мне так удобней, но это не аксиома.

      1. DI HALT, подскажи: а как откуда именно брать питание из компа? Как его удобнее вывести? Чтобы и провода не висели, и не мешали. Получается, что крышка корпуса должна быть открыта?

        1. Эммм… А есть люди кто эксплуатирует комп с закрытой крышкой? Хм, не встречал.

          Можешь выломать сзади одну заглушку и вытащить из нее один из питателей от БП.

          Как вариант, можешь взять с USB но тут есть риск спалить порт на маме. Разумеется кривыми руками, т.к. USB питание отдает нормальнь

          1. У меня комп закрыт :) но это к делу отношения не имеет.
            Я вот что хотел спросить…
            У меня есть 300 ваттный БП от компа, я так понимаю, что для того, чтобы использовать его для питания схем, его надо нехило нагрузить… ибо на +5V там ток 20A. просто я попробовал… секунд через 15 МК был как кипятильник, хорошо что не сгорел :)
            Или я не прав?

            1. ты где то ОЧЕНЬ сильно не прав. Если БП дает 5 вольт, то он может давать хоть 800А, для МК это не имеет значения, он возьмет свои 2мА или сколько у него там и на этом успокоится.

              Если у тебя МК раскалился, значит ты перепутал питание или подключил что то не туда.

              1. МК при этом работал. а перепутать 2 провода весьма сложно. Надо будет поискать БП от модема длинковского, компактнее всё-же будет. И перечитать курс электротехники. :)

                  1. Зато коротить комповый БП — очень на любителя. И мощща приличная, так что стремновато, и комп вырубается, что очень непритно. А в лабораторной практике КЗ не то чтобы совсем уж не случается.

              1. У меня закрытый — в приличном корпусе, который жалко открывать из эстетических соображений. Пылится мало, благо пылефильтры перед всасывающими вентиляторами — must have. И охлаждение лучше когда потоки воздуха идут в правильные направления. Что позволяет снижать обороты вентиляторов и не наслаждаться их воем, который при открытии компа еще сильнее слышно. Из минусов такого решения — случайное КЗ и все, вас грубо выбивает из вашей среды разработки суровым poweroff-ом. В лучщем случае. Или что-то по мелочи выгорает, максимальный ток у компового БП весьма недурной. На спецэффекты его хватает. Кстати, если уж хочется питаться от БП компа — у правильных мамок (с ESATA, например, у гигабайтовских) часто бывают планки с выходами питания для HDD, обычный молекс. Что позволяет удобно и эстетично получить мощные +5 и +12 вольт за пределами компа.

        2. Если на компе есть разъем миди (15 пин мама) — его крайние дырочки это и есть 5в. Остается подобрать штырек под него.
          Совет — после штырька поставьте предохранитель. А то БП компа — 10А туда-сюда не замечает, а для пожара вполне достаточно. Я так раз коротнул. Провод — МГТФ, изоляция не горит. Загорелся сам МИДИ-разъем. Горящий комп — это круто.

          1. По поводу питания. Тут мне сказали, что если шить по схеме Громова унипрофом, то при снижении питания ниже 5 вольт МК не определяется. Вот с чем это может быть связано? Уровень не дотягивает чтоль :/

        3. > denilson марта 16, 2009 at 9:58 а как откуда именно брать питание из компа? Как его удобнее вывести?

          Я читал на страничке avr123.nm.ru/07.htm что +5 вольт можно зять на 1 выводе гейм порта ПК. А на странице avr123.nm.ru/z4.htm расписан COM-порт и там схемы оптоизолированых интерфейсов питаются от выводов COM порта.

            1. Такой вопрос — во время включения компа все шнурки уже должны быть подсоединены или питание на программатор подавать только перед самой прошивкой?
              И еще — кто-то пробовал прошивать этим программатором с помощью программы PonyProg?

                1. Не пойму — тут может быть, по идее, только одно из двух, либо ты подаешь питание на микроконтроллер(через программатор) только ДО самой прошивки, либо 5V уже подключено к микроконтроллеру изначально при включении компьютера…

                  1. Ну у меня от программатора идет шнурок 6ти контактный. В нем питание, земля и четыре шьющих сигнала (RESET,MISO, MOSI, SCK)

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

                    1. Спасибо за ответ, но ты можешь просто ответить на вопрос — питание подключено к микроконтроллеру уже при включении компа?

                    2. Тут внизу один человек(Dobby) говорил что именно для использования с PonyProg это программатор нужно как-то изменить — транзистор какой-то куда-то добавить, или так заработает — не в курсе?

                    3. Там транзистор на инверсию ресета идет, но емнип в пони проге можно инверсию сделать в настройках.

                    4. Спасибо, когда буду шить, спрошу где эту инверсию выставлять, если не против…

      2. Я собрал ваш программатор, ещё на печатке сделал некоторые доработки, одна из них это стабилизатор питания на плате, у меня вопрос нужно ли мне подключать через кварц от 1- 8 МГц ATmega8-16PU??? Стабилизатор собрал по этой схеме http://www.myrobot.ru/articles/images/mc/supply_03.gif , или мне можно на прямую подцеплять по вашей схеме? Помогите мне пожалуйста разобраться с питанием, делаю первый, раз поэтому есть сложности….

      3. Извините за беспокойство.
        Сделал программатор, пытаюсь первый раз в жизни прошить мк.(tiny2313)Unprof увидел мой мк. Открываю файл hex, нажимаю prog, пишет ОШ ЗАПИСИ @=0000, надо 12, есть 00.
        Нажимаю Read — одни нули. Нажимаю очистку- пишет » готово», но нули не пропадают. Помогите пожалуйста.
        Подскажите пожалуйста, что делать?

          1. Запитал от компа, рядом с аудио входом- выходом есть многопиновый длинный разъем, там нашел землю(звонится с корпусом компа ) и +5.1в. Провода от и до прогроматора — витая пара, от компа 1.2 метра, от прогроматора до мк 15 см.

            1. Что за многопиновый разъем? LPT чтоль? 25 контактов?+5В там могут быть только сигнальные, нагрузочная способность — один стандартный ТТЛ вход. Микроконтроллер не взлетит от такого питания.

              Замеряй напряжение при подключеном МК и в момент чтения/записи.

              1. Да, 15 пиновый мидии. Может что не правильно на контроллере подцепил, между vcc и reset должен резистор стоять? Или на каком этапе его припаявать?
                Между какими контактами замерять напряжение? И какое оно должно быть?
                Спасибо за ответы.

    2. В этом шнурке заложена одна неприятная особенность, а именно он не во всех случаях определяет процессор. Например взять схему из учебника радиокота. Там резет притянут к плюсу и программатор не работает :( Но это еще ничего, после того как я разобрался и убрал это притягивание случилась другая засада — при стандартном подключении ЖК 1602 к МК он тоже отказывается работать! Помогает только отключение трех проводков от схемы и тогда шнурку ничего не мешает…

      Вот как бы приделать на 74244 или им подобным буфер, как в шнурках на LPT?

  2. ATmega8-16PU подойдет для первого знакомства? У нас он в розницу 63р(~$2.5).
    А где можно найти расшифровку, что обозначают буковки в названии? P- я так понял это DIP корпус? есть еще AU,AI,JI. С L и без после имени. Больше всего боюсь купить однократно программируемую, или такое для ATmega невозможно? Эх еще бы такую же инфу по AT89 и PIC.

    1. L после Меги означает, что чип позволяет низковольтное питание (от 1.3 вольта и выше)

      число после тире это максимальная частота в мегагерцах.

      первая буква — тип корпуса. P это PDIP он же DIP. C ногами. Все которые А, S и так далее это разного рода поверхностного монтажа.

      Последняя буква это приемка. Промышленная, военная, коммерческая. От приемки зависит допустимый температурный диапазон (коммерческая от 0 до 50С, военная и промышленные от -20 до +50 вроде бы), процент брака в партии и, конечно же, цена. Военные и промышленные дороже, иногда во много раз.

      63рубля за атмегу 16 это нормальная цена. У нас порой и за 120 продают ее.

      Вполне подойдет. ОДнократно программируемых среди avr, насколько я знаю, нет. Да и если есть хрен ты их просто так в розницу купишь — слишком специфичный товар.

  3. Вопрос. Как у Вас поместиося программатор (размер 43 на 23) в корпус RS232? И зачем ZIF панель на 20 ног, если в дальнейшем (раздел робототехника) используется МК с количеством ног более 20 штук. А? :)
    Еще вопрос по сопротивлениям — Вы их из материнской платы выпаяли?

    1. Гы. На самом деле программатор у меня сныкан в коробочку 5х4, а не в корпус разьмема. На коробочке стоит обычный DB9 разьем для того чтобы можно было присоединять разные насадки. А зафотать и выложить эту коробочку я в запаре забыл :)

      Одна из этих насадок это как раз вот этот переходник с ZIF панелькой, которую я юзаю для массовой зашивки ATTiny2313 в своей домашней мелкосерийке.

      Резисторы я купил в радио магазине по 30копеек штука.

  4. Добавлю и свои 5 копеек опыта.
    Правда, работал больше с PIC, поэтому использовал обычно программу ICProg, она прекрасно шьет также много Атмелов. Но вот недавно потребовалось прошить Мегу32, (для цифрового осциллографа), по привычке сунулся, а он ее не поддерживает (по крайней мере, в списке нет). В архиве у меня десятки всяких программаторов, решил попробовать UniProf от Николаева. Прицепил по привычке 5 проводков на LPT, сигнальные, естественно, через резисторы ом по 200, на всякий случай. Запустил UniProf, подал питание 5v. Микросхема cразу опозналась. Читаю — читается. Стираю -стирается. Пишу — пишется. Делаю сверку — сверяется. Ставлю в плату — на экране ЖК только рекламная заставка. Прочитал внимательнее статью про осцилл, — оказывается, ему зачем — то нужно отключить JTAG, включенный на заводе у микросхемы
    по умолчанию. Сую в программатор, смотрю — точно, флажок JTAG стоит. Скинул, записал конфиг заново, сую в плату — все работает. И вообще, оболочка UniProf довольно удобная, много чего в ней есть, так что РЕКОМЕНДУЮ! На всякий случай: система у меня XP Pro русская, (с корпоративной лицензией, с работы спер). Проц E6850.

  5. Блин, по ходу спалил свой 1 мк (((
    Собирал все по принципиальной схеме на картонке.Первый раз держал паялник в руке,
    не считая баловства по детству.Вроде все сделал по схеме, диоды не пожог — потом их проверил мултиметром.Единственнон — на принципиальной схеме нет питания, и я
    все спаял без него.Мк естественно не увидился.Подумал немного и решил запитать его
    от аккумуляторов. Взял 3 пальчиковых по 1.2в и подсоединил их к ножкам vcc и gnd
    мк. Но он все равно не увидился. Позже я видимо коротнул его, так как контакт
    начал сильно греться. Я все делал не отсоединяя программатор от компа и не отключая его, может из-за этого что-то не так?

  6. Все работает!!!
    Я нашел причину! Когда смотрел даташит — то контакты пометил зеркально, т.к.
    мк вставлен в картонку с программатором , и паял я естественно с другой стороны ,
    а ключ пометил (или как он там называется?) сверху, и не подумал, что
    ножки таким образом расположены зеркально ^^ .А до этого, что я только не делал!
    И прозвонил все провода от платы к штекеру, проверил все диоды и даже сопротивление резисторов — полный ппц! А теперь все ок — мк определился как
    (8k, 512) mega8 . Открываю шампанское — ибо первый девайс сделанный собственноручно, и самое главное — РАБОЧИЙ! Я в экстазе!!!
    Спасибо огромное Cluster и особенно Di-halt за ответы на вопросы за проект и интересные статьи. Продолжай в том же духе!

  7. Вообщем переделал я плату, вместил к программатору ещё панельку, аккуратно соеденил с Com замыкать точно нигде уже не может! и вах такая же фигня (( Работает только в режиме «Тормоз!» причем без всяких проблемм. Прошиваю ATtiny2313
    может кварц нужно поставить???

    1. Кварц тут не поможет ИМХО. Режим Тормоз позволяет прошивать МК на скоростных процессорах. Я точно не помню, но вроде бы унипроф завязан на тактовую частоту проца, почитай у автора что он пишет на этот счет.

  8. Спасибо за советы! с землёй все заработало, по поводу скорости на ПК (AMD Athlon(tm) 64 X2 Dual Core Processor 3800+, 2 Ghz) прошивает нормально только в режиме тормоз!, на ноуте P3 433 Mhz нормально прошивает и без этого режима.

  9. есть проблема
    спаял com программатор
    поначалу мк не определялсо выяснил что перепутал
    питание и диоды не так впаял (хотя делал по маркировке)
    теперь определяется нормально (mega8)
    но прошить не могу тк в мк есть данные
    стирание не срабатывает нормально
    частично очищает но есть области забитые 7f7f7f7f7f7f7f7f7f
    кстати читал что программа исп частоту проца
    но она определяет ее каждый раз по-разному может в этом дело?
    режим тормоз тоже не спасает..

    может попробовать другую прогу? если да то посоветуйте простую

    1. Можешь рискнуть заюзать Pony Prog тока будь очень внимателен с фьюз битами. И под нее надо сварганить программатор аля 5 проводков. Вроде бы она не поддерживате программатор Громова.

      Также можешь попробовать avrdude тока с ключами разберись. Ну или оболочку графическую нарой к нему.

      1. еще вопросы:
        1 каков шанс что я запорол мк неправильными подключениями питания?
        есть 2 мк оба определяются нормально как mega8 512 8k
        2 длина шлейфов комп-программатор 5-7 см
        программатор -мк 20-25 см
        не много?
        3 лпт 5 проводов тоже мк определяет
        пытаюсь стирать вроде все ок
        но видимо очистки все же не происходит
        потому и грешу на прогу
        2 программатора определяющие но не могущие записать мк
        имху перебор

        1. 1) вероятность есть, но тогда он ваще не должен определятся.
          длинна вроде бы нормальная. У меня и на больших длинах работало. Скорей тут проблема в тактовой частоте компа. У меня то 1300+ всего.

          2) Длина нормальаная

          3) попробуй на другом мк побаловаться.

          1. может кому будет полезно
            дело в проге
            на другом пк заработало
            конфиг моего пк п4 1800 ообычный
            рабочий п4 1800 двухядерный

            на рабочем тоже есть ошибки в отдельных ячейках
            но в режиме тормоз все идеально

  10. Не получается прошить контроллер. Ругается «ош записи», далее адресс, байт который пытаемся записать и байт который там сейчас. Контроллер при запуске программы не идентифицируется, но даётся ручной выбор. Я выбрал tiny26, который у меня собственно и подключен. Нажимаю Read — читает, правда вся память забита нулями, не знаю правильно ли это. А вот когда пытаюсь что то в память записать, он выдаёт ошибку, которую я привёл в начале комментария. Кто-нибудь с этим сталкивался?

    1. Режим «Тормоз» пробовал? Возможно у тебя слишком быстрый компьютер :) (этот режим появляется если отключить отображение панели EEPROM)

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

      1. «Тормоз» пробовал, всё то же самое, только медленно :)
        Когда читал контроллер, там всё таки были нули, уж не знаю почему. Завтра попробую стереть всё перед записью, вдруг и правда поможет…

      2. В общем проблема оказалась в «плохом» питании. Я питался от старого блока питания с регулируемым напряжением. Судя по всему выдаваемый им ток был недостаточно выпрямлен. Во всяком случае, когда я запитался от компьютерного блока питания, всё сразу заработало. Правда читается раз через раз, иногда вместо прочерков читает в некоторых участках 7f7f. Запись тоже заработала, правда только в режиме «тормоз».

  11. Салют люди добрые. Я новичок тут. Можно спросить, для программирования меги8 что делать с пинами 20 и 22? подключать с VCC и GND соответственно с пинами 7 и 8?
    И ещё , GND с программатора нужно подключить к (-) батарее(питания)?
    Извините за кривой русский, язык не родной. :)

  12. Здравствуйте, я полный новичок :). Хочу узнать как можно проверить правильность сборки данного программатора? какие то значения напряжении …. как знать что собрал нормально или это порт у меня кривой и пытаюсь зря? Комп пентиум 3 650 Мгц, 2000-го года, XP PRO. Взял специально для КОМ.

  13. Здравствуйте, я полный новичок :). Хочу узнать как можно проверить правильность сборки данного программатора? какие то значения напряжении …. как знать что собрал нормально или это порт у меня кривой и пытаюсь зря? Комп пентиум 3 650 Мгц, 2000-го года, XP PRO. Взял специально для КОМ

  14. Собрал программатор по схеме, но контроллеры (пробовал mega 16 и 32) никак не определяются, ни на ноуте, ни на стационарном компе… Спаял всё на макетке, контроллер прямо на плате через панельку вставлен. Питание пробовал от стабилизированного источника с точной регулировкой и от 3х батареек на 1.5 вольт. Длина шнура до компа примерно 1 метр. За неимением com-порта пользуюсь переходнимов usb->com. В чём может быть проблема, в диодах? Подходят только те, которые тут в комментариях упоминались? Или в питании? Всё-таки лучше взять его с usb?

    1. 1) питание лучше брать от компового БП, тогда точно не будет косяков с разными уровнями.
      2) с USB — COM оно либо не работает ваще, либо работает ОООЧЕНЬ медленно (прошивка одной микрухи минут по 50). Т.к. данная схема юзает режим bitbang, а не нативный RS232.

      1. Приобрёл себе USB-шнур, чтобы взять питание с него. Возник ещё вопрос — подойдёт ли в качестве ком-порта pci-контроллер с com-портом? Пока что поеду его покупать, очень уж программатор собрать хочется рабочий:)

          1. Установил себе pci-com, взял питание с usb — МК откликнулся и определился! Прошил тестовую программу, потом считал содержимое контроллера — всё один в один:) Я счастлив, спасибо большое автору ресурса!)
            PS. Диоды брал Д220Б, всё норм

  15. Помогите, совсем запутался. Нужно прошить AT90S2313. Программатор COM собрал на картонке. МК вставил в панельку. Подал питание. В uniprof МК не определяется. Ошибок в схеме вроде бы нет. Проверял. Подскажите, так я и не понял. Кварц нужно прицепить или можно и без него(именно для AT90S2313)? Если да то какой лучше? Может еще где собака порылась?!

    1. Уже сам разобрался. Нужен кварц конечно. Я и сначала так думал. Но описание программатора с панелькой сбило с толку. Короче, прицепил 1,4 Мгц(какой под рукой был). Заработало. Определяется 2313 правильно. Посмотрим как будет с записью.

  16. Я так понял, что только у меня возникла такая ошибка. hex-файл :) не создается :(
    Сделал все как написано АВрСтудия выбрал Симулятор, указал контролер Тини 2313. Вставил то код, что в статье. нажал Ф7. И тишина. ни ошибок ни предупреждений. Только внизу написано «Building…»(или что-то похожее). В папке не появляется КЕКС. АВР студия 4b10. Че делать????

    1. Странно. Должен появиться. Вот такое:

      AVRASM: AVR macro assembler 2.1.17 (build 435 Apr 10 2008 09:27:55)
      Copyright (C) 1995-2008 ATMEL Corporation

      D:\Coding\AVR\Vesi\Vesi.asm(1): Including file ‘D:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m8def.inc’
      D:\Coding\AVR\Vesi\Vesi.asm(2): Including file ‘D:\Coding\AVR\Vesi\define.asm’
      D:\Coding\AVR\Vesi\Vesi.asm(3): Including file ‘D:\Coding\AVR\Vesi\macro.asm’
      D:\Coding\AVR\Vesi\Vesi.asm(4): Including file ‘D:\Coding\AVR\Vesi\vectors.asm’
      D:\Coding\AVR\Vesi\Vesi.asm(12): Including file ‘D:\Coding\AVR\Vesi\init.asm’
      D:\Coding\AVR\Vesi\Vesi.asm(408): No EEPROM data, deleting D:\Coding\AVR\Vesi\Vesi.eep

      ATmega8 memory use summary [bytes]:
      Segment Begin End Code Data Used Size Use%
      —————————————————————
      [.cseg] 0x000000 0x000282 642 0 642 8192 7.8%
      [.dseg] 0x000060 0x000060 0 0 0 1024 0.0%
      [.eseg] 0x000000 0x000000 0 0 0 512 0.0%

      Assembly complete, 0 errors. 0 warnings

      компилятор выдал?

      1. Вообщем, господа-специалисть я сравнил два проекта: один сделанный мной; другой сделанный Ди Халтом для одного журнала.
        Повторюсь, «загвозка» была в том, что при нажатии Ф7 внизу АВРСтудио (вкладка Output)кроме написи «Building project…» ни хр..а не проявлялась. и хек-файл не создавался.
        так вот при стравнеии 2 файлов различий не было. кроме одной детали. В проекте созданным мной в левой панели (Workspace) бал вложенный список, а в проекти Ди только название файла. В моем проекте Workspace содержал
        — test
        — Assembler
        — test.asm
        структура такая
        Я так понял мне надо добится, чтоб мой проект не имел такой структуры. Как сделать?
        В доказательство своих выводо я удалил из проекта Ди его программу и вставил ту тестовую (см статью). И… все заработало. :)))))

        1. Гхм. А как ты умудрился вложенный список то создать?

          Я как обычно делаю:
          Создаю визардом студийным проект, при этом студия сама создает папку в нужном месте. В ней, прям в корне, все барахло и лежит. Чо надо прям туда и добавляю. Может тебе просто пути полные надо прописать? Жопой чую тут дело в путях :)

          1. Да хрен знает, делаю также. Визардом создаю проект, галки все стоять (создать папку, создать файл инициализации). Да сам не знаю что делать?? А где путь эти прописать?

              1. Я уже все комбинации перепробовали этих галочек. В пустую. Уже последнюю версию скачал. опять пустое. Создал проект Визардом. Никакой код не писал. нажал Ф7.А в ответ «Системе не удается найти указанный путь.»
                Что-бы это значило?? Может во время установки не надо ставить USB драйвера. (он мне предлагал поставить. я когда отказался от их установки, после он даже запускатья отказался).
                :(
                ну, может поможете с этим, кто нибудь.
                Я тут сделал снимки экрана. Что там не так? если что могу добавить что попросите. Может кто свои снимки покажет.
                Извините за такое (лоховство). но я вообще не понимаю что делать?

                1. Значит никто помочь не смог :((((. А тут нашел программу Algoritm Builder. Буду её осваивать сам. Тестовый пример попробовал (моргание лампочек) — все работает. Теперь наши дороги (в смысле программирования) наверно разайдутся.

                  1. Сорри. Не заметил твой последний коммент со скриншотами.

                    Поглядел — я делаю также. Решил повторить. Скопировал текст прям из статьи — опа Missing File… чо за нах.. он же гарантированно рабочий… Тут гляжу, блядь, в директиве Include какие то кавычки вроде те, но не такие. Кривые они какие то… Сраная типографика! Видать где то их при размещении статьи подменило. Стер кавычки эти нахуй, поставил вручную заново — все стало находиться и компилиться.

                    1. А, все равно, не идет. таже ошибка ходь какие кавычки. Я уже на другом компе пробовал. один результат — «‘Ёб⥬Ґ ­Ґ г¤ Ґвбп ­ ©вЁ гЄ § ­­л© Їгвм.» В переводе на наш “Системе не удается найти указанный путь.”
                      Может выложишь файл с исходником и пректом. Я бы попробовал его у себя запустить.

                    2. Все, разобрался. Дело было в путях. ВНИМАНИЕ!!!
                      При установке АВР СТУДИИ нужно каталог для установки выбирать (или создовать), чтобы путь до АВРСтудии был на ЛАТИНСКОМ шрифте. Т.е. привожу пример
                      Я ставил в директорию D:\\Программы\AVRStudio — не работал (компиляция не идет)
                      Когда поставил D:\\AVRStudio — все пошло на УРА.

                      Предложение к ДИ. удалить мои посты (как флуд), кроме последнего.

  17. Как пользоваться UniProf’ом?
    Мне нужно файл .hex прошить во FLASH, а .bin в EEPROM.
    Окно слева PROGRAM это FLASH?
    То есть нужно что бы .hex был слева, а .bin справа?
    После того как я залил прошивку, мне нужно подать на reset +5 вольт и так оставить? Припаять что ли?

    1. Когда в унипрофе тыкаешь на кнопку загрузка HEX то нужно выбрать вначале Flash, сразу же за ним выскочит окно выбора файла EEPROM если у тебя данных еепрома нет, то там жмешь канцл.

      Ресет лучше сразу же, через резистор в 10к завести на питание. А программатор подключать на RESET непосредственно к ноге мк. До резистора.

  18. Вот я впервые собрал программатор, и у меня есть парочка вопросов. Можно ли при неправильной спайке программатора, повредить комп, и где бы узнать, как подключаться к СОМ-порту.

      1. Спалить можно, но дальше интерфейса ком порта вряд ли уйдет. Ну не будет у тебя ком порта :))))

        Кстати, если на жопе компа не будет ком порта, то возможно ты сможешь найти его на мамке — там он в виде штырьков.

    1. А ты возьми и разгляди колодку разьема внимательно. ТАм каждый вывод пронумерован. Так вот. DB9 это тип колодки (комовская, 9ти пиновая) а через слеш идет номер контакта в колодке.

  19. Небольшое отступление в сторону тех, кто пытыется прошивать АВР-ки CVAVR-ом…
    В Унипрофе фузы такие же как в даташите, в ЦВАВРе — ИНВЕРСНЫЕ!! так же как в авердуде!! не повторите моих ошибок ;)) ….чо обидно , даже не предупредили чо так там есть, благо кварци под рукой были, успел вылечить пару мег )))

  20. У меня был прикол с этим программатором я использовал 10 контактный разьем как у AVR так был прикол втом что я использовал толстые жилы шлейфа и после обжимки соседние контакты замкнуло был полный бред контроллере Николаев может это подтвердить
    Может и утебя тоже
    Данный программатор использовал как на 3Ггц процессоре так и на 800Мгц работает нормально без включения тормаза
    Есть с этим программатором один прикол при работе с ХР
    Нужно расшарить общий доступ к портам иначи будет полный бред с кантроллером
    Для разрешения общего доступа к портам нужно испорзовать соответсвующую программу.
    Может у тебя тоже самое «неразрешон прямой доступ к портам»

    1. У любой системы на ядре WINDOWS NT (WIN 2000 и более поздние) прямой доступ к портам запрещен. С портами напрямую могут работать только драйвера, работающие в нулевом кольце защиты. (Все прикладные программы работают только в третьем). Для многих популярных программаторов (IC prog, PONY prog), такие драйвера уже имеются. Если такого драйвера нет, — никакое расшаривание проблему не решает.

  21. Как уже писал в Windows 2000 и XP по умолчанию порты всегда закрыты их надо открывать для общего доступа.
    Прога пытается посылать данные напрямую в порт а винда по умолчанию это запрещает.
    она дает вазможность работать только через драйвер.
    Поэтому чтобы данная прога работала нужно ставеть утилиту для открытия портов
    Она есть на сайте разработчика данной программы. http://www.avr.nikolaew.org
    Там все подробно расписано.
    Лично я использую программатор STK200/300 Но начинал с описаного здесь программатора

    users.i.com.ua/~gumeniuk/
    Здесть есть утилита для разблокировки порта

  22. Народ ПАМАГИТЕ!!! Я уже третий программатор собрал и ни один не работает, Гормова был превым на COM порте, он к сожалению я кажется выжег порт когда подключил питание к прорамматору в первый раз, потом забросил его подальше в угол. Собрал еще 2 на LPT на основе 74HC244, думал будет лучше, НО в PonyProg выдает ошибку по лчереди либо -11(проверить подключение и порт) дибо -14(оборудование занято), Хотя светодиоды на программаторе иногда мигают, вот решл достать программатор громова переправил питание, сделал новую плату, сделал переходник COM-LPT проверил, ВСЕ ПРАВИЛЬНО, НО UNIPROF говорит что МК не откликнулся, ПОдал питание, все то же «МК не откликнуля», и при считываниии с МК в двух окошках одни «——«, но помнится однажды подключил тот LPT программатор, нажал считать, в окошках были одни «FF FF FF FF» (МК НОВЫЙ). Так что же это значит? как проверить работоспособность LPT? И что эти ошибки значат а точнее как их исправить.

    И что значит это МК не откликнулся? Что вообще должно писаться в UNIPROF когда все в порядке?

    1. Бэз паники. LPT спалить легко, проверить можно принтером который к нему подключается.

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

      Кроме унипрофа есть еще один простой программатор на COM порт.

      У УНипрофа могут быть проблемы с новыми компами. Помогает обычно галочка тормоз. Также у ХП часто бывают закрыты порты. Об этом говорили в комментах, так что надо надыбать тебе программку которая дает доступ к COM и LPT портам напрямую. В комментах где то было недавно.

      1. А это точно с пустого и нового МК считывается — — — во всех ячейках, а то мне один человек сказал что FF FF FF должно быть во всех ячейках.
        Ну даже если должно считываться — — — то оно у меня пишет когда не то что МК к порту не подключен, но даже и сам программатор не подключен. Разве это правильно. А что должен писать Uniprof если программатор правильно подключен, и может как нибуть можно придумать планку-тестер (ну со светодиодами например) чтобы проверить работоспособность самого программатора?
        И какие его настройки LPT в биусе чтобы программатор заработал, может у меня там крыса зарыта. Вот что у меня стоит сейчас:
        Parallel port
        Interrupt: IRQ 7
        Mode: Bi-directional

  23. В попытке найти крысу решил перечитать все комменты, возникли новые вопросы:
    Так какой в конце концов провод должен быть, я МК прям на плате программирю, а вот провод до самого программатора выглядит так: сначала подразумевалась работа с com поэтому сантиметров 18 провод с com разьемом, но com порт приказал долго жить, а перепаивать программатор неохота было, да и вдруг найду рабочий com, подумал я, и спаял переходник com-lpt длинной сантиметров 10. А вот сейчас подумал, общая длинна провода получилась сантиметров 30 плюс два штекера com и lpt посередине, может тут крыса зарыта и это мешает работе? Или длинна провода до программатора не имеет значения?
    Да и по поводу reset, получается после прошивки для работы МК нужно подать питание не только на выводы земли и +5v, а еще через резистор подать эти же 5v на reset?

    1. У кома сигнал более сильный чем у LPT, поэтому ком порт допускает от компа до программатора длинный провод. От программатора до МК провод должен быть коротким всегда. С LPT от программатора до компа должен быть как можно более короткий провод. Не более 10-15см.

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

      Да, желательно еще и +5 через резюк подать на ресет, иначе будет работать нестабильно, может вообще не заработает.

  24. Уменя была подобная праблема мне Николаев высылал утилиту для проверки ком программатора обратитесь к нему если он будет доступен то даст.
    СОМ порт спалить очень проблемотичнотам везде 12 вольт а на контроллере в программаторе 5 вольт
    Быстрее спалиш ЛПТ чем ком
    Я на данном этапе использую программатор STC200+300 и пролграмму ShipBlaster AVR
    Он работает уже коректно в ХР так как имеет дрова
    По поводу утилиты надо скачать архив и использовать UserPort
    У ShipBlaster AVR я ненашол автоопределения чипа там его помоему нету

  25. Николаев это тот кто написал данную программу через каторую работает программатор.
    avr.nikolaew.org
    По поводу утилиты она у меня осталась.
    Но недам по двум пречинам.
    1 Незнаю как делать влажения в сообщения.
    2 Нужно уважать право интелектуальной собственности.Веть программа не моя.
    Поэтому сходи на выше указаный сайт напиши по почте человеку и он тебе я думаю ее вышлет. Покрайней мере я поступил так.
    Высылает бесплатно но а ему будет всетаки приятно.
    Насчет диодов подходят любые высокочастотные, они там стоят для того чтобы пропустить только положительное напряжение.
    У Ком порта высокий уровень это +12вольт а низкий это -12вольт намже нужен только плюс.
    Иногда путают MISO и MOSI и будет тоже самое как у тебя.
    В моем слугае была проблема соединительно кабеля между программатором и контроллером.

    1. Извините за беспокойство.
      Сделал программатор, пытаюсь первый раз в жизни прошить мк.(tiny2313)Unprof увидел мой мк. Открываю файл hex, нажимаю prog, пишет ОШ ЗАПИСИ @=0000, надо 12, есть 00.
      Нажимаю Read — одни нули. Нажимаю очистку- пишет » готово», но нули не пропадают. Помогите пожалуйста.
      Подскажите пожалуйста, что делать?

  26. Ну вот, тут оказывается про мой программатор речь идет…
    Вставлю свои пять копеек.
    1)После зашивки программы разъем программатора можно не снимать, чтобы программу запустить. Включите режим отладки (лупа). Пусть собсно отладки и не будет, для этого надо в программу модуль небольшой вставить, но RESET будет снят.
    2)Программу для проверки — найду. Да и не делаю я из нее секрета, выкладывайте если у кого под рукой.
    3) на ноутбуках для COM порта надо немного схему изменить — делитель не 1к:1к делать, а где-то 300 ом: 1к, так как на ноутбуках напряжение как правило гораздо ниже 12в. А вот стабилитрон ставить пробовал — плохо. Шумит он, что ли…
    4) Еще один глюк на ноутбуках возможен. Для формирования времянок программа определяет тактовую процессора… А на ноутбуках процессоры как кошки, чуть затишье — и спать. В результате таковая неверна — и проблемы. Я пока делаю в этом случае так — запускаю что-то крупное и тут же, пока она натужно грузится, запускаю uniprof

  27. Товарищи, коллеги (я не побоюсь этого слова) помогите разобратся в ошибке. проблема — прошивка не хочет прошиватся в МК.Все сделал по инструкции.
    1-Подключил МК (он определился правильно)
    2-Выбрал хен-файл (подготовленный для данного МК)
    3-Нажал кнопку Prog
    Началась запись и на середине выплыла ошибка. «Ош записи,@=0040, надо FF, есть 00. Повтор?» (и Варианты Да нет Отмена) Ни одна из кнопок не помогает, только Отмена.
    А на 40 «ячейке» у меня стоит байты CFEF. Правильно ли что они стоят?
    Для справки — При нажати кнопки «?» (проверка на чистоту МК) говорит, что Program — есть запись, ERPOM — есть запись
    Для наглядности выложил картики с ходом процесса (как я это делаю). может поможет.
    http://depositfiles.com/files/nbhmofcd0

    1. Да, для успешной записи поверх другой проги нужно два факта:
      1) Мк должен быть определен заново (переключи порт на другой какой нибудь, а потом верни обратно) чтобы МК определился заново. Либо прогу перезагрузи.
      2) Нажми Erase.

      Убедись что МК пуст, считай все, должны быть прочерки везде
      Заливай!

      1. Поподробнее раскажите о том как очистить — у меня не очищает. Я подключил МК, запустил Юнипроф, Нашал Erase. Нажал «Да, уверен» и тут же прога ответита «Готово, сер». Но результата нет — старая прошивка осталась в МК. Пробовал после этого нажать Prog(когда были чистые листы), но прога ругнулась и ничего не сделала.

      2. Чтобы «определить заново» — точнее, ввести МК в режим программирования — можно просто кликнуть по синему тексту с тактовой частотой компа. После того как выключалось питание или МК запускался в работу — это делать обязательно.

  28. НАРОД, я задолбался бегать и собирать программаторы всех мастей и разновидностей, решил преступить запретный порог «вот схема 5 проводков, НО ТАК НЕ ДЕЛАТЬ» и сделал, настроил LPT PINS и…..ЗАРАБОТАЛО, пишет без проблем, длинна провода минимальна, 4 см из них 3.5 это корпус разьема от провода принтера. Но кто поможет все-таки с программатором громова, мож LPT PINS для него не настроены, может кто напишет какие пины на какой вывод MOSI MISO RESSET … мне кажется тут проблема, не писать же мне левыми пятью проводками, хотя…

    1. Пять проводков это реальным метод. Но неудобный и рискованый. Рано или поздно им убиваешь LPT порт. По неосторожности неправильным подключением или статикой.

  29. Хехе. Приятно, что Вы быстро откликнулись. Микроконтроллер не определяется. Пишет МК не откликнулся, проверьте порт и подключение. Воткнут в СОМ1 (нормальный не виртуальный порт).

    1. Такое может быть в случае

      1) неисправен МК
      2) ошибка в схеме программатора или подключения
      3) нет питания на МК
      4) нет тактовой на МК
      5) у вас ноутбук — схему надо чуток изменить, верхние резисторы делителя уменьшить до 300 ом примерно

      1. Итак отвечаю:
        1) У меня два новеньких МК. Маловероятно.
        2) может быть. Не знаю.
        3) Питание есть. 5В. Подскажите важные контрольные точки, где нужно замерить и что там должно быть.
        4) Имеете ввиду на ХТAL1 нужно подать сигнал (_П_)? Так в варианте 7 резюков этот сигнал не используется… по схеме. Что-то нужно доработать?
        5) То есть реюки с линии RESET уменьшить, так?

        1. 1) но вы же в них пыталичь писать что-то в различных комбинациях?
          2) схема вроде не сложная. Для проверки http://avr.nikolaew.org/download.htm в конце программа отладочная… Писана не для этого, но оценить уровни и правильность пайки поможет
          3) Vcc,AVcc = 5v, не забыть что GND два пина!
          4) Если МК «с завода» то ничего не надо — по дефолту он включен на встроенный генератор. Но — см. п. 1. Если в фузы записали что-то, то возможно МК настроен на кварц или вообще внешнюю.
          5) выходы COM порта — это +-10в. диоды обрезают минус, два резистора 1к:1к образуют делитель на 2. Но в ноутах вместо +-10 обычно +-6-7в. Всего в шнурке три таких делителя. Объяснять как работает не буду — думаю, раз вы в МК полезли, такое знать должны

          1. Так. Спасибо. В мк ни чего не удалось писать, так как ни одна прога девайсы не видит. Подключу Vcc и AVcc, GND и AGND. Посмотрим что будет. А также заменю все резюки на 300 ом. Кстати, диоды в прямом направлении имеют 550 ом. Не много? Или заменить их? (марку этих не знаю, выпаял из платы какой-то).

            1. Обана. А что, сейчас Vcc-AVcc не подключены? Вы же говорили что питание есть!
              И не надо заменять ВСЕ резисторы на 300 ом. Надо заменить ВЕРХНИЕ в делителе, да и то только тогда когда работаете с ноутбуком! На обычном компе такой шнурок спалит ваш МК нафиг, потому что превышение сигнала на пине МК по отношению к питанию разрешается только на 0.5в

              1. AVcc и AGND не были подключены. Так что на счёт диодов?
                Итак. Соединил AVcc-Vcc и GND-AGND. Стал замерять напряжение между GND и RESET на мк.
                1. Запущен uniprof и настроен на СОМ1. Есть питание на МК 5В.
                напряжение GND-RESET = 2,91В.
                2. Uniprof не настроен на СОМ1. Есть питание на МК 5В.
                напряжение GND-RESET = 0,96В.
                3. Uniprof настроен на СОМ1. Нет питания на МК.
                напряжение GND-RESET = 2,50В.
                4. Uniprof не настроен на СОМ1. Нет питания на МК.
                напряжение GND-RESET = 0,00В.

                Вот. Что ещё сделать?
                Всё равно ведь не определяется МК…

                Ага. Достал 1N4005 диоду. Попробую их. И ещё вопрос: напряжение на RESET нужно как мерить? RESET-VCC или RESET-GND?

                Поставил диоды 1N4005. Заменил верхние резисторы на 300 Ом. Но МК всё равно не определяется. Что делать? (Может кто есть в Челябинске с этого форума?)

                1. Все напряжения измеряются относительно GND
                  В случае когда запущен uniprof — на Reset должет быть лог.0, то есть напряжение ниже 1в. Если нажать на кнопку «лупа» — это пуск МК в работу — на Reset должна быть лог.1, или выше 2.5в.

                  В вашем случае почему-то все наоборот да и напряжения странные какие-то… Где-то в схеме наверное ошибка. Возьмите с моего сайта программу — в разделе downloads внизу — уж Reset там можно переключать прямо с компа, MOSI — переключается по стробу.

                  Стучитьесь ко мне в аську, 341742314, попробуем разобраться…

                  1. кстати, насчет проверки сигнала на контакта Reset, Mosi и Miso, SCK. В Хелпе к Юнипрофу написано что можно задать на эти линии на любой пин Lpt. Кнопка называется LPT pins. Хорошо бы еще такое сделать для КОМ порта. Вот этим инстументом можно было бы проверить каждую линию( Reset, Mosi, Miso и SCK). Но почему-то такой кнопки для ком-порта фактически нет.
                    Это, я так сказал, к слову. А вопрос у меня другой. Замерял напряжения на каждой линии и обнаружил что Mosi 0.0-0.1 В. НА обеих ком-портах. Из-за этого прошивка не заливается. На другом компе все работает, а на моем нет. В чем дело? как обойти неработающий пин Ком-порта?

              2. На моем ноутбучном СОМ-порте напряжение было 7.63В, поставил верхние резисторы на 510 Ом, 0.25Вт, нижние оставил по 1 кОм, заработало только так. Напряжение питания 5.23В, на ногах МК 3.63В. Длина проводов программатор-мк ~13-15см.
                До этого ставил верхние резисторы 270 Ом — работать не хотело (напр. на ногах было 5.85-5.9В при питании 5.22В).
                Диоды 1N4148.
                Uniprof работает в обычном режиме. Машина Пентиум-4 2ГГц, ВинХР версия 2002, СП-3.

  30. В общем прошил я свой первый МК! Причины, из-за которых не получалось прошить:
    1) Напряжение в ком-порте ноутбука 5В. Из-за этого пришлось убрать три резистора (по одному с каждого делителя)по схеме слева.
    2) Соединил ножки МК (Vcc и AVcc); (GND и AGND).
    3) Тщательно припоял каждый контакт панельки к плате.

    А мучился почти неделю.

    1. 3) Тщательно припоял каждый контакт панельки к плате.

      Вот.Вот. ДиХалт обращал на жто внимание. Дефект в монтаже. Чаще всего по этой причине и не прошивает. Я субя тоже находил много косяков… Я вот уже полгода мучаюсь с программатором — а проблема была в хреновом ком-порте на родной машине.

        1. Я уже в общем разобрался в чем была засада и чего МК не определялся. Оказалось, что в учебной схеме с сайта радиокота RESET притянут к плюсовому проводу через резистор в 300 ом. Ну и ес-но что программатор, схема из этой странички, ничего не мог сделать… Ну я пооткусывал все лишние резисторы — еще один на 2к подтягивал к «+» MOSI и через 2к SCK на землю.

          Зы: все работает и без этих резисторов.

  31. Di Halt, салют! Очередное тебе спасибо за сайт и толковое изложение! всегда тянуло к электронике, но начать было сложно, а с avr все вроде относительно просто и заманчиво, будем разбираться) стоят копейки, прикупил парочку tiny и mega для экспериментов.
    Собрал приведенный программатор. С платой пока заморачиваться не стал (хотя бутыль хлорного железа и пачку текстолита надыбал, будем осваивать лазерный утюг =) ). Все спаяно навесным монтажом, помещено в корпус от розетки RJ-45, дабы исключить замыкание элементов залил клеем из клеевого пистолета. В качестве колодки для avr используется просто макетка, проводки от программатора тупо втыкаются возле соответствующих выводов по датащиту. Длина провода от COM-порта до программатора порядка 1,5 м.
    Изначально были проблемы, при чтении пустого avr проскакивали непонятные значения, причем при каждом чтении в разных местах. Вылечилось галочкой «Тормоз» в uniprof!! Изначально тоже грешил на длину провода! Сейчас все шьется на ура.

  32. Спасибо большое автору за подробные разъяснения и ликбез для начинающих =) Решил собрать свой первый программатор (заодно и первую плату)). Довольно долго подбирался к этому, ибо толком не было ни инструментов, ни компонентов. В итоге все же собрал все воедино, попробовал запустить — контроллер не детектится (ATmega16). У меня есть сомнения насчет правильности подключения входов. В ДШ написано, что кроме VCC, AVCC тоже должен запитываться, даже если АЦП не юзается. А вот нужно ли подключать вторую землю — GND, я не понял. Поначалу решил что это для удобства подключения, раскидано на две стороны, теперь сомневаюсь. Мультиметром зырил на контактах панельки — 5в напруга в норме, по остальным толком не знаю что должно быть. буду начинать с наиболее очевидного, ибо все раздирать не хочется сразу :)) Тем более в процессе сборки старался по возможности проверять все.

    1. Я вот только зашил свою первую Atmega8 (и уже собрал на пластиковой макетке девайс, работает блин!! светодиодами перемигивается) При программировании подключал только 5 проводков , как предусмотрено в программаторе, AVCC не юзал. Землю тоже одну, про вторую второпях забыл =) Все прошло на ура! Питание кстати беру прям с компа с БП +5В.
      А первоначальные эксперименты так наверно лучше с ATtiny прводить (что я и делал). Там ножек поменьше, меньше вероятность попутать, да и стоит 40 р. )

      1. Я тоже питалово с компа взял, сделал переходник даже. Хотел все чтоб модульно было и легко отсоединялось, потом забил)) Сделал правда отдельную панельку, как у Di Halt на рисунке выше, только на 40 контактов(заманался немного с ЛУТ, ибо дорожки 0.35 сделал, а процесс еще не был отработан)).
        Еще раз прозвонил все — оказывается диод отвалился в результате кривопайки) Контроллер определился, но потом почему-то при повторном выборе порта стал выводить invalid inter value или предлагает выбрать из списка контроллеров. Хз, мб провода длинноваты. Сами провода до панельки в норме, а вот соединительные длинные. Не знаю насколько это критично..
        Тини (2313) я тоже собирался взять, стоит она у нас (СПб) уже от 80! С ней конечно попроще, да и в книгах по МК примеры на ней. Но я как-то уже взялся возиться с мегой, панелька готовая под dip40 тоже душу греет :)

        P.s. Тока щас обратил внимание, что ты тоже из СПб =) А где ты тиньки по 40р нашел? :P

          1. Да, цены классные, кстати, спасибо. Правда с розницей посылают по ссылке в магаз. Вспомнил, что мы туда ездили с друганом, но он был закрыт. Надо будет добраться все же.
            Мега 16 за 90р. в розницу весьма здорово!

          1. Я в микронике мегу16 как раз и затарил. Только она была 105р в прайсе, а когда привезли уже до 145 подорожала =( Потом просек что все МК подорожали неплохо..

            1. Мне у нас в Радиомаркете предложили tiny13 за 105р. (mega8 там около 130р.) Я тихо охренел и ушел. Вот только проблема в том, что это один из немногоих магазинов города, где реально есть МК. В остальных или нет, или кончились и когда привезут — неизвестно.

  33. Все, разобрался вроде и запрограммил МК =)
    Правда вышло несколько косяков. Определятся на 100% в автомате только в режиме «тормоз» (Athlon XP ~2000MHz). На первой прошивке все куда-то повисло, решил стереть все и прочесть для проверки. При чтении в нетормозном режиме вылазить такая ботва:
    http://s56.radikal.ru/i151/0903/f6/3aaa2ee783f6.jpg
    В тормознутом режиме все ок:
    http://s55.radikal.ru/i147/0903/c0/eddd19ee5583.jpg
    Правда в EEPROM какая-то фигня повисла.
    В итоге прошил прогу, сбросил reset, начал тыкать мультиметром. На некоторых портах 0,5,0.. В, все ок! Но на портах D, например, было 0,5,5,0.
    Потом решил попробовать прочесть содержимое прошивки МК еще раз (ресет вернул, прогу перезапустил). Вылезли опять эти кракозябры:
    http://s51.radikal.ru/i133/0903/c5/02e1ded9087d.jpg
    Черт знает что :) В целом я конечно рад, но не на 100%. Хочется разобраться в этих непонятках, дабы не блуждать впотьмах.

    p.s. Прочел еще раз прошиву, все ок, в EEPROM 8A в одном окне, как и выше. Мистерия какая-то. Видать придется бубен приобрести при случае :)

    1. 1) А ты точно пины по порядку мультиметром тыкал? А то нумерация выводов из МК такая, словно их наркоман разводил.
      2) Если унипроф тупит и работает только в режиме тормоз, значит надежды на него нет — он слишком медленный для этого компа. Попробуй аврдуд. Как настраивать под дудку в посте есть, в дополнениях.

      1. 1) Да я там приклеил бумажечку с обозначением пинов, чтоб все чинно было)) Еще раз проверю и попробую затереть по новой и перешить. А в EEPROM тоже окно по дефолту должно быть чистое?
        2) Ага, спасибо, попробую. Хотя опять же, uniprof все же шьет, попробую провода укоротить, посадить вторую землю, пошаманю, может все ок на самом деле =) Думаю надо дальше двигаться, может на юсб программатор сделать и попробовать на основном компе (эти хады уже в новые материнки ни com ни lpt не пихают..)

    2. хмм… у меня Core Duo 1800. Без тормоза также были те самые 7F, но только не так часто, в единичных местах. С тормозом все ок, ни разу не вылезло. Вечером ради интереса проверю на других разных машинках

  34. Ди !!! тут по множеству запросов и жестких тупняков по поводу того, что программатор собран ПРАВИЛЬНО и МК запитана от батареек а НИЧЕГО НЕ РАБОТАЕТ, ПОЧЕМУУУУ!!??
    на это счёт есть ответ который ,я так думаю, надо дописать к дополнениям в пост…
    ПИтание АВР при прошивке должно составлять НЕ НИЖЕ 5 вольт !!! будет хотя бы 4.8 и получите «ункнов девайс»….. это проверено и не раз :)…

      1. я просто жестоко тупил пару месяцев на счет батарейного питания при прошивке…. 3 пальчиковых батарейки при всём желании не дают нужных 5 вольт… а вот с БП компа — пожалуйста! Всё пашет, и вот я начал проводить эксперименты…. снижал питание от 5.25 воьта (напруга в USB) до 4.6 вольта (примерное напряжение от 3 АА батарей), при 4.9 начинало прыгать опознование МК в Унипрофе…. но в ЦВАВРе было всё ОК! но при снижении до 4.6 уже не определялась ни одна МК :( не на одном проггере.
        Думал это тока у меня…. но не тут то было…. несколько раз, разные люди тоже подгорели на сей же колбасе …при подключении к питанию компа ,они получали таки щастье :)

        1. Вона как. Никогда с этим не сталкивался, т.к. у меня от Николаевского программатора сразу же и питался девайс (хуле, там сильные 5 вольт сразу из БП :) ). А вот усбасп спокойно шил даже когда напряжение питания было 3 вольта.

          А вот подключать запитанный от 5 вольт МАХ232 к МК работающем на 3.3 вольта нельзя — убиваются выводы :(

          1. так ты шил усбаспом L-ки на 3х вольтах? мне посто не пришлось как-то сильно работать с низковольтными контроллёрами…. не могу привести статистику на них..

    1. Возможно надо просто уменьшить номинал резистора, который соединяет 8 и MOSI? Тогда AVR на выход будет давать напряжение повыше. (Мне помогло вообще выпаивание этого резистора, когда я работал с кабелем 2м :-])

  35. У меня такая проблема: спаял программатор, вставил МК (мега 8), питание от БП компа, запустил прогу Uniprof, выбрал порт и контроллер сразу определился, НО он некорректно считывал и записывал данные. После следующего включения программматор не смог автоматически определить тип контроллера, а ещё после следующего вообще не обнаружил.
    Скажите что это может быть? Возможно ли такое, что при непрасильной записи нечайно записался бит защиты?

    З.Ы. Стоял режим «Тормоз», Частота проца 3 ГГц.

  36. 1. Смотри длину проводков от программатора к МК… (должны быть не более 10 … 15 см, иначе помехи задолбят)

    2. Ищи непропай. Возможен «плавающий» контакт. Когда вроде первый раз работает, второй раз через раз, а третий — нифига :)

    а питание надо подключать к МК на ножку Acc , а минус на GND… рекомендуется соединять все ножки питания и земель!

  37. Вопрос, адресуемый скорее всего Николаеву (хорошо, что здесь он появился).
    Как правилно настроить Юнипроф на ЛПТ-разьем?
    Когда нажимашь кнопку LPTpins появляется меню с выбом для каждой линии определенного пина(номер пина в скобках). Нумерация в Юнипрофе идет до 17 пина, а в схеме Громова есть пин № 20 (для DB-25F). Как, в таком случае настраивать Юнипроф? Или легкче всего, вместо 20 пина подлючить к 17 (например)?
    И еще для чего нужны кнопки в меню настройки пинов типа «TEST Reset». И как с помощью них можно проверять настройку LPT разьема?
    Если не трудно, ответьте пожалуста. Я сам хотел с этим разобратся на недели, но под рукой появился халявный инет — решил задать вопрос.

    1. Ой. По моему, вы чего-то напутали. На схеме с 7 резисторами и 3 диодами приведены два разъема для COM порта! (и на мой взгляд зря — 25 пин COM порт сейчас нигде уже не встретишь). К LPT эта схема никакого отношения не имеет!

      DB-25F — F — значит Female, то есть мама. Имеется в виду разъем на шнурке, а не на компе! На компе — COM — папы, а LPT — мама.

        1. Для LPT и COM разные схемы. LPT — TTL совместим, и какое-либо преобразование уровней не требуется. Это плюс. Минус — то что LPT очень нежен, спалить его проще простого. Крайне рекомендую в этом случае МК запитывать от компа. Зачастую для того чтобы спалить — достаточно подключить (или отключить) разъем LPT при включенном питании, если питание от другого БП.

  38. Большое спасибо _riko_ за ответ. Не было контакта, поменял разьем и всё ОК.
    Но теперь другое, при прошивке пишется «Ош. Записи, @=0000, надо 4В, есть 01», а считывает всегда одинаково.
    Длина проводов от ПК до МК 3см, это вместе с диодами и резистами.
    Скажие, пжлст, это из-за компа (3ГГц)? Другого компа нет, попробовать не могу.

    1. Может быть. Попробуй настроить на это AVRDude у UniProf могут быть проблемы с высокими частотами. Или активируй галочку «Тормоз» она прячется под окном с ЕЕПРОМ. Отключи окно ЕЕПРОМ и увидишь.

  39. Возможно и так, но попробуй еще раз проверить ДОСКОНАЛЬНО контакты от программатора к МК… Говорю так, потому что тоже сталкивался с такой проблемой из-за неконтакта провода… Тупил неделю… Частота моего проца 3.3 ГГц

    Ди Халт правильно пишет в посте «проверяйте схему по 10 !!! раз» и это не голословно ! Убедился на себе ;)

  40. Здравствуйте. Столкнулся с аналогичной проблемой: ошибка записи. Для начала: питание брал от комповского бп, затем от собранного дсдс (с 1.2 вольта до 5). Подключался к обоим ком портам. Контроллер определяется. При попытке что то залить в обычном режиме почти сразу пишет об ошибке, в режиме тормоз доходит где то до половины и пишет: ошибка записи по адресу…., есть …, надо…. Это означает что контроллер не пустой?? Хотя сначала я его полностью стираю. КОнтакты проверял, уже перепаивал полностью, тестором прозванивал все.Может кто чем помочь?

    1. Товарищи tomba, student такая проблема не связана с программатором или прошивающей программой. Я сталкивался с ней и частично решил. На моем компе (домашнем) возникала такая же ошибка (смотри предедущие посты). Я проверял программатор, перепаевал его (в более спокойном и внимательном «режиме»). Пробовал Дуду. Бесполезно. Соль оказалась в самом КОМПЕ. На других компе (544 ГГц и 2,8 ГГц) микроконтролер шьется на раз. А на моем домашнем компе с ошибками. НА мой взгляд Ваша проблема либо в сгоревшем COM-порте (берите другой или LPT или другой комп), либо порты у вас закрыты(нужна прога для открытия).
      Для выбора решения проверти свои порты на прожиг (подключите принтер, сканер), если все работает, то ищите программу. Вот по последней хз. Здесь кто-то хотел выложить прогу для открытия портов, даже ссылка была (см. посты), но там небыло проги (называлась она CheckLPT.exe, кажется). Вобщем я тоже в поиске решения этой проблемы.
      Да кстати с LPT-портом тоже все не просто. если припоять контакты к LPT как на схеме, то у Вас ничего не получится (проверено). Там линия Reset на 20 ногу заводится, а унипроф не может на нее настроится (смотри посты выше).
      Если будут результаты, любые, пишете — обсудим

      1. я попробую на компах в универе, но я не понимаю одного: если у меня контроллер дошился до середины, причем здесь закрытые порты?? результаты опытов отпишу позже, все может быть…

        1. вообщем товарисчи, я тоже прошил свой первый контроллер….проблема с компом…в универе на 1000 мегагерцах в режиме тормоз (ну на всякий случай) была зашита прошивка для юсб программатора…счастья просто..много))))

      2. Кстати по поводу утилиты для открытия портов она если сходить на
        http://users.iptelecom.net.ua/~gumeniuk/ там она есть Исткать надо уметь
        Скачай архив с дровами под ХР в архиве есть папочка UsePORT. Это и есть искомая утилита.
        Без этой утилиты на XPsp3 работать программатор небудет так как они ужесточили политику работы с портами.
        В ранних версиях ХР работает данный софт с правами админестрирования правда невсегда но это уже особенность дров для материнок, но после установки данноуй утилиты все наченает работать как часики. Проверял на разных компах и неоднократно. С Вистой этот софт вообще не работает не под каким предлогом.

      3. Вообщем, не смог я свой компьютер заставить работать с программаторм. Программку эту, что выше писали, скачал, добавил диапозон адреса ком-порта 03Е8-03FF (его кстати можно увидеть во вкладке «Ресурсы», когда нажмете в диспетчере оборудования на Ком-порт1). При ситрании стало одну строчку прочерками делать. Этого недостаточно.
        Прозьба к student-у. Может проверишь на своем домашнем работу программатора с помощью той программы.
        Цитата fantomlds марта 21, 2009 at 5:16.
        Кстати по поводу утилиты для открытия портов, она если сходить на
        http://users.iptelecom.net.ua/~gumeniuk/ там есть.
        Скачай архив с дровами под ХР, в архиве есть папочка UserPORT. Это и есть искомая утилита.

        1. А не пробовал разьем после пайки помыть смывкой .
          Такое иногда бывает после пайки актирными флюсами разьем окислфется.
          И еше надо поставить на разьем корпус и хорошенько прикругивать к компу.
          Я думаю после этого все пройдет.
          А поять намертво нестоит невкоем случае ком порт испортиш да и только.

  41. Доброго времени суток! У меня просьба: накидаите кто то «точную» схему программатора для прошывки ATTINY2313))), а то я вже вторую неделю «парюсь» — комп не находит МК!! Плату сделал вроде акуратно))) По етому думаю, что причина скрываетса именно в неправильной подключке МК… А нужно ли для етого МК подключать кварц? Еще, выше говорилось, что «НУЖНО ОТКЛЮЧИТЬ ПРОГРАММАТОР и подать на вход RESET +5″… тоесть, нужно сначало подать питание на Vcc и GND в программаторе, после етого через резистор подать те же +5 на RESET… потом подключитса к COM порту.. или как?
    Если не сложно, то розпишите по пунктам — что и куда подключать…. а то я что только не пробывал… вроде сделал как на схеме, но ОНО не работает)) (а еще лучше, если бы было видеоописание етого процеса…. )
    Очень буду благодарен за помощ!!)

    1. Куда уж точнее?
      Для прошивки:
      1) Кварц не нужен
      2) Подключить к МК 6 проводов от программатора
      +5 к Vcc
      MOSI
      MISO
      CSCK
      RESET
      GND
      ПРошить программму

      Для запуска:
      1) Кварц не нужен.
      2) Отключить программатор. Подключить RESET к +Vcc через резистор.
      3) Подать на Vcc +5 на GND 0
      МК должен начать работать по программе.

      По поводу ОНО не работает. И «Вроде» сделал по схеме. Сколько раз проверял схему, сборку и качество контакта? Если меньше 10 раз, то вопрос не принимается :). Должно быть не «Вроде» а именно так.

  42. Ну блин почему все путаются в десятке деталей.
    если тут не могут отладить такую схему то что будет дальше.
    У меня все заработало с первого тыка.
    Надо собирать не спеша и все будет работать сразу

  43. Было дело, собрал программатор avreal. Но ничего не находилось, не писалось, а считывались стабильно 0xFF. Какой вывод? Правильно, закороченный на Vcc MOSI(или, при программировании, MISO?). Виной тому оказался плохо смытый флюс.

    Мораль — прозвони схему, прежде чем включать.

    1. А не паяй чем попало. А уж если спаял — не поленись промыть. Вроде мелочь, а устраняет кучу проблем (если не сразу, то в будущем). Паяют всякой гадостью, а потом удивляются…

  44. Приветсвую!
    Такая проблема…
    Спаял на картонке программатор Громова. Воткнул Атмегу8 (пользованную другом, т.е. на ней уже чё-то было). Она тут же определилась. В Uniprofe нажимаю ERASE, галочка на ВСЁ стоит, процесс происходит оч.быстро(мне кажется, что и не происходит). После чтения Атмеги8 там в некоторых блоках адресов вместо прочерков стоят 7F7F.
    Запись не происходит. Выдаётся “ошибка записи, @=0000,надо 13, есть 00…”
    Может я что-то неправильно делаю? Это мой первый МК. Вожусь с ним неделю.
    И ещё один можеть быть глупый вопрос. А питание куда подавать? В моей схеме, куда хочу воткнуть МК, + подаётся на 7(Vcc), 20(AREF) и 21(AVcc), — на 8 и 22(GND)/ А на программаторе куда?
    Я никак не могу понять, что там нужно с резистором и RESETом делать? Нет схемы программатора со всеми приблудами, проводами, контактами, деталями?
    Заранее благодарен.

    1. «процесс» и должен проходить быстро.
      Если МК определился при первом включении — похоже, схема верна
      На программатор питание не нужно. Но МК должен быть запитан. Если не подать питание, то он зачастую определиться может, по паразитному питанию. Но писать/стирать ессно не получится.

      От чего вы питаете МК? «делать с резистором и RESET» — поясните, что вы имели в виду.
      Провод не сильно длинный? На RESET нет ли RC цепочки на землю?

      1. Мк питаю от БП с ЕНкой. 5В ровно.
        Про резистор и RESET: начитался предыдущих вопросов. Там что-то говорилось о запитывании RESETа через резистор 1..10 кОм.
        От СОМ порта провод до программатора 70 см. Длинный, чтоб на столе лежало… Или зря?
        Собрано всё по схеме с 3 диодами и 7 резисторами. Так что RC не наблюдаю…

        1. Ну вроде все правильно. Разве что попробуйте убрать подтяжку RESETа, при программировании это все же может помешать — особенно если 1к. А при работе эта подтяжка нужна только если в условиях сильных помех
          70 см — должно быть нормально
          Да, еще иногда забывают о том, что нельзя отключать питание МК после того как он определился — он выйдет из режима программирования. Возобновить — проще всего кликнуть по синей надписи с тактовой компа.

  45. питание только на Vcc(7) и GND(8) достаточно подавать(при прошивке). процесс очистки происходит на самом деле мгновенно. 7F7F…может остаётся из-за помех…попробуй стереть , потом если что то останется, ещё стереть…
    ты программатор на com прицепил или на lpt? если lpt, то провода коротенькие должны быть..10-15см

      1. Нет, не нужно. было сказано что можно, но не обязательно. от прогрямматора к контроллеру идут провода на miso,mosi,sck,reset,gnd. и плюс ещё надо запитать мк. просто на vcc u gnd +-5В подать и всё. обвес для самого мк не нужен никакой

        1. Спасибо, за советы. Всё сделал. Но не заработало всё равно!!!
          Но хэппи енд всё-таки был. Не знаю почему, может танцы с бубном помогли. Короче после двух дней мытарств всё получилось. Делал так: поставил задержку программирования на 40, включил тормоз, начал стирать. Стёрлось не всё. Переопределил МК. Стёр.. и .т.д. раз семь. А потом всё прошилось!

  46. А часом никто не пробовал подключать этот программатор через переходник USB-COM собранный на FT232BM ? Мне как-то приходилось пользоваться таким переходником, достойная вещь. Может именно через него не будет ужасно тормозить? И кстати, с чем связаны тормоза при использовании переходника?

    1. Дело не в том на каком чипе переходник. Лично пытался сделать именно на FT232BM в режиме параллельного вывода. Если надо просто писать туда или читать оттуда — со свистом. А вот если надо записать а потом прочитать — миллисекунды. И ничего тут не поделаешь.

      1. Т.е. задержка связана именно с тем что COM порт эмулируется програмно?
        Если так, то дело может быть в корявости драйвера…
        Просто отрыл у себя FT232BM, хотел попробовать на нем программатор сделать. Все так радужно казалось, и 5 вольт тебе под рукой, и уровни сигналов преобразовывать не нужно…

        1. Я не копал глубоко — просто до USB в рутине не доходят руки, хотя и чувствую, что пора давно. Но пока есть ноут с COM портом, жареный петух спит.

          Там вроде есть такое понятие «пакет» — то есть пачка данных. В одну сторону. В пакете может быть и один байт, и мегабайт. Но между пакетами — миллисекунды. Это определено протоколом самого USB.
          Если вы качаете по RS232 файл — это все в одну сторону, и скорость будет большая. Если же — байт передать — байт принять — то увы. А SPI по другому проэмулировать никак нельзя.

          Слышал что есть двойной FT2232 — но в руки он мне не попадался. Пощупать не мог. У того вроде есть штатный драйвер эмуляции SPI,I2c и так далее. Видимо, раз девайса два, то один валит данные в одну сторону, другой — в другую.

  47. Я вот спаял программатор, 7 раз проверил и отрезал… сгорел чипсет на материнке. Спаяно все аккуратно, проверенно, я уверен в правильности спайки. Почему так случилось? Возможно ли запрограммировать микроконтроллер atmega 8-16 программатором, предложенным выше http://robozone.su/2008/03/21/page,1,1,prostojj-programmator-dlja-parallelnogo.html он, вроде как, не позволит сгореть LPT ? В новую плату после такого происшествия боюсь воткнуть программатор. Спасибо заранее за ответ

    1. Подключал к COM порту или к LPT?

      Это STK200 хороший программатор, можешь собирать его смело. Его поддерживают очень многие программы, например Avrdude или PonyProg. На счет Uniprof не уверен, но думаю тоже может.

  48. Доброго времени суток, уважаемый DI HALT!!!
    Помогите советом, аки быть!?
    В общем в двух словах, впервые взялся за AVRы, (судьба свела ) ), взялся программировать кристал AT90CAN128 стоящий в отладочной плате от Olimexа, с помощью Olimex девайсины AVR-JTAG-USB, но проблемка сначало была маленькая ( AVR AT90 не преходил в режим отладки в AVR Studio 4.16) так вот, в процессе ковыряния я по шаловливости своих ручек, сбросил фьюз JTAGEN и прошил МК. ((( теперь пытаюсь по ISP интерфейсу востановить и пробится к фьюзам. Спаял программатор на COM-порт 3D+7К но что то как то на клеится UniProf не видит МК, на плате стоит стабилизатор на МК Vcc 5 В, внешний кварц выдает ~ 14 МГц (синусойда) Сигналы MOSI(PE0)(2), MISO(PE1)(3), Reset (20) , GND и SCK(PB1) (11) вроде подаю правильно. На что ещё следует обратить внимание !? Схему прозвонил несколько раз. Провод от программатора около 10 см. Точно уверен что Бит-Фьюз SPIEN я не трогал, он так и остался выставлен «0» — поменял только JTAGEN на «1» очень хотелось бы верить что я кристалл повесил не намертво (((.
    С уваением, Alextitan.

    1. А унипроф ваще знает этот МК? Довольно непопсовый девайс я те скажу :) Спроси у Николаева, может просто этот МК он в поддержку забыл добавить. Да, еще проверь по даташиту бит SPIEN по дефолту в 0 стоит? А то кто их знает эти CAN версии. Может они изначально под JTAG заточены.

  49. Протрахался неделю, перепробывал все, выполнил все рекомендации из поста и коментов. Не шьется AT90S2313 :( Вот никак прямо. В связи с этим вопрос: чтоб прошить такой девайс кварц обязательно подтыкать? А то мож убрать его, а то я не совсем уверен в номиналах кондеров, которые у меня нашлись. МК живой на 99% ибо выдран из рабочего ранее устройства, но не юзаемого за ненадобностью.

    Кстати, интересная фигня наблюдается: унипроф автоматом МК не определяет, но если выбрать вручную, то прошивку он считывает, но каждый раз разные значения. Почему такое может быть?

    1. Кварц обязателен. Ну, или внешняя тактовая. Без тактовой — МК мертв. Емкости — 22 пф, реально от 10 до 50 пФ работать будет. Ну, а если поставить 22 нФ — то, ессно, нет.

  50. Добавлю свои пять копеек, может поможет спасёт кому время :-]

    Спаял программатор для COM-порта, микроконтроллер — ATmega8535.
    В UniProg вообще не определялся, avrdude только в одном из пяти случаев, и то при получении signature приходили совсем левые значения.

    Я решил, что проблема в слишком длинном кабеле (у меня был 1.8м), и поэтому у выходных драйверов ATmega просто не хватает можности. Взял и просто выпаял резистор, который соединяет MISO и pin 8.

    Всё зарабатало!

    PS. — Я взял паяльник в руки в первый раз, поэтому, возможно, моё решение достаточно опасное :-]] Может можно было просто уменьшить номинал резистора, а не убирать его вообще, но в наличии не было ничего, меньше чем 1К.

    PPS. Мне вот интересно, а можно в этом программаторе вместо резисторных делителей использовать MAX232, как и для обмена данными?

  51. Привет.
    Собрал такой программатор для прогшивания ATMega48 для USPAsp’а.
    При подключении МК определяется правильно. Прошиваю так:
    1. Включил питание на МК (от БП компа)
    2. Запустил Uniproof
    3. Нажал Erase (кстати, как-то очень быстро он стирает его, но при нажатии на Read читаются все —, что как я понял правильно — МК пустой)
    4. Жму на HEX, выбираю прошивку для ATMega48, а на выборе EEPROM жму отмену
    5. Жму на Prog, жду пока прошьется (без ошибок прошивается только с галкой Тормоз)
    6. Нажимаю на Test — результат «идентичны»
    7. Захожу в Fuse и выставляю все как на скриншоте из архива usbasp.rar, жму на Write под каждым блоком. Никаких ошибок нет, но при нажатии на Read под каждым блоком — состояние запомитает (т.е. вроде как записыватся в МК) только первый блок Lock&Fuses.

    Не знаю повлияет ли это на работу самого USBAsp (еще не до конца собрал, нету стабилитронов, поэтому проверить пока не могу)

    И вообще это нормальная ситуация или где-то косяк?

    P.S. Операционная система Windows XP 64bit и при запуске Uniproof он ругается на отсутствие файлика LPTWDMIO.SYS. Сам файл естественно присутствует в папке с программой.

    1. Lock биты можешь вообще не прошивать, они просто закрывают кристал от посторонних глаз.

      С виду все нормально. КРоме одного — фузы должны быть теми какие ты выставил.
      ПРоверять еще как можно — заливаешь прошивку. Потом сразу же делаешь Read и смотришь она это или нет.

      1. Все, проблема решилась сама собой после очередной перезагрузки. В чем причина была не знаю, но теперь у мну есть рабочий USB Asp. А этот до лучших времен (или наоборот :) на полочку!

  52. Здравствуйте, подскажите плз,я приобрел мегу 8 сделал программатор по схеме, проблема в том, что не знаю к каким ножкам на контроллере надо подключать:RESET,MOSI,SCK,GND,MISO,вроде эти пять проводков?Но к каким ножкам???И еще хочу узнать что такое GND и с чем это есть, просто лазил по инету и не увидел ни одного программатора кроме этого с GND…) http://robozone.su/2008/03/21/page,1,1,prostojj-programmator-dlja-parallelnogo.html . Здесь как я понял есть RESET,MOSI,SCK,MISO а где этот пятый контакт?Led на схеме это светодиод,2 питание для светодиода, а пятый провод куда пихать хз),4,6,8,10 как я понял земля…

      1. ГГ,=((,посмотрел даташит меги8…Так и не понял куда подавать -5 вольт,забирать +5в…Еще там 2 GND, объясните please непрошареному человеку).Точнее я знаю что -5в. надо подавать на землю,но на какую из двух?

  53. У меня несколько вопросов к автору UniProF. Последняя версия от 20 янв 2006, можно ли внести в программу некоторые дополнения, которые бы достаточно сильно упростили многократное перепрограммироване МК? (например автоматическая установка границы прожига при загрузке прошивки, это значительно бы ускорило процесс для меги16 и выше)
    И на чем написан UniProF? (я сильно подозреваю, что это Дельфи или Билдер)
    >> Чтобы “определить заново” — точнее, ввести МК в режим программирования — можно
    >> просто кликнуть по синему тексту с тактовой частотой компа.
    У меня тактовая частота выводится КРАСНЫМ, а вот синим выводится тип МК. Но куда бы не кликал, все равно заново не определяется. Помогает только смена порта туда-обратно или перезапуск программы…

  54. Здравствуйте! собрал программатор по схеме проверял схему 20 раз всё в порядке.Проверял шнур от программатора до ком порта всё ок,длина шнура 50см,даже проверил уровни программой Николаева spimaster, но мк не определяется, мк новые 2шт, комп четырёхядерный Asus P5KC,частота каждого проца 2,5Ггц,может дело в компе?

    1. Запросто. Ваще самый верный способ намутить древнюю банку, какой нибудь пентиум 3 800МГц, воткнуть туда Винду98 и развлекаться с ней. Ну или попробуй режим «тормоз», поиграйся с параметрами задержки. Может тебе повезет.

  55. Дамы и Господа!
    Кто пользуется Uniprof’ом, попробуйте сперва очистить МК, а потом прошейте без режима «тормоз». Напишите что получилось.
    (Особенно касается тех, у кого частота проца на компе около 3 ГГц).

  56. Подойдет, конечно.
    Подключи программатор к соответствующим выводам МК (имеется в виду: MOSI, MISO, SCL, RESET, GND). Подай питание 5 вольт на МК, и всё, прошивай.

    1. В самом проекте про фузы ни слова. Но раз используется внешний кварц, то очевидно что надо выставить CKSEL=1111 для классической нотации. Или CKSEL=0000 если шить через PonyProg

  57. PonyProg как настроить CKSEL=1111 биты в этой программке, желательно в картинках и поэтапно, ну обяснить как пользоваться правельно, я только начинаю осваивать.

    1. Позырь соседнюю тему про USB программатор. Вот там указано как выставить фуз биты на UniProf’e — пони прог юзать не советую — лучший способ заблокировать МК по неопытности.

    1. А что ты будешь выставлять если программатор не знает что к нему подцеплено? У всех МК фузы все разные, состояние их по дефолту тоже у всех разное. Так что вначале ты их должен считать, потом изменить только нужные тебе и потом прошить. Ну и прошивку накататить предварительно

    1. Кого прошить? Контроллер?

      1) подключить контроллер к программатору, любому.
      2) Запустить UniProf, убедится что контроллер определился правильно
      3) Прошить прошивкой!

        1. Там исходник прошивки. Ее надо пропустить через компилятор сначала. Используется WinAVR. После компиляции у тебя будет hex или bin файл. Вот его уже можно прошить

  58. Возник такой вопрос…. Если у нас у компа везде одна земля, в том числе и во всех разъемах, то зачем нам объединять землю из COM порта и землю, которую мы надыбаем от блока питания? (как сделано на плате) Или я что-то неправильно понимаю? Спасибо =)

  59. вот если я поставлю atmega8-16 ai smd там такие же биты выставлять как для атмеги8-16pi. И не че не будет если я резисторы взял такого наминало только 0,5вт
    И дайте пожалуста ссылку на рассскайку ножек для атмеги8-16ai, нашел только atmega8(L)

  60. Подскажите пожалуйста.
    Собрал этот программатор, вроде все правильно, купил МК Attiny2313, подключаю к компу с помощью COM-удлинителя (около 2 м), питанине подаю от БП для внешнего сидюка (он 5В 2А дает) и МК не определяется в Uniprof. Удлинитель проверил — целый, может сильно длинный? МК совсем не греется.

  61. Привет уважаемый хозяин сайта и огромное уважение за все, что ты делаешь!

    Читал около месяца, вчера наконец-то вырвался за детальками, затарился «стартовым комплектом» (Чип und Дип нифига не рулит, выводные резюки 0.25 Вт по 10(sic!)рублей, Мега 8535 — 250 р.) и сегодня спаял программатор… Как и предполагал, с первого раза не получилось — контроллер не определился… перепроверил схему и так и сяк, и решил подойти научно:-) Ибо под столом стоИт недавно приобретенный всего за 400 р. С1-72:-)
    Сначала, как выяснилось благодяря сначала осциллу(при попытке подключения ни одна нога не дергалась ни на милливольт) а потом HyperTerminal, какая-то ж… держит Com1… ну да это нынче распространенная троянская болезнь, по долгу службы приходится частенько на нее заморачиваться, но сейчас лечить было лень, поэтому тупо перетыкаемся на Com2, который как показывает тот же Hyperterm «до пятницы совершенно свободен»…
    Итого имеем — на ноге Reset при попытке подключения импульс +5В, потом 0. На ногах MOSI & SCK(в процессе исканий мнемонически прозвал её Suck:-) в «спокойном» состоянии низкий уровень, при попытке приконнектиться — высокий(+5В, держится такое состояние пока не перекинешь UniProf на другой порт, после падает опять в низкий уровень). Vcc и AVcc и обе земли подключены и прозвонены — все на месте, подключено от БП компа. И только MISO молчит как партизан(мерял как ДО так и ПОСЛЕ ограничивающего резюка)… Как я понимаю поэтому и не определяется и вообще ниче не происходит…

    Итого: как мне чудится, вышеприведенные измерения позволяют сделать вывод, что схема спаяна правильно(поправьте, пожалуйста, если ошибаюсь), посему вариантов кроме дохлого МК или убитого фьюза spien(МК новый, куплен вчера в чипдипе) у меня не осталось:-( при поптытках отладить схему на неработающем первом компорту перепаивал задом наперед диоды(могло это убить МК???). Паял МК аккуратно, не более полусекунды на ногу, охлаждал пинцетом сразу…. Единственый червячок: может быть падение Vcc из-за того, что провода питания не припаяны-прикручены к разъему компа, а просто туда вставлены?(давно бы померял точную напругу, да вот незадача — осцил есть, а мультиметр далеко:-). Больше идей нема… Воодущевляет и защищает от «разочаровывающей неудачи» только то, что многие здесь присутствующие бились с программаторм неделями и месяцами:-)

    PS^ Автору огромное спасибо за РУССКИЙ ЯЗЫК! Как ценитель оного литературного и не очень:-), могу сказать — ОТЛИЧНЫЙ СТИЛЬ изложения. Будете у нас на колыме, с удовольствием бы девиртуализировался:-)))

    1. Вначале проверь питание. Оно должно быть четко 5 вольт. И взято с компа.

      Далее проверь RESET. При определении МК там должен быть 0, и потом 0 — бо режим программирования, но если нажать на лупу в UniProf то должно быть +5 (режим отладки, МК запускается)

      Что еще. На Mosi MISO и CSK должны быть импульсы когда идет любое обращение к МК. В спокойном состоянии там я не помню какой уровень, но статика.

      Диоды ты зря перепаивал, на ножку подалось отрицательное напряжение. Убило/не убило это фиг знает, Мои МК и не такое переживали без последствий. Мог ноги пожечь у МК. Еще этот программатор бывает не работает изза высокой тактовой частоты компа. Выше 2ггц уже проблемы могут быть.

      1. Комп 3й пень 866 Мгц, посему вряд ли…. Завтра буду проверять питалово тестером. mosi-miso-csk — на мой ламерский взгляд будут импульсы когда МК и программатор работает штатно — т.е. получает запрос по mosi-отвечает по miso. А если по miso не отвечает — то прога программатора не дождавшись ответа отсавляет mosi и csk задранными. Короче либо ковыряться в протоколе, либо забить и купить новый заведомо негорелый МК:-) А тем временем поупражняться с операционниками и всякими RCL-цепями, благо в убитом комповом БП куча интересных деталюшек(кстати, неплохо бы об этом упомянуть в блоге, для начинающих, типа меня, и тренировка в демонтаже, и экономия кучи бабла).

  62. эээ…. а 115 килоОм в прямом направлении для диода — это не дофига??? это вообще диод?:-)))) выглядит так же, как на плате DI HALT’а, разве что еще чуток поменьше, стеклянный корпус, черная полосочка со стороны катода, выпаяно из блока питания

  63. РАБОТАЕТ!!!:-)))

    Радость ну просто детская, честное слово, хочется обнять весь мир-))))))

    Итого, перепаял диоды, выпаянные из БП компа на купленные в чипдипе по списку для начинающих DI HALT’а 1N5817, устранил образовавшийся после этого непропай, и… как по волшебству увидел на ЮниПрофе волшебную синюю надпись [8K, 512] mega8535. Есть повод немножко погордиться собой и начать погружение в асм:-)))

  64. Привет. Только-только заинтересовался электроникой, так что не ругайте)
    Во всех примерах я видел что в схемах используется кварцевый резонатор. Я так понял, чтобы прошить МК, он не нужен? Просто подать 5 вольт от компа и всё? И дальше, чтобы увидеть нули и единицы на ножках, тоже кварц не нужен? Подавать 5В и дело с концом?

    1. Ну не во всех, я так его почти никогда не юзаю :)

      Да, он нужен только тогда, когда ты хочешь запустить МК на какой то определенной частоте. Если тебя устраивает примерно 8Мгц то можно забить на кварц. Для первых опытов кварц тебе не нужен. Главное Fuse биты пока не трогай :)

      1. Спасибо) Значит, вроде спаял всё правильно, МК определился. Скачал проект, скомпилил, залил в МК. После этого отключаю программатор от ком порта, начинаю мерять напряжение на ножках(правильно ли меряю — втыкаю тестер в GND и порт какой-нибудь?) — показывает какую-то фигню, почти на всех ножках 0,05В. С чем может быть связано?

              1. Нет. А подтянуть это как? (: Оно работает только если на Reset 5 вольт подано?

                UPD: похоже моя проблема уже обсуждалась в начале комментов, прошу прощения, не посмотрел.

                1. Да через резюк на 10к на +5. Вообще она работает без такой подтяжки, т.к. есть подтяжка внутренняя, но она слабая и может колебаться от внешних наводок. Да! Совсем забыл. Отключи программатор от кристалла во время работы.

  65. кстати ДИ СПАСИБО за совет использовать старые пеньки, я вспомнил что у товарища есть такой взял прошил сделал USBasp и сейчас прошиваю на своём четырёхядерном на раз,кстати со стабилитронами отказывается определятся,а без них как часики!

  66. Кстате не кто не знает что за ерунда? На дудке прошил контроллер мега8 ,всё работала, потом в там же в дудке через USBasp стёр её и мега перестала определятся, причём вообще нигде?ДИ может ты знаешь чё за х…?

  67. Вот вопрос что если на резет подать +5v без резистора, то мк не что не будет? и сколько времени держать на резете? Какое питание брать с другого источника для питание резета, или можнос того что и мк,при этом не отключаем мк? Расскажи по подробней про пункт:
    4) Перед запуском программы в МК НУЖНО ОТКЛЮЧИТЬ ПРОГРАММАТОР и подать на вход RESET +5 вольт через резистор в 1..10кОм. С подключенным программатором ничего работать не будет, т.к. он прижимает RESET и не дает кристаллу стартовать.

    1. МК то ничего от этого не будет, но лучше не надо. Ведь кроме там же еще COM порт и ему придется бодаться с этими жесткими +5 вольт.
      Держать на ресете +5 вольт столько сколько этот МК работает. Короче говоря всегда.

      Дело в том, что вывод с ком порт который идет на ресет выдает туда 0. Ноль подается на ресет для сброса и/или входа в режим программирования. ПОэтому если ты не отключишь программатор то МК у тебя не заведется, т.к. программатор будет удерживать его в сброшенном состоянии, не давая стартовать.

      1. Как я понял подаем питание на RESET,но не падавая питание на ножку vcc(7). После этого как питание есть мы включаем программер в соm порт, настраиваем программу и программируем. Исправь если что то не так, или расскажи как осужествить первое включение.

        1. Блин, чем ты читаешь?

          Подаем питание на Vcc и GND. Как положено.
          RESET подключен к Vcc через резистор в 10к

          Программатор включен в COM порт.
          Подключаем программатор к MISO,MOSI,SCK,RESET,GND
          Шьем.
          Отключаем программатор.
          Программа начинает работать, сразу как был отключен программатор.

  68. Уважаемый, DI HALT!
    Спасибо за такой интересный и полезный сайт :)
    несколько дней не мог оторваться.

    Появился интерес собрать небольшой com-программатор.
    нашел схему — http://msevm.com/main/prog/com/index.htm

    выходит, чтобы собрать программатор, нужно программировать МК.
    Вопрос такой….
    в схема используется микросхема AT90S2313, т.к. ее уже не выпускают, купил ATtiny2313.
    По документации отличие МК в наличии внутренего кварца у ATtiny.
    При прошивки незабыть указать фузы.
    и так к сути вопроса….
    1. в схема программатора имеется кварц на 11Мгц. нужен ли он при использовании МК ATtinny?
    2. как лучше прошить Attiny для будущего программатора? подойдут 5 проводков от LPT ?
    3. при дальнейшем использовании программатора, есть ли смысл сделать площадки для большинства МК? как это лучше всего реализовать? =)
    4. дайте какие-нибудь рекомендации =) СПАСИБО

    1. Страничка не открывается, но я догадываюсь что там за программатор.

      1. Кварц нужен, т.к. Внутренний генератор Tiny может выдать не более 8мгц. А прога расчитана на 11МГц
      2. Подойдут, но лучше осторожней. Я бы на COM порт сделал. Меньше риска что нибудь пожечь.
      3. Нет, в 90% случаев все шьется прям в устройстве через 10 (или 6) штырьковый ISP разьем.
      4. Проверяй все трижды.

  69. Всем доброго дня. На http://avr.nikolaew.org выложена чуток усовершенствованная версия программатора uniprof — возможность «инверсии» COM шнурка на случай применения буфера на выходе, возможность копировать с клипборд кусок данных с отладчика

  70. Товарищи!
    Собрал свой программатор на com порте. Не всё сразу получилось гладко. Сначала впаял не те диоды. Кстати, типы правильных диодов указаны в справке к программе uniprof: 1N4148, кд522 и кд510.
    Сначала стал подключать программатор к старой машине: pentium166MMX. Запустил uniprof ничего не определилось как я его не мучал. Забил на это дело.
    На втором шаге своего сражения подключил программатор к новому (относительно) компу. Проц двухядерный на борту debian lenny. И на удивление моё всё сразу заработало. Использовал программу avrdude. КОнтроллер определился (attiny2313).
    Но опять возникли проблемы. Без проблем читаются все области данных: флэш, еепром, фьюз биты. Хотя, нет, есть проблемы не всегда считывается одно и тоже. Например, записав в еепром первые два байта как 1 и 2 сначала у меня считывался 1, потом 2, потом всё сразу. Такое впечатление что когда осуществляешь постоянный доступ к устройству всё читается нормально, а когда долго его не используешь, оно ещё должно «разработаться».

    Записываются фьюзы и еепром тоже нормально, а вот при записи флзш выводятся ошибки.
    (всё делал и в терминалном режиме и записывал из файла).

    Что делать — ума не приложу. Подскажите, пожалуйста.

  71. По поводу проводков. Длина их у меня составляет максимум 7 сантиметров. Хотя. ААА. До ресета сантиметров 20. блин.
    Мож ещё какие варианты неработы будут?

    1. Плохое питание, недоконтакт, слишком быстрый проц, да много разных вариантов. Попробуй поиграться с настройками унипрофа (там в хелпе есть описание скрытых параметров)

      1. В этом шнурке заложена одна неприятная особенность, а именно он не во всех случаях определяет процессор. Например взять схему из учебника радиокота. Там резет притянут к плюсу и программатор не работает :( Но это еще ничего, после того как я разобрался и убрал это притягивание случилась другая засада — при стандартном подключении ЖК 1602 к МК он тоже отказывается работать! Помогает только отключение трех проводков от схемы и тогда шнурку ничего не мешает…

  72. Товарищи, а никто не подскажет, где на Asus P5K можно найти эти девять злосчастных штырьков? А то вроде как по спецификациям на сайте они есть, а где — непонятно. А коробку с инструкцией и прочей макулатурой найти не могу.

  73. Извените за мою тупость, но въхать не получается, на схеме видна распайка ком->AVR, а куда собственно сам контролер подсоединять? на картинке видно какойто зажим сине-зеленый. тоесть туда вставляется АВР и шется?
    но мне не понятно как она сама шется?? ведь для контролера необходимо лагика? раньше ведь схемы чтобы прошить надо было логиксхему для прошивки?

    1. У контроллера есть ноги
      Mosi
      Miso
      SCK
      RESET
      Vcc
      GND

      Вот к ним и подсоединяешь эту схему? соответственно. А саму схему в COM порт. Собственно все. Логик схема тут уже не нужна, хвала разработчикам AVR.

      1. изучаю ваши уроки по АВР, и пока (тоже) не понял одного, когда МК запрограмировали, необходимо сделать развязку (конечную управляющую схему) в которой будет АВР и прочая гарнитура, которой он будет управлять. тоесть ему нужны питалово и команды. естественно.
        А есть у вас такие уроки? тоесть как сделать коробочную версию )

        1. Ком порт не сожгет, там встроенны ограничительные резисторы 1-3 килоома помоему, нормально выдает даже короткое замыкание. Самый большой ток можно снять не с 78L05 а стабилитроном на 5В, падения напряжения никакого нет, ток 5-10 мА, будет работать даже на ноутбуках где на выходе СОМ порта не 12 а 5в, так как на стабилитроне ничего не теряется. Стабилитрон с ком порта на землю, а ограничение тока делает сам СОМ порт. Вместо стабилитрона можно зеленый или синий светодиод, на них где-то так и падает, индикация яркая и стабилизация напряжения :)

  74. добрый день DI, такой вопрос:
    попытался изменить fuse Atmega8515 для работы с кварцем 2.4576 мГц,
    сначала считал конфигурацию с МК, по умолчанию CKSEL3-0 — 0001
    по даташиту для диапазона 0.9-3.0 мГц CKSEL3-1 — 101? сответственно поставил галочку напротив CKSEL3 и CKSEL1? остальные биты нетрогал.После нажал ‘writeэ и отключил МК, при повторном включении МК не определился. Что я сделал нетак?

  75. >>> это официальная среда для разработки программ под микроконтроллеры AVR. Студия поддерживает все микроконтроллеры семейства Atmel AVR. Найти ее последнюю версию можно на сайте Atmel.com

    Скачал последнюю версию, вроде проблема с длинными путями на кирилице, указываю для хранения проектов не c:\document..\мои документы\avr как по умолчанию (глючит), а c:\avr туда же папки с библиотеками, тогда все нормально.

  76. история значт такая:
    собрал демоплату по образу и подобию http://easyelectronics.ru/demoplata.html этого чуда.
    внимательно прочитал сию статью, и зашил через STK200 програмку описанную тут.
    STK200 собран вот по такому образу http://www.lancos.com/e2p/betterSTK200.gif
    но косяк в том что UniProf мой прогер не увидел, как я не бился… а вот PonyProg без проблем все распознал и зашил и даже прочитал после этого.
    Так вот проблема, демоплата не запускает программу. как будто ее там и нет…
    варианты:
    1.неправильно выставлены FUSE (ибо я их не трогал совсем, т.к. нешарю в них еще)
    2.накосячил в демоплате (хотя я трижды все перепроверил, и зашивал другую прогу, которая заведомо живая, но эффект тот же)
    Помогите разобраться, я в ступоре.

    1. 1. Исключается если ты их не трогал.
      2.
      а) Питание подходит? На Vcc и на Avcc? Земля везде есть?
      б) RESET к +5 подтянут? Напряжение на RESET +5 вольт?

      Если да, то все должно быть ок.
      Либо твоя Лошадь совсем не едет, но упорно делает вид :)

      1. ХМ…
        А) подходит точно. проверил.
        Б) подтянут, но помоему там меньше 5в… надо уточнить.

        еще поясню: плата питается от отдельного импульсного БП. это о чем то скажет?

        1. Зависит от качества БП. Осцила нет, чтобы питание позырить? МОжет у тебя там пульсации или шумы какие. ПОпробуй:
          А) Запитать от 3х батареек
          Б) запитать от 5 вольт компового БП.

    1. Вобщем разломал я программатор uniprof на СОМ порт, взял старый кабель от LPT порта, отрезал себе метр, и подключил напрямую к ATMEGA8-16PI, работает изумительно. Залил программу из примера учебного, хоть скомпилирована для
      .INCLUDE «tn2313def.inc»
      работает тоже, на порте D сигналы через один.

      1. Еще прикол, на AtMega8 сигналы SCK, MISO, MOSI находятся на порту B, куда программа автора выводит 0-1-0-1-0. У меня это при включенном LPT программаторе привело к нагреву микроконтроллера. LPT на эти же ножки тоже похоже что-то выводит одновременно. К счастью LPT и AtMega живы здоровы :)

        1. Кто-нибудь пробовал подключать программатор через преобразователь USB-LPT?

          Продается везде помоему, в никсе 10$
          http://www.nix.ru/autocatalog/adapters_switches/STLab_U191_LPT_USB_AM_76006.html

          Помоему LPT удобнее, это готовый программатор не требующий внешних деталей. Адаптер сразу можно прикрепить на плату, длина проводников будет 5см, длинный шнур к компу USB. Теоретически хорошо, на практике надо проверить как будут работать драйвера того адаптера с программой.

          1. Не знаю как этот переходник, а тот, с которым я имел дело — не годился, так как в системе появлялся не LPT порт, а какой-то «windows printer».

            Глянул даже даташит на этот кабель, но, увы, про LPT там ничего нет. Поэтому возможно — купите — и положите в ящик… У меня такой лежит уже года три :)

          2. модифицировал программу, просто вставил задержку из примера к функции INC описанную в хелпе AVR Studio, хотелось помигать светодиодом, тыкать мультиметром в ножки контроллера надоело, вот что получилось.
            ========================

            .INCLUDE «m8def.inc»
            ; это подключается список макроопределений

            .MACRO outi
            LDI R16,@1
            OUT @0,R16
            .ENDMACRO
            ; задаем весьма удобный макрос, позволяющий

            .ORG 0x0030
            ; Директива начала кода с адреса 0х0030

            RESET:

            OUTI DDRD,0xFF
            ; Конфигурируем направления портов на выход
            OUTI PORTD,0xAA
            TEST:
            OUT PORTD,R16
            inc r16
            clr r22
            loop: inc r22
            nop
            nop
            nop
            nop
            nop
            nop
            nop
            nop
            cpi r22,$FF
            brne loop
            nop

            RJMP TEST

            RJMP RESET
            ========================
            Заодно перепробовал все виды генераторов, кварц внешний на 6 Мгц, со включенным и выключенным CKOPT, по ошибке внешний RC резонатор включил, конденсатор встроенный, работает с R=160к, частота на глаз 0.1 мгц, и 0.3К, частота 10-15 мгц, но глючит уже.

            Большие непонятки с фьзами в Uniprog, автор пишет в хелпе
            «Помните, что включенный FUSE — это FUSE без галочки!»
            но реально включенный FUSE с галочкой!

            Включил внутренний RC генератор 8 мгц, работает! (CKSEL3..0=0100 из описания)
            http://s54.radikal.ru/i146/0908/4a/0eabaf2bfcd8.gif

            Включил кварц 6 мгц, работает! (CKSEL3..0=0111 из описания)
            http://s46.radikal.ru/i112/0908/09/9dbf635f092c.gif

            Включил внешний RC генератор (причем кварц не отпавивал), работает!
            http://s54.radikal.ru/i144/0908/9b/77f6027b5f7f.gif

            Сответственно галочка стоит, подразумеваем 1? В хелпе uniprof написанно с точностью до наоборот, я в шоке. Посмотрите кто в курсе что это такое то? :-)

            1. В унипрофе галочка = 1 по даташиту.

              Т.е. по даташиту на внешний кварц CKSEL=1111
              в унипрофе это CKSEL= V V V V

              Но по тому же даташиту считаем что 0 это включено, т.е. активно.

              Смотрим на SPIEN=0 значит Spi Enable т.е. опция включена. Если бы было Spien=1 то это значит, что SPI выключен. Функция не активна.

  77. Вот что случилось у меня:
    1. сначала впаял не тот Сом порт — неработает )
    2. не так вставил МК в панель )) — неработает
    3. соединил вместе vcc-avcc и две земли.- неработает
    4. всё прозвонил, проверил схему и так раз 10 уже точно. — неработет
    пробывал различными программаторами не выходит.
    вот щас вспомнил что резисторов на 1ком небыло впаял на 1.2 (1К2 зеленые, старые, но рабочие)
    может проблема в этом?

    вот если резисторы не причем, тогда спалил МК, тк отчетливо помню как он упал на корпус и проскачила искра между ног )) на панели МК

    1. У меня тоже ничего не работало пока не подключил по простому к LPT порту 5ю проводками. Главное из программы в режиме отладки не выводить информацию в LPT порт подключенный, контроллер грееться начинает. При программировании, проверке нормально, программа «программатор» не дает запускаться микроконтроллеру, держит на входе reset 0v.

  78. Здравствуйте!
    Только начал разбираться с МК, решил собрать программатор Громова. Но после просмотра схемы AtMega8 в даташите появилось несколько вопросов. К какому выводу тянуть провод GND (8 или 22)? На схеме они оба GND=( И куда цеплять +5в, на VCC или на AVCC?
    И ещё 1 проблема у меня возникла из-за моей невнимательности при приобретении комплектующих=( Подскажите пожалуйста, можно ли заменить килоомные резисторы 2.4 килоомными (хотя бы в делителях напряжения) и обычные диоды заменить светодиодами L-53GD? (обычные зелёные диоды)… В следующие раз возможность купить что либо появится нескоро=(

    1. GND надо подключить оба.
      VCC и AVCC тоже. AVCC это вход напряжения на питание АЦП его часто заводят через дроссель, чтобы не было помех на АЦП, поэтому то оно и отдельной ногой заведено. Если нет дроселя то подай +5 и на AVCC тоже.

      Резисторы заменить можно, главное чтобы они у тебя все были на 2.4к.

      Со светодиодами может и заработает, но далеко не факт. Но рабочий пример со светодиодами я видел.

    2. Зачем вообще покупать резисторы да кондеры? Можно, просто, сходить в любой магазин где чинят компьютеры или телевизоры, показать схему своего девайса, вежливо попросив вам не только детали дадут, еще и объяснят че куда паять… Ну, конечно МК-ры не ждите, придеться покупать…

  79. Ага, спасибо большое!=) Если заработает — отпишусь=)
    единствтенное, по питанию появляется уж совсем дурацкий вопрос: получается, что красный провод от компового БП придётся развести на 2, чтобы дать +5в на оба входа питания?

  80. Неужели она такая маленькая… И куда девать остальные выводы, с правыми понятно — на микрушку. А левые на порт? Тогда не понятно, к какой ноге цеплять… И как это так он работает на одних только стабах или диодах (диоды вроде там). Не судите пожалуйста за такие вопросы, я просто новичок в этом деле, но хотелось бы научиться =)

    1. Маленькая???? По моему здоровая слишком :)

      Левые на порт. Все выводы пронумерованы.

      А чего бы ему и не работать? Всю логику делает софтина на компе, диоды только напряжение приводят к нужному уровню.

      1. А если это вдруг стаб? Страшно, да? =) Я мультиметром мерил (катод-черн. анод-красный щуп) показыват 670 (в режиме проводимости(нарисован диод как на принципиалке его рисуют)). Что это значит вообще? =)

  81. А вот интересно можно программить другими прогами через него? Например avrdude от WinAVR или avrprog из AVRStudio. Тут ведь как я понимаю просто надо дергать выводами ком порта — протокола особо никакого нету? Может кто пробовал или есть какие мысли — пишите — пока я еще ничего не спалил ))

  82. хмм.. проблема с программатором разрешилась: у меня был переходник с материнского COM’а на DB9 + COM-удлиннитель (~1м.) — МК не определялся. убрал удлиннитель — все заработало.

  83. Ура!!! Заработал!
    «Ошибаться тут негде, поэтому должно работать у всех, вне зависимости от фазы Луны и погоды на Марсе. Для начинающего 100% гарантия удачного старта это очень важно, чтобы не растерять боевой дух на неудачи.»
    Как не странно но у меня получилось совсем не так, хоть вроде и не полный чайник :)
    Вобщем, как это было у меня. Может кому поможет.
    Спаял схемку на макетке. Схему спаял на основе 3кОм резисторов (1кОм не было под рукой), а контроллер припаял прям на макетке (всеравно учусь и перепаивать буду еще не раз). Вобщем как водится с первого раза схема не запустилась. Подумал что 3к дофига будет заменил их на 470 омные. Контролер сразу же определился программатором. Обрадовался я, но видать рано. При попытке прочитать — получил ячейки заполненые прочерками и среди них несколько ячеек заполненых какой-то мутью (количество ячеек изменялось с 2 до 6). Ну думаю, я не такой как все :) прежде чем что-то делать читаю форум, и конечно же знаю что нужно активировать опцию «тормоз» и будет мне счастье. Но на мое удивление в режиме «тормоз» вообще считывает какую-то ересь. Версию с кривым мотнажем почти сразу откинул, как не как с паяльником дружу не первый день. Схему перепроверил вроде все коректно. Думал может высокий уровень с микрухи не понятен для ком-порта (питаюсь от розьема USB). Померял — 4.95В, по протоколу Ком должен хавать до 3В. Короче поигрался я дня два-три, а потом решил чисто ради спортивного интереса снизить скорость ком-порта в диспечере устроиств и о, чудо, все заработало как надо. Скорость порта снизил с 9600к до 4800к и плюс убавил буфер приема и передачи (там же) до значений 4 и 6 соответственно.
    Не знаю как работает режим «тормоз» но физическое уменьшение скорости порта у меня работает гораздо лучше.
    Надеюсь кому-нибудь помог.
    И еще, спасибо за класный ресурс и детальное толкование электроники таким чайникам как я :)

  84. Люди! Сорри за оффтоп, хочу спросить- существуют ли какие- либо отличия между AVRISP и HVPROG, кроме того, что первый придавливает ресет к земле, а второй задирает его до 12 вольт?

  85. Спаял, подключил, но пока не удалось заставить заработать.
    Стандартные грабли проверил — монтаж, подключение, длина проводов в норме.
    Питаюсь от кроны через кренку, пытаюсь прошиться дудкой под линуксом, т.к. COM есть только в старом компе, стоящем в другой комнате.
    Дудка чипа не видит даже при снижении скорости до 2400.
    Запустил бесконечный цикл опроса, стал тыкать диодом в ноги микрухи. Сигнал виден на ногах SCK, MOSI и MISO. REST тоже подрыгивается, но с ним есть странность — при отсутствии попыток включить дудку на нем +5V. Не могу понять, отчего это, он же на землю через резистор посажен?
    Может кто-нибудь выложить картинку с осциллограммами с ног этого девайса в работе?

    1. Решил рискнуть параллельным портом. Оно работает!
      Первый кристалл залочил из-за инверсных фьюзов у дудки (может, стоит явно написать что для USBASP опции дудки должны быть -U lfuse:w:0xe1:m -U hfuse:w:0xd9:m ?)
      Со вторым кристаллом все ок, залил прошивку, поставил фьюзы, и… прграмматор перестал его видеть :) Видимо, из-за SCKSEL=000 :) Доделываю USBASP, там испытаю.
      Огромное спасибо DI HALT за позитивный экспириенс :)

  86. Подскажите пожалуйста можно ли при подключенном к PC программатору и поданом питании на контролер отключать разъем между программатором и контролерром (reset mosi miso and etc).

    Вопрос возник так как каждый раз выключать PC что бы отъсоединить программатор от контролера занимает много времени

    1. Я откдючал и без каких либо эксцесов
      Если опосаешся то можно доработать схемку и подключать эту радость через буферную микросхему питание на которую подовать с кантроллера.

    2. Если это COM программатор то без проблем, Если простейший LPT аля пять проводоков — то не стоит.

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

  87. У меня Atmega8 нестабильно определяет,то как 8515 то в ручную приходиться,но иногда правильно..Это не главная проблема,главное что при прошивании сразу выдает ошибку записи,типа надо FF,есть 00,питание от компьютера…Уж не знаю как быть

  88. Вы собрали и отладили много конструкций скажите пожалуйста какой разьем лучше использовать

    Некоторые программаторы используют 5pin разьем, некоторые 6 или 10
    Подскажите пожалуйста какой разьем лучше использовать 5-6-10 что бы было максимально универсально и на всех платах разьем был одинаковый.

    У нас не продают 6 пиновый двухрядный разьем мама (то что втыкаеться) как вы считаете его можно чем либо заменить, или что лучше ставить
    однорядный разъем
    соединять отдельными проводочками
    использовать 10pin разьем не полностью

    1. Я везде ставлю 10штырьковый. 6ти компактней и экономичней, но его проще воткнуть неправильно.

      В принципе, можешь разработать свой собственный стандарт и придерживаться его.

  89. На одном компе толком не работает, при чтении дампа лезет какой-то мусор, да и сам МК определяется через раз. На втором всё замечательно.
    На первом компе стоит freebsd, пытаюсь шить через avrdude, com-порт только в виде штырьков на маме (пришлось еще и переходник на DB-9 делать).
    На втором детище некрософта и uniprof, встроенный com-порт есть.

    А по многим причинам хотелось бы шить с первого. Как же быть?

        1. Неправда ваша, тогда бы она вообще МК не видела) А так выдает дампы с помехой и определяет нестабильно.
          А LIRC под фряхой таки работает ;)

          Сегодня на вендовой машинке прошился еле-еле: в режиме «тормоз» и не с первого раза.

          Что посоветуете паять, usbasp или avr-910?

  90. Что то я вообще уже ничего не понимаю… Я в мк совсем начинающий,хотя пару раз до сего заливал в мк самодельные проши по «lpt- 5 проводков»,все было нормально… решил попробовать эту схему,собрал (на макетке)…
    ну да вы наверное догадались-не работает…
    смотрю напруги на com: +/- 6.6 вольт без нагрузки… (ноут hp8710p)читал конечно что на ноутах может быть существенно меньше напруга на com, но что так… ну да не суть…
    поиграл с «коэффициэнтом деления»-повтыкал разные резисторы, все бестолку…ну и идеального совпадения уровней добиться сложно-резюков ассортимент не велик..
    однако смог таки подобрать так что было ровно 0.7Vcc -предельное значение-«работало» оно при этом мягко говоря неустойчиво,определялось через раз,сохраненные с мк в .hex прошивки отличались буквально в каждом 100м байте…
    поставил заместо преобразователя уровней оптопару (на reset,mosi,sck), соответственно выход «запитан» от тех же +5 что и мк… проверил осцилографом-уровни стали четко 0/+5 фронт конечно не идеальный,но терпимо,особенно в тормозном режиме…но все равно не работает…
    И тут я заметил очень странную вещь-напряжение на miso (сигнал ж на нем формирует мк,отправляя данные в комп) не более 1 вольта(что с нагрузкой что без),кривулька выглядит как шустрый «заряд» до вольта и затем экспоненциальная «разрядка» в ноль…с периодом порядка периода sck и проч…Причем сигнал не строго периодический…
    после некоторого колупания,я,что мне показалось резонным,решил что мк сдох-я взял другой(совершенно новый,следовательно с высокой вероятностью рабочий)..сразу подключил к miso только осцилограф…и увидел совершенно аналогичную картинку… еще раз проверил сигналы на sck,mosi — очень похожи на правду,жаль осцилограф не цифровой-что там есть не разобрать,но на осмысленные похожи…на reset чистый 0…
    Засада…попытался гуглить-безрезультатно,в чем засада-совершенно уже не понимаю…Может ли существенно влиять относительная медленность спадания фронта сигнала,скважность в «тормозе» при этом практически идеальная…
    надо завтра еще раз попытаться тупо через lpt, может просто спалил…хотя когда я мог успеть спалить второй-убейте не понимаю…
    Может есть у кого какие мысли?

    1. Хмм…. MISO это Master Input Slave Output

      Да, формируется мастером он в режиме прошивки. А если его отцепить вообще? И попробовать ему SCK подергать?

      З.Ы.
      Как показала многочисленная практика этот программатор работает дааалеко не на всех компах. На всех старых (до 2006) да, без проблем. На новых начинаются эффекты.

      1. гм…если присоединить только SCK будет почти тот же сигнал…если вынуть еще и reset и подтянуть его к +5 — то же самое…
        если подтянуть MISO к +5 высокоомным резюком-то ток им кушаемый всего 10мка (при том что на нем уже ровно +5,а сигнал был 0-1В)….
        гм…надо сейчас еще раз попробовать с LPT..но что то мне подсказывает что мк таки протух…и когда успел…

        внимательно проверил питание,чистые +5 никаких шумов больше 0.005 вольта…даже пересмотрел «Подключение микроконтроллера. Ликбез.» все вроде норм…мистика…

        А насчет кривизны современных COM портов-жаль нет у меня старого компа с COM…да и в чем,собственно,она заключается? что там такого можно испортить?особенно в режиме тормоза…уровни? уровни я поправил… неправильные «периоды» сигналов? ну дык на то есть SCK,вроде должно что ни попадя проглатывать…проскролив даташит никаких драконовских требований на эту тему я не нашел…

      2. Мдя…а чип то жив…и читается и пишется по LPT…И пишется все правильно…
        Единственное-оптопара довольно сильно портит фронт…С LPT же он идеален…
        Чего то я не понимаю зачем тогда этот SCK нужен если не для того чтоб можно было забить на синхронность,скважность,равенство промежутков и кривые фронты…

    2. А у меня все с точностью до наоборот. При программировании абсолютно нового AtTiny2313 в SMD исполнении (проверял 2-е штуки) сигнал на miso 5v с «просадкой» до ~4v и одним из фронтов в виде экспоненты (смотрел осциллографом). Соответственно чип не определяется. При программировании того же (AtTiny2313) в DIP исполнении — все ОК.
      Хочу сделать COM адаптер, попробовать с ним.

      Кстати, насколько чувствительны AtTiny2313 к статическому напряжению, т.е. можно ли их пробить/сжечь при пайке маломощным (20 Wt, 220 V), но незаземленным паяльником, т.к. в DIPe сначала собрал схему, а потом вставил и запрограммировал чип, а в SOIC собирал (паял) все с подключенным чипом?

      1. Есть подозрение, что дело (по крайней мере-в моем случае)именно в длинне фронтов… Максимально допустимая длительность фронта не так уж велика и не растет с «удлиннением» бита… В даташите должны быть SPI timings, если осцил есть- святое дело проверить.
        возможно,если они близки к предельно допустимым,хватит и каких-то несущественных различий в схемах чтоб «уже не работало».

        Про статику не могу сказать ничего,кроме того,что над DIP мегами как я не глумился-не сдохли…

    1. Поставил резюк, нормально прошил атмегу8 для юсбАВР. Но не работает на основном компе, на другом, слабее, работает отлично. Хотел перепрошить на более новую версию, а он пишет что мк не отвечает. Фьюзы выставил как на картинках, как перепрошить снова, или уже никак? Через юнипроф.

        1. Я про юсбавр. http://easyelectronics.ru/usb-programmator-avr-usbasp.html#more-28 Для него атмегу 8ю прошивал громовым.

          Разобрался. Проблема в пятнице, думается уже хуже. =) Но с прошивкой постарее (та, что в архиве) не заработал на новом компе, на 3м пеньке отлично работает, попробую поновее перепрошить.

  91. Всем привет! Возможно я не сюда попал, тогда обьясните куда мне сходить и почитать буквари про это дело. Возможно мне это понадобится раз в жизни. Итак к делу.Нужно прошить atmega128 файл .bin 128 кб Вот скрины то, что я делал:
    http://savepic.ru/871677.jpg прога запущена скорсть на порте выставил мин. режим тормоз.
    http://savepic.ru/857341.jpg указал путь к файлу в «открытой папке» проги
    http://savepic.ru/909564.jpg нажимаю записать в МК идет прогрессбар
    далее нажимаю прочесть прочесть и сравнить МК и буфер соответственно:
    http://savepic.ru/872700.jpg
    http://savepic.ru/860412.jpg
    Что дальше? Мне кажется, что что то должно быть записано в ячейках? Или я не прав?
    Делал все через ком порт
    ЛПТ не пробовал.
    И вообще объясните знающие люди, признак работающего микроконтр-а, например как мне увидеть синусоиду на задающем кварце? Осцилографом с1-83 прикасаюсь к выводам кварца, по отношению к земле, но там прямая линия, возможно из за пропускной частоты осцила, там до 5 мгц в моем???
    Но сигнализирующие светодиоды девайса (это JAF бокс, если надо дам ссылку на схему, хотя вот она: http://www.topnokia.ru/forum/ipb.html?act=Attach&type=post&id=74662)
    Вообщем решил заменить атмегу т.к. вся схема вроде работает, но телефоны не видит.

    1. Я одного понять не могу. Когда выбираешь файл с прошивкой, то в буфферном окне должны быть не прочерки, а каша из хексов — тело прошивки. А у тебя там — и что ты шьешь в кристалл непонятно.

  92. Немного не дописал светодиоды нагруженны по схеме, загораются как надо, но софт отказывается видеть тела, хотя сам бокс опеделяетсяв компе нормально. Но это так по ходу спрашиваю. может кто че ответит. Понимаю тема другая.
    Да и еще МК прошивал без кварца, как я понял из коментов DI HALT он не нужен при прошивке.!

      1. Да новый само собой только взял. В девайсе который стоит, вообще никак не опознается. Насчет прошивы я и сам не знаю что шью, на форуме сказали, это то что надо, ссылку могу дать, только что это даст? Там вообще разговор про понипрог, при этом промелькнуло про выставление фузов вот так: http://www.mobile-files.ru/forum/attachment.php?attachmentid=35284&d=1153495196
        Но здесь я ваще пас. Если что подскажете, буду признателен безмерно…

          1. DI HALT ну вот здесь пишут: Вот «фул» ( флеш+епром ) слитый с Атмеги . Заливать Пони-прогом , файл загружать в прогу кнопкой Open Device file ну и соответственно зашивать — Write Device .
            Куда тыкать проводки в Атмегу — тут
            Всё вроде выложено на форуме и вопросов вроде быть не должно .
            После записи этого хекса — сделать » UPDATE P-KEY » , чтобы обнулить счётчики в проге .
            Сам файл(фул) тут:http://webfile.ru/3972888
            Еще, но это более старое здесь можно посмотреть: http://topnokia.ru/forum/topic39498.html
            Заранее благодарен за ответ.
            Как мне это все слепить? Да и еще картинка с фузами тут, но это как я понял, с понипрогом связано: http://savepic.ru/875528.jpg
            Просто я уже под ваш унипроф заточил все, неохота перепаивать на понирог.Контроллер болтается на проводульках второй день.

            1. Ааа вот оно что. У тебя файл поди в формате пони прога. Его ты через унипроф так просто не зальешь. Но выход есть

              Знач так. Запускай пони прог. Открывай там этот фул. Чтобы он в буффере пони появился. Дальше там же в понипроге сохраняй этот фул по двум частям. Как flash и как eeprom в виде двух файлов hex формата. Вот их и надо залить в твою мегу128 через унипроф.

              Впрочем, это на будущее, чтобы знал. Я уже за тебя все сделал:
              Бери два файла:
              http://easyelectronics.ru/files/Misc/flash.hex
              http://easyelectronics.ru/files/Misc/eeprom.hex

              и подгружай их в uniprof. Вначале флеш, потом еепром. Ну он там тебе подскажет что в каком порядке. Заливай их в кристалл.

              Потом переходи в раздел фузов. Тут внимание. Берешь скриншот понипрога и ДЕЛАЕШЬ ВСЕ НАОБОРОТ!!! Если в понипроговском скриншоте галочка стоит, то в унипрофе галочки в этом месте быть НЕ ДОЛЖНО!!! У них нотация диаметрально противоположная!!!

              Зашиваешь фузы. После этого должно все заработать как надо.

              1. DI HALT только смог прочитать, у нас 3ночи завтра отпишусь как и что, еще раз благодарю. У меня сын вообще программер, но тут такое дело его еще два месяца не будет и связи как таковой нет, чот бы помог, я хочу его на ваш сайтик натолкнуть, что бы за контроллеры взялся посерьезнее. Но а так как то, захотелось сделать сигнализацию с использованием jsm канала, так вот я ему это дело закинул, что бы сименс 65 это делал, ну он мне зараз на си это дело накалякал на меге8, в протеусе все делалось как надо, там на ати командах все в основном крутилось. Но молодежи железки сейчас как то не очень интересны,больше как то софт. Извините отвлекся.

              2. DI HALT добрался только сегодня до компа выходные :)))
                Сейчас все подключил гляньте пожалуйства я правильно сделал?
                Микросхема всего одна и если сделаю что то не так, то новый чип будет добираться до меня очень долго, здесь на месте нет.
                http://savepic.ru/885795.jpg
                Жду что скажете все подпаяно, не хочется накосорезить в этом месте.
                Да там вопросики стоят на 7-8 и 27-32 там что ставить или пустыми оставить?
                И еще выставил фузы потом нажимаю Write ? Далее записать в МК ?
                Вообщем буду ждать что скажете. Спасибо.

                1. Нажми вначале везде READ пусть считает те что есть. Потом выставви как со скриншота PonyProg но наоборот, как я тебе и говорил выше.

                  Тогда в тех где неизвестные биты будет что нибудь да стоять. Но на деле они особо не на что не влияют
                  Крайне левая колонка — биты защиты, чтобы прошивку не могли считать враги. КРайне правая конфигурация МК, ты их уже выставил. А те что без имени возможно не используются, просто в программе не отключены.

                  После прошивки этих фузов ты потеряешь доступ к режиму прошивания (т.к. выключишь SPIEN), Поэтому СНАЧАЛА ЗАШЕЙ КОД прошивки и ЕЕПРОМ, а потом только фузы. (нажать Write во всех блоках)

                  1. После прошивки этих фузов ты потеряешь доступ к режиму прошивания (т.к. выключишь SPIEN), Поэтому СНАЧАЛА ЗАШЕЙ КОД прошивки и ЕЕПРОМ, а потом только фузы. (нажать Write во всех блоках)

                    Стоп себе говорю! А эти фузы обязательное условие??? Можно без них обойтись? Например какая то неудача, и мне нужно будет опять все стереть и перезаписать? Вот здесь обязательно нужен ваш ответ!
                    И второе значит так: я сначало загружаю в буфер флеш и эпром, ФУЗЫ НЕ ТРОГАЮ ТАК !!? Делаю прошивку. А потом когда прошивка закончится как?: перегружаю прогу(меняю порты например) и перехожу на вкладку фузы, выставляю их как на моей картинке! и нажимаю «записать в МК» ? Правильные действия?

                    1. SPIEN можешь вначале попробовать не менять — оставить по дефолту. Вроде бы он отвечает только за режим программирования, а на работу SPI как периферии вообще не влияет.

                      Другие фузы надо выставить, они определяет работу кристалла (в первую очередь тактование, JTAG и куча других фишек)

                      Но если ты выставишь биты CKSEL то прошить вот так на проводах уже не сможешь — потребуется внешний кварц. А не выставив эти биты у тебя работать устройство не будет, т.к. не запустится на нужной частоте.

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

                    2. DI HALT Ну пипец какой то, наконец то с твоей и божьей помощью вроде сделал! Пока читал твои статьи и коменты про осцилографы интересно конечно! (даже успел в Китай позвонить поспрашал как там цены) оно как то незаметно сделалось (незаметно так, раз на восьмой :)))) Детали опускаю… Ну вот оно вроде правильно?
                      http://savepic.ru/867378.jpg
                      Фузы правда еще не выставил, сейчас сделаю перед сном грядущим.
                      Слушай а я сейчас во вкладку фьюзы зайду считаю их(я уже это делал) далее выставлю, во всех столбиках Write делаю и больше ничего? Или еще нужно после выставления нажать «Запмсать в МК» или достаточно «Write» ? Возможно я дождусь твоего ответа, ничего же я думаю страшного если отсоеденю програматор? А завтра доделаю.
                      В любом случае тысяча благодаростей!!! Жму руку за помощь!
                      В любом случае тысяча благодарностей!!!

                    3. Да просто жми Write везде и все. Причем желательно в последнюю очередь жать Write в колонке где биты CKSEL, на всякий пожарный.

                    4. Вот жизня в выходной до компа доберешься на полусогнутых и то вечером.
                      DI HALT сделал все как ты сказал, в результате получил такое:http://savepic.ru/863004.jpg получилось первая колонка вроде правильно, а почему в других не так? Галки выставлял вот так, ну собственно я уже выкладывал раньше: http://savepic.ru/885795.jpg Хотел уже перекинуть с девайса атмегу на новую прошитую, а тут такая засада??? Сделал бы это раньше, но когда собрался выпаивать 128 мегу вспомнил, что на китайце 2в 1 термофен не работает, давай разбирать, а там оказывается термопара расплавилась, пришлось осваивать сварку тугоплавких проводов, да потом еще оказалось что вход lm358(сдвоен. операционник) умер, вообщем пока туда сюда сделал…
                      Да и еще что значит не смогу прошить ее потом только с внешним кварцем? Что нужно просто кварц с кондюками подпаять??
                      И последенее хотел малехо рессурсу помочь, но не увидел ничего доступного PP? карты… клики сверху конечно нажимаю это понятно, а вот так что бы баксик закинуть не нашел. Вообщем если этого нет, то дополнительно чиркану в личку завтра по этому вопросу, что бы форум не захломлять.

                    5. Знач так. Давай подумаем. У тебя после того как ты все сделал мега определяется программатором?

                      Если да, то значит фузы не прошились. Чешем репу. ЧТо то пошло не так, но если мега определяется и отвечает значит все пока ок.

                      Повтори все шаги сначала:
                      Стери память.
                      Залей епром.
                      Залей флеш.
                      ПРоверь чтобы все было ок.
                      Зайди в фузы. Считай все фузы. А дальше… жми write в в колонках в таком порядке:
                      FuseEXT
                      FuseHigh (помнишь я тебе про бит SPIEN говорил? вот перечитай и подумай стоит там галочку оставлять? Я бы не стал)
                      FuseLow
                      Lock — можешь не жать. Это биты защиты и на работу не влияют.

                      «Да и еще что значит не смогу прошить ее потом только с внешним кварцем? Что нужно просто кварц с кондюками подпаять??»
                      У тебя же мега щас висит на 6ти проводках? ТАк? Изначально все авр работают на внутреннем генераторе. Когда ты выставляешь биты CKSEL=1111 то ты переключаешь мегу на внешний кварц. Скорей всего в схеме куда ты потом эту мегу впаяешь кварц уже стоит и она нормально запустится. Но вот сейчас, на проводках, кварца у тебя нет и как только ты протыкаешь фуз биты на эту комбинацию мега перестанет отзываться на программатор — она просто без кварца не запустится. Но! Ты можешь подпаять кварц на входы xtal и два конденсатора на 22пф и мега запустится как ни в чем ни бывало.

                      Бит SPIEN же вырубает возможность шить ее вот таким вот простым способом. Установил его в галочку — опа и все, ищи JTAG или параллельный программатор. Но вроде как нельзя его через ISP скинуть, впрочем я не уверен. Так что от греха подальше я бы галочку в унипрофе с SPIEN снял. Несмотря на то, что в твоем скриншоте оно стоит.

                      Хочешь помочь? Тыкни в пивную кружку справа от текста, там собстно все :)

                    6. DI HALT Дак я и SPIEN не проставлял(пустым оставил), все сделал как ты мне сказал, все эти галочки лишние появились сами как то, я и не понял почему. Резет прижатый не может на это повлиять? Вот моя последовательность, сначало прошил, потом отключил программатор(времени больше не было тогда), потом(сегодня) подключил мегу, определилась, прочитал фузы, было так: http://savepic.ru/856850.jpg дальше вытавил фузы(за исключением SPIEN и тех пустых, где я вопросы проставил)нажал врайт, в последовательности слева направо(FUSE LOV в последнюю очередь!!! все по инструкции :)))
                      И потом опять их прочитал и выложил, то что ты видишь.
                      Ну сегодня уже не успею, завтра утром буду свободен и сделаю, пожалуйства как будешь завтра возле компа обрати внимание, на новый результат. Может повлиять отсутствии питания на aVCC? Хотя я с самого начала все делал без него.Это же питание АЦП вроде. Такто чип полностью определяется.
                      ps Насчет помощи :) Да дело в том, что я из Казахстана и там в копилке в методах оплаты всякая хрень палки и кредиток нет, в вэбмани я зареген, но никогда ей не пользовлся и не знаю даже как ее пополнять.Перевод там мороки много, да и международные платежи дороговаты. Идеальное средство что то типа PayPaL но я нигде этого не увидел. Вообщемя по этому поводу завтра тебе подскажу как можно добавить, если его нет у тебя.(Понимаю что Россия)

                    7. Опа… Так, во первых AVcc и все GND и Vcc надо запитать! Без этого у тебя МК не пойми как работает. От АВЦЦ работает не только АЦП, но и половина порта.

                      Пайпал не работает с Россией. Суки. Точнее работает, но только на отдачу. На прием никак :(

                    8. Еще такой вопрос. А ты к каким выводам подключил программатор? Я тут вспомнил, что мега128 шьетя не через классические Miso Mosi SCK ,
                      а через
                      PDI (вместо Mosi)
                      PDO (вместо Miso)
                      SCK

                    9. Блин я 4 ноги отломал от него дернули как то неосторожно, ну три подпаял, а aVCC думаю потом уже в схеме, там жутко тяжело подпаяться. ну ладно завтра попробую сделать.
                      Насчет Пэйпал я в курсе, у меня самого в полном распоряжении американский акк, кроме моего снговского. Ну я тебе завтра отпишусь подробнее, как можно добавить.
                      Куда писать кстати?

                    10. Да с ногами все правильно, я в курсе этой фишки, так бы он вообще не отреагировал.

                    11. Такая ошибка вылазит когда ты пытаешься записать уже прошитый МК , предварительно не стерев старую программу.

                    12. Может попробовать опять без AVCC прошить, потом присоединить AVCC и фузы записать?

                    13. Вообщем прошил наконец, сравнил все индетично(буфер и запись) фузы выставил, справа налево врайт и та же херня: http://savepic.ru/863004.jpg т.е. они упорно не ставятся как надо. DI HALT что посоветуешь, в сад контроллер или еще ему повыкручивать что нибудь?

                    14. Хм… Впервые такое вижу, чтобы кристалл правильно встал, но не шились фузы. А ты перед записью фузов и всего прочего стирал кристалл?

                    15. Ну конечно стирал, если мне дали инструкцию стирать предварительно, то я уже это сделаю, строго по графику, причем не один раз. Ну тест показывает, контроллер чист!
                      Сейчас машину поставлю, и опять попробую. Дело в том что я хотел в режиме «тормоз, это дело попробовать, но прога виснет и потом «не отправлять отчет». Я вообще не пойму как все тут на тормозе делают? Потом эпром пропадает, а когда оно появляется? После загрузки флеша?
                      Короче там еще галка должна стоять про границы прожига, «всё»? У меня стоит. Сейчас пацану своему позвонил, он то же «папка ты чета неправильно там делаешь». Че я тут неправильно делаю, все вроде по инструкции? Там еще такая беда, что нужно порты менять перед каким то действием, а то прога как то старую инфу показывает.

                    16. В смысле епром пропадает? Куда пропадает?

                      У меня тоже «Все» стояло всегда.

                    17. Короче дело к ночи :))) Стер все, проверил — чист, прочитал — прочерки, запись- ошибка, и так пять раз подряд, скорость порта менял бесполезно, хотел уже плюнуть, но дай думаю кондер напаяю пикофарадник по питанию. Ну нашел в коробке первый попавшийся 180 пф, зашилось с первого раза. Далее тест — все идентично, прочитал ну там инфа вся, я так думаю как положено. Далее проставляю галки в фузах, а нет сначало прочитал фузы — все по дефолту, далее запись в последовательности справа налево, крайнюю левую оставляю по дефолту, и соответственно врайт на ней не нажимаю SPIEN соответственно то же галку не ставлю. Вообщем после проделанного прочитал фузы, все проставилось так как я сделал. Закрываю прогу, запускаю снова, чип не откликается :(((((( Жду дальнейших указаний :))))
                      Во первых подозреваю, что теперь для отклика нужен внешний кварц, второе DI HALT как я написал выше, левую колонку вообще не трогал и оставил все по дефолту!!!
                      Надеюсь я все правильно сделал? Так хочется услышать, что я взломал этот кристал :)))))))
                      Да и еще я там выше про пропадание епрома чушь написал, забудьте. Но в режиме тормоз чип не откликался никакими судьбами.??? И прога Николаева висла.

                    18. Ну то что кристалл перестал откликаться после перезагрузки проги это нормально — ты его на кварц настроил и без кварца оно щас не пикнет. В принципе теперь да, все верно. Можешь попробовать впаять :)

                    19. Ну тыды будем считать, что мы совместными усилиями победили :))) Интересно то, что только сейчас заметил что не подцеплял VCC на вывод первый(PEN), хотя опять посмотрел, он в оригинальной схеме идет напрямую в VCC и видимо выполняет все таки другую фунццию, не являясь специфичным(штатным) питанием чипа.
                      Вообще страненько, я что то делаю не так, дело в том что заглядывал в почту, там не вижу ответа с сайта, что мне ответили, сейчас заглянул ответ на сайте есть? Если бы не посмотрел, то так бы и думал что не ответили.
                      Сейчас перд экзекуцией атмеги, решил немного помучать девайс на котором хочу произвести замену чипа(думаю может все же не он виноват) .
                      Смотрю осцилографом на задающем кварце FT245 там синусоида, на атмега128 чистая линия, с небольшим (0.7V)положительным смещением, и на выходах/входах Tx Rx при ковырянии с софтом лишь мизерное подергивание на аналоговом с1-83 наблюдаю. Мне кажется что там все же должно быть нечто большее по амплитуде и продолжительности? А вот на PA0 -PA7(они сообщаются с FT245) вижу какие то реальные пакеты передаются, с нормальной амплитудой и по времени, несколько секунд.
                      Ну само собой питание и землю проверил все чисто, не просажено. Как бы понять на 99% что виновата атмега или нет?
                      Вопросы конечно малость не в тему задаю… кварц другой навешал та же картина. Генерация атмеги должна же быть видна хоть как то? Сейчас замкнул кварц такое впечатление, что все без разницы, тот же алгоритм работы? Светодиоды как загорались, так и загораются в том же порядке.

                    20. генератор у меги хилый, он срывается от малейшего чиха. Хотя бы от прикосновения осцила.

                    21. Да уж я тут уже порядком надоел. Вот и сейчас сижу и тупо смотрю куда двигаться дальше. DI HALT ну вообщем я прикрутил ту прошитую мегу на этот: http://www.topnokia.ru/forum/ipb.html?act=Attach&type=post&id=74662 девайс. Когда проверял ту старую которая стояла там, то заметил одну, на мой взгляд нелепую вещь, когда подается питание на устройство, даже не обязательно USB втыкать, то на втором выводе RXD0_PE0 высокий уровень(1,4 V) при том. что этот вывод подключен к выходу 3(2Y0) буфера lVC244. Когда вывод отсоединил(буфера), то на второй ноге атмеги стали нормальные 4,8V т.е. я так понял выход атмеги подключен на выход буфера, но это как я понимаю ненормально. Выход буфера где штатно должно быть в этот момент ноль садит выход атмеги. Там кстати замерил цешкой на землю 75 мА ток.Светодиод само собой горит. Вообщем предисловие кончилось.
                      Теперь так: новая атмега, которую мы вместе прошивали(утрированно конечно) вообще никак не дышит, на всех ее выводах ноль напруги, кроме естественно выводов питания и 0,7V на выводах кварца (23, 24)Такое впечатление, что не подключен кварц, это просто я раньше опыты проводил со старой так было. Я даже не пойму что дальше делать, старую впаивать, но она тоже не работает как положено? С этой долбиться до конца. Пайка однозначно аккуратна, это я все просмотрел и промерял контакты везде надежные.
                      Резет ничего не дает. как будто нет старта. Блин я не знаю алгоритм работы, так бы конечно легче было, я так понимаю что атмега должна общаться с ft245 по паралельному порту? Но начало может быть такое, что нигде не присутсвует напряжение? Прошивка вроде прошла хорошо, может те фузы что, тогда я не выставил, не могут повлиять? Сейчас уже вообще ничего не пойму, смотрю затуманеным взглядом.

                    22. RxD это вход. Так что он и должен быть подключен к выходу буффера.

                      Напряжение на RESET какое? ДОлжна быть +5 иначе мега не запустится.

                    23. Я понимаю что это вход (я оговорился), мне непонятно было на атмеге, которую заменил, то что это вход, на нем торчит высокий уровень, который не может «погасить» буфер, при этом присутствует около 1,4V. На входе то буфера нет положительного смещения, значит на выходе ноль, но этого нуля не хватает что бы загасить полностью уровень 5v на входе rx, на который подтянут высокий уровень 5V. Я отсоединяю выход буфера и напряжение становится закрнные 5V. Но неужели там подтянут такой токовый элемент, который не можкт загасить выход буфера? Немножко сумбурно, но я надеюсь ты понял. Думал может выход буфера не в порядке, подсоединил другой свободный выход буфера 2Y3 все равно 1,4V сидит. Тогда я подсоединяю цешку в режиме тока, и при отсоединенном выходе буфера замыкаю вход rx меги на землю, естественно тот светодиод, который сидит там гаснет, а через цешку вижу ток 75 мА. Может быть на входе такой ток и зачем он нужен там? У меня так по ламерски сразу предположение, что это уже не входом попахивает, а как то на выход смахивает? Причем вся эта линейка PE0-PE7 точно так же себя ведет.
                      А насчет резета, конечно там 5V они же туда жестко подаются через 10ком, это самое первое, что я померил питание и резет. А на первой меге когда замыкаешь резет на землю, светодиоды гаснут, т.е. на rx и tx становилось ноль, как отпускаешь опять высокий уровень. Я помотрел сегодня алгоритм работы этого устройства, при включении tx и rx там должны быть нули, а у меня получается наоборот. А на этой вообще ничего не горит, и я не вижу никаких сигналов спо паралельному порту между ft245 и атмегой. Те. я когда ее впаял и не загорелись RX TX я подумал вот оно, а потом оказывается она вообще молчит(это на мой взгляд). Попытался прочитать даташит на ft245? Пытаюсь прочитать даташит на ft245, но чета пока глухо для меня. Я вообще не пойму что начинает первое работать, как то должно же это все проявить признаки жизни. Пайку восемь раз просмотрелЮ все вроде норма,каждый контакт звонил. У видеть бы хотя бы каким то простым способом, что атмега в работе, но как это сделать?

                    24. А на других выводах вообще движухи нет? Осциллом смотрел?

                      Может ревизия платы другая и входы и выходы не совпадают. Например прошивка для другой подверсии.

                    25. Да нет никакой движухи, такое впечатление, что чип не дышит. Осцилом цеплялся. На PC0-PC7 вообще какие то неопределенные уровни от 0,6 до 2,6 вольта.Сегодня утром включил его тут вообще муть какая то, на 2 -3 выводе TX RX светодиоды горят, я замерил там 0,6 вольта, потом сами собой пропали??? Светодиоды погасли.
                      Короче своей жизнью живет кристал. :))))
                      Что дальше хрен его знает? Ревизия платы та же, там есть некоторые отличия, но они не касаются основного алгоритма работы.
                      Сразу не стал отписываться, думаю проверю еще раз, может сам чего накосорезил.

                    26. А по асе можно связываться? Номер 200605975 твой? По возможности конечно.

                    27. Номер мой, но меня там не бывает. Асько стало сьедать слишком много времени и я ее прикрыл.

                    28. В схеме запаяный кристал откликакется, на унипроф. Фузы читает.Вроде живой, только вот почему не работает? Может быть из за тех фузов что не выставил? Или может еще какая беда с инверсией связана. всякие бредовые мысли приходят. SCK как то на работу влияет?

  93. Здраствуйте. Собрал — не определяется. Есть ли какой способ проверить мультиметром МК — не спалил ли я его, и какие то стандартные параметры программатора (в разных узлах схемы) по каким можна было бы определить что я не правильно спаял?

    1. Да, забыл сказать, в качестве проводников к COM порту использую обрезки из витой пары длинной около 40 см. Может проблема в них? (В качестве питания использую 1 и 4 ноги USB — мерял на входе 5В. МК — ATMega16 16PU. Сначала только к VCC и GND подключил землю и питание но потом увидел ошибку и подключил к AVCC и GND(второй) )

      1. Укоротил длинну провода к ~15 см, пробовал менять скорость на портах (через деспетчер устройств до 4800) – не помогает. На сколько ножек МК(ATMega16 16PU) нужно подать землю (я ставил на 2) и питание (я стаил на 2)? Где же я ошибся…..

            1. Я тут перемерял все резисторы и один вместо 1кОм, показывает ~1.7кОм (может из-за того что я его перегрел), это может повлиять на работу? (Остальные впределах нормы +-5%)

                1. niello ты главное не температурь. Внимательно посмотри что напаял, резюки делай примерно одинаковые в районе тех которые указанны на схеме (1 ком), бери вовнимание, что в самом ком порту есть ограничительные сопроты и если ты на входе поставишь большое сопротивление, а которое у тебя на землю маленькое то положительный потенциал может оказаться слишком малым. Там на лупу нажмешь и на резете смотри сколько вольт выходит на самом контроллере. Ну и желательно другие выходы осцилографом в идеале глянуть какой размах.
                  На VCC и землю имхо можно по одному проводу закинуть, там они в чипе закороченны (ну по крайней мере в меге128 так, я мерял. Я правда не понял у тебя новая микруха или в схеме? Удачи!

  94. Еще вопрос. Но тут очень важна последовательность.
    Программатор Громова (дальше ПГ), его ISP-шлейф фтыкаю в PinBoard. Питание: БП компа-ПГ-по шлейфу ISP на отладочную плату… Светодиод первичного питания горит…
    Запускаю Унипроф, определяется. Заливаю прошивку. Теперь самое интересное.
    Закрываю Унипроф, на всякий случай нажимаю на отладочной плате Reset. ВОТ! С этого момента отладочная плата ПОЛНОСТЬЮ фунциклирует? У меня почему-то вывод 9 (reset) прижат к земле :(
    Т.е. резюме вопроса: в какой последовательности надо отключать унипроф, питание и проч. А может еще и комп надо отключать? Вот гемора-то с антидребезгом тогда получится…
    ЗЫ. Щас подумал — а может надо сам ПГ отключить от компа, но питание на него (в моем случае на отладочную плату) оставить?

    1. Всё, разобрался!!! Действительно Унипроф прижимал reset к земле! Прочитал в комментах выше, что от этого можно достаточно просто избавиться — просто нажать лупу.
      Но вопрос свой оставляю в силе — можно ли выдергивать ISP-шлейф из отладочной платы при отключенном питании ПГ, но при ВКЛЮЧЕННОМ компе?
      Спасибо

        1. Увы, до бутлоадера я еще пока «не дорос»… Точнее, буду как здесь говорят «вкуривать» на неделе. А то невеста не отпускала ни на минуту, всё гульки, да свидания… Теперь она упилила на недельку… Изменю-ка я ей слегка с мегой :) Думаю, поймет.
          Да и теперешняя ситуация для меня — огромнейший прогресс. Ибо раньше я только мог прошивать МК на работе по ЛПТ. Почему мой домашний ЛПТ порт не работает — до сих пор загадкой остается для меня?!??! Теперь, с ПГ (и с PinBoard) уже (за последние 15 минут) вычислил минимально необходимую задержку для кнопки. Я рад, одним словом. Жаль только, что наши немцам проиграли…

          1. Да че не дорос. У Тебя какой проц? Мега16? Заливай туда мою прошивку, да выставляй фузы. На загрузку с бута. Не бойся, это не страшные фузы, ими не залочить. Главное остальные не забыть считать :)

  95. Да, 16-ая мега. Залить-то залью — не сложно. Но теорию все равно вкурить надо. О привязалось-то слово…
    По большому-то счету, все мои конструкции любительские, и речи о том, что «они будут где-то зарыты под землей и проч» не идет. И поэтому пока я к буту отношусь просто как к интересной фишке, которую желательно бы знать. Но зная, что нельзя объять необъятное, думаю, что бут пока подождет, ибо меня больще заинтриговала RTOS. Вот примерно так…
    Всё, уже мозг не работает — пора спать

    1. Через бут шить быстрей раза в четыре. Да и просто освоишь новый прикол. Полезно :) Тем более ты все равно всю память не уроешь. Кстати, часть3 получил? Там ос расписана

      1. Еще бы не полезно! Получил… Начал было читать, вижу — ничего не понимаю. Полез в обучение. Распечатал 3 статьи про РТОС. Вот, сейчас на досуге почитываю…
        Кстати, хотел спросить вот что. Откуда такие названия в директивах include — в частности меня заинтересовало слово kernel… WTH? — хочу у тебя спросить. Сколько ни гадал откуда такая аббревиатура — не пойму… И такой прием с раздельными файлами инициализации, объявлением векторов — есть прикольная штука. При больших количествах прерываний и размерах программ — вообще руль!

        1. По поводу ОС ты вначале загони это в отладчик, прогони, посмотри как оно выполняется. Будет куда понятней. Только в отладчике отключи (закомменть в коде) все что касается дисплея т.к. там идет ожидание подтверждения от дисплея, а в симуляции его нету тут то прога и встанет колом.

  96. Собрал программатор, вроде работает :)
    СОМ-удлиннитель на полтора метра не пробивает, пришлось делать свой на 0.5 метра. Может быть из-за резисторов 1.7к вместо 1к…

    вопрос: при прошивке через uniprof выдаёт «Ош записи, @=0062, надо 0А, есть 02. Повтор?» — это че за фигня? причём не смотря на это мк вроде как успешно прошивается и работает как надо.

  97. вопрос об общих «правилах» ISP-программирования:

    на 2313 к порту B подключено 7-сегментное цифровое табло, но PB5,6,7 являются еще и MOSI, MISO, SCK. в результате при подключенном табло прошить ничего нельзя, а при отключенном — можно (я предусмотрительно воткнул dip-панельку, а уже в неё — табло). табло с общим катодом, на который постоянно подан плюс, а нолики на PBx зажигают сегменты.

    в какой-то статье здесь я видел, что эти выводы PB5,6,7 подключают через резисторы 10к. Но такое подключение вряд ли сделает их полезными, разве что для сажания на эти выводы кнопок…

    получается, что PB5,6,7 в полной мере использовать не получится, если мне нужна возможность ISP-программирования? или есть какие-то хитрости? кроме джамперов «прошивать/работать»

    1. Совсем не обязательно. Я одно время шил мегу8 со светодиодами на этих линиях (ультраярких, с 300 омами у каждого), светомузыка при прошивании и всё.

      У тебя какой программатор? Я шил стк200 (на лпт- порт, с буферной микросхемой, кстати рекомендую- надежен как кирпич).

    2. Светодиоды не помеха. Но вот программатор Громова их не пересилит. Нужен усбасп или СТК200 с сильными выходами. И еще, ставить его надо между выводом МК и ограничительным резистором диода. Тогда диод будет мигать аки светомузыка, а проц нормальное прошьется.

  98. Уважаемый гуру , маг и волшкбник DI HALT! разясните момент. я читал предыдущую статью порты , значит должен был понять , но не понял эти строчки :
    OUTI DDRA,0xFF
    OUTI DDRB,0xFF
    ;OUTI DDRC,0xFF
    OUTI DDRD,0xFF
    ; Конфигурируем направления портов на выход
    ; Если данный контроллер не имет, например, порта
    ; С, то эту строчку надо закомментировать.

    OUTI PORTA,0xAA
    OUTI PORTB,0xAA
    ;OUTI PORTC,0xAA
    OUTI PORTD,0xAA
    ; Выдаем на выходы 10101010, чтобы получить
    ; четкую картину того, что на портах произошли
    ; изменения. После выполнения программы
    ; на выходах микроконтроллера в шахматном порядке
    ; будут либо напряжение питания, либо земля. Что
    ; легко проверяется либо вольтметром, либо простейшим
    ; пробником на светодиоде.
    конкретно вот что:1.
    DDRA,0xFF Конфигурируем направления портов на выход? что значит 0xFF? Одно понял , что 0xFF КАК ТО свазанно с разрядностью контроллера и с «1» в двоичной системе что бы сконфигурировать порт на выход.
    2. PORTA,0xAA -Выдаем на выходы 10101010, чтобы получить
    ; четкую картину того, что на портах произошли
    ; изменения.После выполнения программы
    ; на выходах микроконтроллера в шахматном порядке…. что значит 0xAA? Одно понял , AA — ЭТО 10101010 в двоичной системе и если мы загрузили данные во все порты А «АА» , ТО ПОЧЕМУ на выходе порта будет не сигнал меандр из 0 и 1 , а 0 или 1?

      1. а как бы тогда выглядел бы выглядела строчка програмы выдачи «1» на конкретную ножку обозначенную в даташите как PB5? ХОЧУ разобраться сразу, не переходя к дальнейшему материалу курса

        1. Предварительная конфигурация порта (делается один раз в начале программы)

          SBI DDRB,5

          ;Установить вывод в 1
          SBI PORTB,5

          ;Сбросить вывод в 0
          CBI PORTB,5

          М1: SBI PORTB,5
          NOP
          NOP
          CBI PORTB,5
          RJMP M1

          Бесконечный цикл выдающий на вывод PB5 то 0 то 1 с ооочень большой частотой (примерно будет тактовая/5 т.к. одна команда за такт, и 5 команд в цикле) :) Только осциллографом можно увидеть.

        2. Второй способ.
          OUTI DDRB,0b00100000 ; настроим порт
          OUTI PORTB,0b00100000 ;внесем в регистр порта Б число такое, чтобы в нем на 5 позиции была 1

          То же самое, но с использованием макроязыка ассеблера (компилятор сам подставит нужное число.

          1
          2
          
          OUTI DDRB,(1<<5)
          OUTI PORTB,(1<<5)
  99. Решил попробовать себя в электронике. Спаял программатор, и мультивибратор. Теперь хочу их объеденить:)
    Вобщем сделать «плеер». Ну и у меня сразу такой вопрос: чтобы менять частоту мультивибратора, нужно менять сопротивление, как это сделать микроконтроллером?

        1. Конечно может! Что такое звук? Звук это колебание туды и сюды с определенной частотой. Выводишь на ногу сначала 1 потом 0 и так с частотой, скажем, в 2600 герц — получаешь пищание широко известного фрик девайса Blue Box которым хитрые американские фрикеры переключали АТС на межгород нахаляву.

  100. доброго времени суток :)
    Прочитал отзывы примерно до середины.
    В итоге немного запутался.
    Вопросы:
    длина провода — от компа до отладочной платы, где спаян программатор — примерно 1,5-2 метра — так понимаю, что это много?
    Длинна проводков (MOSI, MISO, SCLK, RESET) от программатора до mega8 примерно 10-15 см (это вроде как нормально?)
    Сейчас у меня к ножкам XTAL припаян кварц на 8 МГц. Правильно понимаю, что надо сначала выставить FUSE биты что бы микроконтроллер начал работать от этого кварца?

    Спасибо.

  101. Доброго времени суток :)
    Вроде как спаял программатор для СОМ порта…
    Когда указываю нужынй СОМ порт в программе Uniprof
    бывает 3 ситуации:
    — пишет, что МК не определился, но просит выбрать из выпдающего списка нужный МК
    — просто пишет, что МК не определился
    — иногда выдает окошко с надпиьсю: «is not valid integer value».

    Правильно, понимаю — что скорее всего где-то плохой/гуляющий контакт?
    т.к. раньше всегда писал только «МК не определился».

    Спасибо.

  102. Приветствую!

    http://easyelectronics.ru/img/AVRProgrammator/avr_prog_adapter.jpg
    На сколько я вижу на переходнике используются некие проводочки для соединения штырьков.
    Так вот, КАКИЕ это проводочки? А-ля втыкающиеся в материнку от корпуса как я понимаю. Очень хочется сварганить подобное, но где их взять?

      1. Хм, штырьки у нас продаются. Да и со старых плат их можно выпаять.
        Но разъёмов не нашёл. Можно ссылку на какой нибудь интернет магазин?
        Какой угодно, хоть ebay. Хочется разжиться штырёчками :-D

  103. А что т овообще не понял про подулючение программатора. Где на нем +5В?
    У меня есть плата с контроллером, питание идет на плату с контроллером 5В, и как мне запитать программатор от моей платы, а не от компа?

    1. На разьеме программирования есть +5 и неважно в какую сторону тут потечет ток — от программатора на плату или от платы на запитку программатора. Все зависит от задумки.

  104. Уважаемый DI!
    абсолютно тупой вопрос: в проекте Громов программатор при открытии ЛайАутом справа внизу еще одна плата — элемент отдельный. что это и для чего нужна?
    Догадываюсь, что переходник. Но там ничего не подписано.
    приоткроешь завесу тайны? нужна ли та плата для программатора непосредственно? или можно сразу от первоначальной платы к контроллеру проводки паять?

  105. Решил написать про свои успехи в программировании микроконтроллеров.

    Выбрал atmega8-16PU. Программатор спаял по схеме(Громова) как на сайте.
    Так как у меня ноутбук, то пришлось приобрести переходник (адаптер) USB-RS232(com-порт). Переходник Viewcon USB 1.1 to COM RS-232 (VE066)
    Резисторы выбрал 330 Ом (три левых ) и 1 кОм (четыре правых на схеме) в связи с тем что на виходе из com порта у меня всего 6.5 В.
    Правда сопротивление диодов у меня было 800 Ом, а я читал что надо 100-200 Ом.
    Питание для контроллера взял от USB (там 5.05В)

    Сначала решил не подключать диоды потому и в программе Uniprof контроллер не определился. Потом подключил диоды и все заработало. Правда иногда проскакивала ошибка записи.
    При определении контроллера нужно было самому выбрать тип контроллера, но в режиме «тормоз» программа сама его выявила.

    P.S кто-то писал что у него номер com-порт больше 5. Так в Диспетчере устройств можно выставить любой номер.
    Для переходника USB-RS232 у меня был диск с драйверами но я его потерял. Кроме того я и не ставил драйверов под Windows.

  106. Вчера не успел протестировать микроконтроллер который я прошил. Зато сегодня я на отдельной плате подключил контроллер, кварц с конденсаторами и заработало. Питание подавал от usb. Заодно и проверил еще три старых контроллера: один заработал.
    Время прошивки через адаптер usb-rs232(com порт) около 2 минут (101 байт прошивки ).
    Впрочем мне не спешно. Я тестирую программу на работоспособность в Proteus где сразу видно на какие порти контроллера подается сигнал.

  107. собрал и я свой прогер громова . длинна провода от com порта до програматора 1,8м . ( подтверждаю , что длина провода в пределах 1,5-2м не критична )на панельку с обратной стороны на ножки питания повесил конденсатор ( кондёр на 0,1мкф) всё работает супер. читает и пишет без ошибок , что с кнопкой тормоз , что без тормоза ( мой проц 2,8ггц)
    правда нарвался на грабли . 4 часа подряд прозванивал схему , думал почему не определяет avr ??? оказалось всё банально просто : at90s2313 не идет с завода с установкой внутреннего генератора. вывод : люди , читайте внимательней коментарии и DATASHEET

  108. Доброе время суток! У меня возник малиньки вопрос (не об етом програматоре) если использовать прграматор 5 проводков, питание подавать на микруху до или после подключения к LPT, и на RESET микроконтролера нужно подавать +5 ))).

    Зарание спасибо!

  109. Короче, я собрал весь программатор на печатке с выводными резисторами… От прогера до адаптера контроллера у меня идет экранированная витая пара, сантиметров 15… На адаптере к входу РЕСЕТ стоит резюк в 10 кОм… Пральна?

  110. решил написать о своем опыте. тема существует уже долго, так что сорри чуть что за повтор…

    на предыдущей работе был норм программатор, а тут работу сменил, решил дома зашить МК, а нечем. вот попробовал данное предложение (понятно, что не так надежно, зато быстро)))
    короче все работает (без галки тормоз, на скорости 9600) но с одним неудобством: зашивается только после процесса очистки, а поверх зашитого никак…

    P.S. МК использовал атмегу 16, подключенный к ней ЖК1602 никак не влиял (была про это заметка где-то в начале темы)

  111. Поделюсь и своим опытом.

    Сначала спалил мать 5-ю проводками, потом решил перейти на com-порт. :)

    Развел плату, спаял схему Громова. Она работала с avrdude очень нестабильно. avrdude под linux часто зависал в процессе записи. Раза с 5-10-ого ему удавалось прошить «Hello world, I am LED» программу. Но она не всегда прошивалась нормально — на этапе верификации avrdude часто ругался. Сначала грешил на пайку, потом на длинные провода (около 15-20 см). Перепаивание, прозвон, сокращение проводов не помогли.

    Задумался над схемой, после некоторой медитации почти ее понял. Пока до сих пор не понимаю, как 0 на MISO преобразуется в -12 на COM-порту.

    Вспомнил, что в заначке есть max232 микросхема и решил ее использовать для преобразования уровней. Схему использования max232 вытащил из документации. Единственное — оставил RESET линию как у Громова и диод там заменил на светодиод. Подумалось — он будет светиться, когда программатор подключен к COM-порту и не светиться, когда идет программирование.
    Спаял, попробовал — тоже зависает.

    Напрягся, пошел читать про протокол программирования, SPI интерфейс. И тут до меня дошло, что процесс записи зависнуть не может! Так как в SPI мастер может работать и на отсутсвующий slave. Просто будут читаться сплошные нули или сплошные единицы. Ковыряние в исходниках avrdude показало, что зависание идет в ядре linux при установке TXD пина на COM-порту. Только тут я заметил, что TXD зачем-то соединен с RXD. Может кто знает причину?

    Отцепив TXD от RXD получил стабильно работающий программатор.
    Схема вот — http://img43.imageshack.us/img43/4632/m232p.jpg
    Может быть кому-нибудь пригодится.
    В описании программатора для avrdude надо sck, miso и mosi сделать инверсными.
    Пойду спать…

  112. Некий nml писал что
    «Если на компе есть разъем миди (15 пин мама) — его крайние дырочки это и есть 5в.»
    Так вот я измерил напряжение на крайнем штырке и там окозалось 4.7В. Этого хватит? Если нет то что делать?

  113. Hi HALT! Я в этом деле новичок.Подскажи плз, переходник для прошивки нужен для непосредственного программирования атмелок? и для каких атмег он подходит?он универсальный или нет? и где взять схему lay? и по поводу usb-го программатора,там комовский разъём для чего?для этого же переходника или нет?

    1. Переходник нужен если ты хочешь прошить МК вне своей схемы. Иногда это бывает полезно. Тогда да, нужен. Обычно же я юзаю просто шестижильный ISP шнурок для прошивки прямо в плате.

      ссылка на lay файл где то прямо в тексте есть.Читай внимательней.

      Подходит почти для всех тини и атмег старых. С новыми тоже работает, но я не знаю поддерживает их UniProf или нет, а вот avrdude тоже с этим программером дружит и по моему поддерживает вообще всю серию АВР.

      СОМ дырка там просто как мой внутренний стандарт интерфейса. С нее выходит мисо, моси, ск, ресет, земля и питание. Я в нее выткаю либо свой шестижильный исп шнурок, либо переходник для зашивки микрухи самой по себе.

    1. Да у автора, может в хелпе где, может это косвенно из кода понять можно. Емнип игорьплуг работает на 12мгц. Значит однозначно ставить фузы на внешний кварц и вешать кварц.

      Попробуй еще e2s открыть блокнотом, может там что увидишь. ВОзможно он содержит в себе фузы.

  114. Привет Хальт! у мя вот какой вопрос. мега 8-16,по даташиту у ней
    vcc-7 нога,avcc-20 нога, на оба контакта надо подавать +5 v?
    gnd-8 и 22 нога,оба контакта надо цеплять на землю?
    и если не трудно объясни пож по поводу reset’а,как его цеплять надо к питалову? и когда,до прошивки,или после? Большой пасип.

  115. Доброго времени суток!

    Прочитал все (!) посты, много узнал полезного, но все равно имеется…

    Непонятная проблема с программатором от последовательного порта. Плату сделал по .lay-файлу для выводных компонентов (ссылка в статье). Длина проводов от порта до платы программатора 25 см, от программатора до МК — 10 см. Питание беру с БП компа. Монтаж проверил неоднократно, есть большущая уверенность, что все так.

    Я пытаюсь сделать USBAsp, для него сделал плату, поставил детали (почти все. нет только С1-С3, R3,R4,R5 и светодиодов), кварц, контроллер. Сигналы MOSI, MISO, SCK, RESET, +5, GND подаю на разъем этой платы от соответствующих выходов программатора.

    Ни Uniprof, ни avrdude не определяют контроллер. Сам контроллер новый и у меня есть подозрение, что он рабочий (об этом ниже).

    После прозвонки и промера всех цепей мультиметром, дело дошло и до осциллографа. К сожалению он у меня аналоговый (С1-55, зверь-машина!), поэтому записать сигнал не получается. При помощи указанных агрегатов было выявлено, что:
    а) RESET находится в лог.0 при выборе порта, на котором «висит» программатор. Так и должно быть (почитал посты выше). Это радует.
    б) При выборе порта в uniprof’e или запуске avrdude на ножки МК MOSI и SCK подаются импульсные последовательности приблизительно ТТЛ-уровня. Тоже хорошо.
    в) MISO при вышеозначенных действиях выдает импульсные последовательности (именно поэтому считаю, что МК рабочий).
    г) Напряжение питания в норме (4.98 В)
    д) Uniprof даже без определения типа МК может посылать сигналы в порт (хм… полезная «недоработка» программы). Пытаюсь читать. На MOSI, MISO и SCK наблюдаются четкие импульсы. Похоже, МК выдает запрашиваемые данные….. Да, если взглянуть на сингал MISO перед резистором (т.е. на проводе, идущем в комп от МК), то видно, что спады сигналов имеют высокие «всплески», около 0.4 В. До резистора этого «звона» нет.
    е) Все вышеозначенное наблюдалось при сниженной скорости порта до 4800 (через диспетчер устройств. ОС Windows XP SP3. Увы, на Linux проверить не могу, т.к. на ноуте только USB имются).

    Вот. При этом всем ни uniprof, ни avrdude не опознают МК. Есть у меня подозрение, что проблема в COM-порте. Но в чем именно не могу точно сформулировать. Порт рабочий (проверял двумя гипертерминалами и нуль-можемным кабелем). Может порт не понимает слишком низкий сигнал от контроллера и тогда MAX232 ставить… DI, чего думаешь по поводу?

    1. Добавка. Что-то меня смущает отсутствие C3 в схеме USBAsp, мож из-за него МК странно себя ведет?
      Уменьшил скорость порта до 1200 и вообще убрал буфер передачи. uniprof стал достаточно четко определять контроллер ( «[8K, 512] mega8» ), но при чтении почти везде минусы, есть только одна ячейка, в которой появляются значения (адрес 0x16, значения разниые). Галка «тормоз» не помогает и заставляет задуматься о его местоположении (в программе или перед компом))).

      1. Если при чтении везде минусы, то это просто МК чистый. Этот программатор идеально работает только на старых компах (пни третьи четвертые) на новых могут быть приколы.

    2. возможно тебе действительно не повезло с портом. Уровни напряжений в порту какие? На сигнальных линиях моси мисо? На стороне МК. Должны быть в районе 3…5 вольт.

      1. Спасибо, дорогой камрад огромное!!! Убрал провод, идущий от 2й ноги ком-порта и все заработало! Уже прошил USBAsp. Успешно. Он определился и драйвер подцепился под виндой. Сейчс пробовать буду под линуксом.

          1. Мне кажется, не в схеме хитрость, а в работе софта. Вот смотри: ПК посылает по линии TX сигнал MOSI. Этот же байт тут же попадает в приемник по линии RX (2я ножка). Возникает прерывание по приему байта, драйвер ОС помещает его в буфер. Но контроллер-то отвечает совсем по другой линии (CTS — Clear TO Send). Но контроллер-то отвечает по другой линии, состояние которой можно прочитать в регистре состояния модема. На сколько я помню, при считывании этого регистра его значение аннулируется. Драйвер же ОС однозначно считывает этот регистр при анализе приема. Я когда писАл свой драйвер модема под ДОС, то в алгоритме опрос состояния был. Вот и не может программка прочитать ответ контроллера.
            Т.о. не в электрической части программатроа проблема. Мне так думается.

  116. Ребят давно здесь не был. Вы это того не сильно на унипроф ориентируйтесь, в плане того что он безотказный. Я в этой ветке вверху уже отметился, намучался в свое время с громовским программатором, вернее с унипрофом, в итоге спаял на комовский разьем схему для поника, кстати ее можно спаять на основе громовского программатора, только там кажись транзюк еще поставил на резет(давно это было, могу уточнить если нужно, там все элементарно, а транзюк как инвертор, ну и прижимает к земле ноль лучше, короче походу паял из головы) и все сразу заработало. А унипроф вроде все пршивает, потом буфер сравниваешь и записанное в кристал все вроде нормуль идеентично, а в схеме не работает. Мне кажется Николаев с фузами че та не так намутил, хочу ему один вопросик по этому поводу на его сайте задать, да все как то лень.

    1. Интересная логика. Если программа зашита, проверена, а девайс не работает — то виноват программатор. Ага. Я этот программатор использую уж который год по работе. Если бы были какие глюки — думаю, меня бы давно уволили.

      И если есть вопросы — не ленитесь их задавать, вместо того, чтобы того, чтобы писать ничем не обоснованные «рекламации» на птичьем языке («транзюк»,»нормуль»,»намутил»-ей-богу, от этого уже реально мутит).

      А еще лучше — покажите вашу программу. Если, конечно, не лень :-) Ибо, поскольку отладка — это процесс выявления и устранения ошибок в программе, то программирование — соответственно — процесс их внесения.

      1. Да само собой вы меня в этом на две головы выше, как пользователь вашего продукта заметил что у вас в программаторе фуз SPIEN активен, не понял честно говоря для чего это нужно, если все равно последовательным програмированием его изменить нельзя. Вы про это сами говорите на своем форуме. Извините про слово «намутил», но факт остается фактом, я вашим программатором раз двадцать пять прошивал атмегу,причем новую, еще незапаянную на место. Когда поставил ее в схему, то она никак не реагировала,уже надежду потерял, но решил напоследок понипрогом прямо в схеме, тем более атмега была переключена( вашей прогой) на режим внешнего кварца, тут признаю это было действительно сделано. Сваял побыстрому схему для понипрога(на столе до сих пор валяется)и зашил ее, она тут же заработала. А насчет «птичьего языка» ну назову я его NPN транзистор, любой маломощный например кт315, что от этого изменится. Возможно там и без транзистора можно обойтись, в понипроге вроде есть инвертирование по каждой шине, хотя врать не буду, а так те же делители, можно стабилитроны, я посчитал что это не нужно и сделал из того, что было под рукой.
        А так все скриншоты выше выложенны уже.Там то и удивляет, что вроде все правильно, но работать не хочет, и потом знаете понипрог, автоматом проверяет записанное в кристал…
        Я не спорю возможно мои кривые руки тут сделали, что то не так, зеленый я в этом, но поймите правильно, я брал те же провода на поник, что и на ваш программатор и там все сработало с первого раза, а здесь никак.Отсюда мои выводы.

        1. -Насчет наголову выше — неправда, я низенький и толстый :-)
          -Насчет SPIEN — так это сейчас этот фуз изменить нельзя, а в семействе classic очень даже можно было — очень классные были грабли :-)
          -Uniprof тоже проверяет при записи автоматически
          -Зато Uniprof ничего не делает с фузами пока конкретно не попросишь. В свое время я посчитал, что делать это надо крайне редко, потому лучше лишний раз не насиловать кристалл (тем более что тогда ресурс перепрошивок был всего 1000)
          -Ну а по надежности, что тут сказать. Во первых, программатор — это по сути не программатор вовсе, а устройство, передающее данные на МК, прожигает он сам. Потому надежность здесь двоичная — или передал данные, или не передал. Если Uniprof закончил прожиг и не обругал — значит, все в норме. Вся аппаратура (см. http://cinetechno.com) прошита этим программатором и прекрасно работает от Парижу до Находки. Ну а на закономерный вопрос — почему, работая на солидной фирме, не куплю себе крутой фирменный программатор — отвечу — а просто к своей отладке привык очень и аналога пока не вижу. А без отладки — слеп и глух…

      1. Сейчас глянул и найти не могу ее вроде удалили, вообще вот она http://images.yandex.kz/search?p=1&tld=kz&text=Ponyprog%20com%20%D0%BF%D0%BE%D1%80%D1%82&stype=image&ncrnd=4399 та , что подписана delanet.ru, почему то удалена, там еще было подписано, что сделана неким папуасом, еще удивилялись люди, что «папуасы» начали схемы делать :)))
        Но это не беда, берете например вот это http://images.yandex.kz/search?tld=kz&p=0&serverurl=atmega.blog.ru&text=Ponyprog%20com%20%D0%BF%D0%BE%D1%80%D1%82&spsite=atmega.blog.ru&img_url=stat8.blog.ru%2Flr%2F0927e43936fa3e9a6cb421785a08a71f&rpt=simage и собираете, главное распиновка ком порта вся видна, а за основу можно взять Громовскую схему, тогда стабилитроны не нужны, но диоды впереди все равно поставить желательно.
        Короче кому как удобнее, если есть стабилитроны, то схему эту собираете, которую я ссылку дал, если нет, то Громова с соответствующей распиновкой( как в моей ссылке) с применением делителей на резисторах и диодов впереди.Я лично на делителях сделал, правда транзистор кт315 на резет все же поставил, хотя почти уверен, что можно без него обойтись, тока нуно в понике инвертирование резета выставить, там будет в самом начале. увидите. Вообщем если не понятно будет, карандашом начерчу, отсканю и выложу, но думаю поймете, если прогу подскажете простую, что бы схему без карандаша накидать, тосделаю в ней. Но там все примитивно просто.

        1. :) Главное что б комп не полыхнул.
          Выложи ту схему которую ты использовал для сборки при прошивке через PonyProg,
          а там уже буду вникать, я вообще-то совсем недавно электроникой заинтересовался — захотел собрать вот это http://www.mindrunway.ru/IgorRele.html, даже хозяина того проэкта достал своими вопросами вплоть до словесной перепалки :) (для него детскими, как он говорит). Вобщем увлекся электроникой:))…

                    1. А куда ты отсылал эту схему? — ты же мой мэйл не знаешь…
                      А питание подавать на Vcc и АVcc? Вобще-то меня интересовала схема с уже подключенным микроконтроллером Atmega8 к программатору, т.е. готовая схема с микроконтроллером…

                    2. Спасибо за схему, а на Atmega 8 в данном случае обязательно кварц вешать?

                    3. В каком «данном», мы тут не телепаты в конце концов? На новой — внутренний генератор по дефолту, фузы если не менял, то так и останется, поменял смотреть нужно на что поменял. Последовательное программирование, последовательным программатором не запретишь это правило, недавно на сахаре с одним сцепился, темка наверху еще наверное.
                      Лок фузы последовательным программатором сработают, здесь точно не знаю, можно ли будет стереть прошиву последовательным или параллельный нужен, короче проще не трогать.
                      Вроде все понятно.

                    4. О чудо свершилось!! Оно прошилось!
                      Спасибо Dobby, твоя схема http://savepic.org/122927.htm работает.
                      Постояно в PonyProg выдавало ошибку «Devise missing…» ошибка там какая-то -24. Долго же я колдовал над этими программаторами пока не собрал эту схему, и все-равно не прошивалось(видимо в процессе паяний и прошиваний я как-то залочил микроконтроллер Atmega8). Потом порыскав по сети нашел что в таком случае можно для разблокировки МК подать напряжение на Reset(видимо при этом происходит сброс), причем значения разные пишут — 6V, 9V, 12V. Вобщем я вспомнил что у меня валяется дешевый бытовой блок питания с переключением на разные напряжения(тот что на раскладках продается), и перед самой прошивкой, при запущенной программе PonyProg, я подал дополнительное внешнее напряжение + на Reset и — на восьмую ногу МК(выставил на блоке питания 4,5V). Затем запустил прошивающий файл e2s и… к моему изумлению все прошилось.
                      Вот только в UniProf этот программатор по-прежнему не определяется(пишет что МК не определен, даже после успешной прошивки в PonyProg), не знаю почему, хотел бы узнать.

                    5. Дополнительное напряжение на Reset я подавал в течении пару секунд а затем уже прошивал(т.е. во время самой прошивки уже не подавал напряжение на Reset).

      1. Пля ваще че за кипиш? че за тональность, ну не было времени совсем, и так два часа протрахался, что бы схему зарисовать. Вот здеь http://savepic.org/122927.htm В понике инвертирование оставляешь по умолчанию!
        Диод D3 можно не ставить, но правильнее все же поставить.R2,R3,R6 при наличии стабилитронов, каких нибудь кс149 так же можно не ставить, но стабилитроны тогда в обязательном порядке.
        Кстати DI HALT к тебе вопрос, раз уж сюда забрел, где то прочитал, а может мне это и приснилось, что играет роль уровень сигнала, который пишется во флеш ? Я имею ввиду электрический уровень, т.е. допустим лог единица либо 3вольта либо 5вольт играет роль или нет? Не имеется ввиду неопределенное состояние, а имеется ввиду когда все определено правильно, но уровень напряжения разный, ну я думаю ты вьехал про что я . Так вот как с этим быть или с этим ни как не быть?

        1. 1. Прошивает сразу флеш и еепром. На входе формат понипрога где два файла в одном.
          2. Прошивает только флеш
          3. Прошивает только еепром.

          А дальше смотря что у тебя. Если только hex и eep то сначала 2, потом 3. Если же понипроговский проект (упаковка флеша и еепрома) то 1

  117. Такой вопрос.
    Нашел тут у себя старую мышку на ком порту(четка перепаял порт).
    Но у нее только 5 пинов из ком порта используется.
    Такой впрос нужен ли обязательно 5 пин ком порта?
    Или можно взять GND только с корпуса?