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

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

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

15.05.2017 1247 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 1247 0
Комментарии
Рекомендуем
К 130-летию со дня рождения великого советского физика Игоря Евгеньевича Тамма. Часть 4. История возникновения  концепции поляритонов

К 130-летию со дня рождения великого советского физика Игоря Евгеньевича Тамма. Часть 4. История возникновения концепции поляритонов

В прошлом году в журнале «Современная электроника» были опубликованы три статьи, посвящённые юбилею выдающегося российского физика-теоретика Игоря Евгеньевича Тамма (СОЭЛ № 7–9, 2025). В частности, были описаны современные быстродействующие электрооптические модуляторы, поверхностные состояния Тамма, запрещённые фотонные зоны и фотонные кристаллы. В этих статьях умышленно не затрагивались темы поляритонов, оптических состояний Тамма (ОСТ) и плазмон-поляритонов Тамма (ППТ). Поскольку ключевой вклад в раннюю разработку этих явлений в основном принадлежит российским учёным, целесообразно посвятить их открытию более подробные отдельные статьи. Ниже рассмотрены два основных типа гибридных фотонных частиц: экситон-поляритоны и фонон-поляритоны.  
24.04.2026 СЭ №4/2026 106 0
Телевизор с электронно-лучевой трубкой: разработки С.И. Катаева и их значение

Телевизор с электронно-лучевой трубкой: разработки С.И. Катаева и их значение

«…Наступит время… когда миллионы таких приборов, таких "электрических глаз" будут всесторонне обслуживать общественную и частную жизнь, науку, технику и промышленность…» Б. Розинг Семён Исидорович Катаев (1904–1991 гг.), советский учёный и изобретатель в области телевидения, доктор технических наук, профессор, заслуженный деятель науки и техники – незаслуженно обделён вниманием популяризаторами истории электроники и телевидения в нашей стране. Тем не менее И.С. Катаев внёс значительный вклад в развитие инженерной мысли в СССР при разработке и усовершенствовании электронно-лучевых трубок (ЭЛТ), ставших на многие годы ключевой технологией, лежащей в основе экранов телевизоров и оборудования различного назначения. Катаев дополнил изобретение Зворыкина и по праву может считаться ещё одним «отцом» отечественного телевидения. В найденных документах роль Катаева прослеживается чётко, и в статье мы хотим это показать.
23.04.2026 СЭ №4/2026 114 0
Электронные системы диагностики, стимуляции и воздействия на человека на примере BAMH и управления –  на примере AE-Skin

Электронные системы диагностики, стимуляции и воздействия на человека на примере BAMH и управления – на примере AE-Skin

Путь будущих разработок в области современной электроники пролегает от визуального отображения окружающего пространства до тактильного. В этой связи представляют интерес система Bioinspired Adaptable Multiplanar mechano-vibrotactile Haptic (BAMH) – пневматически активируемый роботизированный электронный комплекс с интерфейсом из мягкого материала и система AE-Skin, обеспечивающая интерфейс между кожей человека и физическими поверхностями. Принцип её действия достаточно известен и заложен в управлении интерактивными экранами. В первой части статьи рассматриваются особенности новых разработок в области медицинской электроники и перспективы тактильного воздействия на кожу человека для лечения и изменения настроения. Во второй части представлен подробный разбор AE-Skin и примеры её совершенствования во всех сферах жизни человека: от управления посредством электронных тактильных датчиков миниатюрной формы до устройств на основе новых технологий, воспринимающих движения руками без прикосновения и без применения пироэлектрических детекторов, как управляющие сигналы для РЭА.
17.04.2026 СЭ №4/2026 155 0

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