Внутрісхемний програматор-відладчик
Призначення і можливості внутрисхемного програматора-відладчика
# 160 # 160 # 160Программатор-відладчик призначений для програмування контролера демонстраційного (або іншого) пристрої і налагодження програми в працюючій схемі. Використовуючи можливість внутрішньосхемною налагодження (ICD), вбудовану в кристали мікроконтролерів сімейства PIC16F87x, а також протокол внутрисхемного послідовного програмування фірми Microchip (ICSP), програматор-відладчик - є програматором і внутрісхемним отладчиком одночасно. Він спеціально призначений для використання як допомоги при ознайомленні і налагодженні коду в складі лабораторії.
# 160 # 160 # 160Программатор-відладчик має наступні функції:
# 160 # 160 # 160Модуль програматора-відладчика містить всю необхідну логіку для налагодження, програмування і управління. Програматор-відладчик підключається до послідовного (COM) порту ЕОМ з використанням інтерфейсу RS232. До отлаживаемому пристрою він підключається через 5-контактний роз'єм.
# 160 # 160 # 160Модуль програматора-відладчика містить PIC-контролер PIC16F876 з прошивкою, що забезпечує послідовну зв'язок між комп'ютером і мікроконтролером, що знаходяться в отлаживаемой платі, і його внутрішньосхемне програмування по протоколу ICSP. Все це проводиться під управлінням інтегрованої середовища розробки MPLAB. Модуль живиться від напруги харчування отлаживаемой плати з максимальним струмом споживання 70 (мА).
Ресурси використовуються программатором-отладчиком
# 160 # 160 # 160Іспользуя функцію внутрішньосхемною налагодження (ICD) вбудовану в кристали PIC16F87X і функцію послідовного внутрисхемного програмування (ICSP) забезпечуються отладчиком, програматор буде використовувати такі ресурси отлаживаемого кристала:
Таблиця 1 - Пам'ять даних і програм, що використовується программатором-отладчиком
Розробка структурної схеми програматора-відладчика
# 160 # 160 # 160Реалізовать функції, якими володіє модуль вибору програм, можна за допомогою з'єднання типового набору схем. Структурна схема модуля програматора приведена на рисунку 1.
# 160 # 160 # 160Она складається з наступних блоків:
- роз'єм інтерфейсу RS232 необхідний для з'єднання модуля програматора з комп'ютером. Через нього здійснюється зв'язок модуля з комп'ютером, забезпечуючи тим самим передачу даних з комп'ютера в демонстраційне пристрій, і навпаки.
- блок перетворення рівнів сигналів необхідний для сумісності логічних рівнів ТТЛ і логічних рівнів RS232 інтерфейсу. Працює в двох напрямках: від комп'ютера до модуля програматора і навпаки від модуля до комп'ютера.
- мікроконтролер PIC16F876 призначений для забезпечення послідовної зв'язку між комп'ютером і мікроконтролером, що знаходяться в отлаживаемой платі, а так само його внутрисхемного програмування по протоколу ICSP.
- схема тактирования необхідна для виконання інструкцій мікроконтролера і роботі периферійних модулів.
- блок перетворення напруги з 5В в 13,5В використовується для отримання напруги програмування мікроконтролера в демонстраційній платі.
- блок формування напруги управління режимом роботи контролера демонстраційного пристрою призначений для своєчасної подачі необхідної напруги на вхід MCLR / Vpp мікроконтролера в демонстраційному пристрої. Напруга в 0В переводить мікроконтролер в режим скидання. Напруга в 5В переводить мікроконтролер в нормальний режим роботи. Напруга в 13,5В переводить мікроконтролер в режим програмування.
- блок індикації режиму роботи. Цей блок виконує функцію індикації режиму роботи програматора-відладчика. Модуль програматора може перебувати в двох режимах роботи. Якщо світлодіод горить постійно - це означає, що програма MPLAB виявила модуль вибору програм і він готовий до роботи. Якщо ж світлодіод блимає, то, отже, програма MPLAB не виявлено модуль і він не готовий до роботи.
- блок перетворення рівнів сигналів необхідний для сумісності логічних рівнів ТТЛ і логічних рівнів RS232 інтерфейсу. Працює в двох напрямках: від комп'ютера до модуля програматора і навпаки від модуля до комп'ютера.
- роз'єм до отлаживаемой схемою призначений для з'єднання плати модуля програматора з демонстраційним пристроєм.

Малюнок 1. Структурна схема програматора-відладчика.
Розробка принципової схеми модуля програматора-відладчика
# 160 # 160 # 160Следующім етапом, після складання структурної схеми модуля програматора-відладчика, слід складання його принципової схеми. Спроектуємо схеми кожного блоку окремо.
# 160 # 160 # 160 Блок перетворення рівнів сигналів
# 160 # 160 # 160В якості перетворювача логічних рівнів сигналів, що передаються, будемо використовувати мікросхему фірми MAXIM - MAX232. Стандартна схема включення мікросхеми представлена на малюнку 2.

Малюнок 2. Стандартна схема включення мікросхеми MAX232.
# 160 # 160 # 160К основними характеристиками мікросхеми відноситься:
- гарантована швидкість передачі даних 120kbps;
- використання одного джерела живлення напругою 5В.
# 160 # 160 # 160Параметри конденсаторів C1, ..., С5 вибираються рівними 1мкФ. Конденсатори необхідно використовувати керамічні.
# 160 # 160 # 160Работа мікросхеми полягає в наступному. Мікросхема складається з двох DC / DC перетворювачів напруги. Перший перетворює напругу +5 В в напругу +10 В, а другий перетворювач інвертує напругу +10 В, отримуючи тим самим напругу 10В. Це дає можливість використовувати тільки одне джерело живлення напругою +5 В. Інша частина мікросхеми, використовуючи отримані напруги, перетворює логічні рівні ТТЛ в логічні рівні RS232, і навпаки логічні рівні RS232 в логічні рівні ТТЛ.
# 160 # 160 # 160 Блок перетворення напруги
# 160 # 160 # 160Блок перетворення напруги з 5В в 12В, необхідний для отримання напруги програмування мікроконтролера знаходиться в демонстраційному пристрої.
# 160 # 160 # 160Блок побудований за схемою підвищувального імпульсного стабілізатора напруги. На його виході виходить напруга близько 21В. Далі по схемі ставиться мікросхема 78L12, яка представляє собою стабілізатор напруги на 12В. Схема представлена на малюнку 3.

Малюнок 3. Принципова схема блоку перетворення напруги.
# 160 # 160 # 160Промоделіруем схему перетворення напруги в пакеті MicroCap 7.1
# 160 # 160 # 160Алгорітм роботи схеми полягає в наступному. На базу транзистора VT3 контролер в потрібні моменти часу формує імпульси напруги, отпирающие цей транзистор. У колектор цього транзистора включена індуктивність L1. В результаті самоіндукції, на колекторі транзистора формуються викиди напруги, позитивна складова яких безперешкодно проходить через діод VD5 і заряджає конденсатори С10 і С11. Далі цикл повторюється в такій же послідовності, тільки з кожним імпульсом напруга на конденсаторах С10 і С11 підвищується відносно попереднього значення.
# 160 # 160 # 160Значеніе індуктивності і ширина / частота проходження імпульсів підібрані таким чином, щоб рівень напруги на конденсаторах C10 і C11 в "холостому" режимі становив орієнтовно + 21В.
# 160 # 160 # 160Далее, для перетворення цієї напруги в напругу програмування (+ 13,5В) використовується мікросхема стабілізатора напруги, з постійним вихідним напругою + 12В, а також ланцюжок з діода VD6 і резистора R34 здійснює "підставку напруги". Напруга на діоді VD6 і резистори R34 становить близько 1,5 В.
# 160 # 160 # 160На малюнку 4 представлені тимчасові діаграми в точках 1 і 2 схеми показаної на малюнку 3.

Малюнок 4. Блок формування напруги управління режимом роботи контролера демонстраційної плати.
# 160 # 160 # 160 Блок формування напруги управління режимом роботи контролера демонстраційної плати
# 160 # 160 # 160Етот блок призначений для формування напруги управління режимом роботи мікроконтролера в демонстраційному пристрої. Принципова схема блоку представлена на малюнку 5.

Малюнок 5. Принципова схема блоку формування напруги.
# 160 # 160 # 160Работа схеми полягає в наступному. Мікроконтролер демонстраційного пристрою може перебувати в трьох режимах роботи: режим скидання, режим нормальної роботи контролера, і режим програмування. Залежно від необхідності встановити контролер в той чи інший режим роботи, на виводі (4), відповідно до рисунка 5, встановлюється певний напруги. Так при скиданні мікроконтролера це напруга становить 0В. У нормальному режимі роботи, на цьому висновку формується напруга 5В, а при програмуванні мікроконтролера напруга встановлюється в 13,5В.
# 160 # 160 # 160Для того щоб формувати ці напруги, використовуємо схему на транзисторних ключах.
# 160 # 160 # 160Рассмотрім роботу схеми більш докладно. Висновки (1) і (3) з'єднані з висновками мікроконтролера програматора-відладчика, RC1 і RC5 відповідно. Вхід (2) підключений до виходу блоку перетворення напруги, з якого виходить напруга 13,5В. На вхід (5) подається напруга 5В. На виході (4) нам і необхідно формувати керуючі напруги.
# 160 # 160 # 160Для формування напруга 0В, тобто з'єднати висновок (4) із загальним провідником схеми, на вхід (3) необхідно подати логічну "1", а на вхід (1) логічний "0". Транзистор VT4 в цей момент відкривається, тим самим закорачівая висновок (4) із загальним провідником схеми. В результаті цього напруга на виводі становитиме 0В.
# 160 # 160 # 160Для формування напруга 5В, необхідного для нормального режиму роботи контролера, на обидва входи (1) і (5), подається сигнал логічного "0". Таким чином, всі транзистори знаходяться в закритому стані, а напруга 5В проходить через діод VD2 і резистори R26, R27 і далі вже надходить на вихід (4).
# 160 # 160 # 160Повишеніе напруги до рівня 13,5В, здійснюється шляхом подачі логічної "1", на вхід (1). Транзистор VT1 відкривається, а отже на базу транзистора VT2 подається сигнал низького рівня, тим самим відкриваючи цей транзистор. Далі, напруга, що подається на еммітер транзистора, проходить через резистор R27 на вихід (4).
# 160 # 160 # 160 Блок індикації режиму роботи
# 160 # 160 # 160Схема цього блоку дуже проста, так само як і функція виконувана їм. Відповідно до малюнком 6, можна відзначити що резистор R20 приєднаний до висновку мікроконтролера RB2, з якого і здійснюється управління світлодіодом VD1.
# 160 # 160 # 160Очень важливо відзначити, що цей блок так само є генератором опорного напруги. Згідно з цим, резистори й сам світлодіод підібрані таким чином, що на світлодіоді в момент його світіння утворюється падіння напруги рівного 2В. Резистори в схемі підберіть за допомогою тестера, як можна ближче до номіналу, а світлодіод візьміть типу АЛ307. В результаті у мене вийшла точність до десятий часткою вольта - 2.0В, або навіть до сотих - не пам'ятаю вже.

Малюнок 6. Схема блоку індикації режиму роботи.
# 160 # 160 # 160 Складання всієї схеми внутрисхемного програматора-відладчика
# 160 # 160 # 160Ніже на малюнку 7 представлена повна схема внутрисхемного програматора-відладчика.

Малюнок 7. Схема внутрисхемного програматора-відладчика.
Розробка друкованої плати внутрисхемного програматора-відладчика
# 160 # 160 # 160Ніже на малюнках 8 і 9 представлені вид з низу і з верху плати внутрисхемного програматора-відладчика.

Малюнок 8. Друкована плата внутрисхемного програматора-відладчика. Вигляд знизу.

Малюнок 9. Друкована плата внутрисхемного програматора-відладчика. Вид зверху.
# 160 # 160 # 160Сборочний креслення плати внутрисхемного програматора-відладчика представлений на малюнку 10.

Малюнок 9. Складальне креслення плати внутрисхемного програматора-відладчика.
# 160 # 160 # 160Переходи між сторонами плати спроектовані таким чином, що б їх легко було реалізувати в домашніх устловіях. При травленні плати необхідно ретельно простежити, що б обидві сторони були симетричні відносно один одного. Потім з точках переходу сверлится отвір і припаюється маленька зволікання, наприклад одна з жилок багатожильного дроту. виходить дуже акуратно і швидко. Для кращого розуміння суті справи, нижче представлені фотографії зібраного програматора-відладчика.

Малюнок 10. Фотографія №1 внутрисхемного програматора-відладчика.

Малюнок 11. Фотографія №2 внутрисхемного програматора-відладчика.

Малюнок 12. Фотографія №3 внутрисхемного програматора-відладчика.

Малюнок 13. Фотографія №4 внутрисхемного програматора-відладчика.
Малюнок 14. Фотографія №5 внутрисхемного програматора-відладчика.

Малюнок 15. Фотографія №6 внутрисхемного програматора-відладчика.
Програмне забезпечення програматора-відладчика
# 160 # 160 # 160Внутрісхемний програматор відладчик працює в комплексі з програмою MPLAB. Версія програми повинна бути не вище 5.7, так як в наступних версіях йде підтримка внутрисхемного програматора-відладчика, здатного працювати як з контролерами серії PIC16, так і з контролерами серії PIC18. Цей внутрісхемний програматор на кілька порядків складніше, а отже і дорожче за вартістю.
# 160 # 160 # 160Скачать всю необхідну документацію по роботі з внутрісхемним программатором-отладчиком можна в розділі документація до схем стенду.
# 160 # 160 # 160Разработка стенду - це тема мого дипломного рпоекта. Завантажити дипломний проект, з якого багато речей не потрапили на ці сторінки, можна в розділі документація до схем стенду.