Делаем LPT программатор для AVR микроконтроллеров.

Автор: | 27.02.2010

Титул LPT программатораОдним из самых простых программаторов AVR является программатор для LPT порта. Это обусловлено тем, что уровни сигналов LPT порта совместимы с уровнями сигналов необходимыми для программирования АВР. Поэтому сигналы с LPT порта можно напрямую подать на микроконтроллер (резисторы нужны лиш для защиты порта от случайных замыканий). Такой программатор можно собрать из подручных материалов буквально за 5 минут!


Как Вы видите схема LPT программатора для AVR предельно проста:

Схема LPT программатора для AVR

Для изготовления LPT программатора нам понадобится:

детали для LPT программатора

Резисторы можно использовать любые, какие найдете в пределах от 100 до 150 Ом. Можно программатор собрать вообще без резисторов, но тогда спалить порт станет еще легче. В качестве шлейфа можно заюзать IDE шлейф. При подключении шлейфа, для более устойчивой работы программатора, каждый «сигнальный» провод должен чередоваться с «земляным» проводом. Это позволит уменьшить уровень помех наводимых в линиях и за счет этого увеличить длину программирующего провода. Длина шлейфа должна быть в пределах 50 см. Еще нужен разъем для подключения к программируемому устройству.
Для внутрисхемного программирования Atmel рекомендует стандартные разъемы:


Если Вы планируете серьезно заняться микроконтроллерами, сделайте разъемы стандартными. Для разового программирования устройства я рекомендую использовать разъемы BLS «мамы» на программаторе (такими разъемами к материнской плате подключаются кнопки и светодиоды корпуса компьютера) и штырьки PLS «папы» на плате. Это позволяет максимально упростить разводку платы устройства, так как штырьки для программатора устанавливаются в непосредственной близости возле ножек микроконтроллера. Ножки MOSI, MISO, SCK у микроконтроллеров AVR всегда расположены вместе, поэтому для них можно применить строенный разъем. Отдельно делаем подключение для «земли»-GND и «сброса»-Reset.


Сборка LPT программатора за 5 шагов:

Как сделать LPT программатор для AVR

Перемычки между ножками разъема 2-12 и 3-11 нужны для того, чтобы наш программатор был виден для программ как программатор STK200/300 (STK200/300 своего рода стандарт и поэтому наш программатор станет виден для многих программами).

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

Общие рекомендации:
— LPT порт довольно нежен — его очень легко «пальнуть», поэтому при работе с портом будьте аккуратны.
— Отдельное подключение для «земли» я бы рекомендовал делать во всех программаторах. Это нужно для того, чтобы «землю» можно было подключить первой и уравнять потенциалы «земли» программируемого устройства и компьютера. (Для тех кто не знает — если у Вас компьютер включен в обычную розетку без заземляющего контакта, то в виду особенности фильтра блока питания компьютера, на корпусе компьютера всегда присутствует потенциал в 110В. При «удачном» подключении программатора этого вполне достаточно для того чтобы сжечь микроконтроллер или LPT порт компьютера.

Заключение:
-Если Вы надумали собрать свой первый программатор и у Вашего компьютера есть LPT порт, то программатор «5 проводков» лучший вариант! Он предельно прост и его повторить не составит труда. Кроме того, программатор совместим с классическими программаторами STK200/300, а значит, он будет поддерживаться многими программами для программирования AVR.
-Если Вы планируете программировать довольно часто, с целью обезопасить LPT порт, рекомендую собрать LPT программатор с буферными элементами (неплохой вариант LPT программатора можно посмотреть на изиэлектроникс) или собрать такой же простой COM программатор (COM порт гораздо выносливей и сжечь его трудней).

(Visited 38 455 times, 18 visits today)

Делаем LPT программатор для AVR микроконтроллеров.: 119 комментариев

  1. suxov

    GetChiper :
    Вопрос наверное не сможет ли этот шнурок прошивать смарт-карты, а поддерживает ли программа для прошивки смарт-карт этот шнурок.
    Проверьте Вашу программу на предмет поддержки STK200/STK300

    IC-Prog поддерживает STK200+/300 отсюда вывод что этим шнурком можно програмировать фанку.Но есть пара вопросиков,нужно ли подавать дополнительное питание на смарт карту или хватит лпт порта,если нужно то на какой сигнал.Далее как выглядит распиновка с сигналами смарт карта FUN 2.Помогите пожалуйста сам не разберусь.Заранее благодарен.

  2. GetChiper Автор записи

    С ЛПТ питание не подается, его придется подать с другого источника. По смарткартам ничего не подскажу — никогда не шил, но я думаю тема довольно частая в сети — поисковик должен помочь 😉
    Вот первая ссылка на топик описывающий процес http://viaccessfree.biz/forum/showthread.php?t=14208

  3. suxov

    GetChiper :
    С ЛПТ питание не подается, его придется подать с другого источника. По смарткартам ничего не подскажу – никогда не шил, но я думаю тема довольно частая в сети – поисковик должен помочь
    Вот первая ссылка на топик описывающий процес http://viaccessfree.biz/forum/showthread.php?t=14208

    Вот распиновка FUNCARD 2 c подписаными сигналами

    [URL=http://radikal.ru/fp/16ffb7b9dde447f590de43d8a09a29fc][IMG]http://s017.radikal.ru/i426/1311/dc/b9788ef27c89t.jpg[/IMG][/URL]

    Если я правильно понял

    VCC- +5В,VSS-ОБЩИЙ GND,а что за сигнал XTAL у Вас на схеме его нет.

  4. GetChiper Автор записи

    XTAL — это вход(выход) частоты для задающего генератора. Обычно используется в случае если нужно прошивать МК прошитый на внешний кварц, но без такового.

  5. suxov

    Вобщем собрал программатор установил ICprog,при попытке считывания программа выдает найдена плохая сигнатура FF-FF-FF что это может значить,подскажите.

  6. GetChiper Автор записи

    Или проблемы с чтением МК (что-то с программатором или линиями) или проблема с самим МК (прошит неправильно или не рабочий)

  7. Eric

    Здравствуйте, можно ли подавать питание от БК через стабилитрон 3,3 вольта? Читал несколько статей про программаторы, где-то пишут, что нужно 3,3 вольта, а у Вас 4,5 вольта. Не могу определиться: давать питание через стабилитрон 3,3 вольта или 5 вольт через конденсатор.

  8. GetChiper Автор записи

    При программировании МК должен быть запитан номинальным напряжением. Это напряжение можно посмотреть в даташите. Обычно МК нормально программируются при напряжении питании от 2.7 до 5 вольт (но лучше всетаки 5 вольт)

  9. cSlowc

    Добрый день! Сделал этот програматор все как написано в статье. Но когда пытаюсь запрограмировать ATtiny2313 программа не видит микросхему. Пишет «МК неоткликнулся». Подскажите в чом может быть проблема?

  10. GetChiper Автор записи

    Питание на МК подано отдельно?
    Шнурок не слишком длинный?
    Не попутаны MISO и MOSI при подключению к МК?
    LPT порт откликается на действие в программе? (это можно проверить прямо из юнипрога — там есть специальный инструмент)
    МК до этого шился? Фьюзы не переставлены на внешний кварц (при его отсутствии)?

  11. cSlowc

    @GetChiper
    Спасиба за ответ буду искать! если что отпишу!

  12. cSlowc

    @cSlowc
    А как проверить фьюзы? Ато я не в курсе прошиались ли они до этого!

  13. GetChiper Автор записи

    Какое программой шил? Этой-же программой можно их и прочитать.

  14. cSlowc

    @GetChiper
    А каким образом проверить LPT через Юнипроф? ато чтото непойму!

  15. dfyz

    Добрый день!
    У меня такая проблема. Собрал программатор, как в статье, без резисторов правда.
    Несколько дней всё работало прекрасно. Сегодня включил комп (а питание беру с USB), а микроконтроллер не запустился (ну скажем не замигал светодиод).
    Стал разбираться, оказалось постоянно идет сигнал Reset. Как только отключаешь эту ножку, начинает работать и мигать. При этом прошивка и чтение проходят без проблем (даже при подключенной ножке).

    Уже менял адрес порта в биосе, выключал полностью питание, не помогло…

    P.S. Пока писал этот текст, сделал ещё раз чтение Flash и бах всё заработало нормально. Но на будущее может подскажете, что это было?))

  16. Александр-Мызников

    Хотелось бы спросить,
    -чтобы прошить attyny 2313 нужно ли добавлять питание мк с USB порта (5V)
    или же лпт порт имеет это?общие провода (gnd) USB+LPT соединять ли вместе ?
    -кварцевая развязка нужна ли?и куда общий провод припаивать его?
    -и чем отличается attyny2313 от attyny2313a? я в буржуйских даташитах не силен.

  17. admin Автор записи

    Отдельное питание питание (или от USB, или от батареек) необходимо — LPT не имеет вывода питания. Все общие провода должны быть соединены. Для программирования развязка не обязательна. Буковка А указывает на модификацию контроллера — кроме каких то специфических случаев это не имеет значения.

Добавить комментарий