Программирование микроконтроллеров PIC. Часть 6. Как перевести контроллер в режим программирования и залить в него прошивку — radiohlam.ru
В предыдущих частях мы разобрались что представляет из себя контроллер, как он работает и как написать для него программу. Следующее, что нам нужно сделать — это залить полученную программу в память контроллера (или ещё говорят «прошить контроллер»). Для этого существуют специальные инструменты — программаторы.
Программатор состоит из аппаратной части (обычно в быту именно эту аппаратную часть и называют программатором, поэтому мы тоже в дальнейшем сузим термин «программатор» только до его аппаратной части) и программной части. Аппаратная часть предназначена для физической организации необходимых для программирования сигналов (с правильными уровнями и фронтами). Программная часть предназначена для управления аппаратной частью, она реализует правильные алгоритмы (последовательности и задержки включения и выключения различных сигналов аппаратной части), необходимые для записи программы в память контроллера. Чаще всего программная часть делается в виде компьютерной программы, а управление аппаратной частью она осуществляет через какой-либо компьютерный интерфейс, к которому подключается аппаратная часть (обычно RS-232, LPT или USB).
Различные схемы и программы для программирования контроллеров можно легко найти в сети интернет или даже придумать самому. Некоторые из таких схем и программ выложены у нас на сайте, их можно найти вот по этим ссылкам: схемы различных программаторов, программы для прошивки контроллеров.
Как вообще происходит прошивка всяких разных контроллеров? Сначала контроллер специальным образом переводится в режим программирования (то есть контроллеру сообщают, что его собираются программировать). Способы перевода есть различные: специальная последовательность сигналов на определённых ногах, специальные уровни напряжения (например, подача напряжения 12В на определённую ногу, вместо обычных 5 вольт) или и то и другое вместе. Обычно после перехода в режим программирования все неиспользуемые в процессе программирования ноги автоматически переводятся контроллером в высокоомное состояние.
Далее в контроллер по последовательному или параллельному интерфейсу передаются команды (запись/чтение/стирание…) и, при необходимости, данные (если мы записываем прошивку, то мы передаём данные, если считываем — контроллер передаёт нам данные…). Подробнее о процессе программирования можно почитать в спецификациях по программированию, выпускаемых производителями контроллеров. Например, спецификации по программированию PIC-контроллеров можно скачать с сайта microchip.com (в разделе design support -> programming specifications). Спецификаций там очень много, поэтому мы вкратце обобщим размещённые в них сведения.Итак, в микроконтроллерах PIC, фирмы Microchip, обычно реализовано программирование по последовательному интерфейсу. При этом две ноги контроллера используются для организации самого интерфейса (сигналы clock — тактирование и data — данные) и ещё одна или несколько ног используются для перевода контроллера в режим программирования и удержания его в этом режиме (Vpp, PGM…).
Различают два основных метода программирования: высоковольтное (HVP — high voltage programming) и низковольтное (LVP — low voltage programming). В первом методе для перевода контроллера в режим программирования дополнительно используется более высокое напряжение (Vpp — напряжение программирования) по сравнению с рабочим (Vdd). Во втором методе никаких дополнительных напряжений использовать не нужно. В контроллерах, в зависимости от модели, могут быть реализованы оба метода сразу, а может быть реализован только какой-то один из методов.
В обоих методах существуют различные алгоритмы перевода контроллера в режим программирования (опять же, в зависимости от конкретной модели). Более того, в контроллере может быть заложено сразу несколько таких алгоритмов.
Далее я попробую описать наиболее распространённые алгоритмы перевода контроллеров PIC в режим программирования из обоих методов.
1. High Voltage Programming, «Vpp-first». Суть метода: сначала на специальную ногу подаётся напряжение программирования (Vpp), потом, не раньше, чем через определённый промежуток времени (T1), подаётся питание (Vdd). Через определённый промежуток после этого (T2) контроллер перейдёт в режим программирования и можно будет начинать обмен данными (используя линии clock и data). На начальном этапе, всё то время, пока контроллер переводится в режим программирования, на интерфейсных ногах должен быть нулевой уровень. Ниже представлена диаграмма сигналов, соответствующая этому алгоритму:
2. High Voltage Programming, «Vdd-first». Суть метода: сначала подаётся рабочее напряжение (Vdd), потом, не раньше, чем через определённый промежуток времени (T1), на специальную ногу подаётся напряжение программирования (Vpp). Через определённый промежуток после этого (T2) контроллер перейдёт в режим программирования и можно будет начинать обмен данными (используя линии clock и data). Так же, как и в предыдущем алгоритме, на начальном этапе (всё то время, пока контроллер переводится в режим программирования) на интерфейсных ногах должен быть нулевой уровень. Ниже представлена соответствующая диаграмма сигналов:
3. Low Voltage Programming, «Special Sequence». Суть метода: через определённый промежуток времени (T1
) после подачи рабочего напряжения (Vdd), контроллеру посылается специальный 32-х битный ключ, после чего контроллер переходит в режим программирования. При этом нога MCLR/Vpp должна быть притянута к общему проводу. Второй вариант этого же алгоритма (если рабочее напряжение уже приложено к контроллеру) заключается в следующем: нога MCLR/Vpp притягивается к общему проводу, через определённое время (T2) после этого контроллеру посылается специальный 32-х битный ключ, после чего контроллер переходит в режим программирования. Ниже представлены соответствующие диаграммы сигналов:4. Low Voltage Programming, «Special Pin». Суть метода: при установке в слове конфигурации специального бита (LVP) один из выводов (PGM) контроллера начинает использоваться для перевода контроллера в режим программирования (соответственно, использовать этот пин в качестве цифрового входа/выхода уже нельзя).
При внимательном рассмотрении видно, что некоторые алгоритмы (2,3,4) позволяют перейти в режим программирования не снимая с контроллера рабочее напряжение питания. При специальной разводке платы эти алгоритмы позволяют программировать контроллер, что называется, «на лету». Способ, при котором контроллер программируется прямо в готовом изделии называется ICSP — in circuit serial programming (по-русски обычно говорят просто — внутрисхемное программирование).
На этом, пожалуй, и всё. Вот здесь можно найти таблицу контроллеров PIC фирмы Microchip, в которой указано, какие алгоритмы перевода в режим программирования поддерживают конкретные модели контроллеров, а также допустимые диапазоны значений Vpp (для контроллеров, поддерживающих HVP).
- Часть 1. Необходимые инструменты и программы. Основы MPLAB
- Часть 2. Что такое микроконтроллер и как с ним работать
- Часть 3. Структура программы на ассемблере
- Часть 4. Разработка рабочей части программы. Алгоритмы
- Часть 5. Ассемблер. Организация циклов и ветвлений
- Часть 6. Как перевести контроллер в режим программирования и залить в него прошивку
PIC-микроконтроллеры: архитектура и программирование
Электронный ресурс
цифровой образовательной среды СПО
Рейтинг издания
PIC-микроконтроллеры: архитектура и программирование
Подзаголовок: | |
Издательство: | Профобразование |
Авторы: | Майкл Предко |
Год издания: | 2019 |
ISBN: | 978-5-4488-0062-7 |
Тип издания: | практическое пособие |
Гриф: |
Библиографическая запись
Майкл, Предко PIC-микроконтроллеры: архитектура и программирование / Предко Майкл ; перевод Ю. В. Мищенко. — 2-е изд. — Саратов : Профобразование, 2019. — 511 c. — ISBN 978-5-4488-0062-7. — Текст : электронный // Электронный ресурс цифровой образовательной среды СПО PROFобразование : [сайт]. — URL: https://profspo.ru/books/87983 (дата обращения: 24.10.2022). — Режим доступа: для авторизир. пользователей
Об издании
Книга посвящена PIC-микроконтроллерам – одному из самых популярных семейств современных микроконтроллеров. В справочнике имеются все необходимые сведения, аппаратные и программные решения. По широте охвата и объему рассматриваемого материала книга претендует на статус малой энциклопедии. Здесь представлены классификация и архитектура различных подсемейств PIC-контроллеров, сравнительные характеристики типов, разводка выводов, системы команд, подробная спецификация управляющих регистров. Рассказывается о принципах работы основных узлов, приведены таблицы временных и электрических характеристик, алгоритмы программирования. Дано описание языков программирования и средств разработки приложений.
Издание предназначено для широкого круга читателей – от начинающих радиолюбителей до специалистов, работа которых связана с использованием PIC-микроконтроллеров.Скачать библиографическую запись
Формирования информационной культуры личности в библиотеках и образовательных учреждениях
Гендина Н.И., Колкова Н.И., Скипор И.Л.,…
Сестринское дело в неврологии
Денисевич Н.К.
Основы латинского языка с медицинской терминологией
Русский язык. Фонетика. Морфология. Синтаксис
Борисова Т.С., Заворина Т.И.
Технические особенности строительного контроля при проведении капитального ремонта инженерных систем. Автоматизация жилищно-коммунального хозяйства
Анищенко В.А., Аднасурин В.Э., Богданов…
Геометрия. Практикум
Барсукова Л.В.
Стандарты информационной безопасности. Защита и обработка конфиденциальных документов
Сычев Ю.Н.
Физико-технические основы ядерной энергетики
Едчик И.А.
и программатор USB PIC
Установки Kanda отличаются доступной ценой, высоким качеством и скоростью. Доставка по всему миру доступна заказной авиапочтой или Fedex. Безопасный онлайн-платеж через Paypal или кредитную карту, или вы можете запросить оплату банковским переводом во время оформления заказа.
Стартовый комплект 8-позиционного ручного PIC-программатора
Стартовый комплект USB для 8-канального ручного PIC-программатора
Простой в использовании портативный программатор PIC, поддерживающий до 8 различных программ, с одной кнопкой для целевого программирования и простого выбора слота…
Код заказа
PIC-HH0810
Портативный программатор Starter Kit
Добавить в корзину
ASIX Forte PIC Programmer
Forte PIC Programmer Высокоскоростной внутрисхемный последовательный USB-программатор от Asix, который поддерживает все микроконтроллеры PIC, включая dsPIC. Если вам нужно быстрое программирование, то это лучший выбор. Он включает в себя переменное напряжение программирования (VPP) до
Код заказа
Forte
Цена: $ 246,00
Asix Forte Pic Programmer
Add to Cart
Pic Handheld Programmer Pic
Ручной программатор PIC с интерфейсом USB для ПК и программным обеспечением. Загрузите ручной программатор PIC с ПК с помощью USB-загрузчика и простого программного обеспечения, и тогда ПК вам не понадобится…
Код заказа
PIC-HH0110
Цена: $ 189,00
PIC Руночный программный программ
Последний комплект PIC
Этот комплект PIC включает в себя все необходимое для изучения программирования микроконтроллеров PIC, в том числе:
подробные руководства по HTML, книга на компакт-диске, PICKIT4..
Order Code
PIC-MICRO-X
Price: $119.00
PIC Microcontroller Programming Kit
Add to Cart
PICKIT4 Programmer
PICKIT 4 Programmer and Emulator
Программатор Microchip PICkit4 и эмулятор микроконтроллеров PIC. Устройство работает из MPLAB IDE (версии MPLAB X) или может запускаться из отдельного программного обеспечения.
Код заказа
Pickit4
Цена: $ 99,00
Pickit4 Programer
Добавить в корзину
Presto USB Pic Programmer
PRESTO USB PRECLARMER
11111111111111111111111111111111111111111111111111111111111111111111111119
Код заказа
PRESTO
Цена: $ 134,00
PRESTO USB PIC PROGRAMMER
Добавить в CART
ПРОГРАММЫ ПРОГРАММЫ ПИСА Автономный портативный программатор — это новая более адаптируемая версия давно зарекомендовавшего себя портативного программатора Kanda. Он имеет 31 программный слот, которые загружаются с ПК и выбираются с помощью клавиатуры
Код заказа
PIC-PP0110
Price: $299.00
Standalone Portable PIC Programmer
Add to Cart
VP-598 Universal Programmer
VP-598 USB Universal Programmer with 48-pin ZIF Socket
This programmer предназначен для целого ряда устройств, в том числе множества микросхем памяти, микроконтроллеров PIC, EEPROM, dsPIC, AVR и других микроконтроллеров, таких как AT89, а также PLD и флэш-памяти. ..
Код заказа
VP-598
Цена: $ 280,00
VP-598 Universal Programmer
Добавить в CART
Специальные предложения
РАБОТЫ
СТАНДАРИ Комплект ПОС
Лучшая на рынке плата PIC с отладчиком и программатором PICKit3
У Kanda есть продукт для любого применения, в том числе полные комплекты для обучения, программисты для разработки и наши портативные и портативные продукты для обновления прошивки и производства. Асикс ПРЕСТО это отлично подходит для разработки с использованием программирования ICSP, а также поддерживает устройства AVR, dsPIC и последовательные EEPROM. Asix Forte поддерживает еще более широкий спектр AVR, dsPIC, устройств памяти и других микроконтроллеров.
Мы также поставляем различные разъемы, такие как RJ11 (тип ICD2) или специальные адаптеры, такие как краевые разъемы, пожалуйста обратитесь в службу поддержки или просмотрите Custom ISP Connectors
Здесь показаны некоторые из наших самых популярных продуктов.
Не знаете, какой программатор вам нужен?
У всех разные требования к программированию микроконтроллеров, начиная с базовой разработки программатор или полный комплект для обучения, с помощью полевых обновлений, до полного масштаба производство тысяч печатных плат. Лучшее решение для вас зависит от того, как вы ответите на эти простые вопросы:
- Вы когда-нибудь пользовались микроконтроллерами?
Если нет, то мы предлагаем комбинированный программатор и комплект для разработки
Учебный комплект, включающий плату, программатор и отладчик - Хотите программировать устройства в розетке, в небольшом объеме?
Если да, то самым дешевым решением является
VP-596 48-контактный программатор микрочипов - Вы хотите программировать чипы PIC в сокете в большом объеме?
Ассортимент Xeltek включает в себя программаторы Universal и Gang для всех микроконтроллеров Microchip и других устройств Microchip
Xeltek Programmers - Вам нужен USB ICSP на базе ПК для внутрисистемного программирования устройств PIC?
PRESTO поддерживает все чипы Microchip PIC, включая dsPIC и серию 24. с помощью ИКСП. В качестве бонуса он также программирует последовательные EEPROM и устройства AVR и некоторые другие микросхемы.
USB-программатор PRESTO - Хотите программировать устройства без ПК?
Если вы не хотите использовать ПК ни для производственных, ни для полевых обновлений, вам понадобится один из наших автономных портативные или портативные устройства
Автономные устройства - Вам нужен модуль, который также программирует другие устройства, такие как флэш-память или другие микроконтроллеры, такие как AVR?
Широкий ассортимент универсальных USB-программаторов с разъемами и программированием ICSP можно посмотреть на нашем сайте 9.0011 Универсальный USB-программатор - Какой автономный блок мне нужен?
Портативные устройства прочны, имеют USB-загрузчики, с хорошей поддержкой устройств, включая серию 18F K и последнюю версию 16F1xxx а Portable Programmer является наиболее гибким.
Автономный диапазон - Мне нужен автономный продукт, который может хранить более 1 программы
См. 8-позиционный портативный блокили Portable Unit
Портативные программаторы PIC
Kanda теперь поставляет три разных автономных программатора PIC для портативных устройств. и производственное программирование.
- Ручной программатор PIC: Прочный, управление одной кнопкой, 256 КБ, удержание одной программы
- 8-позиционный ручной программатор PIC: Сохранение 8 программ, выбор поворотным переключателем, одна программная кнопка
- Портативный программатор PIC: Сохраняет 32 программы, клавиатуру и ЖК-дисплей для выбора
Ручной программатор PIC
Функции портативного устройства
Автономный портативный программатор PIC является старшим братом портативного программатора PIC с брелоком PIC. Он имеет такую же простую в использовании операцию с одной кнопкой, но он достаточно надежен, чтобы подайте на цель напряжение 3,3 В или 5 В. Так что лучше для низковольтных целей и программ быстрее, чем программатор брелоков. Он имеет ряд особенностей, которые делают его идеально подходит для использования в полевых и производственных условиях.
- Управление одной кнопкой
- Питание от батареи 9В PP3
- Разъем для блока питания 9 В (цилиндр 2,1 мм, центральный плюс)
- Поддерживает семейства PIC16F и PIC18F, включая детали PIC18F J
- Питает целевое напряжение 3,3 В или 5 В, с 9 В или 12,5 В VPP для программирования высокого напряжения
- Режимы программирования низкого и высокого напряжения
- Время быстрого программирования
Стартовый комплект
Вам понадобится один начальный комплект ручного программатора PIC для загрузки ручных программаторов с ПК. Как только это загружен, ручной программатор PIC полностью автономен и может использоваться в полевых условиях или в производстве без ПК или питания.
- Win 2000/XP/VISTA/Win7 (32- и 64-разрядная версии)
- Интерфейс USB-порта — доступен параллельно
- Код, данные и конфигурация загружены из HEX-файла
- Поддерживает устройства PIC16F и PIC18F, включая микроконтроллеры J и K .
- Управление одной кнопкой, самый простой программатор PIC на рынке
8-позиционный ручной программатор PIC
Базовый портативный программатор PIC хорош своей простотой, но вы ограничены одна программа, поэтому мы представили 8-полосную версию.
Он имеет такое же простое управление одной кнопкой для целевого программирования, но имеет 8-позиционный поворотный переключатель для выбора до 8 различных программ.
Функции 8-позиционного ручного программатора PIC
- Выбор простой программы с помощью поворотного переключателя
- Каждый программный слот может иметь другой файл, микроконтроллер PIC, байты конфигурации и данные
- Каждый программный слот имеет размер до 256 КБ
- То же действие одной кнопки для цели программирования
- Программное обеспечение для ПК считывает программатор и отображает список программ, включая 30-символьное описание, имя файла и микроконтроллер PIC
- Необходимо программировать только необходимые программные слоты
- Интерфейс USB для загрузки программатора с ПК
Стартовый комплект
Вам понадобится один начальный комплект ручного программатора PIC для загрузки ручных программаторов с ПК.