Установка Си-компилятора 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, например, в следующем порядке.
- Разработайте модель PIC-контроллера в MATLAB Simulink. Сохраните модель.
- Запустите MPLAB.
- Выберите Tools > MATLAB/Simulink и новый раздел появится в составе меню.
- В разделе Matlab/Simulink откройте Simulink-модель, например, Servo_ADC, командой Matlab/Simulink > Specify Simulink Model Name > Open > File name > Servo_ADC.mdl > Open. Команда Open запускает MATLAB и открывает модель.
- Откомпилируйте модель и создайте MCP-проект командами Generate Codes или Generate Codes and Import Files. Перевод MDL-модели в MCP-проект выполняется TLC-компилятором MATLAB.
- В результате создаётся проект MPLAB с расширением MCP, который включает скрипты модели на языке Си.
- Откройте проект: 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-контроллеров с достаточными ресурсами.
Литература
- www.microchip.com/mplab/mplab-x-ide > Download Archive > MPLAB C Compiler for PIC24 and dsPIC DSCs.
- ICSP. Внутрисхемное программирование PIC-контроллеров DOC Rev 1.03 (последнее обновление 19.05.2005). www.5v.ru/icsp.htm.
Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

