Программатор lpt своими руками

Добавил пользователь Дмитрий К.
Обновлено: 29.08.2024

SERVODROID - Центр робототехники для начинающих -->Открытый образовательный проект по робототехнике своими руками -->

В данном чате вы можете общаться без регистрации - просто придумайте "никнейм" и введите капчу - и можно общаться!


Принципиальная схема программатора на LPT порт показана на рисунке. В качестве шинного формирователя используйте микросхему 74AC244 или 74HC244 (К1564АП5), 74LS244 (К555АП5) либо 74ALS244 (К1533АП5).

Светодиод VD1 индицирует режим записи микроконтроллера,

светодиод VD2 - чтения,

светодиод VD3 - наличие питания схемы.


П.С.С. также как и файды с картинками-обзор, если очень большой, то качай на депозит, а потом ссылку выкладывай на архив



Представляем простой и безопасный программатор для параллельного порта. Схема программатора достаточно распространена в различных вариациях и основана на использовании микросхемы-буфера 74HC244N. Буфер сохраняет ваш порт принтера в целости и сохранности. Дополнительно в схему включен резистор, задачей которого является защита от статического электричества.


Программатор совместим с Атмеловскими STK200/300 и поддерживается многими популярными компиляторами. Весь небольшой набор деталей для его сборки достаточно распространен и не вызовет трудностей с приобретением. Печатная плата выполнена в одностороннем варианте с несколькими перемычками.

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


Если правильно собрать программатор, то настраивать его не нужно. Главное подключая соблюдать все правила электроники.


Краткое описание схемы

С помощью микросхемы CY8C2x143, вставленной в панельку J4, и внешних цепей, подключаемых к коннектору J5, можно макетировать простейшие устройства, не изготавливая специально для них печатную плату.

Ниже показана топология печатной платы и ее фотографии. Она имеет размеры 28 х 67 мм и эволюционно изменялась, о чем упоминалось выше.



Небольшое улучшение

Плату, показанную выше, я модернизировал перерезанием проводника между выводом R1 и базой Q1. Здесь на печатной плате имеются две неиспользованные контактные площадки, которые я отделил от общего провода и использовал под установку оранжевого светодиода LED3. SMD-резистор R1-2 впаян между печатными проводниками. Разумеется, при повторении конструкции откорректируйте соответствующим образом топологию печатной платы.


Работа с программатором

Программатор предусматривает два варианта использования – в качестве самостоятельного отлаживаемого устройства (с установленной в панельку микросхемой PSoC и цепями, подключенными к коннектору J5), либо для программирования внешних устройств через разъем ISSP (J2). Программа не различает эти варианты, поэтому для исключения конфликтов отключайте внешнее устройство при вставленной в панельку микросхеме и наоборот – извлекайте микросхему при использовании ISSP.

Схема подключения программатора к отлаживаемому устройству посредством ISSP показана справа. В идеале, на печатной плате отлаживаемого устройства следует предусмотреть 5-контактный разъем или контактные площадки. В крайнем случае, на период отладки можно просто подпаяться к соответствующим проводникам. К выводам P1[0] и P1[1] микросхемы могут подключаться кварцевый резонатор или цепи отлаживаемого устройства. Первый программированию не мешает, а вот о блокировке последних надо позаботиться схемотехнически (они не должны нагружать линии в процессе программирования). Более подробно о реализации ISSP говорится в документе AN2014 – Design for In-System Serial Programming.

После старта этой программы появится окно, показанное на рисунке справа. Первым делом программа пытается идентифицировать микросхему PSoC.

Обратите внимание на линии SCLK и SDATA. В состоянии ожидания эти линии должны находиться в высокоимпедансном состоянии, что должно обеспечиваться подачей напряжения обратной полярности на цепочки диодов D1D2 и D3D4 (на выходах U1.2 и U1.5 должны быть лог.0, на выходах U1.3 и U1.6 – лог.1). Это критично в тех случаях, когда к ножкам P1[0] и P1[1] подключен кварцевый резонатор, либо эти выводы задействованы в схеме. Описываемая программа (версия 1.7), в принципе, поддерживает эти состояния, хотя в более ранних версиях с этим были проблемы. Имейте в виду, что до старта и сразу же после старта программы состояние этих линий может быть неопределенным.

Для программирования микросхем перед установкой их в устройство уже упомянутый Ajithalayam предложил еще более простой вариант.
Источник питания здесь вообще не нужен, т.к. напряжение берется с одной из линий порта компьютера.
Этот вариант можно приспособить и для программировании микросхем в устройстве, но для этого последнее должно
иметь собственный источник питания, а линии P1[0] и P1[1] микросхемы PSoC – быть незадействованы.

Схемы двух версий этого программатора показаны ниже. В конструкции можно вообще обойтись без печатной платы – элементы D1 и R1 смонтировать на выводах разъема J1, а конденсатор C1 – на выводах панельки J2 (J3).

Запись образа объемом 32 кБ у микросхемы CY8C29466 занимает около 14 секунд, чтение – около 9.

Что делать, если у компьютера нет принтерного порта?

2. Если материнская плата позволяет – установить в свободный слот расширения дополнительную плату. Но таковую еще придется поискать.

3. Работать с переходниками USB->LPT не получится, т.к. программа напрямую общается с портом. Есть дешевые платы на основе микросхемы CH341A, которые можно заставить работать с PSoC. О том, как это сделать, рассказано здесь.

Если вы решили собрать что-либо на микроконтроллере сразу встает проблема как и чем его запрограммировать. Для ее решения предлагаю воспользоваться подборкой схем и конструкций простых самодельных AVR программаторов для программирования микроконтроллеров.

Прошивка микроконтроллера - это запись в его постоянную память заданной программы, которая представляет собой код в шеснадцатеричной системе счисления (файл с расширением hex). Прошивка происходит с помощью специального устройства - программатора. Они отличаются по способу подключения к персональному компьютеру, например через USB, LTP,COM интерфейсы.

Микроконтроллеров AVR для программирования имеют пять контактов: MOSI — предназначен для приема данных; MOSO — для вывода данных; SCK — вывод синхроимпульсов; RESET просто сброс и общий провод.


Подсоединим эти пять контактов через токоограничивающие резисторы к параллельному LPT порту компьютера и получим самый простой LPT программатор микроконтроллеров семейства AVR.

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

Для защиты LPT и более высокой помехоустойчивости необходимо создать буфер, с этим нам поможет отлично справится микросхема 74HC244.

светодиод HL2 используется для индикации питания, а HL1 говорит о идущем процессе программирования.

Схема USB программатора для микроконтроллеров AVR, выполнена на микроконтроллере Atmega8. Схема очень надежная и имеет одну очень важную особенность, позволяющую восстанавливать микроконтроллеры с ошибочно установленными фьюзами.

Для прошивки микроконтроллера Atmega8 программатора необходимо использовать любую из рассмотренных схем выше для LPT.

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

В идеале у нас должен получится такой USB программатор

Остается лишь записать программу в память микроконтроллера, для этого лучше всего использовать утилиты Uniprof и Code Vision AVR.

Программа предназначенная для интегрированной среды разработки программного обеспечения под AVR микроконтроллеры. Основными особенностями CodeVisionAVR является то, что он легкий и очень понятный для самостоятельного изучения, а также поддерживает все существующие микроконтроллеры AVR.

Если вы решили использовать программу Uniprof необходимо задать следующие фьюзы.

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

Программатор способен работать со следующими оболочками AVR Prog, AVR Studio, ChipBlasterAVR и, одна из самых удобных, Code Vision AVR.


------------------------------

Основное ее достоинство – с ней легко начать работать, даже если до этого Вы никогда не прошивали контроллеры.






9. Снимаем питание с микроконтроллера, отключаем программатор от платы – микроконтроллер прошит, устройство готово!

Avrdude – очень хорошая альтернативная пограмма
PonyProg - (есть файл автоматизации – если не хочется думать, какие куда ставить фьюзы и быстро прошить.)


Сигналы для программирования выведены на стандартный 10-и контактный ICSP разъем и должны быть соединены с программируемой схемой проводами длиной около 30 см. Все провода GND должны быть соединены с массой программатора и программируемой схемой, чтобы обеспечить экранирование сигналов программирования.

Микроконтроллеры PIC программируемые высоким напряжением, как правило, требуют напряжения около 13,2В, которое подается на вывод MCLR (VPP). Поэтому программатор содержит повышающий преобразователь MC34-063. Не желательно использовать HTC34063 компании Hitachi, из-за их более слабых параметров и нестабильности.

Значение выходного напряжения преобразователя зависит от соотношения сопротивления резисторов R13 и R14 и потенциометра P1, которым устанавливается точное значение напряжения программирования (в диапазоне 12,5…13,В). Максимальное напряжение программирования отличается для разных моделей PIC микроконтроллеров и составляет от 9 до 14В.

Всегда следует сверять это значение по datasheet данной модели. Превышение максимального напряжения программирования может повредить микроконтроллер, в то время как слишком низкое напряжение не позволит запрограммировать его.

Элементом, который влияет на коэффициент полезного действия преобразователя, является катушка L1 с индуктивностью около 100 мкГн. Ее можно сделать, намотав 45 витков провода 0,5 мм на тороидальный сердечник (со старой материнской платы), с внешним диаметром 13 мм, внутренним диаметром 8 мм и шириной 5 мм.

Другим важным элементом является диод D1, который должен иметь малое время переключения и небольшую собственную емкость. Подходят диоды Шоттки, например, 1N5817, 1N5818, 1N5819, BYV26 (А-Г), или BYV27 (50-200).

Можно, конечно, использовать и обычный выпрямительный диод 1N4001, но при такой же нагрузке тока, потери в преобразователе будут гораздо больше, чем при использовании диода Шоттки. В реальном программаторе при нагрузке с напряжением 13,2В и током 52 мА (включая индикатор LED2 с потреблением 5,6 мА), наблюдалось падение на 0,2В, а потребление тока от линии питания 5В составляло примерно 220 мА.

Читайте также: