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

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

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

15.05.2017 919 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 919 0
Комментарии
Рекомендуем

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