Внутрішньосхемний USB-програматор-наладчик PICkit2
Для початку освоєння та практичного застосування мікроконтролерів розробнику необхідний доступний інструментарій. Компанія Microchip Technology Inc. випускає недорогий програматор початкового рівня PICkit2, схема та програмне забезпечення у вихідних кодах якого викладено на сайті www.microchip.com/pickit2. Розглянемо особливості та можливості цього USB-програматора.
Програматор PICkit2 з'єднується з комп'ютером широко поширеним інтерфейсом USB (програматор побудований на базі контролера PIC18F2550 USB 2.0). Через USB-порт також здійснюється оновлення прошивки програматора, тобто. за необхідності PICkit2 може оновити програмне забезпечення без застосування додаткових програматорів. Використання інтерфейсу USB дозволило програматору відмовитися від додаткового джерела живлення та отримувати живлення безпосередньо від USB-порту комп'ютера. PICkit2 має просту схемотехніку, що дозволяє вмістити його у невеликому брелоку (див. рис. 1).

Мал. 1.Зовнішній вигляд програматора PICkit2
Програматор PICkit2 служить для внутрішньосхемного програмування більшості Flash мікроконтролерів Microchip і з появою нових мікроконтролерів список підтримуваних пристроїв постійно розширюється. Типова схема підключення наведена на рис. 2.

| 1 | Vpp/MCLR - напруга програмування, сигнал скидання |
| 2 | Vdd - напруга живлення для програмованої схеми |
| 3 | Vss - "земляний" висновок |
| 4 | ICSPDAT/PGD - сигнал даних |
| 5 | ICSPCLK/PGC - сигнал тактування |
| 6 | AUX - допоміжний висновок, як правило, невикористовується |
Мал. 2.Типова схема внутрішньосхемного програмування
Програматор PICkit2 працює під управлінням власної оболонки або під управлінням середовища розробки MPLAB IDE. Під час роботи програматора під керуванням оболонки «PICkit2 Programmer» (рис. 3) PICkit2 дозволяє виконувати всі стандартні операції: прати, програмувати та перевіряти пам'ять програм та EEPROM, встановлювати захист коду, редагувати вміст Flash та EEPROM. Крім цих стандартних функцій, програматор PICkit2 дозволяє здійснювати низку додаткових та цікавих дій.

Мал. 3.Програма «RICkit2 Programmer»
Програматор PICkit2 є внутрісхемним програматором, тобто. підключається до плати або пристрою, що розробляється, в якому встановлений мікроконтролер. Тому такий пристрій може мати джерело живлення або отримувати живлення ззовні. Для пристроїв із зовнішнім живленням PICkit2 може формувати напругу живлення в діапазоні напруг від 2,5 до 5 з кроком 0,1 В. Це корисна особливість, т.к. Ви можете налагоджувати різні пристрої, не від'єднуючи програматора, а живлення пристрою буде здійснюватися від програматора.
Увага! USB-порт комп'ютера може видавати струм до 100 мА. Якщо підключений до PICkit2 пристрій споживає більший струм, USB-порт автоматично вимкнеться. Якщо вам потрібно отримати струм більше 100 мА, використовуйте зовнішнє джерело живлення.
Як правило, напруга USB шини становить 5 В. Однак для деяких комп'ютерів і ноутбуків напруга може відрізнятися. Для додатків, які вимагають високу точність, програматор PICkit2 має можливість калібрувати напругу, що видається у зовнішню схему.
Для пристроїв із зовнішнім скиданням оболонкапрограматора дозволяє керувати сигналом скидання мікроконтролера.
У меню "Tools" з'явилася можливість увімкнути опцію "Use VPP First Program Entry", це може знадобитися для контролерів, конфігурація яких і налаштування портів не дозволяє увійти в режим програмування (наприклад, для контролерів PIC12F675 з увімкненим внутрішнім скиданням і портами, підключеними до PGD та PGC, налаштованими на вихід). Спробуйте включити цю опцію, якщо програматор видає помилку перевірки конфігурації (Verification of configuration failed).

Мал. 4.Вікно UART Communication Tool програми PICkit 2 Programmer
Якщо ваш пристрій повинен спілкуватися з іншими пристроями UART, то ви можете використовувати PICkit2 як засіб налагодження послідовних протоколів. UART Communication Tool (див. рис. 4) дозволяє задавати швидкість до 38400 бод, і так само дозволяє:
- Отримувати налагоджувальну інформацію з мікроконтролера;
- вести лог даних, одержуваних від мікроконтролера, у текстовому файлі;
- Розробляти та налагоджувати послідовну передачу за інтерфейсом UART;
- Надсилати команди мікроконтролеру на етапі налагодження.
Щоб використовувати UART Communication Tool, потрібно з'єднати висновки мікроконтролера UART і програматора PICkit2 згідно з табл. 1.
Таблиця 1.З'єднання висновків UART-мікроконтролера та програматора PICkit2
| (1) VPP | - |
| (2) Vdd | Напруга живлення |
| (3) GND | GND |
| (4) PGD | TX UART - логічний рівень |
| (5) PGC | RX UART - логічний рівень |
| (6) AUX | - |
У версії оболонки 2.40 з'явилася можливість програмування мікросхем послідовної пам'яті з інтерфейсом I 2 C та SPI (24LCxxх, 25LCхxx та 93LCхxx) та ключів KeeLOQ.
Робота під середовищем розробки MPLAB IDE.

Мал. 5.Вікно середовища розробки MPLAB IDE, використання програматора PICkit 2 як внутрішньосхемний відладчик
Для внутрішньосхемного налагодження використовуються ті самі висновки мікроконтролера, що і для програмування, тому ніяких переробок у схемі не потрібно *. Для увімкнення режиму налагодження потрібно в меню Debugger ® Select Tool вибрати PICkit2.
Після з'єднання з мікроконтролером, що налагоджується, можна встановлювати точки зупинки, виконувати програму по кроках, спостерігати за зміною змінних у вікні Watch (див. рис. 6).

Мал. 6.Вікно середовища розробки MPLAB IDE, відстеження зміни змінних
Варіанти поставок PICkit2
Компанія Microchip Technology Inc. постачає програматор PICkit2 у різних комплектаціях (див. табл. 2).
Таблиця 2. Комплектація PICkit2
| PG164120 | програматор PICkit2 |
| DV164120 | програматор PICkit2 + демонстраційна плата з PIC16F690 |
| DV164121 | PICkit2 Debug Express (програматор PICkit2 + демонстраційна плата з PIC16F887) |
Комплект DV164120, крім програматора, містить демонстраційну плату із встановленим контролером PIC16F690 і, за рахунок сумісності за висновками, дозволяє працювати з будь-якими PIC-контролерами в корпусах DIP-8, DIP-14 та DIP-20 (див. рис. 7).

Мал. 7.Сумісність за висновками контролерів у 8-, 14- та 20-вивідних корпусах
Програматор-відладчик PICkit2 є дуже потужним і універсальним засобом налагодження для мікроконтролерів Microchip, але в той же час має доступну ціну і навіть, за бажання, може бути легко повторений за документацією, що надається Microchip. Програматор PICkit2 активно підтримується двома платформами: оболонкою PICkit2 та середовищем розробки MPLAB IDE, причому з кожним апгрейдом додаються все нові і нові функції, а здатність програматора оновлювати своє ПЗ дає можливість провести оновлення менше ніж за хвилину. Крім функцій програмування мікроконтролерів та мікросхем пам'яті, PICkit2 може використовуватися як налагоджувальний засіб, а саме — як внутрішньосхемний налагоджувач або як налагоджувач протоколів UART, і, сподіваємося, у наступних оновленнях Microchip порадує нас новими функціями!