Программатор для пик контроллеров своими руками

Программатор для пик контроллеров своими руками

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

Однажды я решил собрать несложный 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 — 0.3-0.5$, к1533ла3 можно вообще найти среди радиохлама), работает на любом компьютере, ноутбуке (и даже можно использовать планшеты на windows 8/10). Минусы: он очень медленный. Также он требует внешнее питание для сигнала VPP. В итоге, как мне показалось, для нечастой прошивки пиков — это несложный для повторения и недорогой вариант для тех, у кого нет под рукой древнего компьютера с нужными портами.

Вот фото готового девайса:

Как поётся в песне "я его слепила из того, что было". Набор деталей самый разнообразный: и smd, и DIP.

Читайте также:  Если планшет не реагирует на прикосновения

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

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

Однажды я решил собрать несложный 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 — 0.3-0.5$, к1533ла3 можно вообще найти среди радиохлама), работает на любом компьютере, ноутбуке (и даже можно использовать планшеты на windows 8/10). Минусы: он очень медленный. Также он требует внешнее питание для сигнала VPP. В итоге, как мне показалось, для нечастой прошивки пиков — это несложный для повторения и недорогой вариант для тех, у кого нет под рукой древнего компьютера с нужными портами.

Читайте также:  Жесткий диск всегда загружен на 100

Вот фото готового девайса:

Как поётся в песне "я его слепила из того, что было". Набор деталей самый разнообразный: и smd, и DIP.

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

Тимофей Носов ICQ# 770008
E-mail ntv1978 (at) mail.ru
www . miliamper . narod . ru

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

В статье рассматривается программатор EXTRA-PIC, данные о котором получены из открытых источников на www .5 v . ru (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.

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

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

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

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

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

Фотография собранного программатора (облегченный вариант)

Далее мы приводим альтернативные рисунки печатных плат программатора EXTRA — PIC (авторство установить не удалось)

Вариант 1 (скачать в Sprint Layout ).

Вариант 2 (скачать в Sprint Layout ).

Отдельного внимания заслуживает печатная плата разработанная нашим другом markomar2005 (at) yandex.ru , которая разведена под "маркер".

Вариант от MARKO (скачать в Sprint Layout).

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

Читайте также:  Как делать скрин экрана на ноутбуке леново

Автор il86md (at) mail.ru

Автор sound65 (at) rambler.ru он же greeze (at) inbox.ru

Альтернативный вариант (+ сменные модули) от markomar2005 (at) yandex.ru

Вариант от alex_vw (at) mail.ru

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

Введение. Данная инструкция составлена на примере прошивки микросхемы PIC16F876A для сборки универсального многоканального АЦП.

  1. Соберите программатор (в т.ч. распаяйте удлинительный шнур мама-папа для COM -порта и подготовьте блок питания на напряжение не менее15В).
  2. Скачайте программу IC-PROG отсюда или с http://www.ic-prog.com/ (733 кб).
  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".

  1. Запустите файл icprog.exe.
  2. Выберите "Settings" >> "Options" >> вкладку "Language" >> установите язык "Russian" и нажмите "Ok".
  3. Согласитесь с утверждением "You need to restart IC-Prog now" (нажмите "Ok").
  4. Оболочка программатора перезапустится.

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

Проверьте установки, выберите используемый вами COM-порт, нажмите "Ok".

Далее, "Настройки" >> "Опции" >> выберите вкладку "Общие" >> установите "галочку" на пункте "Вкл. NT/2000/XP драйвер" >> Нажмите "Ok" >>
если драйвер до этого не был установлен в системе, в появившемся окне "Confirm" нажмите "Ok". Драйвер установится, и оболочка программатора перезапустится.

Примечание:

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

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

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

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

  1. Установите микросхему в панель программатора, соблюдая положение ключа.
  2. Подключите шнур удлинителя, включите питание.
  3. Запустите программу IC-PROG.
  4. В выпадающем списке выберите контроллер PIC16F876A.

  • Если у вас нет файла с прошивкой – подготовьте его:
    • откройте стандартную программу "Блокнот";
    • вставьте в документ текст прошивки (со странички УМ-АЦП1);
    • сохраните под любым именем, например, prohivka .txt (расширение *.txt или *.hex).
    • Далее в IC-PROG Файл >>Открыть файл (! не путать с Открыть файл данных) >> найти наш файл с прошивкой (если у нас файл с расширением *. txt , то в типе файлов выберите AnyFile *.*). Окошко "Программного кода" должно заполнится информацией.
    • Нажимаем кнопку "Программировать микросхему" – (загорается красный светодиод).
    • Ожидаем завершения программирования (около 30 сек.).
    • Для контроля нажимаем "Сравнить микросхему с буфером" – .
    • Вот и всё. Я тоже думал, что это что-то невероятное. Попробуйте – и у вас получится.

      Ссылка на основную публикацию
      Программа для прошивки телефона meizu
      В данном разделе нашего информационного портала вы сможете скачать прошивку для телефонов Meizu с Android 10.0, 9.0, 8.0/8.1, 7.0/7.1, 6.0.1,...
      Прога для скачивания видео с любого сайта
      Несмотря на то что большинство популярных видеохостингов пользуется большой популярностью на протяжении многих лет, практически ни в одном из них...
      Прога для скрытия папок и файлов
      У каждого пользователя компьютера есть свои личные данные и файлы, которые он обычно хранит в папках. Доступ к ним имеется...
      Программа для работы с телефоном престижио
      Какие программы используются для удаленного подключения к рабочему столу сотового телефона Prestigio e3 black, pro multipad 4 diamond 3g gps,...
      Adblock detector