Доработка Программатора Extrapic

  • Посмотреть (скачать) 1594x1227 Для этого, в программатор добавлен узел на транзисторе Q5.
  • Методика тестирования программатора extrapic Внутрисхемное программирование pic-контроллеров.

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

'Фирменные' программаторы. Дальнейшая доработка. (в формате Abacom, Sprint-LayOut 4.0) - extrapic.

Однажды я решил собрать несложный LC-метр на pic16f628a и естественно его надо было чем-то прошить. Раньше у меня был компьютер с физическим com-портом, но сейчас в моём распоряжении только usb и плата pci-lpt-2com. Для начала я собрал простой JDM программатор, но как оказалось ни с платой pci-lpt-com, ни с usb-com переходником он работать не захотел (низкое напряжение сигналов RS-232). Тогда я бросился искать usb программаторы pic, но там, как оказалось всё ограничено использованием дорогих pic18f2550/4550, которых у меня естественно не было, да и жалко такие дорогие МК использовать, если на пиках я очень редко что-то делаю (предпочитаю авр-ы, их прошить проблем не составляет, они намного дешевле, да и программы писать мне кажется, на них проще). Долго копавшись на просторах интернета в одной из множества статей про программатор EXTRA-PIC и его всевозможные варианты один из авторов написал, что extrapic работает с любыми com-портами и даже переходником usb-com. В схеме данного программатора используется преобразователь логических уровней max232. Я подумал, если использовать usb адаптер, то будет очень глупо делать два раза преобразование уровней usb в usart TTL, TTL в RS232, RS232 обратно в TTL, если можно просто взять TTL сигналы порта RS232 из микросхемы usb-usart преобразователя.

Так и сделал. Взял микросхему CH340G (в которой есть все 8 сигналов com-порта) и подключил её вместо max232.

И вот что получилось. В моей схеме есть перемычка jp1, которой нет в экстрапике, её я поставил потому что, не знал, как себя поведёт вывод TX на ТТЛ уровне, поэтому сделал возможность его инвертировать на оставшемся свободном элементе И-НЕ и не прогадал, как оказалось, напрямую на выводе TX логическая единица, и поэтому на выводе VPP при включении присутствует 12 вольт, а при программировании ничего не будет (хотя можно инвертировать TX программно).

После сборки платы пришло время испытаний. И тут настало главное разочарование.

Программатор определился сразу (программой ic-prog) и заработал, но очень медленно! В принципе - ожидаемо. Тогда в настройках com порта я выставил максимальную скорость (128 килобод) начал испытания всех найденных программ для JDM. В итоге, самой быстрой оказалась PicPgm. Мой pic16f628a прошивался полностью (hex, eeprom и config) плюс верификация где-то 4-6 минут (причём чтение идёт медленнее записи). IcProg тоже работает, но медленнее. Ошибок про программировании не возникло. Также я попробовал прошить eeprom 24с08, результат тот же - всё шьёт, но очень медленно.

Выводы: программатор достаточно простой, в нём нет дорогостоящих деталей (CH340 -, к1533ла3 можно вообще найти среди радиохлама), работает на любом компьютере, ноутбуке (и даже можно использовать планшеты на windows 8/10). Минусы: он очень медленный.

Также он требует внешнее питание для сигнала VPP. В итоге, как мне показалось, для нечастой прошивки пиков - это несложный для повторения и недорогой вариант для тех, у кого нет под рукой древнего компьютера с нужными портами. Вот фото готового девайса: Как поётся в песне 'я его слепила из того, что было'. Набор деталей самый разнообразный: и smd, и DIP. Для тех, кто рискнёт повторить схему, в качестве usb-uart конвертера подойдёт почти любой (ft232, pl2303, cp2101 и др), вместо к1533ла3 подойдёт к555, думаю даже к155 серия или зарубежный аналог 74als00, возможно даже будет работать с логическими НЕ элементами типа к1533лн1. Прилагаю свою печатную плату, но разводка там под те элементы, что были в наличии, каждый может перерисовать под себя.

Extrapic

Список радиоэлементов Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот IC1 Микросхема CH340G 1 В блокнот IC2 Микросхема К1533ЛА3 1 В блокнот VR1 Линейный регулятор. Да, вспомнил, я всё-таки один раз сталкивался с 12 пиком, и по неопытности, естественно, сразу затёр ячейку калибровки генератора, пришлось восстанавливать с помощью подручных средств (в виде сетевого трансформатора в качестве генератора 50 герц), а сам пик я прошивал через ком порт на паре резисторах и диодах, на сколько я помню. Ещё на просторах интернета пишут, что эти пики при повторной записи не успевают зайти в режим программирования и начинают выполнять старую программу, поэтому необходимо покрутить настройки программы-программатора. По поводу s9018 должен подойти, но лучше s9014, у меня вообще. Что касается b1238 я не знаю, надо пробовать, если не будет сильно греться (и совпадает структура), то подойдёт, кт502 держит 12 вольт без нагрева. 74als00 это и есть к1533ла3 с полным совпадением выводов. Плата нарисована со стороны дорожек (смотрите по ch340 там точкой обозначен первый вывод) значит распечатывать для лут надо зеркально.

Доработка Программатора Picture

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

Забыл про конденсаторы. 22 пф рекомендует даташит. С 30 пф может и запустится, я бы лучше 18-20 пф поставил или можно запараллелить по два кондёра (сложив ёмкость).

Слепил программатор, сделано компактно конечно, но зато не пришлось покупать текстолит т.к. Был один маленький кусочек которого как раз хватило. Конденсаторы 22пф не нашел поставил по 30. Драйвер установился но программировать буду позже. Вопросы по теме: По поводу перемычки которая идет на vpp, в схеме от другого программатора который рекомендуют для моего чипа 16f648a на vpp идет +12вольт, значит мне надо поставить перемычку для этого чипа? На 10 ногу у вас тоже перемычка есть, для 16f648a эта нога в воздухе.

Транзистор VT1 на схеме правильно нарисован или нет, кажется коллектор с эмиттером надо поменять местами? Светодиоды HL2 HL3 неправильно.

Продолжим тему повествования о программаторе Экстрапик, затронутую. Как известно, путем несложных доработок, программатор Экстрапик можно приспособить для программирования не менее популярных чем Microtech Pic (C) микроконтроллеров Atmel AVR (C). Для этого всего лишь нужно добавить один инвертор сигнала, разделив сигнал данных на входящий и исходящий.

Как это сделать, можно посмотреть по приведенным выше примерам (смотрите ссылку). Эта же доработка была описана Дмитрием Дубровенко в одном из журналов радио прошлых лет, да и в интернете, при помощи google несложно найти множество статей на эту тему. Но если с программами, собственно для работы с ExtraPic, дела обстоят более менее прилично, (тут вам и ICprog, WinPic-800, WinPicprog, Winpic и еще много, о которых даже не знаю), то с АVR немного сложнее. Программа замечательная для своего времени, но прогресс на месте не стоит, компьютеры набирают мощности, а господин Lanconelly похоже забыл о своем детище с 2002 года.

Доработка Программатора Pica

Была попытка скрестить ExtraPic с Uniprof. Кстати удачная, но из-за специфики 'фюзования' как-то особой популярности не приобрела. И вот, однажды, подыскивая управляющую программу для STK-500, по причине той же монстроватости Studio-6, случайно набрел на AVRDuDe. К моему удовольствию, ее уже снабдили несколькими графическими оболочками SinaProg, Burn o Mat (Звучит то как по русски.) AVRdudeprog и AVRdudeshell. Из всех этих оболочек мне более всего приглянулись Burn o Mat и AVRdudeshell. Если поддерживается программатор, поддерживающий ExtraPic, надо бы попробовать. Ожидания подтвердились.

Подключенный к com-порту программатор со вставленной в адаптер AT Mega8A определился и считалось содержимое МК. Попробовал писать, снова удача. Так я открыл для себя возможность удобно программировать МК фирмы Atmel с помощью ExtraPic + Burn-O-Mat. Еще одно замечательное свойство этой программы, это возможность на месте определять положение фюзов для выбора кварца, сравните для примера с Ponyprog. Данная оболочка сделана в лучших традициях оболочек для программаторов, а именно имеется вывод дампа памяти на экран, что иногда очень бывает полезно, когда перешиваешь неизвестной прошивкой неизвестное устройство, где может оказаться прошивка с защитой, а ты уже затер старую. Из достоинств еще есть возможность выбора представления типа установки фюзов (прямое-инверсное). И огромное количество, как поддерживаемых микроконтроллеров (список описаний мк совместим с Astudio), так и программаторов, в том числе знаменитые STK20-300.