Программатор pic-контроллеров Extra-pic

Extra-PIC программатор PIC микроконтроллеров — рабочий вариант!

Программатор PIC микроконтроллеров или вся правда об Extra-PIC

В статье рассматривается программатор Extra-PIC, данные о котором получены из открытых источников (DOC Rev.1.03.00). Программатор рабочий, если все собрать как указано ниже то все работает при первом включении. Лично я взял эту схему с сайта Тимофея Носова

Список поддерживаемых микросхем, при использовании с программой IC-PROG v1.05D:
PIC-контроллеры фирмы Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC16F877A, PIC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*

Примечание: микроконтроллеры, помеченные звездочкой (*) подключаются к программатору только через разъем ICSP.

Последовательная память EEPROM I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.

Схема программатора.
На стороне программатора используется разъем DB9 типа «гнездо» («мама», «дырки»).
Очень часто ошибаются и ставят «вилку» («папу», «штырьки»), т.е. такое же как и на стороне ПК!

EXTRA-PIC программатор PIC микроконтроллеров.

Расположение выводов ICSP у PIC-контроллеров.

Внимание! Материал только для общей справки. Обязательно убедитесь, что указанное расположение выводов соответствует выбранному вами микроконтроллеру. Для этого, обратитесь к Data Sheets и Programming Specifications на соответствующий микроконтроллер (обычно всё совпадает).

Пояснение: Вывод PGM рекомендуется «притягивать» к общему проводу (GND), через резистор, номиналом 1К.
Для справки: микроконтроллеры с 14-контактным корпусом вставляется частью ножек в соответствующую 8-контактную панель.

Рисунок печатной платы (облегченный вариант).

Рисунок печатной платы (облегченный вариант).

Рисунок печатной платы (полная версия).

Далее мы приводим монтажную схему (хотя по рисунку печатной платы и так всё понятно)

Фото готовой платы:

Самодельный программатор PIC микроконтроллеров рабочий вариант

Пошаговая инструкция или «Как прошить PIC-контроллер»

1. Соберите программатор Extra-PIC, отмойте растворителем или спиртом с зубной щеткой, просушите феном.
Осмотрите на просвет на предмет волосковых замыканий и непропаев.
Подготовьте блок питания на напряжение не менее 15В и не более 18 вольт.
РАСПАЯЙТЕ УДЛЕНИТЕЛЬНЫЙ ШНУР
мама-папа для COM-порта (не путать с нуль-модемными и кабелями для модемов; прозвоните шнур — первая вилка, должен идти к первому гнезду и т.д.; нумерация вилок и гнезд нарисована на самом разъеме 1-1, 2-2, 3-3 и т. д до 9-9.). Обязательно сделайте все самостоятельно. У меня была проблема именно с кабелем, а я грешил на программатор =)
2. Скачайте программу IC-PROG с нашего сайта или с сайта разработчиков.
3. Распакуйте программу в отдельный каталог. В образовавшемся каталоге должны находиться три файла:
icprog.exe – файл оболочки программатора;
icprog.sys – драйвер, необходимый для работы под Windows NT, 2000, XP. Этот файл всегда должен находиться в каталоге программы;
icprog.chm – файл помощи (Help file).
4. Настройте программу.

Для Windows95, 98, ME

Для Windows NT, 2000, XP

( Только для Windows XP ):

Правой кнопкой щёлкните на файле icprog.exe.

«Свойства» >> вкладка «Совместимость» >>

Установите «галочку» на

«Запустить программу в режиме совместимости с:» >>

выберите «Windows 2000«.

Запустите файл icprog.exe.

Выберите «Settings» >> «Options» >> вкладку «Language» >> установите язык «Russian» и нажмите «Ok«.

Согласитесь с утверждением «You need to restart IC-Prog now» (нажмите «Ok«).

Оболочка программатора перезапустится.

«Настройки» >> «Программатор«.

Далее, «Настройки» >> «Опции» >> выберите вкладку «Общие» >> установите «галочку» на пункте

«Вкл. NT/2000/XP драйвер» >> Нажмите «Ok» >>

если драйвер до этого не был установлен в системе, в появившемся окне «Confirm» нажмите «Ok«. Драйвер установится, и оболочка программатора перезапустится.

Примечание:

Для очень «быстрых» компьютеров возможно потребуется увеличить параметр «Задержка Ввода/Вывода«. Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы.

«Настройки» >> «Опции» >> выберите вкладку «I2C» >> установите «галочки» на пунктах:

«Включить MCLR как VCC» и «Включить запись блоками«. Нажмите «Ok«.

Программа готова к работе.

5. Установите микросхему в панель программатора, соблюдая положение ключа.
6. Подключите шнур удлинителя, включите питание.
7. Запустите программу IC-Prog.
8. В выпадающем списке выберите контроллер PIC16F876A.

9. Если у вас нет файла с прошивкой – подготовьте его:
– откройте стандартную программу «Блокнот»;
– вставьте в документ текст прошивки (со странички УМ-АЦП1);
– сохраните под любым именем, например, prohivka.txt (расширение *.txt или *.hex).
10. Далее в IC-PROG Файл >> Открыть файл (! не путать с Открыть файл данных) >> найти наш файл с прошивкой (если у нас файл с расширением *.txt , то в типе файлов выберите Any File *.*). Окошко «Программного кода» должно заполнится информацией.
11 Нажимаем кнопку «Программировать микросхему» – (загорается красный светодиод).
12. Ожидаем завершения программирования (около 30 сек.).
13. Для контроля нажимаем «Сравнить микросхему с буфером» – .

Вот и всё. Я тоже думал, что это что-то невероятное. Попробуйте – и у вас получится.

Видео работы программатора:

Программатор Extra-PIC (Доработанный)

Один из главных вопросов, встающих перед радиолюбителем, начинающим осваивать микроконтроллеры, это – выбор программатора. Когда автор занялся освоением микроконтроллеров PICmicro фирмы «Microchip Technology Incorporated», и у него возникла данная проблема, были рассмотрены несколько вариантов. Хотелось найти оптимальный, по показателю универсальность — простота схемы — надёжность.

«Фирменные» программаторы и их аналоги были «вычеркнуты» в связи с довольно сложной схемой, включающей в себя те же микроконтроллеры, которые необходимо программировать. То есть получается «замкнутый круг»: что бы изготовить программатор, необходим программатор. К тому же, «прошивки» к таким устройствам, как правило, не лежат в открытом доступе. Получивший широкое распространение программатор «Pony-prog», представляет очень простую схему, с питанием от ком-порта компьютера, в связи с чем, на форумах, в Интернете, очень часто появляются вопросы по сбоям при программировании того, или иного микроконтроллера. От так называемых «параллельных» программаторов было решено отказаться в связи с недостатком информации. В результате, выбор был остановлен на модели «Extra-PIC», распространяемой сайтом «5 Вольт».

Напомню, что данный программатор питается от внешнего источника, содержит буферный узел для согласования с ком-портом на микросхеме MAX232, и предназначен, не только для программирования микроконтроллеров PICmicro, но и некоторых микросхем «последовательной памяти». Работает он под управлением программы «IC-Prog» (а также «PonyProg» и «WinPic800»), которая распространяется совершенно бесплатно, что имело немаловажное значение, при выборе модели программатора (о настройке программы рассказано на том же «5 Вольт»).

Однако, при более детальном изучении схемы, был выявлен и недостаток. Хочу привести цитату из статьи Н. Хлюпина «Два универсальных программатора», опубликованную в журнале «Радио» 2006-6-28:
«… известны два способа перевода микроконтроллеров PICmicro в режим программирования:
— при включённом напряжении питания Vcc поднять напряжение Vpp (на выводе -MCLR) от нуля до 12В
— при выключенном напряжении Vcc поднять напряжение Vpp от нуля до 12В, затем включить напряжение Vcc…
… Первый — в основном для приборов ранних разработок…
… во-вторых, он накладывает ограничения на конфигурацию вывода -MCLR, который в этом случае может служить только входом сигнала начальной установки…
… так как во многих микроконтроллерах предусмотрена возможность превратить этот вывод в обычную линию одного из портов…»

Читайте также  Кукла-полотенце своими руками

Оригинал в/у программатора работает только в первом режиме. Что бы иметь возможность работы во втором режиме, в устройство добавлен узел на транзисторах Q3, Q4 (нумерация элементов продолжает нумерацию оригинала).

Он аналогичен узлу на транзисторах Q1, Q2, и включается в разрыв линии связи вывода IN стабилизатора U2 и источника питания (вывод «+» C1, вход IN стабилизатора U1, эмиттер Q1, резистор R2). Благодаря наличию конденсатора C10, открытие транзистора Q3, а, следовательно, и Q4 происходит с задержкой, относительно Q1-Q2. Соответственно и напряжение Vcc будет подано позже Vpp. Диод D6 служит для быстрой разрядки конденсатора C10, при низком уровне сигнала на 3-м контакте разъёма X1. Номинал C9 уменьшен до 47 пФ, для уменьшения влияния на процесс включения-выключения Vcc. Светодиод D7 индицирует подачу напряжения Vcc.

Кроме того, в доработанный вариант программатора добавлен блок питания, включающий в себя: трансформатор T1 (ТПГ-2, с напряжением вторичной обмотки 15 вольт), предохранитель FU1, четыре диода выпрямительного моста D8-D11 (типа КД241) и выключатель SA1, во вторичной цепи трансформатора. В связи с чем, за ненадобностью, из схемы удалены элементы: X2, J1, D1, C7, C8, J2 (постоянно в положении 2-3). Номинал C1 увеличен до 470 мкФ, так как он теперь является сглаживающим фильтром блока питания.

Чтобы иметь возможность работы во втором режиме, в программатор добавлен электронный коммутатор напряжения Vcc на транзисторах VT3 и VT4, по схеме аналогичный уже имевшемуся коммутатору напряжения VPP (на транзисторах VT1 и VT2). Благодаря цепи R5C7 открывание транзисторов VT3 и VT4 происходит с задержкой относительно включения напряжения VPP. Если перемычка S1 установлена в показанное на схеме положение 1-2, с такой же задержкой включится напряжение Vcc, что и необходимо для работы во втором режиме. Если перенести перемычку в положение 2-3, напряжение Vcc будет включено постоянно, а программатор — работать в первом режиме.

Диод VD7 служит для быстрой разрядки конденсатора С7 при выключении напряжения Vcc. Номинал конденсатора С8 значительно уменьшен по сравнению с исходным, чтобы обеспечить высокую скорость нарастания и спада напряжения Vcc. Светодиод HL3 — индикатор наличия этого напряжения.

Чтобы превратить программатор в законченное изделие, в него добавлен встроенный сетевой блок питания (плавкая вставка FU1, трансформатор Т1, выключатель SA1, диодный мост VD1—VD4). Емкость конденсатора С1, ставшего сглаживающим, увеличена до 470 мкФ. Несколько не нужных более элементов удалены.

Печатная плата программатора показана на рис. 2. Некоторые панели для программируемых микросхем на ней совмещены, поэтому при установке микросхем следует быть особенно внимательным. Позиционные обозначения и номера контактов каждой из совмещенных панелей имеют на рисунке одинаковый цвет. Панели XS2—XS5 предназначены для МК PICmicro с соответствующим числом выводов. Панель XS6 — для восьмивыводных МК серии PIC12, a XS7 — для МК серии PIC10. В панель XS8 устанавливают для программирования микросхемы РПЗУ.

Разъём ICSP (X3) – IDC-10M, аналогичный применяемым на компьютерных «материнских» платах. Назначение выводов:

№ вывода
Описание
1 Vdd
3 Clock
5 Data
7 PGM
9 Vpp
2,4,6,8,10 Vss

На основании обобщённых данных, было сделано несколько вариантов подключения программируемых микросхем, в зависимости от исполнения корпуса (адрес для микросхем EEPROM – 0). Однако не исключены и другие варианты «распиновок», для данных корпусов. Поэтому, перед программированием обязательно уточните назначение выводов конкретно используемой микросхемы!

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

Программатор на основе Extra PIC.

Привет ВСЕМ. Решил поделиться с Вами проверенным на практике, надёжным программатором, при помощи которого прошиваю МК и AVR для своих конструкций. Сегодня большинство поделок собираются на основе микроконтроллеров (МК). А чтоб схема заработала, его надо прошить. Тут уже без программатора никак не обойтись.
Программаторов в сети можно найти много. Но будет ли он четко работать и без сбоев??
Поэтому предлагаю Вам надёжный программатор, который проверен на 100%. Им можно прошивать как PIC контроллеры, так и AVR. Все свои поделки, которые делаю, прошиваю только им. И ни разу он не подводил в работе.
Подключается он к компьютеру к СОМ-порту и используются для программирования бесплатные программы ICprog, Poniprog, WinPic800, которые вполне обеспечивают потребности в программировании различных МК и AVR для всех основных конструкций. Тип программатора, который необходимо установить при запуске этих программ, в основном JDM-программатор.

Рисунок 1.
Внешний вид программатора.

Схема для данного программатора была взята из журнала Радио №8 за 2007 год.

Рисунок 2.
Схема электрическая принципиальная.

Панельки для программируемых микросхем подключаются к данному программатору согласно таблице.

Рисунок 3.
Таблица подключений контроллеров.

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

Рисунок 4.
Схема для программирования AVR.

Для программирования AVR, так же добавилась и отдельная плата. В ней предусмотрены места для кварцевых резонаторов, на случай, если не правильно были выставлены фьюзы при программировании (для работы с внешним кварцем). Желательно бы конечно ещё предусмотреть на этой плате — тактирующий генератор на обычной логике, на частоту 1-4 мГц (на одной микрухе ЛА3 например). Это на случай, когда фьюзы установятся для работы МК от внешнего RC генератора. Кварц здесь тогда уже не поможет, и чтобы программатор "увидел" МК, нужно на его тактирующий вход (XTAL1) подать внешние импульсы частотой 1-4 мГц. В будущем возможно соберу на этой плате такой генератор, пока просто не было необходимости в нём.

highslide.js

Рисунок 5.
Печатная плата для микросхем AVR.

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

highslide.js

Рисунок 6.
Печатная плата программатора.

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

highslide.js

Рисунок 7.
Верхняя часть платы программатора.

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

highslide.js

Рисунок 8.
Собранный программатор.

Конечно, лучше всего для программирования МК иметь отдельный комп, чтобы не трогать и не выдвигать стационарный домашний. Самый лучший вариант — это приобрести старый "ноут" с СОМ-портом (вполе можно за очень даже не дорого). Различные переходники типов USB-COM здесь не катят.
Поставить туда ХР-ку и различные свои проги, настроить один раз и пользоваться для программирования только им.

В архиве размещены файлы печатных плат:

/> Архив для статьи "Программатор на основе Extra PIC."

«Супер экстра» или революция программатора «Екстра Пик»

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

На написание статьи меня вдохновила статья «Эволюция экстрапика», написанная Мастер665. При изготовлении данного девайса были использованы материалы Д.Дубровенко и Ю.Сиривля, большая им благодарность, за отличное изложение материала. Так-же использовался форум на www.radioskot.ru и другие ресурсы всемирной паутины. Ну и, конечно-же, серое вещество в черепной коробке.

Читайте также  Быстрый способ установки столбов

революция программатора "Екстра Пик"

Первое, с чем сталкиваются как начинающие программисты, так и радиолюбители, решившие повторить чужие конструкции на микроконтроллерах, это выбор самого адаптера для программирования, в народе называемого «программатором». На просторах интернета выложено множество всевозможных вариантов конструкций от простейших 5 проводков до солидных HVPP программаторов. Но первенство в количестве вариаций, пожалуй принадлежит славноизвестному JDM подобному «ExtraPic».

Не открою секрета, что и я в свое время столкнулся с выбором программатора. Перелопатив множество ресурсов и прикинув свои возможности и потребности, выбор остановил именно на ExtraPic. Почему? Да потому, что мне нужен был простой, но схемотехнически надежный программатор на 1 раз, чтобы запрограммировать микроконтроллер AtMega8535 для собираемого мною аналога STK-500, а данная схема внушает доверие из-за наличия согласующих звеньев между МК, компютером и путем несложных доработок позволяет легко адаптировать девайс для программирования разных устройств. Мало того, это устройство поддерживается множеством бесплатного программного обеспечения как JDM программатор, что делает его особенно привлекательным.

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

Импульсный источник питания программатора
Импульсный источник питания программатора

Источник питания у меня был от внешнего устройства Zip100, выдающий +5 и +12,5 вольт при нагрузке в 1,5А, так что не стал сильно заморачиваться с питанием, тем более всегда можно в крайнем случае запитаться от штатного БП компьютера, и поэтому выбросил из схемы стабилизаторы напряжения, сразу удешевив устройство на порядок. При необходимости вместо него можно собрать такую схему:

Источник питания программера - схема стабилизатора

Печатную плату, естественно, нужно было переделывать или разрабатывать по новой. Когда печатка была готова, вдруг принесли радиостанцию, для программирования частот. Этот момент навел на мысль: а почему бы не соорудить такой универсальный девайс, который бы мог бы постоянно находиться рядом с компьютером и выручать в нужный момент, наподобие этого. Так в программаторе появился узел, позволяющий запрограммировать частоты радиостанций, перепрошить мобилку по MBUS или FBUS, связывать устройства с компьютером через com порт, или организовать ИК порт. Здесь мне помогла схема «универсального программатора радиостанций», которая размещена на сайте радиолюбителей cqham.ru.

Унипрограмматор радиостанций - схема
Унипрограмматор радиостанций

И вот программатор собран. Все разместилось на одной платке размерами 70х75 мм. Проверил все цепи, прохождение сигналов и реакция на изменение сигналов на разъеме, подключаемому к COM порту. Все нормально. Можно подключать адаптеры и пробовать программировать.

Программатор с адаптерами
Программатор с адаптерами

  1. ISP адаптер AVR-DIP
  2. Переходник «Программатор Громова»
  3. Адаптер Pic16, 24cxx, 93cxx (Turbov6-P)
  4. ISP кабель
  5. ISP адаптер AVR-SO-TQFP
  6. Собственно супер екстра Pic-AVR-Mem Proger

Следующим этапом было испытание, с какими все-же программами может реально работать данный прогер. Их количество оказалось приятно внушительным. Вот, пожалуй, не полный список: Pony Prog2000, ICprog, PIC Development Programmer Software for Windows and Linux, WinPic800, WinPic by Wolfgang Buescher (DL4YHF), PicProg4u и многие другие, пока не известные мне :)

Затем мне зачем-то захотелось подружить этот программер с Uniprof. А что — делать так делать. Был расписан алгоритм управления, перепаян шлейф на соответствие Атмеловского разъема ISP и программатора Громова. Первое включение приятно порадовало, микросхемы в адаптере Унипрофом определялись и прошивались. Проинсталлировал Algoritm Builder, попробовал прошивать из него – все просто отлично! Но сюрприз меня ожидал когда я скачал последнюю версию Унипрофа. Он наотрез отказывался признавать мой программатор. Обращение к автору решения вопроса не сняло. После недели мучений, был собран «программатор Громова» как есть, и испытан. Проблема оказалась в соединении 6 и 7 пина разъема rs232. При соединении пинов «программер Громова» тоже переставал работать. И хотя, размыкание этих пинов ни на чем не сказалось при программировании, решено все-же было поставить джампер.

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

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

Желаю всем удачи в повторении, и усовершенствовании, которому, как известно, нет предела! И еще одна фишка (моя), если вы неправильно запрграммировали фюзы кварца, его можно легко перепрограммировать снова, для этого с 3-й ножки RS232 снимается сигнал и подается на 3 (свободную) ножку разъема АVR, полностью совместимого по распайке с Atmel AVR ISP 10 pin. В ISP адаптере этот сигнал подключен через джампер к Xtall1 программируемоо контроллера. В таком виде программу не зальешь, но фюзы установки режима осциллятора восстанавливаются нормально, (не SPIEN DISBL и RSTDISBL).

Чем я шил и шью ПИК-и

При проектировании и создании устройств на ПИК-контроллерах одной из задач является запись управляющей программы в память процессора. В данном случае подразумеваются ПИК-контроллеры с т.н. флэш-памятью программ, в маркировке которых присутствует буква «F» (например, PIC16 F 877A). Заложенный в этих микросхемах механизм предполагает упрощенный режим прошивки микрокода. Для этого нужны две вещи — адаптер (программатор), подключаемый к компьютеру, и управляющая программа (софт), выполняющая непосредственно саму процедуру прошивки. Конечно, более профессиональным решением было бы приобретение программатора промышленного изготовления, поддерживаемого непосредственно из среды программирования и обладающего такой полезной функцией, как режим отладки (debugger). Но, в любительских целях ТАКИЕ затраты вряд ли можно считать оправданными. Хотя, последнее — это чисто мое мнение, не претендующее на истину в последней инстанции.

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

Программатор TLVP

Первым процессором, с которым мне довелось иметь дело, был PIC16F877A. Как показала практика, начинать поиск нужно не со схемы програматора, а с управляющей программы. И уже потом смотреть, какие типы програматоров она поддерживает. Поиск самых простейших вариантов програмирования прошивки в этот процессор дал комбинацию программы FPP (Flash Pic Programing) [2] и програматора TLVP (Trivial Low Voltage Programator) [1]. Схема програматора приведена ниже (на рис. 1).

Рис. 1 — Схема програматора TLVP

Как видно из приведенной схемы, она действительно весьма тривиальна. А с учетом того, что, когда я впервые увидел схему на сайте Байрона Джэфа, в ней было еще на две детали меньше (не было «антизвоновой цепи» из резистора на 270 Ом и конденсатора на 1 мкФ), то «железяка» была и того проще. Возник вопрос — чем менять регистр 74xx573. Порылся в справочниках, нашел 1533ИР22, являющуюся аналогом 74хх373, и написал письмо Байрону Джэфу с вопросом «А можно ли заменить 573 на 373 ?». Через время пришел его ответ — что все должно работать. Правда, терпения у меня не хватило, и еще до того, как пришел ответ, я на практике уже проверил работоспособность. Все работало отлично.

Один нюанс, и немаловажный. В названии програматора присутствует абревиатура LVP (Low Voltage Programator — т.е. «низковольтное програмирование»). Это означает, что используется именно низковольтное програмирование процессора, и, как следствие:

  • в слове конфигурации процессора низковольтное програмирование должно быть разрешено;
  • вывод RB3/PGM (для PIC16F877A, для остальных типов — указанно на рис. 1) не может быть использован в схеме (при появлении на нем логической «единицы» PIC переходит в режим низковольтного програмирования).
Читайте также  Вторая жизнь микроаккумулятора

Сама программа FPP (Flash Pic Programing) также предельно проста. Скачайте архив (программа бесплатная), выложенный на странице автора [2], распакуйте в любую (или новую) папку на диске и запускайте. Внешний вид программы показан на рис. 2 (ниже).

Рис. 2 — Интерфейс программы FPP (Flash Pic Programing)

Первым делом нужно нажать кнопку «Setup», и Вы попадёте в меню настройки, показанное на рис. 3 (ниже). В нем в поле «Hardware» из выпадающего списка выбрать програматор — «TLVP»; в пункте «on port» выбрать номер порта, к которому подключен програматор (обычно LPT1); а в поле «Device» из выпадающего списка выбрать процессор (в моем случае это был PIC16F877). После этого нажимаем кнопку «ОК» и возвращаемся в саму программу.

Рис. 3 — Меню настройки программы FPP

При желании Вы можете использовать данную программу с другим програматором. Но при этом Вам придется ее настроить. Для этого существует меню расширенной настройки. Чтобы попасть в него, нужно в меню настройки (вызываемом кнопкой «Setup») нажать кнопку «Define/Test». Вы попадете в меню, показанное на рис. 4 (ниже). В моем случае (програматор TLVP) этого не потребовалось.

Рис. 4 — Меню расширенной настройки программы FPP

Вкратце сама процедура записи прошивки в процессор (в основном окне программы — см. рис. 2):

  • нажать кнопку «Load» и открыть (загрузить в буфер) hex-файл прошивки;
  • нажать кнопку «Program»;
  • получив подтверждение об успешной записи прошивки в процессор, выйти из программы.

Програматор SCHAER+

Переход на 18-е ПИК-и заставил искать новую программу для записи. А c другой стороны, я решил отказаться от низковольтного (LVP) програмирования (все-таки было мне жалко одну ногу процессора не использовать в конечных конструкциях). Итогом поисков (естественно, «комплексных») стала программа «PP18 : Programmer for PIC18» ([3]). На этом же сайте была взята мной и схема программатора «SCHAER+: PIC18 programmer»[4]. Вот она:

Рис. 5 — Схема програматора SCHAER+

На странице [4] приведена не только схема, но и разводка печатной платы программатора SCHAER+. Лично для себя я развел эту плату по новой (см. рис. 6 ниже), но принципиальных различий НЕТ. Всё это выложено у меня на сайте в документе [5] — там в одном PDF-е «живёт» всё сразу: схема, плата, расположение деталей и зеркальное изображение дорожек для «лазерного утюга».

Рис. 6 — Моя разводка платы програматора SCHAER+

В итоге, «мой» програматор SCHAER+ выглядит так, как показано на рис. 7 (ниже).

Рис. 7 — Внешний вид моей платы програматора SCHAER+

Теперь о самой программе «PP18: Programmer for PIC18». Главный нюанс её в том, что она — модульная. То есть, есть сама програма — оболочка, «не знающая» никаких процессоров, и есть модули (dll-файлы), каждый для своего процессора. Соответственно, Вам для работы со страницы автора [3] необходимо скачать как минимум два архива — самой программы PP18.EXE и модуля под выбранный процессор (например, PIC18F458 DLL). Распакуйте оба архива в ОДНУ любую (или новую) папку на диске и запускайте. Внешний вид программы показан на рис. 8 (ниже).

Рис. 8 — Настройка программы «PP18 : Programmer for PIC18» — выбор dll-библиотеки

При первом запуске программы «PP18: Programmer for PIC18» её нужно настроить на работу с требуемой dll-библиотекой (читай — выбранным процессором). Для этого правой кнопкой мыши нужно щелкнуть на изображении ZIF-socket-а в правой стороне интерфейса программы и выбрать пункт «Select Plug-in» (см. рис. 8 выше). После этого нужно указать путь к выбранному dll-файлу.

Более подробно о работе с самой программой можно прочесть на посвященной ей странице в интернете — [3] (правда, на английском языке).

Кроме того, доводилось мне совместно с програматором SCHAER+ использовать и другую программу: «IC-Prog» (версия 1.05D) [6]. При этом, чтобы программатор работал нормально, нужно зайти в пункт «Настройки Программатора» программы «IC-Prog» и:

  • выбрать программатор SCHAER Programmer.
  • включить следующие пункты: «Инверсия Сброса (MCLR)» и «Инверсия VCC» (см. рис. 9 ниже):

Рис. 9 — Конфигурация программы «IC-Prog» (версия 1.05D) для работы с програматором «SCHAER+»

От описанных выше програматоров мне пришлось отказаться. Они работали без проблем, пока были подключены к старенькому ноутбуку (Pentium-150), у которого на выходе LPT-порта уровень «единицы» равнялся 5-и Вольтам. Но, после того как я «махнул не глядя» ноутбук на более «свежий», у которого уровень «единицы» на выходе LPT-порта (наверное, в целях энергосбережения) снизили до 3-х Вольт, с програматорами начались «приколы». Кроме того, на старом ноутбуке был установлен «старый» Windows-98, при котором описанные выше программы легко получали прямой доступ у LPT-порту (а это им необходимо для нормальной работы). А вот Windows-2000, установленный на «более свежем» ноутбуке, такого уже не позволяет, что прибавило дополнительного «геморроя» с установкой и настройкой дополнительных драйверов для прямого доступа к порту (типа AllowIo, Porttalk, и т.п.).

Програматор EXTRA PIC

Решил я тут повозиться с процессором PIC18F4550. И вдобавок к «чудесам», описанным абзацем выше, добавилась необходимость шить ПИК «в два присеста».

Это было последней каплей, вынудившей начинать новый этап поисков. Как показал анализ, очень много программ для записи ПИК-ов поддерживают програматор JDM. Но, «в чистом виде» у этого предельно простого програматора также могли быть проблемы с совместимостью (уровнями сигналов COM-порта). И вот, на русском форуме, посвященному процессорам от Микрочипа, я нашел ссылку на програматор EXTRA PIC [7]. Схему его я привожу ниже (рис. 10).

Рис. 10 — Принципиальная схема програматора EXTRA PIC

Как видно из схемы, волновавшая меня проблема совместимости, решена использованием специализированной микросхемы — МАХ232. После того, как развел плату (рис. 11) и спаял програматор, я убедился, что вопросов по поводу его работы не возникает абсолютно. Писать еще что-либо о програматоре смысла не вижу, так как на странице [7] все это уже сделано на должном уровне.

Рис. 11 — Моя разводка платы програматора EXTRA PIC

«Свою» версию печатной платы я не выкладываю ибо, как видно на странице [7] — это коммерческая разработка ее авторов. Там Вы сможете приобрести либо готовый програматор, либо полный набор деталей для его самостоятельного изготовления, либо одну лишь печатную плату.

Рис. 12 — Внешний вид моей платы програматора EXTRA PIC

С данным програматором я проверял работу следующих программ:

  • «IC-Prog» (версия 1.05D) [6]
  • «WinPic» [8]
  • «WinPic 800» [9]

Во всех этих программах при настройке нужно указать, что Вы используете програматор JDM.

О том, как под управлением Windows-2000 программе «IC-Prog» предоставить прямой доступ к порту, описано на ее сайте [6]. А вот при запуске программ «WinPic» и «WinPic 800» подобного вопроса у меня не возникло вообще — они «решили проблему» самостоятельно. Кстати, у всех трех указанных программ возможен выбор русского языка интерфейса.

Рис. 13 — Интерфейс программы «WinPic 800»

Ну вот, на этом история «моих» програматоров пока что заканчивается. Хотя, есть еще вот это.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: