Програматор SCHAER+
Переход на 18-е ПИК-и заставил искать новую программу для записи. А c другой стороны, я решил отказаться
от низковольтного (LVP) програмирования (все-таки было мне жалко одну ногу процессора не использовать в
конечных конструкциях). Итогом поисков (естественно, «комплексных») стала программа «PP18 : Programmer
for PIC18» (). На этом же сайте была взята мной и схема программатора
«SCHAER+: PIC18 programmer» — . Вот она:
Рис. 5 — Схема програматора SCHAER+
На странице приведена не только схема, но и разводка печатной платы программатора
SCHAER+. Лично для себя я развел эту плату по новой (см. рис. 6 ниже), но принципиальных различий НЕТ. Всё это
выложено у меня на сайте в документе — там в одном PDF-е «живёт» всё сразу: схема,
плата, расположение деталей и зеркальное изображение дорожек для «лазерного утюга»…
Рис. 6 — Моя разводка платы програматора SCHAER+
В итоге, «мой» програматор SCHAER+ выглядит так, как показано на рис. 7 (ниже).
Рис. 7 — Внешний вид моей платы програматора SCHAER+
Теперь о самой программе «PP18: Programmer for PIC18». Главный нюанс её в том, что она — модульная. То есть,
есть сама програма — оболочка, «не знающая» никаких процессоров, и есть модули (dll-файлы), каждый для своего
процессора. Соответственно, Вам для работы со страницы автора необходимо скачать как
минимум два архива — самой программы PP18.EXE и модуля под выбранный процессор (например, PIC18F458 DLL). Распакуйте
оба архива в ОДНУ любую (или новую) папку на диске и запускайте. Внешний вид программы показан на рис. 8 (ниже).
Рис. 8 — Настройка программы «PP18 : Programmer for PIC18» — выбор dll-библиотеки
При первом запуске программы «PP18: Programmer for PIC18» её нужно настроить на работу с требуемой dll-библиотекой
(читай — выбранным процессором). Для этого правой кнопкой мыши нужно щелкнуть на изображении ZIF-socket-а в правой
стороне интерфейса программы и выбрать пункт «Select Plug-in» (см. рис. 8 выше). После этого нужно указать путь к
выбранному dll-файлу.
Более подробно о работе с самой программой можно прочесть на посвященной ей странице в интернете —
(правда, на английском языке).
Кроме того, доводилось мне совместно с програматором SCHAER+ использовать и другую программу: «IC-Prog»
(версия 1.05D) . При этом, чтобы программатор работал нормально, нужно зайти в пункт
«Настройки Программатора» программы «IC-Prog» и:
- выбрать программатор SCHAER Programmer.
- включить следующие пункты: «Инверсия Сброса (MCLR)» и «Инверсия VCC» (см. рис. 9 ниже):
Рис. 9 — Конфигурация программы «IC-Prog» (версия 1.05D) для работы с програматором «SCHAER+»
«Goodbye Yellow Brick Road»
(С) Elton John
От описанных выше програматоров мне пришлось отказаться. Они работали без проблем, пока были подключены к
старенькому ноутбуку (Pentium-150), у которого на выходе LPT-порта уровень «единицы» равнялся 5-и Вольтам.
Но, после того как я «махнул не глядя» ноутбук на более «свежий», у которого уровень «единицы» на выходе LPT-порта
(наверное, в целях энергосбережения) снизили до 3-х Вольт, с програматорами начались «приколы». Кроме того, на
старом ноутбуке был установлен «старый» Windows-98, при котором описанные выше программы легко получали прямой
доступ у LPT-порту (а это им необходимо для нормальной работы). А вот Windows-2000, установленный на «более
свежем» ноутбуке, такого уже не позволяет, что прибавило дополнительного «геморроя» с установкой и настройкой
дополнительных драйверов для прямого доступа к порту (типа AllowIo, Porttalk, и т.п.)…
Эксперименты с микроконтроллерами
Итак, всё есть. Как же начать работу с техникой, как начать прошивать микроконтроллер программатором?
- Подключить внешнее питание, присоединить всю аппаратуру.
- Первоначально необходима среда, с помощью которой всё будет делаться.
- Создать необходимый проект, выбрать конфигурацию микроконтроллера.
- Подготовить файл, в котором находится весь необходимый код.
- Подключиться к программатору.
- Когда всё готово, можно уже прошивать микроконтроллер.
Выше была написана только общая схема, которая позволяет понять, как происходит процесс. Для отдельных сред разработки она может незначительно отличаться, а более детальную информацию о них можно найти в инструкции.
Хочется отдельно написать обращение к тем, кто только начинает пользоваться программаторами. Помните, что, какими бы элементарными ни казались некоторые шаги, всегда необходимо их придерживаться, чтобы техника нормально и адекватно могла работать и выполнять поставленные вами задачи. Успехов в электронике!
Детали для сборки EXTRA-PIC
DRB9F, разъём COM-порта («female»,»мама»), (1шт). Разъём питания, диаметр внутр. штыря 2,1мм. (1шт). SCL-40, панель DIP40. (1 шт). SCS-28, панель DIP28, узкая. (1шт). SCS-18, панель DIP18. (1шт). SCS-08, панель DIP8. (1шт). 78L05, стабилизатор +5v, корпус ТО-92. (2шт). 78L12, стабилизатор +12v, корпус TO-92. (1шт). MAX232, ST232, SP232, ADM232, или аналог. (1шт). КР1533ЛА3,КР15xxЛА3, 74xx00, или аналог. (1шт). 1N4007, диод. (1шт). 1N4148, диод. (2шт). АЛ307 или GNL-5013, светодиод зелёного цвета. (1шт). АЛ307 или GNL-5013, светодиод красного цвета. (1шт). КТ502Е, транзистор p-n-p, корпус TO-92. (1шт). КТ3102, транзистор n-p-n, корпус TO-92. (1шт). 220,0x25v, электролитический / Оксидный конденсатор. (1шт). 10,0x16v, электролитический / Оксидный конденсатор. (4шт). 0,1 мкФ, керамический дисковый конденсатор. (2шт). 1k0, Резистор. (Цвета: «коричн.,чёрн.,красн.,золот.»). (6шт). 4k7, Резистор. (Цвета: «жёлт.,фиол.,красн.,золот.»). (2шт).
При написании статьи использовался данный источник. Печатную плату для EXTRA PIC и другие файлы, полезные при повторении схемы и прошивки скачайте в архиве. Схему собрал и испытал: -igRoman-
Универсальные программаторы, которые подойдут не только к РІС
Если человек увлекается программированием микроконтроллеров, то вряд ли он постоянно будет пользоваться только одним типом. Для тех, кто не желает покупать отдельно программаторы для различных типов микроконтроллеров, от различных производителей, были разработаны универсальные устройства, которые смогут запрограммировать МК нескольких компаний. Так как компаний, выпускающих их, довольно много, то стоит избрать пару и рассказать про программаторы для них. Выбор пал на гигантов рынка микроконтроллеров: PIC и AVR.
Универсальный программатор PIC и AVR — это аппаратура, особенность которой заключается в её универсальности и возможности изменять работу благодаря программе, не внося изменений в аппаратную составляющую. Благодаря этому свойству такие приборы легко работают с МК, которые были выпущены в продажу уже после выхода программатора. Учитывая, что значительным образом архитектура в ближайшее время меняться не будет, они будут пригодны к использованию ещё длительное время. К дополнительным приятным свойствам заводских программаторов стоит отнести:
- Значительные аппаратные ограничения по количеству программируемых микросхем, что позволит программировать не одну, а сразу несколько единиц электроники.
- Возможность программирования микроконтроллеров и схем, в основе которых лежат различные технологии (NVRAM, NAND Flash и другие).
- Относительно небольшое время программирования. В зависимости от модели программатора и сложности программируемого кода может понадобиться от 20 до 400 секунд.
Самодельный программатор для PIC-контроллеров
Развитие электроники идёт стремительными темпами, и всё чаще главным элементом того или иного устройства является микроконтроллер. Он выполняет основную работу и освобождает проектировщика от необходимости создания изощрённых схемных решений, тем самым уменьшая размер печатной платы до минимального. Как всем известно, микроконтроллером управляет программа, записанная в его внутреннюю память. И если опытный программист-электронщик не испытывает проблем с использованием микроконтроллеров в своих устройствах, то для начинающего радиолюбителя попытка записать программу в контроллер (особенно PIC) может обернуться большим разочарованием, а иногда и небольшим пиротехническим шоу в виде дымящей микросхемы.
Как ни странно, но при всём величии сети Интернет в нём очень мало информации о прошивке PIC-контроллеров, а тот материал что удаётся найти — очень сомнительного качества. Конечно, можно купить заводской программатор за неадекватную цену и шить сколько душе угодно, но что делать, если человек не занимается серийным производством. Для этих целей можно собрать несложную и не дорогую в реализации самоделку, именуемую JDM-программатором по приведенной ниже схеме (рисунок №1):
Как можно догадаться, в схеме моего программатора использован корпус DIP8. При большом желании можно изготовить универсальный переходник под каждый тип микросхемы, получив тем самым универсальный программатор. Но так как с PIC-контроллерами работаю редко, для меня хватит и этого.
Хоть сама схема довольно проста и не вызовет трудностей в сборке, но она тоже требует уважения. Поэтому неплохо было бы сделать под неё печатную плату. После некоторых манипуляций с программой SprintLayout, текстолитом, дрелью и утюгом, на свет родилась вот такая заготовка (фото №3).
Первым делом выбираем тип программатора — JDM Programmer. Далее выставляем радиокнопку использования драйвера Windows. Следующий шаг подразумевает выбор COM-порта, к которому подключен ваш программатор. Если он один, вопросов вообще нет, а если более одного — посмотрите в диспетчере устройств, какой на данным момент используется. Ползунок задержки ввода/вывода предназначен для регулирования скорости записи и чтения. Это может понадобится на быстрых компьютерах и при возникновении проблем с прошивкой — этот параметр необходимо увеличить. В моём случае он остался по умолчанию равным 10 и всё нормально отработало.
На этом настройка программы IC-Prog окончена и можно переходить к процессу самой прошивки, но для начала считаем данные с микроконтроллера и посмотрим что в него записано. Для этого на панели инструментов нажимаем на значок микросхемы с зелёной стрелкой, как показано на скриншоте №11.
Программатор 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 типа «гнездо» («мама», «дырки»). Очень часто ошибаются и ставят «вилку» («папу», «штырьки»), т.е. такое же как и на стороне ПК!
Расположение выводов ICSP у PIC-контроллеров.
Внимание! Материал только для общей справки. Обязательно убедитесь, что указанное расположение выводов соответствует выбранному вами микроконтроллеру
Для этого, обратитесь к Data Sheets и Programming Specifications на соответствующий микроконтроллер (обычно всё совпадает).
Пояснение: Вывод PGM рекомендуется «притягивать» к общему проводу (GND), через резистор, номиналом 1К. Для справки: микроконтроллеры с 14-контактным корпусом вставляется частью ножек в соответствующую 8-контактную панель.
Рисунок печатной платы (облегченный вариант).
Далее мы приводим монтажную схему (хотя по рисунку печатной платы и так всё понятно)
Фото готовой платы:
Пошаговая инструкция или «Как прошить PIC-контроллер»
Возможные проблемы
Увы, даже самая идеальная техника не лишена возможных проблем, которые нет-нет, да и возникнут. Для улучшенного понимания необходимо составить список. Часть из этих проблем можно исправить вручную при детальном осмотре программатора, часть — только проверить при наличии необходимой проверочной аппаратуры. В таком случае, если программатор PIC-микроконтроллеров заводской, то вряд ли починить представляется возможным. Хотя можно попробовать найти возможные причины сбоев:
- Некачественная пайка элементов программатора.
- Отсутствие драйверов для работы с устройством.
- Повреждения внутри программатора или проводов внутри компьютера/USB.
Программаторы, собранные вручную
А теперь, пожалуй, самое интересное – программаторы PIC-контроллеров, которые собираются вручную. Этим вариантом пользуются те, у кого нет денег или просто нет желания их тратить. В случае покупки у официального представителя можно рассчитывать на то, что если устройство окажется некачественным, то его можно вернуть и получить новое взамен. А при покупке «с рук» или с помощью досок объявлений в случае некачественной пайки или механических повреждений рассчитывать на возмещение расходов и получение качественного программатора не приходится. А теперь перейдём к собранной вручную электронике.
Программатор PIC может быть рассчитан на определённые модели или быть универсальным (для всех или почти всех моделей). Собираются они на микросхемах, которые смогут преобразовать сигналы с порта RS-232 в сигнал, который позволит программировать МК. Нужно помнить, что, когда собираешь данную кем-то конструкцию, программатор PIC, схема и результат должны подходить один к одному. Даже небольшие отклонения нежелательны. Это замечание относится к новичкам в электронике, люди с опытом и практикой могут улучшить практически любую схему, если есть куда улучшать.
Отдельно стоит молвить слово и про программный комплекс, которым обеспечивают USB-программатор для PIC, своими рукамисобранный. Дело в том, что собрать сам программатор по одной из множества схем, представленных в мировой сети, – мало. Необходимо ещё и программное обеспечение, которое позволит компьютеру с его помощью прошить микроконтроллер. В качестве такового довольно часто используются Icprog, WinPic800 и много других программ. Если сам автор схемы программатора не указал ПО, с которым его творение сможет выполнять свою работу, то придется методом перебора узнавать самому. Это же относится и к тем, кто собирает свои собственные схемы. Можно и самому написать программу для МК, но это уже настоящий высший пилотаж.
СПИСОК ЛИТЕРАТУРЫ
-
Страница Байрона Джэфа (Byron Jeff), посвященная програматору TVLP
-
Страница Дэвида Тэйта (David Tait), с которой можно загрузить программу FPP (Flash Pic Programing)
-
Страница программы PP18 (версия для Windows)
-
Страница с описанием програматора SCHAER+
-
Мой PDF по програматору SCHAER+ (665 кБ) — схема, плата, расположение деталей, зеркальное изображение платы для «утюга»
-
Сайт программы «IC-Prog»
-
Страница «EXTRAPIC — Программатор PIC-контроллеров и I2C (IIC) EEPROM» на сайте 5v
-
Сайт программы «WinPic»
-
Сайт программы «WinPic 800»
Обобщения и разлагольствования — Дмитрий Харций
Работа с микроконтроллерами
Что же необходимо для работы всех программаторов с микроконтроллерами? Дело в том, что, хотя сами программаторы и являются самостоятельными схемами, они передают сигналы компьютера в определённой последовательности. И задача относительно того, как компьютеру объяснить, что именно необходимо послать, решается программным обеспечением для программатора.
В свободном доступе находится довольно много различных программ, которые нацелены на работу с программаторами, как самодельными, так и заводскими. Но если он изготавливается малоизвестным предприятием, был сделан по схеме другого любителя электроники или самим человеком, читающим эти строки, то программного обеспечения можно и не найти. В таком случае можно использовать перебор всех доступных утилит для программирования, и если ни одна не подошла (при уверенности, что программатор качественно работает), то необходимо или взять/сделать другой программатор PIC, или написать собственную программу, что является весьма высоким пилотажем.
Использование программатора от Microchip
По его использованию можно найти много обучающих уроков, которые помогут разобраться с всевозможными аспектами использования. Если рассматривать не только программатор PIC, купленный «с рук», а приобретенный у официального представителя, то можно ещё подметить качество поддержки, предоставляемое вместе с ним. Так, в дополнение идут обучающие материалы по использованию, лицензионные среды разработки, а также демонстрационная плата, которая предназначена для работы с маловыводными микроконтроллерами. Кроме всего этого, присутствуют утилиты, которые сделают работу с механизмом более приятной, помогут отслеживать процесс программирования и отладки работы микроконтроллера. Также поставляется утилита для стимулирования работы МК.