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

Универсальный программатор PIC-контроллеров

Тимофей Носов 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«.

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

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

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

Примечание:

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

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

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

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

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

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

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

    Автор: Анастасия Попкова aka Настя
    Опубликовано 14.05.2009

    В данной статье рассматриваются практические аспекты сборки несложного USB программатора PIC микроконтроллеров, который имеет оригинальное название GTP-USB (Grabador TodoPic-USB). Существует старшая модель этого программатора GTP-USB plus который поддерживает и AVR микроконтроллеры, но предлагается за деньги. Однозначных сведений по схемам и прошивкам к GTP-USB plus обнаружить не удалось. Если у вас есть информация по GTP-USB plus, прошу связаться со мной.
    Итак, GTP-USB. Данный программатор собран на микроконтроллере PIC18F2550. GTP-USB нельзя рекомендовать начинающим, т.к. для сборки требуется прошить PIC18F2550 и для этого требуется программатор. Замкнутый круг, но не настолько замкнутый, чтобы это стало препятствием для сборки.
    Из оригинальной схемы GTP-USB исключены элементы индикации для упрощения рисунка печатной платы. Основной индикатор — это монитор вашего компьютера, на котором из программы WinPic800 версий 3.55G или 3.55B вы можете наблюдать за процессом программирования.
    Облегченная схема GTP-USB.

    Сигнальные линии Vpp1 и Vpp2 определены под микроконтроллеры в корпусах с различным количеством выводов. Линия Vpp/ICSP определена для внутрисхемного программирования. Остальные линии типовые.
    Программатор собран на односторонней печатной плате.

    Конструктивно сигнальные линии подпаиваются к подходящему разъему (в моем случае это разъем DB9).

    На фотографии видно, что использован «нетипичный» разъем USB. К сожалению, в моём родном городе Саратове не удалось найти правильный разъем USB.
    Для программирования микроконтроллеров в DIP корпусах очень удобно использовать адаптер с ZIF-панелью (Zero Insertion Force — с нулевым усилием на выводы микросхемы при ее установке). Схема адаптера на рисунке ниже.

    Читайте также  Допуск электрика к работе

    Адаптер собран на односторонней печатной плате. Мне не удалось симпатичнее развести плату и минимизировать количество перемычек.

    ZIF-панель любезно предоставлена Благородным котом этого сайта, который пожелал остаться неизвестным. (sic! Прим. Кота.) Большое спасибо ему за это. Ниже фотография собранного адаптера.

    Адаптер можно безболезненно подключать к любому другому программатору PIC-микроконтроллеров, что, безусловно, удобно.
    После сборки производим первое включение. По факту первого подключения GTP-USB к ПК появляется сообщение

    Затем следует традиционный запрос на установку драйвера. Драйвер расположен в управляющей программе WinPic800 по примерному пути WinPic800 3.55GGTP-USBDriver GTP-USB.

    Соглашаемся с предупреждениями и продолжаем установку.
    Обращаю внимание. Данная схема программатора и прошивка к нему проверены на практике и работают с управляющей программой WinPic800 версий 3.55G и 3.55B. Более старшие версии, например, 3.63C не работают с этим программатором. Производим настройку управляющей программы: в меню Settings — Hardware (Установки — Оборудование) выбираем GTP-USB-#0 или GTP-USB-#F1 и нажимаем Apply (Применить).
    Нажимаем на панели кнопку и производим тест оборудования. В результате успешного тестирования появляется сообщение (см. ниже), которое не может нас не радовать.

    Данный программатор отлично работал со следующими контроллерами (из того что было в наличии): PIC12F675, PIC16F84A, PIC16F628A, PIC16F874A, PIC16F876A, PIC18F252. Тест контроллеров, запись и чтение данных — выполнены успешно. Скорость работы впечатляет. Чтение 1-2 сек. Запись 3-5 сек. Глюков не замечено. Часть зашитых МК протестировано в железе — работает.

    Ниже рисунки установки кристаллов в ZIF-панель:

    Топ-10 лучших программаторов и дебаггеров с Алиэкспресс

    В жизни любого радиолюбителя наступает момент, когда собранный своими руками программатор хочется заменить на что-то купленное и с бОльшими возможностями. Или расширить номенклатуру совместимых кристаллов. На Алиэкспресс можно найти огромный ассортимент универсальных программаторов и готовые адаптеры для установки микросхем памяти и контроллеров. В подборке будут интересные модели для AVR (ATMega/ATTiny), для PIC, STM8/STM32, для EEPROM, для Zigbee контроллеров и адаптеры.

    Все больше становится доступного программного обеспечения, с помощью которого можно настраивать по себя различные модули и устройства. А конкретно, CC-Debugger может использоваться для программирования и отладки систем на базе 8051, например, модулей CC2531, на базе которых производятся гаджеты для умного дома и «интернета вещей». Работает с программным обеспечением IAR и SmartRF Studio.

    Хороший пример использования предыдущего отладчика CC-Debugger — это заливка адаптированной прошивки в компактный USB донгл для сети Zigbee. С помощью модифицированного Zigbee трансмиттера можно привязывать устройства в свою сеть, создавать собственные Zigbee-мосты, анализировать протоколы датчиков и так далее.

    Один из лучших программаторов для AVR — это классический USBASP, компактный и универсальный программатор, для загрузки программного обеспечения через интерфейс ISP. В комплекте есть кабель для загрузки через ISP на 10 контактов. Подходит не только для семейства ATMEGA8, но и для новых ATMEGA128. Работает в Win7.

    А это еще один вариант USB ISP программатора для AVR (семейства ATMega и ATTiny). В отличие от предыдущего имеет выбор питания кристалла (5V или 3.3V джампером), а также в два раза меньшую стоимость. Интерфейс для программирования ISP, но есть смысл воспользоваться отдельным адаптером с ISP10 на ISP6 для удобства работы с компактными отладочными платами Arduino.

    Устройство представляет собой полноценный uart-мост и эмулятор последовательного порта. Предназначен для прошивки микросхем памяти (24 EEPROM и 25 SPI flash 8pin/16pin) и микроконтроллеров по spi (AVR, PIC, Singlechip STC). Подходит для восстановления флэш-памяти BIOS USB. Для работы с контроллерами Атмел используется программное обеспечение AVR CH341A или AVRDUDE

    Для работы с устройствами от STMicroelectronics рекомендую использовать программатор ST LINK. По ссылке версия ST-Link V2, который подходит для чипов семейств STM8 и STM32. Удобен для загрузки встроенного программного обеспечения на контроллер прямо в составе схемы, а также для отладки работы и поиска ошибок. В комплекте есть 4-pin кабель. Цена смешная — полтора бакса.

    А вот если нужен адаптер посерьезнее, то есть смысл посмотреть недорогой программатор SWD, который совместим со всеми функциями J-Link. В данной модели интерфейс упрощен до четырех линий: VCC, SWDIO, SWCLK, GND. Но, по сравнению с обычными, этот вариант быстрый и эффективный. Подключается через MicroUSB, корпуса, увы, не предусмотрено. Цена всего 2 бакса.

    Один из лучших USB программаторов для PICmicro контроллеров и ключей KeeLOQ производства компании Microchip Technology. В лоте на выбор есть модели: PICKIT3, PICKIT2 или PICKIT 3,5. Лучше брать последние версии устройства. В комплекте идет плата расширения с ZIF-сокетом (PIC ICD2). Полный схемотехнический аналог фирменного программатора PICKIT 3 компании Microchip.

    Новейшая версия универсального USB программатора EZP2019 с высокоскоростным интерфейсом SPI с большим набором адаптеров для EEPROM, клипсами и диском с программным обеспечением. Этот вариант несколько лучше дешевого программатора CH341A. Является усовершенствованной версией программаторов EZPO2010/EZP2013. В комплекте есть все необходимое для работы.

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

    Рекомендую ознакомиться с другими подборками по другим темам:

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

    • Усилители мощности
    • Светодиоды
    • Блоки питания
    • Начинающим
    • Радиопередатчики
    • Разное
    • Ремонт
    • Шокеры
    • Компьютер
    • Микроконтроллеры
    • Разработки
    • Обзоры и тесты
    • Обратная связь
  • Форум
    • Усилители мощности
    • Шокеры
    • Качеры, катушки Тэсла
    • Блоки питания
    • Светодиоды
    • Начинающим
    • Жучки
    • Микроконтроллеры
    • Устройства на ARDUINO
    • Программирование
    • Радиоприемники
    • Датчики и ИМ
    • Вопросы и ответы
  • Online расчёты
  • Умный дом
  • Видео
  • RSS
  • Приём статей
    • Усилители мощности
    • Светодиоды
    • Блоки питания
    • Начинающим
    • Радиопередатчики
    • Разное
    • Ремонт
    • Шокеры
    • Компьютер
    • Микроконтроллеры
    • Разработки
    • Обзоры и тесты
    • Обратная связь
  • Форум
    • Усилители мощности
    • Шокеры
    • Качеры, катушки Тэсла
    • Блоки питания
    • Светодиоды
    • Начинающим
    • Жучки
    • Микроконтроллеры
    • Устройства на ARDUINO
    • Программирование
    • Радиоприемники
    • Датчики и ИМ
    • Вопросы и ответы
  • Online расчёты
  • Умный дом
  • Видео
  • RSS
  • Приём статей
  • Программатор PIC микроконтроллеров

    На днях возникла необходимость запрограммировать PIC микроконтроллер. В интернете большое обилие схем программаторов, есть простые и навороченные универсальные. Собирать простейший для прошивки одного конкретного микроконтроллера не захотел, так как в планах прошивать разные. Собирать универсальные, с множеством панелек под разные пики тоже не захотел. Есть простые в сборке, компактные и универсальные программаторы, но они в себе содержат управляющий микроконтроллер, который тоже требует программирования. Поискав в интернете на зарубежных сайтах я нашёл то, что хотел собрать. Это простой программатор, но в тоже время довольно универсальный, поддерживающий практически весь ряд PIC контроллеров. Нашёл его у японцев на сайте http://feng3.cool.ne.jp. Multi PIC Programmer 5 Ver.2.

    Схема его проста

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

    Поддерживаемые и проверенные микроконтроллеры:

    • PIC12C508,PIC12C509
    • PIC12C508A,PIC12C509A
    • PIC12CE518,PIC12CE519
    • PIC12C671,PIC12C672,PIC12CE673,PIC12CE674
    • PIC12F508,PIC12F509
    • PIC12F629,PIC12F635,PIC12F675,PIC12F683
    • PIC16C505
    • PIC16C61,PIC16C62A,16C62B(3),PIC16C63,PIC16C63A
    • PIC16C64A,PIC16C65A,PIC16C65B,PIC16C66,PIC16C67
    • PIC16C620,PIC16C620A,PIC16C621,PIC16C621A,PIC16C622,PIC16C622A
    • PIC16CE623,PIC16CE624,PIC16C625
    • PIC16F627,PIC16F628
    • PIC16F627A(2),PIC16F628A,PIC16F648A
    • PIC16F630,PIC16F636,PIC16F676,PIC16F684,PIC16F688
    • PIC16C710,PIC16C711,PIC16C715
    • PIC16C712,PIC16C716
    • PICPIC16C71,PIC16C72,PIC16C72A,PIC16C73A,PIC16C73B,PIC16C74A,PIC16C74B,PIC16C76,PIC16C77
    • PIC16F72,PIC16F73,PIC16F74,PIC16F76,PIC16F77
    • PIC16C745,PIC16C765
    • PIC16C717,PIC16C770,PIC16C771
    • PIC16C773,PIC16C774
    • PIC16C781,PIC16C782
    • PIC16C923,PIC16C924
    • PIC16F818,PIC16F819
    • PIC16F83
    • PIC16C84
    • PIC16F84
    • PIC16F84A
    • PIC16F87,PIC16F88
    • PIC16F870,PIC16F871,PIC16F872,PIC16F873,PIC16F874,PIC16F876,PIC16F877
    • PIC16F873A,PIC16F874A,PIC16F876A,PIC16F877A
    • PIC18F1320,PIC18F2320,PIC18F4320
    • PIC18F242,PIC18F252,PIC18F442,PIC18F452
    • PIC18F248,PIC18F258,PIC18F448,PIC18F458
    • PIC18F4539
    Читайте также  Переделка компьютерного бп lc-200c в зарядное устройство для автомобильных аккумуляторов

    Для программирования я использую программу IC- Prog, настройки программатора выставляю как JDM programmer.

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

    В архиве вложена плата в формате lay и дополнительные материалы автора программатора.

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

    Введение

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

    Миниатюрные PIC контроллеры хороши для построения преобразователей интерфейсов последовательной передачи данных, для реализации функций «прием – обработка – передача данных» и несложных регуляторов систем автоматического управления.

    Компания Microchip распространяет MPLAB — бесплатную интегрированную среду редактирования и отладки программ, которая записывает бинарные файлы в микроконтроллеры PIC через программаторы.

    Взаимодействие MPLAB и Matlab/Simulink позволяет разрабатывать программы для PIC-контроллеров в среде Simulink — графического моделирования и анализа динамических систем. В этой работе рассматриваются средства программирования PIC контроллеров: MPLAB, Matlab/Simulink и программатор PIC-KIT3 в следующих разделах.

    • Характеристики миниатюрного PIC контроллера PIC12F629
    • Интегрированная среда разработки MPLAB IDE
    • Подключение Matlab/Simulink к MPLAB
    • Подключение программатора PIC-KIT3

    Характеристики миниатюрного PIC-контроллера

    Семейство РIС12ххх содержит контроллеры в миниатюрном 8–выводном корпусе со встроенным тактовым генератором. Контроллеры имеют RISC–архитектуру и обеспечивают выполнение большинства команд процессора за один машинный цикл.

    Для примера, ниже даны характеристики недорогого компактного 8-разрядного контроллера PIC12F629 с многофункциональными портами, малым потреблением и широким диапазоном питания [1].

    • Архитектура: RISC
    • Напряжение питания VDD: от 2,0В до 5,5В ( >path без аргументов приводит к отображению списка путей переменной path в окне команд (Command Window). Удалить путь из переменной path можно командой rmpath, например:

    4. Создайте Simulink модель для PIC контроллера, используя блоки библиотеки «Embedded Target for Microchip dsPIC» (Рис. 13), или загрузите готовую модель, например, Servo_ADC.mdl.

    Тип контроллера, для которого разрабатывается Simulink модель, выбирается из списка в блоке Master > PIC (Рис. 16, Рис. 10), который должен быть включен в состав модели.

    Рис. 16. Выбор типа контроллера в блоке Master модели.

    5. Проверьте настройки конфигурации модели: Меню → Simulation → Configuration Parameters . В строке ввода System target file раздела Code Generation должен быть указан компилятор S-функций dspic.tlc (Рис. 17). Выбор dspic.tlc настраивает все остальные параметры конфигурации модели, включая шаг и метод интегрирования.

    Рис. 17. Выбор компилятора S-функций dspic.tlc для моделей PIC-контроллеров в разделе «основное меню → Simulation → Configuration Parameters → Code Generation».

    6. Откомпилируйте модель tmp_Servo_ADC.mdl. Запуск компилятора показан на Рис. 18.

    Рис. 18. Запуск компилятора Simulink модели.

    В результате успешной компиляции (сообщение: ### Successful completion of build procedure for model: Servo_ADC) в текущем каталоге создаются HEX файл для прошивки PIC контроллера и MCP проект среды MPLAB (Рис. 19).

    Рис. 19. Результаты компиляции модели.

    Запуск модели в Matlab/Simulink выполняется в окне модели кнопкой, условное время моделирования устанавливается в строке:

    Управление компиляцией Simulink моделей из среды MPLAB

    Управление компиляцией Simulink модели можно выполнять командами раздела Matlab/Simulink среды MPLAB, например, в следующем порядке.

    1. Разработайте модель PIC контроллера в Matlab/Simulink. Сохраните модель.
    2. Запустите MPLAB.
    3. Выберите MPLAB меню → Tools → Matlab/Simulink и новый раздел появится в составе меню.

    4. В разделе Matlab/Simulink откройте Simulink модель, например, Servo_ADC, командой «Matlab/Simulink → Specify Simulink Model Name → Open → File name → Servo_ADC.mdl → Open». Команда Open запускает Matlab и открывает модель.

    5. Откомпилируйте модель и создайте MCP проект командами Generate Codes или Generate Codes and Import Files. Перевод MDL модели в MCP проект выполняется TLC компилятором Matlab.
    В результате создаётся проект MPLAB:

    со скриптами модели на языке Си.

    6. Откройте проект: меню → Project → Open → Servo_ADC.mcp (Рис. 20).

    Рис. 20. Структура MCP проекта Simulink модели Servo_ADC.mdl в среде MPLAB.
    Проект Simulink модели готов для редактирования, отладки и компиляции в машинные коды контроллера средствами MPLAB.

    Подключение программатора PIC-KIT3

    Узнать какие программаторы записывают бинарный код в конкретный микроконтроллер можно в разделе меню → Configure → Select Device среды MPLAB 8.92. Например, программатор PIC-KIT3 не поддерживает контроллер PIC12C508A (Рис. 21, левый рисунок), но работает с контроллером PIC12F629 (Рис. 21, правый рисунок).

    Рис. 21. Перечень программаторов для прошивки микроконтроллера.

    Информацию об установленном драйвере программатора PIC-KIT3 можно запросить у менеджера устройств ОС Windows (Рис. 22).

    Рис. 22. Информация об установленном драйвере программатора PIC-KIT3.

    Схема подключения микроконтроллера PIC12F629 к программатору PIC-KIT3 показана на Рис. 23.

    Рис. 23. Схема подключения микроконтроллера PIC12F629 к программатору PIC-KIT3.

    Вывод PGM программатора для прошивки контроллеров PIC12F629 не используется. Наличие вывода PGM для разных типов PIC контроллеров показано на Рис. 24. Вывод PGM рекомендуется «притягивать» к общему проводу (GND), через резистор, номиналом 1К [3].

    Рис. 24. Выводы PGM PIC контроллеров.

    Индикация светодиодов программатора Olimex PIC-KIT3 показана в ниже:

    Желтый — Красный — Состояние программатора
    Вкл — Выкл — Подключен к USB линии
    Вкл — Вкл — Взаимодействие с MPLAB
    Мигает — Включен постоянно — Прошивка микроконтроллера

    Не следует подключать питание микроконтроллера VDD (Рис. 23) к программатору, если контроллер запитывается от своего источника питания.

    При питании микроконтроллера от программатора на линии VDD необходимо установить рабочее напряжение, например, 5В программой MPLAB (Menu → Programmer → Settings → Power), как показано на Рис. 25.

    Примечание. При отсутствии напряжения на линии VDD MPLAB IDE выдает сообщение об ошибке: PK3Err0045: You must connect to a target device to use

    Рис. 25. Установка напряжения VDD на программаторе PIC-KIT3 программой MPLAB IDE v8.92.

    Если программатор не может установить требуемое напряжение, например, 5В при его питании от USB, в которой напряжение меньше 5В, MPLAB IDE выдает сообщение об ошибке: PK3Err0035: Failed to get Device ID. В этом случае, сначала необходимо измерить напряжение программатора — считать его в закладке меню → Programmer → Settings → Status, а затем установить напряжение (не больше измеренного) в закладке меню → Programmer → Settings → Power.

    Рис. 26. Измерение (слева) и установка (справа) VDD напряжения программатора PIC-KIT3 программой MPLAB IDE v8.92.

    Пример MPLAB сообщения успешного подключения микроконтроллера к программатору по команде меню → Programmer → Reconnect показан на Рис. 27.

    Рис. 27. Сообщение MPLAB об успешном подключении микроконтроллера к программатору.

    Можно программировать не только отдельный PIC контроллер, но и контроллер, находящийся в составе рабочего устройства. Для программирования PIC контроллера в составе устройства необходимо предусмотреть установку перемычек и токоограничивающих резисторов как показано на Рис. 28 [3].

    Читайте также  Припои и флюсы

    Рис. 28. Подключение микроконтроллера в составе электронного устройства к программатору.

    Заключение

    Малоразрядные PIC-контроллеры имеют широкий диапазон питания, низкое потребление и малые габариты. Они программируются на языках низкого уровня. Разработка программ на языке графического программирования Simulink с использованием многочисленных библиотек значительно сокращает время разработки и отладки в сравнении с программированием на уровне ассемблера. Разработанные для PIC-контроллеров Simulink структуры можно использовать и для компьютерного моделирования динамических систем с участием контроллеров. Однако, из-за избыточности кода такой подход применим только для семейств PIC контроллеров с достаточными ресурсами.