Цена готовых USB-программаторов довольно высока и лучшим решением будет собрать его самостоятельно. Вот схема предлагаемого устройства (картинки кликабельны). Основная часть. Панель установки МК. Исходная схема взята с сайта с разрешения автора, за что ему большое спасибо.
В основном написание этой статьи меня побудило желание рассказать интересующемуся человеку, да и самому не забыть, как самому что-нибудь собрать на PIC – контроллере. Начнем с программатор, без него ни как, для PIC контроллера, а затем соберем простое устройство под кодовым названием.
Это так называемый клон фирменного программатора PICkit2. Так как вариант устройства является 'облегчённой' копией фирменного PICkit2, то автор назвал свою разработку PICkit-2 Lite, что подчёркивает простоту сборки такого устройства для начинающих радиолюбителей.
Что может программатор? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC. Кроме этого программатор может работать в режиме USB-UART преобразователя, имеет часть функций логического анализатора. Особо важная функция, которой обладает программатор – это расчёт калибровочной константы встроенного RC-генератора некоторых МК (например, таких как PIC12F629 и PIC12F675).
Необходимые изменения. В схеме есть некоторые изменения, которые необходимы для того, чтобы с помощью программатора PICkit-2 Lite была возможность записывать/стирать/считывать данные у микросхем памяти EEPROM серии 24Cxx. Из изменений, которые были внесены в схему. Добавлено соединение от 6 вывода DD1 (RA4) до 21 вывода ZIF-панели.
Вывод AUX используется исключительно для работы с микросхемами EEPROM-памяти 24LС (24C04, 24WC08 и аналоги). По нему передаются данные, поэтому на схеме панели программирования он помечен словом 'Data'. При программировании микроконтроллеров вывод AUX обычно не используется, хотя он и нужен при программировании МК в режиме LVP. Также добавлен 'подтягивающий' резистор на 2 кОм, который включается между выводом SDA и Vcc микросхем памяти. Все эти доработки я уже делал на печатной плате, после сборки PICkit-2 Lite по исходной схеме автора. Микросхемы памяти 24Cxx (24C08 и др.) широко используются в бытовой радиоаппаратуре, и их иногда приходится прошивать при ремонте, например, телевизоров. В связи с этим мне и пришлось 'допиливать' программатор.
Травить новую печатную плату я не стал, просто добавил необходимые элементы на печатной плате. Вот что получилось. Ядром устройства является микроконтроллер PIC18F2550-I/SP. Это единственная микросхема в устройстве. МК PIC18F2550 необходимо 'прошить'. Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема 'курицы и яйца'. Как её решил я, расскажу чуть позднее.
Список деталей для сборки программатора. Напряжение для высоковольтного программирования (Vpp) от +8,5 до 14 вольт создаётся ключевым стабилизатором.
В него входят элементы VT1, VD1, L1, C4, R4, R10, R11. С 12 вывода PIC18F2550 на базу VT1 поступают импульсы ШИМ.
Обратная связь осуществляется делителем R10, R11. Чтобы защитить элементы схемы от обратного напряжения с линий программирования в случае использования USB-программатора в режиме внутрисхемного программирования ICSP (In-Circuit Serial Programming) применён диод VD2. Его стоит подобрать с падением напряжения на P-N переходе не более 0,45 вольт. Также диод VD2 защищает элементы от обратного напряжения, когда программатор применяется в режиме USB-UART преобразования и логического анализатора. При использовании программатора исключительно для программирования микроконтроллеров в панели (без применения ICSP), то можно исключить диод VD2 полностью (так сделано у меня) и установить вместо него перемычку. Компактность устройству придаёт универсальная ZIF-панель (Zero Insertion Force – с нулевым усилием установки).
Благодаря ей можно 'зашить' МК практически в любом корпусе DIP. На схеме 'Панель установки микроконтроллера (МК)' указано, как необходимо устанавливать микроконтроллеры с разными корпусами в панель. При установке МК следует обращать внимание на то, чтобы микроконтроллер в панели позиционируется так, чтобы ключ на микросхеме был со стороны фиксирующего рычага ZIF-панели. Вот так нужно устанавливать 18-ти выводные микроконтроллеры (PIC16F84A, PIC16F628A и др.). А вот так 8-ми выводные микроконтроллеры (PIC12F675, PIC12F629 и др.).
Если есть нужда прошить микроконтроллер в корпусе для поверхностного монтажа (SOIC), то можно воспользоваться переходником или просто подпаять к микроконтроллеру 5 выводов, которые обычно требуются для программирования (Vpp, Clock, Data, Vcc, GND). Готовый рисунок печатной платы со всеми изменениями вы найдёте по ссылке в конце статьи. Открыв файл в программе Sprint Layout 5.0 можно с помощью режима 'Печать' не только распечатать слой с рисунком печатных проводников, но и просмотреть позиционирование элементов на печатной плате. Обратите внимание на изолированную перемычку, которая связывает 6 вывод DD1 и 21 вывод ZIF-панели.
Печатать рисунок платы необходимо в зеркальном отображении. Изготовить печатную плату можно методом ЛУТ, а также, (так делал я).
Вот рисунок позиционирования элементов на печатной плате (кликабельно). При монтаже первым делом необходимо запаять перемычки из медного лужёного провода, затем установить низкопрофильные элементы (резисторы, конденсаторы, кварц, штыревой разъём ISCP), затем транзисторы и запрограммированный МК. Последним шагом будет установка ZIF-панели, USB-розетки и запайка провода в изоляции (перемычки).
'Прошивка' микроконтроллера PIC18F2550. Файл 'прошивки' - PK2V023200.hex необходимо записать в память МК PIC18F2550I-SP при помощи любого программатора, который поддерживает PIC микроконтроллеры (например, Extra-PIC). Я воспользовался JDM Programmator’ом JONIC PROG и программой WinPic800. Ссылка на файл PK2V023200.hex, запакованный в архив rar, дана в конце статьи. Залить 'прошивку' в МК PIC18F2550 можно и с помощью всё того же фирменного программатора PICkit2 или его новой версии PICkit3.
Естественно, сделать это можно и самодельным PICkit-2 Lite, если кто-либо из друзей успел собрать его раньше вас:). Также стоит знать, что 'прошивка' микроконтроллера PIC18F2550-I/SP (файл PK2V023200.hex) записывается при установке программы PICkit 2 Programmer в папку вместе с файлами самой программы. Примерный путь расположения файла PK2V023200.hex - «C: Program Files (x86) Microchip PICkit 2 v2 PK2V023200.hex».
У тех, у кого на ПК установлена 32-битная версия Windows, путь расположения будет другим: «C: Program Files Microchip PICkit 2 v2 PK2V023200.hex». Ну, а если разрешить проблему 'курицы и яйца' не удалось предложенными способами, то можно купить уже готовый программатор PICkit3 на сайте AliExpress. Там он стоит гораздо дешевле. О том, как покупать детали и электронные наборы на AliExpress я писал. Обновление 'прошивки' программатора. Прогресс не стоит на месте и время от времени компания Microchip выпускает обновления для своего ПО, в том числе и для программатора PICkit2, PICkit3. Естественно, и мы можем обновить управляющую программу своего самодельного PICkit-2 Lite.
Для этого понадобится программа PICkit2 Programmer. Что это такое и как пользоваться - чуть позднее. А пока пару слов о том, что нужно сделать, чтобы обновить 'прошивку'. Для обновления ПО программатора необходимо замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключить программатор к ПК и запустить PICkit2 Programmer. При замкнутой XT1 активируется режим bootloader для загрузки новой версии прошивки. Затем в PICkit2 Programmer через меню 'Tools' - 'Download PICkit 2 Operation System' открываем заранее подготовленный hex-файл обновлённой прошивки.
Далее произойдёт процесс обновления ПО программатора. После обновления нужно отключить программатор от ПК и снять перемычку XT1. В обычном режиме перемычка разомкнута. Узнать версию ПО программатора можно через меню 'Help' - 'About' в программе PICkit2 Programmer. Это всё по техническим моментам.
А теперь о софте. Работа с программатором. Программа PICkit2 Programmer. Для работы с USB-программатором нам потребуется установить на компьютер программу PICkit2 Programmer. Это специальная программа обладает простым интерфейсом, легко устанавливается и не требует особой настройки. Стоит отметить, что работать с программатором можно и с помощью среды разработки MPLAB IDE, но для того, чтобы прошить/стереть/считать МК достаточно простой программы – PICkit2 Programmer.
После установки программы PICkit2 Programmer подключаем к компьютеру собранный USB-программатор. При этом засветится зелёный светодиод ('питание'), а операционная система опознает устройство как 'PICkit2 Microcontroller Programmer' и установит драйвера. Запускаем программу PICkit2 Programmer.
В окне программы должна отобразиться надпись. Если программатор не подключен, то в окне программы отобразится страшная надпись и краткие инструкции 'Что делать?'
На английском. Если же программатор подключить к компьютеру с установленным МК, то программа при запуске определить его и сообщит нам об этом в окне PICkit2 Programmer. Первый шаг сделан.
А о том, как пользоваться программой PICkit2 Programmer, я рассказал в отдельной статье.. Необходимые файлы: • (PK2V023200.hex); • в формате.lay; • Программа; • Руководство пользователя PICkit2 (рус.) берём.
Просто так — не должен. Как минимум переходник выдает другие напряжения.
Для перевода пиков в режим программирования нужно либо подать высокое напряжение (обычно 12В) на Vpp (MCLR, pin 4), либо подать обычное напряжение на пин PGM при этом в конфигурационных битах LVP должен быть разрешен. Если его кто-то отключил — установить его обратно можно только через повышенное напряжение.
Можно попробовать просто подтянуть PGM к питанию резистором или подать 12 В с какого-то внешнего БП, но гарантировать работоспособность не возьмусь. Что там с сигнальными линиями произойдет — могу только гадать. При отсутствии полноценного com порта и желании основательно заняться изучением МК — лучше купить надежный usb программатор или использовать МК, не требующие программатора. Предложенный вариант программатора (аналог JDM) не будет работать с переходником (Pl2303 точно), и дело не только в напряжениях (существуют продвинутые варианты JDM с внешним питанием), а в логике работы аппаратного и юсбшного компортов. На аппаратном порту можнр легко и без задержек управлять состоянием выводов, а юсб-переходник предназначен для подключения к стандартной переферии типа древних модемов и т.д. Собранный умельцами USB программатор можно заказать в интернетах за 1200-1500р, а можно купить фирменный в несколько раз дороже.