Внутрісхемний програматор-відладчик

Призначення і можливості внутрисхемного програматора-відладчика

# 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Разработка стенду - це тема мого дипломного рпоекта. Завантажити дипломний проект, з якого багато речей не потрапили на ці сторінки, можна в розділі документація до схем стенду.