Полазив по просторам инета, нарисовал такую схемку простого LPT программатора. Взгляните на неё профессиональным взглядом, оцените, посоветуйте чего не хватает, а что совсем не нужно.
Также посоветуйте программу, через которую я смогу прошивать посредством такого программатора?
Во-первых, сделайте изображение побольше.
Во-вторых, такие програматоры уже есть.
Можете сравнить свою схему с предложенными и проверенными, посмотреть, чем ваша конструкция лучше/хуже других.
По сути: ваш програматор ничем не отличается от себе подобных, разве что только резистором в 1к на корпус, а то, что питается от USB, так это не ново.А если бы он по USB специальной программой управлялся, то это было б круто.
HakKyshtym писал(а):Взгляните на неё профессиональным взглядом, оцените, посоветуйте чего не хватает, а что совсем не нужно.
Также посоветуйте программу, через которую я смогу прошивать посредством такого программатора?
Это вариант абсолютно минималистичного программатора, который обычно называют "пять проводов".
Выкидывать из него уже особо нечего. А не хватает в защиты, дабы не спалить LPT порт.
Программ программаторов поддерживающих клоны stk200/300 существует множество. Самые популярные это avrdude и avreal. Они консольные, т.е. работают с командной строки. Есть графическое междумордие графические обёртки для них. Для avrdude точно есть, и не одна.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Если вы будете использовать "5 проводов" только для прошивки контроллера, причём, так сказать, отдельно стоящего (не в схеме), с питанием от того же компьютера, то, вероятно, основным "разрушающим" фактором будет статическое электричество. Как для LPT порта, так и для МК, наверное, в равной степени. А вот если вы будете программировать таким программатором МК установленный в устройстве с внешним питанием, то лучше использовать программатор с буфером, резисторами и т.д. Вот тут есть ссылки на хорошее объяснение http://radiokot.ru/forum/viewtopic.php?p=549661#p549661 (на aplomb.nl)
Резисторы это хорошо, но LPT порт довольно нежный, особенно на современных компьютерах. Я бы рекомендовал резисторы на 500 Ом.
Соединить все ножки GND микроконтроллера.
Соединить AVCC и VCC.
Поставить керамику 0.1 мкФ между GND и VCC.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Что-то я упустил эту тему. Видать нажал "отметить как прочитанное" когда вы написали вопрос.
Подключать все выводы питания желательно, т.к. они могут внутри быть НЕ соединены и питать различные части чипа. Либо надо быть уверенным, что выводы питания соединены внутри чипа.
Второй момент, это равномерное распределение нагрузки по выводам питания. Для программирования в программаторе это может быть не критично, но когда вы навешиваете пачку светодиодов непосредственно на МК, это может быть существенно.
Так как МК является импульсным потребителем тока (хоть импульсы и не велики), то надо компенсировать броски тока чтобы не было просадки напряжения. Вот для этого и нужен керамический конденсатор.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Ну что, кто ни будь ещё что ни будь дельного подскажет? Или делать вариант с соединением + и - и кондёром на 0,1 мкФ??? Наверняка тут профессионалов куча, которые программируют Atmega8. Может и не нужны эти все примочки ил наоборот?
Жду ответов типа: "Да ты чёё, конечно нужны. На личном опыте убедился." или "Нееее, пользуюсь 5ти проводками и остальное нафиг не нужно."
Схему можно дополнить гальванической развязкой, потому как LPT-порт весьма нежный и легко сжигается (COM-порт, к примеру, много прочнее) : Спойлер
КП501 легко заменяется на 2N7000BU.