Фильтр по тематике

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

Статья продолжает (см. №4, 2017) описание средств программирования PIC-контроллеров MPLAB IDE компании Microchip и MATLAB Simulink компании MathWorks, описывается процесс компиляции программы и её загрузки в микроконтроллер.

15.05.2017 1188 0
Средства программирования PIC-контроллеров. Часть 2

Установка Си-компилятора MPLAB

Компиляторы MPLAB находятся на сайте Microchip [1].

Для установки демонстрационной версии компилятора С30 необходимо его скачать по ссылке PIC24/dsPIC v3.25 и запустить полученный файл mplabc30-v3.25-comboUpgrade.exe.

При написании статьи использовался компилятор С30 для PIC24/dsPIC версии v3.25. Проверка показала, что следующая версия v3.30 не поддерживает совместную компиляцию моделей MATLAB R2012a (dsPIC Toolbox) без ошибок.

Установочный exe-файл создаёт в разделе C:\Program Files (x86)\Microchip\ новый каталог mplabc30 с файлами.

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

Создайте рабочий каталог и скопируйте в него *.mdl-примеры из раздела Example (устанавливаются в текущую папку MATLAB при выполнении install_dsPIC_R2012a.m).

Запустите MATLAB. Настройте его на рабочий каталог.

Включите в переменную окружения path MATLAB с высшим приоритетом путь к MPLAB: >>path(‘c:\Program Files (x86)\Microchip\MPLABIDE\Tools\MATLAB\’,path).

Использование команды >>path без аргументов приводит к отображению списка путей переменной path в окне команд (Command Window). Удалить путь из переменной path можно командой rmpath, например, >>rmpath(‘c:\Program Files\Microchip\MPLAB IDE\Tools\MATLAB\’).

Создайте Simulink-модель для PIC-контроллера, используя блоки библиотеки Embedded Target for Microchip dsPIC, или загрузите готовую модель, например, Servo_ADC.mdl. Тип контроллера, для которого разрабатывается Simulink-модель, выбирается из списка в блоке Master > PIC (см. рис. 10), который должен быть включён в состав модели.

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

Откомпилируйте модель tmp_Servo_ADC.mdl (Tools > Code Generation > Build Model). В результате успешной компиляции в текущем каталоге создаются HEX-файл для прошивки PIC-контроллера и MCP-проект среды MPLAB. Параметры моделирования задаются в разделе Simulation > Model Configuration Parameters. Запуск модели в MATLAB Simulink выполняется в окне модели зелёной кнопкой Run или клавишей F5.

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

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

  1. Разработайте модель PIC-контрол­лера в MATLAB Simulink. Сохраните модель.
  2. Запустите MPLAB.
  3. Выберите 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.
  6. В результате создаётся проект MPLAB с расширением MCP, который включает скрипты модели на языке Си.
  7. Откройте проект: Project > Open > Servo_ADC.mcp.

Проект Simulink-модели готов для редактирования, отладки и компиляции в машинные коды контроллера средствами MPLAB.

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

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

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

Вывод PGM-программатора для прошивки контроллеров PIC12F629 не используется. Наличие вывода PGM для разных типов PIC-контроллеров показано на рисунке 14.

Вывод PGM рекомендуется «притягивать» к общему проводу (GND) через резистор номиналом 1 кОм [2]. Индикация светодиодов программатора Olimex PIC-KIT3 показана в таблице 3.

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

При питании микроконтроллера от программатора на линии VDD необходимо установить рабочее напряжение, например, 5 В. Это можно сделать в среде MPLAB IDE v8.92 (Programmer > Settings > Power), как показано на рисунке 15.

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

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


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

Заключение

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

Литература

  1. www.microchip.com/mplab/mplab-x-ide > Download Archive > MPLAB C Compiler for PIC24 and dsPIC DSCs.
  2. ICSP. Внутрисхемное программирование PIC-контроллеров DOC Rev 1.03 (последнее обновление 19.05.2005). www.5v.ru/icsp.htm.

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

15.05.2017 1188 0
Комментарии
Рекомендуем
Знаменитый разработчик радиотелескопов, волноводов, РЛС и радаров А.А. Пистолькорс

Знаменитый разработчик радиотелескопов, волноводов, РЛС и радаров А.А. Пистолькорс

Среди исследователей и разработчиков, стоявших у истоков разных областей современной электроники, есть много имён, известных лишь в научном сообществе. Тем не менее без них развитие отечественной радиоэлектроники было бы другим. В статье рассказывается о научном пути и результатах исследований доктора наук Александра Александровича Пистолькорса, как фундаментальных, так и прикладных, нашедших широкое применение в развивающихся областях науки и техники в ХХ веке и определивших на десятилетия вперёд прогресс в развитии радиотехники, электроники и связи. Метод наведённых ЭДС, принцип двойственности, теория связанных линий для передачи информации, оптические волноводы и фазированные антенные решетки, голографические линзы, фотонные кристаллы – их создание и совершенствование напрямую связано с Александром Пистолькорсом.
31.03.2026 СЭ №3/2026 134 0
Космическая версия зарождения жизни Часть 2. Неопознанные атмосферные образования Роуна Джозефа с точки зрения современной науки

Космическая версия зарождения жизни Часть 2. Неопознанные атмосферные образования Роуна Джозефа с точки зрения современной науки

В первой части статьи были рассмотрены видеозаписи результатов американо-итальянской системы привязанных спутников (TSS-1R), полученные ровно тридцать лет назад во время миссии космического шаттла «Колумбия» (22 февраля 1996 года). В опубликованной не так давно статье известного астробиолога Роуна Джозефа [1] предлагалось интерпретировать некоторые атмосферные плазменные образования, зафиксированные на этих видеозаписях, как самоорганизующиеся субстанции, которые миллиарды лет назад могли инициировать зарождение биологической жизни на Земле. Во второй части статьи показано, насколько доказательны с точки зрения современной науки новые аргументы в поддержку внеземного зарождения жизни, предложенные Роуном Джозефом.
30.03.2026 СЭ №3/2026 143 0
Линейные интегральные стабилизаторы напряжения с низким падением напряжения на регулирующем элементе

Линейные интегральные стабилизаторы напряжения с низким падением напряжения на регулирующем элементе

В статье представлены интегральные линейные стабилизаторы с малым падением напряжения на регулирующем элементе (LDO-стабилизаторы, Low Dropout Output), выпускаемые предприятием XMTI (Xi’an Microelectronics Technology Institute), для применения в качестве вторичного источника электропитания в аппаратуре с батарейным питанием, дополнительных стабилизаторов напряжения в импульсных источниках питания. Линейные регуляторы подразделяются на радиационно-стойкие модели для применения в бортовой аппаратуре космических аппаратов и модели уровня качества Military для аппаратуры специального применения. Выпускаются микросхемы для формирования положительного и отрицательного напряжения, а также с расщеплённым выходом для питания аналоговых устройств. Выходное напряжение может быть фиксированным и регулируемым.
26.03.2026 СЭ №3/2026 223 0

ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjeHksEz
ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjddDXPx
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться