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

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

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

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

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

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

Примеры измерения импульсной компоненты электромагнитного поля ОНЧ-диапазона на фоне сейсмической активности. Часть 2

Данная статья является продолжением работы «Примеры измерения импульсной компоненты электромагнитного поля ОНЧ-диапазона на фоне сейсмической активности» (Современная электроника. 2025. № 7. С. 39–43), в которой приведены экспериментальные данные импульсной компоненты естественного электромагнитного поля (И.К. Э-М. П.) ОНЧ-диапазона (600…3600 Гц), синхронно зарегистрированные на двух разнесённых по широте авроральных обсерваториях ПГИ Баренцбург (78,08°, 14,2°; арх. Шпицберген) и Ловозеро (67,97º, 35,08º; Мурманская обл., РФ). Для сопоставления сейсмической активности с АЧХ и АВХ И.К. ОНЧ-сигнала использованы архивные данные норвежской сети NORSAR, а также приведены некоторые характеристики гелиогеофизических факторов, влияющих на состояние нижней ионосферы: вариации магнитного поля Земли (Hx, Hy, Hz) и временны́е периоды освещённости Солнцем нижних слоёв ионосферы (h < 90 км) в пунктах регистрации ОНЧ-сигнала. Приёмно-регистрирующая аппаратура, используемая на обсерваториях, выполнена по идентичной схеме и состоит из приёмника ОНЧ-диапазона со взаимно ортогональным расположением приёмных рамочных антенн [1] и последовательного анализатора спектра импульсных сигналов [2].
24.07.2026 СЭ №6/2026 222 0

  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться