Засоби програмування PIC-контролерів

Введення
PIC-контролерів залишаються популярними в тих випадках, коли потрібно створити недорогу компактну систему з низьким енергоспоживанням, не предъявляющую високих вимог щодо її управління. Ці контролери дозволяють замінити апаратну логіку гнучкими програмними засобами, які взаємодіють із зовнішніми пристроями через хороші порти.

Мініатюрні PIC контролери гарні для побудови перетворювачів інтерфейсів послідовної передачі даних для реалізації функцій «прийом – обробка – передача даних» і нескладних регуляторів систем автоматичного управління.

Компанія Microchip поширює MPLAB — безкоштовну інтегровану середу редагування і відладки програм, яка записує двійкові файли у мікроконтролери PIC через програматори.

Взаємодія MPLAB і Matlab/Simulink дозволяє розробляти програми для PIC-контролерів в середовищі Simulink — графічного моделювання й аналізу динамічних систем. У цій роботі розглядаються засоби програмування PIC контролерів: MPLAB, Matlab/Simulink і програматор PIC-KIT3 в наступних розділах.

• Характеристики мініатюрного PIC контролера PIC12F629
• Інтегрована середовище розробки MPLAB IDE
• Підключення Matlab/Simulink до MPLAB
• Підключення програматора PIC-KIT3

Характеристики мініатюрного PIC-контролера
Сімейство РІС12ххх містить контролери в мініатюрному 8–вивідному корпусі з вбудованим тактовим генератором. Контролери мають RISC–архітектуру і забезпечують виконання більшості команд процесора за один машинний цикл.

Для прикладу, нижче приведені характеристики недорогого компактного 8-розрядних контролера PIC12F629 з багатофункціональними портами, малим споживанням і широким діапазоном харчування [1].

• Архітектура: RISC
• Напруга живлення VDD: від 2,0 В до 5,5 В (< 6,5)
• Споживання:
— <1,0 мА @ 5,5 В, 4МГц
— 20 мкА (тип) @ 32 кГц, 2,0
— <1,0 мкА (тип) в режимі SLEEP@2,0
• Розсіює потужність: 0,8 Вт
• Багатофункціональні канали вводу/виводу: 6/5
• Максимальний вихідний струм портів GPIO: 125мА
• Струм через програмовані внутрішні підтягаючі резистори портів: ≥50 (250) ≤400 мкА @ 5,0
• Розрядність контролера: 8
• Тактова частота від зовнішнього генератора: 20 МГц
Тривалість машинного циклу: 200 нс
• Тактова частота від внутрішнього RC генератора: 4 МГц ±1%
Тривалість машинного циклу: 1мкс
• FLASH пам'ять програм: 1К
Число циклів стирання/запис: ≥1000
• Пам'ять даних ОЗП: 64
• EEPROM пам'ять даних: 128
Число циклів стирання/запис: ≥10K (-40оС ≤TA≤ +125 оС)
• Апаратні регістри спеціального призначення: 16
• Список команд: 35 інструкцій, всі команди виконуються за один машинний цикл,
крім команд переходу, виконуваних за 2 циклу
• Апаратний стек: 8 рівнів
• Таймер/лічильник ТМR0: 8-розрядний з переддільником
• Таймер/лічильник ТМR1: 16-розрядний з переддільником
Додаткові особливості:
• Скидання по включенню живлення (POR)
• Таймер скидання (PWRTтаймер очікування запуску генератора (OST
• Скидання по зниженню напруги живлення (BOD)
• Сторожовий таймер WDT
• Мультиплексируемый висновок -MCLR
• Система переривань по зміні рівня сигналу на входах
• Індивідуально програмовані для кожного входу підтягуючі резистори
• Програмована захист входу
• Режим зниженого енергоспоживання SLEEP
• Вибір режиму роботи тактового генератора
• Внутрішньосхемного програмування ICSP з використанням двох висновків
• Чотири користувальницькі ID осередку
Гранична робоча температура для Е виконання (розширений діапазон) від -40оС до +125 оС;
Температура зберігання від -65оС до +150 оС.

Технологія КМОП контролера забезпечує повністю статичний режим роботи, при якому зупинка тактового генератора не призводить до втрати логічних станів внутрішніх вузлів.
Мікроконтролер PIC12F629 має 6-розрядний порт вводу/виводу GPIO. Один висновок GP3 порту GPIO працює тільки на вхід, решта висновки можна використовувати для роботи як на вхід і на вихід. Кожен висновок GPIO має індивідуальний біт дозволу переривань по зміні рівня сигналу на входах і біт включення внутрішнього підтягуючого резистора.

Інтегрована середовище розробки MPLAB IDE

MPLAB IDE — безкоштовна інтегрована середовище розробки для мікроконтролерів PIC включає засоби для створення, редагування, налагодження, трансляції і компонування програм, записи машинного коду в мікроконтролери через програматори.

Завантаження MPLAB IDE

Безкоштовні версії MPLAB (включаючи MPLAB 8.92) зберігаються на сайті компанії Microchip в розділі «DOWNLOAD ARCHIVE».

Створення проекту

Приклад створення проекту програм PIC контролера в середовищі MPLAB включає наступні кроки [2].

1. Виклик менеджера проекту.


2. Вибір типу PIC мікроконтролера.


3. Вибір компілятора, наприклад, Microchip MPASM для асемблера.


4. Вибір шляху до каталогу проекту (клавіша Browse...) і введення імені проекту.

5. Підключення файлів до проекту у вікні Project Wizard → Step Four можна не виконувати. Це можна зробити пізніше, всередині активного проекту. Клавіша Next відкриває наступне вікно.

6. Завершення створення проекту (клавіша Finish).

В результаті створення проекту FirstPrMPLAB інтерфейс MPLAB приймає вигляд, показаний на Рис. 1.


Рис. 1. Інтерфейс середовища MPLAB v8.92 шаблон проекту.

Створення файлу програми
Програму можна створити за допомогою будь-якого текстового редактора. В MPLAB є вбудований редактор, який забезпечує ряд переваг, наприклад, оперативний лексичний аналіз вихідного тексту, в результаті якого у тексті кольором виділяються зарезервовані слова, константи, коментарі, імена, визначені користувачем.

Створення програми в MPLAB можна виконати в такій послідовності.

1. Відкрити редактор програм: меню → File → New. Спочатку програмі присвоєно ім'я Untitled.

2. Набрати або скопіювати програму, наприклад, на асемблері.

3. Зберегти програму під іншим ім'ям (меню → File → Save As), наприклад, FirstPrMPLAB.asm.


Рис. 2. Приклад найпростішої програми на асемблері) виведення сигналів через порти контролера GP0, GP1, GP2, GP4, GP5 на максимальній частоті.

Запис '1' в розряді регістру TRISIO переводить відповідний вихідний буфер у 3-е стан, в цьому випадку порт GP може працювати тільки на вхід. Установка нуля TRISIO налаштовує роботу порту GP на вихід.

Примітка. По специфікації PIC12F629 порт GP3 мікроконтролера працює тільки на вхід (відповідний біт регістра TRISIO не скидається – завжди знаходиться в '1').

Регістри TRISIO і GPIO знаходяться в різних банках області пам'яті. Перемикання банків виконується 5-м біт регістра STATUS.

Будь-яка програма на асемблері починається директивою org і закінчується директиви end. Перехід goto Metka забезпечує циклічне виконання програми.

В програмі (Рис. 2) використовуються наступні позначення.

Директива LIST — призначення типу контролера
Директива __CONFIG — установка значень бітів конфігурації контролера
Директива equ — привласнення числового значення
Директива org 0 — початок виконання програми з адреси 0
Команда bsf — встановлює біт зазначеного регістра в 1
Команда bсf — скидає біт зазначеного регістра в 0
Команда movlw — записує константу в регістр W
Команда movwf — копіює вміст регістра W у вказаний регістр
Команда goto — забезпечує перехід без умови на рядок з міткою
Директива end — кінець програми
Установка необхідної конфігурації мікроконтролера
Конфігурація мікроконтролера PIC12F629 залежить від налаштувань слова конфігурації (2007h), які можна встановити в програмі через директиву __CONFIG.

Безпосередньо або через вікно MPLAB: меню → Configure → Configuration Bits:



Де:
Біт 2-0 — FOSC2:FOSC0. Вибір тактового генератора
111 — Зовнішній RC генератор. Підключається до висновку GP5. GP4 працює як CLKOUT
110 — Зовнішній RC генератор. Підключається до висновку GP5. GP4 працює як ввід/вивід
101 — Внутрішній RC генератор 4МГц. GP5 працює як ввід/вивід. GP4 — як CLKOUT
100 — Внутрішній RC генератор 4МГц. GP5 і GP4 працюють як ввід/вивід
011 — EC генератор. GP4 працює як ввід/вивід. GP4 — як CLKIN
010 — HC генератор. Резонатор, що підключається до GP4 і GP5
001 — XT генератор. Резонатор, що підключається до GP4 і GP5
000 — LP генератор. Резонатор, що підключається до GP4 і GP5

Біт 3 — WDTE: налаштування сторожового таймера (Watchdog Timer)
1 — WDTE включений
0 — WDTE вимкнений

Сторожовий таймер оберігає мікроконтролер від зависання – запускає програму через певний інтервал часу якщо таймер не був скинутий. Період таймера встановлюється в регістрі OPTION_REG. Обнулення сторожового таймера викликається командою CLRWDT.

Біт 4 — PWRTE: Дозвіл роботи таймера включення живлення:
1 — PWRT вимкнений
0 — PWRT включений

Таймер затримує мікроконтролер у стані скидання при подачі живлення VDD.

Біт 5 — MCLR: Вибір режиму роботи виводу GP3/-MCLR
1 — працює як -MCLR
0 — працює як порт вводу-виводу GP3

Біт 6 — BODEN: Дозвіл скидання по зниженню напруги живлення (як правило < 2.0)
1 — дозволено скидання BOR
0 — заборонено скидання BOR автоматично включається таймер

При вирішенні скидання BOR автоматично включається таймер PWRT

Біт 7 — .CP: Біт захисту пам'яті програм від читання програматором
1 Захист вимкнена
0 Захист включена

При виключення захисту вся пам'ять програм стирається

8 Біт — .CPD: Біт захисту EPROM пам'яті даних
1 Захист вимкнена
0 Захист включена

Після вимкнення захисту вся інформація буде стерта

Біт 11-9 — Не використовуються: Читається як '1'.

Біт 13-12 — BG1:BG0. Біти калібрування скидання по зниженню харчування
00 — нижня межа калібрування
11 — верхня межа калібрування
Додавання програми до проекту

Приклад додавання програми до проекту показаний на (Рис. 3).


Рис. 3. Додавання програми FirstPrMPLAB.asm до проекту FirstPrMPLAB.mcp

Зберегти матеріали проекту можна командою: меню → File → Save Workspace.

Компіляція
Щоб створити бінарний файл з розширенням hex для прошивки мікроконтролера необхідно відкомпілювати проект. Запуск компіляції виконується командою меню → Project → Build All. Результати компіляції можна побачити у вікні Output (Рис. 1). Якщо в програмі немає помилок, то компілятор видає повідомлення про успішної компіляції: BUILD SUCCEEDED, завантажувальний HEX файл можна знайти в робочому каталозі:


Отладка програми
Налагодження програми в середовищі MPLAB IDE можна виконати за допомогою апаратного емулятора MPLAB REAL ICE або програмного симулятора MPLAB SIM. Запуск останнього виконується як показано на Рис. 4.


Рис. 4. Підключення до симулятору MPLAB SIM для відлагодження програми.

Після запуску відладчика у вікні Output (Рис. 1) з'являється закладка MPLAB SIM, куди MPLAB виводить поточну інформацію відладчика. Команди налагоджувач (Рис. 5) після запуску стають активними.


Рис. 5. Команди відладчика.

Команди відладчика:

• Run — Безперервне виконання програми до точки зупинки (Breakpoint) якщо така встановлена.
• Halt — Зупинка програми на поточному кроці виконання.
• Animate — Анімація безперервного виконання програми.
• Step Into — Виконання по кроках (виклики Call виконуються за один крок).
• Step Over — Виконання по кроках включаючи команди викликів Call.
• Reset — Початкова установка програми. Перехід вказівника на першу команду.
• Breakpoints — Відображення точок зупину. Обробка списку.

При виконанні програми по кроках поточний крок виділяється стрілкою (Рис. 6). Безперервне виконання програми зупиняється командою Halt або досягненням програмою точки зупину. Точка зупинки встановлюється/знімається в рядку програми подвійним клацанням.
Приклад програми на асемблері, яка з максимальною швидкістю змінює стан портів контролера показаний на Рис. 6 (праворуч). Програма передає в регістр портів GPIO дані b'10101010' і b'01010101'. Оскільки в регістрі GPIO передачу даних в порти контролера виконують не всі розряди, а тільки 0,1,2,4 5, стан регістра GPIO (Рис. 6, зліва) відрізняється значеннями: b'00100010' і b'00010101'.


Рис. 6. Стан регістрів спеціального призначення контролера на момент виконання програми (ліворуч) і виконується по кроках програма (праворуч).

В процесі відладки, можна спостерігати за станом регістрів, змінних, пам'яті у відповідних вікнах, що відкриваються у розділі View основного меню. В процесі відладки, можна вносити зміни в код програми, вміст регістрів, пам'яті, змінювати значення змінних. Після зміни коду необхідно перекомпілювати програму. Зміна вмісту регістрів, пам'яті і значення змінних (вікна розділу View: Special Function Register, File Register, EEPROM, Watch) не вимагає перекомпіляції.

Вхідні сигнали портів моделі микроконтоллера можна задати в розділі Debugger → Stimulus. Встановлюються стану сигналів портів прив'язуються до часу (тактів) налагодження.

Іноді результати виконання програми в режимі налагодження не відповідають виконанню цієї програми в реальному контролері, так, наприклад, налагодження програми (Рис. 6) без інструкцій movlw 0x07 і movwf cmcon показує, що виходи GP0 і GP1 регістра GPIO не змінюються — знаходяться в нульовому стані, вміст регістра GPIO поперемінно одно 0x14 і 0х20. Однак, контролер, який виконує програму без зазначених інструкцій, показує на осцилографі циклічну роботу всіх п'яти виходів: 0x15 і 0х22, включаючи GP0 і GP1 (див. Рис. 7).

Осцилограми контролера, який виконує цикли програми Рис. 6 (Metka… goto Metka) показано на Рис. 7.


Рис. 7. Осцилограми виходу GP0 (ліворуч) і GP1 (праворуч) мікроконтролера PIC12F629, що працює від внутрішнього 4МГц RC генератора. Програма (Рис. 6) формує сигнали максимальної частоти на всіх виходах контролера. За період сигналів 5.3 мкс виконується 5 команд (6 машинних циклів), амплітуда GP0 сигналу на осцилограмі дорівнює 4.6, виміряне програматором живлення контролера 4.75 Ст.

Прошивка мікроконтролера
Для запису програми в мікроконтроллер (прошивки контролера) необхідно мікроконтролер підключити до інтегрованої середовищі MPLAB IDE через програматор. Організація підключення показана нижче в розділі «Підключення програматора PIC-KIT3».

Примітка. В контролер PIC12F629 записана заводська калібрувальна константа налаштування частоти внутрішнього тактового генератора. При необхідності її можна прочитати і відновити засобами MPLAB з використанням програматора.

Команди для роботи з програматором і зміни його параметрів знаходяться в меню MPLAB Programmer. Тип програматора в MPLAB вибирається в розділі: меню → Programmer → Select Programmer.


Рис. 8. Вибір програматора для підключення до середовищі MPLAB.

Прошивка мікроконтролера через програматор запускається командою: меню → Programmer → Program. Повідомлення про успішну прошивці показано на Рис. 9.


Рис. 9. Запуск прошивки мікроконтролера і вид повідомлення про успішну прошивці.

Примітка: Під час прошивки мікроконтролера у програматора PIC-KIT3 блимає жовтий світлодіод.

Підключення MATLAB/SIMULINK до MPLAB
В системі моделювання динамічних систем Simulink (додаток до Matlab) мовою графічного програмування [7] можна розробляти програми для сімейства PIC контролерів мають АЦП/ЦАП, лічильники, таймери, ШІМ, DMA, інтерфейси UART, SPI, CAN, I2C та ін

Приклад Simulink програми PIC контролера показаний на Рис. 10.


Рис. 10. Приклад програми на мові графічного програмування для PIC контролера виконаної в середовищі моделювання динамічних систем Simulink.

Взаємодія засобів розробки і компіляції програм для PIC контролерів в Simulink показано на Рис. 11 [6].


Рис. 11. Структура засобів побудови адекватної моделі PIC контролера мовою графічного програмування.

Для побудови середовища розробки необхідні наступні компоненти Matlab:

• Simulink
• Real-Time Workshop Embedded Coder
• Real-Time Workshop

І компілятор Сі компанії Microchip:

• C30 для контролерів PIC24, dsPIC30 і PIC33
• або C32 для контролерів серії PIC32

Установка компонентів Matlab
сайт є Simulink бібліотеки (dsPIC Toolbox) для PIC контролерів і версій Matlab c R2006a за R2012a:

Для скачування бібліотеки необхідно зареєструватися. Програми підтримують роботу 100 мікроконтролерів з серій PIC 16MC, 24F, 30F, 32MC, 33F, 56GP, 64MC, 128MC, 128GP.
Безкоштовні версії працюють з Simulink моделями PIC контролерів мають до 7 портів введення-виведення.

Для установки dsPIC Toolbox — бібліотеки блоків PIC контролерів для Matlab/Simulink необхідно [4]:

• Завантажити dsPIC Toolbox для потрібної версії Matlab.
• Розпакувати zip файл в папці, в якій будуть встановлені Simulink блоки.
• Запустити Matlab.
• Налаштувати поточний каталог Matlab на папку з розпакованим файлом.
• Відкрити і запустити файл install_dsPIC_R2012a.m, наприклад, кнопкою меню або клавішею клавіатури.

Бібліотеки dsPIC і приклади моделей Simulink встановлюються в поточну папку Matlab (Рис. 12). Встановлені блоки для моделювання PIC контролерів доступні в розділі Embedded Target for Microchip dsPIC бібліотеки Simulink (Рис. 13).


Рис. 12. Вміст поточного каталогу після виконання install_dsPIC_R2012a.m.


Рис. 13. Блоки, встановленої бібліотеки «Target for Embedded Microchip dsPIC».

Для спільної компіляції моделі засобами Simulink Matlab і MPLAB необхідно прописати у змінній оточення path Matlab з вищим пріоритетом шлях до каталогу MPLAB з файлами MplabOpenModel.m, MplabGetBuildinfo.m і getHardwareConfigs.m:

>> path('c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\',path) 

Установка Сі компілятора MPLAB
Компілятори MPLAB знаходяться на сайті Microchip (Download Archive → MPLAB C Compiler for PIC24 and dsPIC DSCs). Для установки демонстраційної версії компілятора С30 необхідно його завантажити за посиланням PIC24/dsPIC v3.25 (Рис. 14) і запустити прийнятий файл mplabc30-v3.25-comboUpgrade.exe.


Рис. 14. Версії компілятора Сі (ліворуч) і режими його установки (праворуч).

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

Інсталяційний exe файл створює в розділі c:\Program Files (x86)\Microchip\ новий каталог mplabc30 з файлами:


Рис. 15. Каталоги компілятора C30 MPLAB.

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

1. Створіть робочий каталог і скопіювати в нього *.mdl приклади з розділу example (див. Рис. 12).
2. Завантажте Matlab. Налаштуйте його на робочий каталог.
3. Включіть в змінну оточення path Matlab з вищим пріоритетом шлях до MPLAB — каталогу c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\:

>> path('c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\',path) 

Примітка: Використання команди >>path без аргументів призводить до відображення списку шляхів змінної path у вікні команд (Command Window). Видалити шлях зі змінної path можна командою rmpath, наприклад:

>>rmpath(' c:\Program Files\Microchip\MPLAB IDE\Tools\MATLAB\')

4. Створіть Simulink модель для PIC контролера, використовуючи блоки бібліотеки «Target for Embedded Microchip dsPIC» (Рис. 13), або завантажте готову модель, наприклад, Servo_ADC.mdl.

Тип контролера, для якого розробляється Simulink модель, вибирається зі списку в блоці Master > РІ (Рис. 16, Рис. 10), який повинен бути включений до складу моделі.


Рис. 16. Вибір типу контролера в блоці Master моделі.

5. Перевірте налаштування конфігурації моделі: Меню → Simulation → Configuration Parameters <Ctrl+E>. У рядку введення System target file розділу Code Generation повинен бути вказаний компілятор S-функцій dspic.tlc (Рис. 17). Вибір dspic.tlc налаштовує всі інші параметри конфігурації моделі, включаючи крок і метод інтегрування.


Рис. 17. Вибір компілятора S-функцій dspic.tlc для моделей PIC-контролерів у розділі «основне меню → Simulation → Configuration Parameters → Code Generation».

6. Откомпилируйте модель tmp_Servo_ADC.mdl. Запуск компілятора показаний на Рис. 18.


Рис. 18. Запуск компілятора Simulink моделі.

В результаті успішної компіляції (повідомлення: ### Successful completion of build procedure for model: Servo_ADC) у поточному каталозі створюються HEX файл для прошивки PIC контролера і MCP проект середовища MPLAB (Рис. 19).


Рис. 19. Результати компіляції моделі.

Запуск моделі в Matlab/Simulink виконується у вікні моделі кнопкою, умовний час моделювання встановлюється в рядку:


Управління компіляцією Simulink моделей з середовища MPLAB

Управління компіляцією Simulink моделі можна виконувати командами розділу Matlab/Simulink середовища MPLAB, наприклад, в наступному порядку.

1. Розробіть модель PIC контролера в Matlab/Simulink. Збережіть модель.
2. Запустіть MPLAB.
3. Виберіть MPLAB меню → 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.
В результаті створюється проект MPLAB:



зі скриптами моделі на мові Сі.

6. Відкрийте проект: меню → Project → Open → Servo_ADC.mcp (Рис. 20).


Рис. 20. Структура MCP проекту Simulink моделі Servo_ADC.mdl в середовищі MPLAB.
Проект Simulink моделі готовий для редагування, налагодження та компіляції в машинні коди контролера засобами MPLAB.


Підключення програматора PIC-KIT3
Дізнатися, які програматори записують бінарний код у конкретний мікроконтроллер можна в розділі меню → Configure → Select Device середовища MPLAB 8.92. Наприклад, програматор PIC-KIT3 не підтримує контролер PIC12C508A (Рис. 21, лівий рисунок), але працює з контролером PIC12F629 (Рис. 21, правий малюнок).


Рис. 21. Перелік програматорів для прошивки мікроконтролера.

Інформацію про встановленому драйвері програматора PIC-KIT3 можна запитати у менеджера пристроїв ОС Windows (Рис. 22).


Рис. 22. Інформація про встановленому драйвері програматора PIC-KIT3.

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


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

Висновок PGM програматора для прошивки контролера PIC12F629 не використовується. Наявність висновку PGM для різних типів PIC контролерів показано на Рис. 24. Висновок PGM рекомендується «притягувати» до загального проводу (GND), через резистор номіналом 1К [3].


Рис. 24. Висновки PGM PIC контролерів.

Індикація світлодіодів програматора Olimex PIC-KIT3 показана нижче:

Жовтий — Червоний — Стан програматора
Вкл — Викл — Підключений до USB лінії
Вкл — Вкл — Взаємодія з MPLAB
Блимає — Включений постійно — Прошивка мікроконтролера
Не слід підключати живлення мікроконтролера VDD (Рис. 23) до програматора, якщо контролер живиться від свого джерела живлення.

При харчуванні від мікроконтролера програматора на лінії VDD необхідно встановити робоча напруга, наприклад, 5В програмою MPLAB (Menu → Programmer → Установки → Power), як показано на Рис. 25.

Примітка. При відсутності напруги на лінії VDD MPLAB IDE видає повідомлення про помилку: PK3Err0045: You must connect to a target device to use


Рис. 25. Встановлення напруги VDD на програматорі PIC-KIT3 програмою MPLAB IDE v8.92.

Якщо програматор не може встановити необхідну напругу, наприклад, 5В при його живленні від USB, в якій напруга менше 5В, MPLAB IDE видає повідомлення про помилку: PK3Err0035: Failed to get Device ID. У цьому випадку, спочатку необхідно виміряти напругу програматора — вважати його в закладці меню → Programmer → Установки → Status, а потім встановити напругу (не більше виміряного) в закладці меню → Programmer → Установки → Power.


Рис. 26. Вимірювання (ліворуч) та встановлення (праворуч) VDD напруги програматора PIC-KIT3 програмою MPLAB IDE v8.92.

Приклад MPLAB повідомлення успішного підключення мікроконтролера до програматора по команді меню → Programmer → Reconnect показаний на Рис. 27.


Рис. 27. Повідомлення MPLAB про успішне підключення мікроконтролера до програматора.

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


Рис. 28. Підключення мікроконтролера у складі електронного пристрою до програматора.

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

Бібліографічний список1. PIC12F6XX. Однокристальні 8-розрядні FLASH CMOS мікроконтролери компанії Microchip Technology Incorporated. PIC12F629, PIC12F675. ТОВ «Мікро-чіп». Москва – 2002.
2. Microchip. MPLAB IDE. User's Guide with MPLAB Editor and MPLAB SIM Simulator
3. ICSP — Внутрішньосхемного програмування PIC-контролерів DOC Rev 1.03 (останнє оновлення 19.05.2005)
4. MPLAB IDE Help: MATLAB.
5. Introduction to Microchip-SIMULINK Blocksets and MATLAB Plug-in for MPLABIDE Produced by Murali Manohara Chembarpu.
6. Embedded Target for 16 bits PIC.
7. Dr. Bob Davidov. Портал науково-практичних публікацій
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.