Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Программирование микроконтроллеров 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 притягивается к общему проводу, через определённое время (T

2) после этого контроллеру посылается специальный 32-х битный ключ, после чего контроллер переходит в режим программирования. Ниже представлены соответствующие диаграммы сигналов:

4. Low Voltage Programming, «Special Pin». Суть метода: при установке в слове конфигурации специального бита (LVP) один из выводов (PGM) контроллера начинает использоваться для перевода контроллера в режим программирования (соответственно, использовать этот пин в качестве цифрового входа/выхода уже нельзя). Так вот, в этом случае перевод контроллера в режим программирования осуществляется подачей высокого уровня (Vdd) на ногу PGM и через некоторое время после (T

1) этого подачей высокого уровня (Vdd) на ногу (MCLR/Vpp). Ниже представлены соответствующие диаграммы сигналов:

При внимательном рассмотрении видно, что некоторые алгоритмы (2,3,4) позволяют перейти в режим программирования не снимая с контроллера рабочее напряжение питания. При специальной разводке платы эти алгоритмы позволяют программировать контроллер, что называется, «на лету». Способ, при котором контроллер программируется прямо в готовом изделии называется ICSP — in circuit serial programming (по-русски обычно говорят просто — внутрисхемное программирование).

На этом, пожалуй, и всё. Вот здесь можно найти таблицу контроллеров PIC фирмы Microchip, в которой указано, какие алгоритмы перевода в режим программирования поддерживают конкретные модели контроллеров, а также допустимые диапазоны значений Vpp (для контроллеров, поддерживающих HVP).

  1. Часть 1. Необходимые инструменты и программы. Основы MPLAB
  2. Часть 2. Что такое микроконтроллер и как с ним работать
  3. Часть 3. Структура программы на ассемблере
  4. Часть 4. Разработка рабочей части программы. Алгоритмы
  5. Часть 5. Ассемблер. Организация циклов и ветвлений
  6. Часть 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 (дата обращения: 08.03.2023). — Режим доступа: для авторизир. пользователей

Об издании

Книга посвящена PIC-микроконтроллерам – одному из самых популярных семейств современных микроконтроллеров. В справочнике имеются все необходимые сведения, аппаратные и программные решения. По широте охвата и объему рассматриваемого материала книга претендует на статус малой энциклопедии. Здесь представлены классификация и архитектура различных подсемейств PIC-контроллеров, сравнительные характеристики типов, разводка выводов, системы команд, подробная спецификация управляющих регистров. Рассказывается о принципах работы основных узлов, приведены таблицы временных и электрических характеристик, алгоритмы программирования. Дано описание языков программирования и средств разработки приложений.

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

Скачать библиографическую запись


Основы управления в органах внутренних дел
Бавсун И.Г.


Umweltschutz
Рыхлова О.С.


Конструирование мебели и столярных изделий
Барташевич А.А.


Практикум по технологии конструкционных материалов и материаловедению
Некрасов С.С., Пономаренко А.М., Потапов…


Практическая грамматика немецкого языка. Морфология = Deutsch. Lehr- und Übungsbuch der deutschen Grammatik. Morphologie
Галай О.М., Черкас М.А., Кирись В.Н.


Волейбол для 12-13-летних
Тертычный А.В., Тертычная В.Т.


Основы врачебного контроля лечебной физической культуры и массажа в детской неврологии
Налобина А.Н., Таламова И.Г., Стоцкая Е.С.


Едем, плывём, летим. Простые модели своими руками
Красных А.В., Салахова А.А.

Ручной USB-программатор PIC для автономного программирования микроконтроллеров PIC

Ручной программатор PIC для микроконтроллеров PIC
Этот простой программатор PIC идеально подходит для программирования встроенного программного обеспечения микроконтроллеров PIC в полевых условиях или может использоваться в качестве производственный программист. Однокнопочное управление предотвращает ошибки и снижает потребность в обучении. Как только он будет загружен с ПК с помощью стартового комплекта USB, он может продолжать программировать целевые микроконтроллеры PIC без ошибок навсегда. Это самый простой мобильный программатор в мире.

Программатор One Botton — это самый простой способ обновления встроенной прошивки на месте. Нет необходимости в ноутбуке или ПК, полевое программирование не может быть проще. Загрузитесь с ПК, перейдите к своей цели и нажмите одну кнопку, чтобы обновить встроенную прошивку – портативное программирование в самом простом виде.

Идеален для нетехнических операторов, так как не допускает ошибок – просто нажмите кнопку, и правильный код ДОЛЖЕН быть загружен. Вы можете настроить его для программирования всего микроконтроллера PIC или только памяти данных (только для PIC16F). Он поддерживает микроконтроллеры PIC16F и PIC18F.

Важное примечание

Этот продукт представляет собой просто ручной программатор без загрузчика ПК
. Вам нужен один стартовый комплект PIC Handheld Programmer Starter Kit, чтобы загружать с ПК столько программаторов, сколько вам нужно. После того, как программатор загружен, он становится полностью переносимым.

Функции портативного программатора PIC


  • Портативный программатор PIC использует батарею PP3 9 В или блок питания
  • Управление одной кнопкой
  • Загрузить один раз, запрограммировать цели навсегда
  • Перезагружать новые программы при необходимости
  • Неограниченное время хранения программного кода
  • Методы программирования низкого или высокого напряжения
  • 10-контактный DIL и 6 x 1-контактный провод в комплекте
  • Программирование/проверка флэш-памяти или EEPROM или того и другого
  • Программирует и проверяет слова конфигурации
  • Существующие данные EEPROM могут быть сохранены
  • Загрузочный блок можно сохранить на устройствах PIC18FxxK
  • Возможность питания целевого устройства (до 150 мА) при напряжении 3,3 В или 5 В
  • Некоторые семейства (PIC18FxxJ и некоторые PIC18FxxK) имеют только низкое напряжение (на момент написания), поэтому программист использует для них 3,3 В.
  • Примечание. Некоторым устройствам PIC16Fxxx требуется минимум 4,5 В для стирания чипа, поэтому программист всегда использует для них 5 В.
  • Мишень может быть запитана или обесточена
  • Необходимые соединения: PGC, PGD, MCLR и GND. VDD и PGM не являются обязательными
  • Размеры: Метрические – 106 мм x 58 мм x 25 мм
  • Размеры: Британские единицы — 4,5 x 2,5 x 1 дюйм
  • 256 КБ памяти
  • Ограничить количество разрешенных программных операций, если необходимо
  • Android-приложение для перезагрузки программатора

Операционные системы

Windows 2000, XP, Vista, Windows7, Windows 8, Windows 10, Windows 11
32- и 64-битные версии

Приложение для Android

Сохраните содержимое программатора в файл PRG, отправьте его на устройство Android, и программатор можно просто перезагрузить с новым содержимым. Это дает вам гораздо большую гибкость.

Подробнее, видео и загрузка приложений

Поддержка микроконтроллеров PIC

Микроконтроллеры PIC18F

  • PIC18Fxxxx
  • PIC18FxxJxx
  • PIC18FxxKxx (9В ВПП)
  • Теперь поддерживает PIC18FxxK80, PIC18F6xK22/8xK22, PIC18FxxJ50, PIC18F6xK90/8xK90 и PIC18FxxK83
  • Поддерживает PIC18FxxQ10 и PIC18FxxQ4x
  • Также поддерживает версии LF

БЕСПЛАТНЫЕ обновления доступны для поддержки новых устройств.

Микроконтроллеры PIC12F

  • PIC12F1822, PIC12F1840
  • ПИК12Ф609, ПИК12Ф615, ПИК12Ф617
  • ПИК12Ф635, ПИК12Ф683
  • ПИК12Ф1571, ПИК12Ф1572

Версии Plus LF/HV

Микроконтроллеры PIC16F

  • PIC16F610
  • PIC16F616
  • PIC16F627
  • PIC16F628
  • PIC16F627A, PIC16F628A, PIC16F648A (программирование режима HVP, только если контакт сброса не перепрограммирован как ввод-вывод)
  • ПИК16Ф631, ПИК16Ф636, ПИК16Ф639
  • PIC16F677
  • PIC16F68x, PIC16F690
  • PIC16F7x
  • PIC16F7x7
  • PIC16F72x
  • PIC16F785
  • PIC16F818
  • PIC16F819
  • PIC16F8x
  • PIC16F8xA
  • PIC16F87x
  • PIC16F873A
  • ПИК16Ф874А
  • ПИК16Ф876А
  • PIC16F877A
  • PIC16F88x
  • PIC16F91x
  • PIC16F946
  • PIC16F19xx
  • PIC16F15xx
  • PIC16F161x
  • PIC16F170x
  • PIC16F171x
  • PIC16F176x
  • PIC16F177x
  • PIC16F178x
  • PIC16F18xx
  • PIC16F183xx
  • PIC16F188xx
  • PIC16F153xx
  • PIC16F184xx
  • PIC16F152xx
  • PIC16F180xx
  • PIC16F181xx
  • Версии LF также поддерживают

PIC12F и PIC16F Не поддерживается

  • PIC12F629
  • PIC16F630
  • PIC16F676
  • PIC16F5x
  • PIC16F505

Примечания: новые программаторы поддерживают 9V VPP для PIC18FxxKxx и PIC16F1xxx. Режим LVP поддерживается микроконтроллерами PIC с LVP.

Блок питания

Если вы не хотите использовать внутреннюю батарею 9 В PP3, требуется источник питания 9 В с цилиндром 2,1 мм. разъем, центр положительный. Они доступны в нашем магазине, или вы можете использовать любой настенный трансформатор с этими функциями.
9V International Источник питания для использования с этим программатором PIC.

Содержимое

  • Ручной автономный программатор
  • 10-жильный ленточный кабель
  • 6-контактный адаптер SIL (MCLR, VCC, GND, PGD, PGC, PGM)

Если вам нужна другая распиновка, см. 10FLEX6 в аксессуарах ниже.

Программатор PIC

Обзор нашей линейки программаторов PIC см. Обзор PIC Programmer в новом окне

Задавать вопрос

спросил

Изменено 1 год, 7 месяцев назад

Просмотрено 366 раз

\$\начало группы\$

кажется, что на этот вопрос есть очевидный ответ, но, несмотря на то, что я просмотрел техническое описание микроконтроллера PIC, который я собираюсь использовать (PIC18F45K22), и руководство пользователя программатора SNAP, я не могу найти ответ.

Я хочу запрограммировать микроконтроллер с помощью этого программатора, но я не уверен, какие контакты на микросхеме должны соединяться с какими контактами на SNAP. Самая актуальная информация, которую я могу найти в руководстве пользователя, — это столбец «ISCP (MCHP)» в таблице «Распиновка интерфейсов отладки» на стр. 38:

Согласно этой таблице, кажется, что если я хочу запрограммировать мой микроконтроллер с помощью ICSP (что, я думаю, я делаю), я бы, например, подключил контакт 1 SNAP к MCLR. Это я могу сделать. А вот, где написано подключать пин 6 к AUX я путаюсь, потому что нигде в даташите на микроконтроллер такой пин не упоминается.

ICSP (MCHP) кажется наиболее важным из всех столбцов в этой таблице, поэтому я не понимаю, почему выводы не совпадают с тем, что сказано в таблице данных.

  • пик
  • программирование

\$\конечная группа\$

5

\$\начало группы\$

Серия PIC18F K использует старый Microchip PGC/PGD, это не часть JTAG.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *