Універсальний USB програматор мікросхем своїми руками. Універсальний USB програматор

Програматор - це апаратно-програмний пристрій, який служить для зчитування або запису інформації в пристрій (внутрішню мікроконтролерів). Якщо радіоаматору потрібно один раз запрограмувати мікроконтролерний пристрій, можна скористатися звичайним програматором, який підключається до COM-або LPT-порту. Наприклад, найпростішим програматором AVR є кабель із 6 та 4 резисторів (програматор PonyProg).

За допомогою звичайного програматора можна завантажувати програми у форматі hex у багато мікроконтролерів AVR, не витрачаючи зайвого часу та коштів. Крім того, програматор можна використовувати як внутрішньосхемний, завдяки чому можна програмувати мікроконтролер AVR, не виймаючи його з пристрою.

Підключаються такі програматори до комп'ютера за допомогою спеціальної програми (яка також називається програматором). Вона передає з , а пристрій лише записує її на згадку про мікросхеми. Програматори можуть підключатися через послідовний чи паралельний порт, через USB-роз'єм тощо. Сучасні програматори підключаються зазвичай через USB.

USB-програматор призначений для програмування мікропроцесорних пристроїв певної компанії (залежить від марки програматора) у зібраному вигляді. За допомогою нього помітно спрощується процес налаштування ПЗ.

Як підключити USB-програматор?

Для використання пристрою необхідно підключити його до одного з портів USB комп'ютера. Після цього на комп'ютері з'явиться повідомлення про підключення нового USB-пристрою USBasp, а на самому програматорі загориться світлодіод, що означає, що пристрій успішно підключено.

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

Як правило, програматор має два інтерфейси - один для підключення мікроконтролера, другий - для підключення до комп'ютера. Щоб підключити мікроконтролер, можна скористатися режимом послідовного програмування ISP. А до комп'ютера цей пристрій підключається через стандартний USB-роз'єм.

Для керування програматором потрібно встановлювати спеціальні програми. Найкраще користуватися віконними програмами. Наприклад, для роботи з пристроєм можна використовувати програми ExtremeBurner, Khazama, avrguge та інші.

Даний програматор не потребує первинного програмування - протруїв друковану плату, спаяв і користуйся. Автор цього пристрою вказаний наприкінці статті, а тут наведу невелику витримку з керівництва, щоб було зрозуміліше, про що мова: правильний USB-програматор - річ, власне, універсальна. Його можна встромити в будь-який сучасний комп'ютер і без проблем перешити потрібний мікроконтролер з будь-яким обсягом FLASH-пам'яті на досить високій швидкості. Але ключове слово тут – "правильний", який нормально працює без налаштування та танців з бубном над ним одразу ж після встановлення та монтажу деталей. Який не глючить під час переходу від одного ПК до іншого або зміни ОС. Правильний – це такий, драйвера на який є для будь-якої сучасної версії ОС, що широко використовується, і ці дрова неглючні. Кожен визначить ще з десяток критеріїв правильності для себе особисто, але перераховані вище – основні, без дотримання яких нормально працювати з мікроконтролером неможливо буде в принципі.

В даний час в Інтернеті багато різних схем USB-програматорів для AVR. Умовно їх можна поділити на великі групи.

Перша групавключає програматори, побудовані на основі мікроконтролерів (зокрема, AVR). Збирав кілька штук програматорів від Prottoss'а (AVR910), собі та своїм знайомим, а також кілька штук USBasp. Двоє зі знайомих, обдарованих цими дивайсами, у захваті. Вдало шиють каміння протягом кількох років. В інших (зокрема – у мене особисто) зібрані програматори особливої ​​радості не викликали. Не кажу, що вони погані, просто так складалися обставини: на одному комп'ютері працює, на іншому немає. Або, пропрацювавши кілька годин, виявлялися невидимими для софту, через який шиється камінь. І багато чого. Відразу обмовлюся – я не розбирався з прошивкою контролерів, на яких дані програматори зібрані. Щоправда, перепробував купу програм-прошивальників, через які ці програматори начебто без проблем повинні шити каміння. Однак результат у вигляді частих глюків мене не особливо задовольнив. Виняток склала лише програма AVRDUDE у комплексі з графічною оболонкою SinaProg, але про неї я дізнався надто пізно. До речі, зауважив таку тенденцію: чим давнє залізо ПК, тим краще працюють ці програматори. Ну і найнеприємніший момент для тих, хто вибрав другий варіант знайомства з мікроконтролерами AVR - щоб програматор заробив, потрібно чимось прошити камінь, що входить до його складу. Тобто виходить так: щоб користуватись програматором потрібно зробити/знайти програматор, щоб прошити мізки цього програматора. Ось таке замкнуте коло.

І друга група USB-програматорів включає рішення на базі спеціалізованої мікросхеми FT232Rx. Свого часу ця мікросхема стала своєрідною революцією. Мало того, що вона без особливих проблем для розробника перетворює USB на UART (і, напевно, 95% розробників використовують її саме з цією метою). Вона ще вміє емулювати повноцінний COM-порт, причому стан «другорядних» ліній (таких як RTS, CTS, DTR тощо) можна задати/рахувати не з віртуального COM-порту, а безпосередньо через драйвер FTDI (розробника FT232Rx) . Таким чином, з'явилося нове, без необхідності первинної прошивки мізків програматора, рішення для прошивки мікроконтролерів, причому досить швидке.

Принципова схема програматора USB

Дана схема просто направляє сигнали MOSI, MISO, SCK і RESET, які формуються на висновках DCD, DTR, RTS і DSR мікросхеми DD1 (FT232RL) відповідно, на потрібні висновки мікроконтролера, що прошивається (тобто, фактично є аналогом «давніх» програматорів) . Причому, робить це тільки в момент програмування каменю, в інші моменти часу програматор відключений від плати, що прошивається, за рахунок 4-х буферних елементів мікросхеми DD2 (74HC125D). Стан ліній MOSI, MISO, SCK і RESET встановлюється/зчитується софтом на комп'ютері. Передача даних між ПК та мікросхемою FT232RL йде по шині USB (від якої ще й отримує харчування програматор).

Світлодіод HL2 (PWR) сигналізує про подачу на програматор напруги живлення з шини USB. Світлодіод HL1 («PROG») індикує процес прошивки мікроконтролера (горить лише під час прошивки). Ось, в принципі, і весь опис схеми електричної принципової. Єдине що хотілося б відзначити: по-перше, для підключення програматора до плати, що прошивається, використовується роз'єм IDC-10MR (XP2 «ISP»), розпинування якого збігається з широко поширеним розпинуванням роз'єму програматора
STK200/STK300:

XP2 "ISP" роз'єм для підключення пристрою до програмованого мікроконтролера

XP3 "MISC" роз'єм для використання додаткових функцій програматора

Загалом мікросхема FT232RL має досить серйозний потенціал для розробника (наприклад, лінії шини CBUS можна використовувати як звичайні лінії введення-виведення мікроконтролера), тому непогано мати доступ до всіх її висновків. Ну і доступ до напруг +5,0 і +3,3 теж зайвим ніколи не буде. У приклепленні друкована плата та повний докладний опис. Розробка та мануал - [email protected] , випробування - SssaHeKkk.

У цій статті ми опишемо крок за кроком етапи виготовлення USBasp програматора для мікроконтролерів AVR. В окремих статтях наведемо опис встановлення драйверів для операційних систем Windows XP та Windows 7 (x64/x86). Наприкінці посту розміщено посилання з необхідною документацією виготовлення програматора USBasp своїми руками.

Програматор USBasp, завдяки своїй простоті у виготовленні та використанні недорогих та широкодоступних елементів, став дуже популярним серед радіоаматорів. Його параметри роботи не поступаються професійним та дорогим програматорам мікроконтролерів AVR.

Основні характеристики програматора USBasp

  • Працює з кількома операційними системами – Linux, Mac OS X та Windows – включаючи Windows 8!
  • Не потребує зовнішнього живлення.
  • Вміє програмувати зі швидкістю до 5kB/s
  • Є варіант (Switch 2) зниження швидкості програмування – для процесорів із кварцом менше 1,5 МГц
  • Забезпечує напругу для програмування (Switch 1) 5 вольт
  • Вказівка ​​роботи програматора за допомогою світлодіоду

Перед початком роботи варто ознайомитися з послідовністю всіх виконуваних дій, а саме:

  1. Вибір схеми/малюнку друкованої плати
  2. Перенесення малюнка друкованої плати на фольгований склотекстоліт
  3. Травлення друкованої плати у розчині хлорного заліза
  4. Свердління отворів
  5. Монтаж елементів (пайка)
  6. Програмування Atmaga8 програматора
  7. Підключення програматора до комп'ютера
  8. Інсталяція драйверів – Windows XP, Windows 7
  9. Вибір програми з підтримкою USBasp

Існує багато версій USBasp програматора, але всі вони ґрунтуються на головній схемі, автором якої є Thomas Fischl. Прошивка мікроконтролера програматора також його авторством.

Оригінальна схема програматора:

В даному випадку за основу було обрано оригінальну схему. Оскільки використання перемичок в оригінальній схемі не зовсім зручне, було вирішено використовувати перемикачі DIP. Також було змінено деякі значення резисторів.
Більше того, в оригінальній схемі лінії TxD та RxD виведені на роз'єм ISP, хоча це не потрібно (точніше не використовуються на практиці).

Нижче наведена схема із внесеними змінами:

Будівництво USBasp програматора

Існує багато версій друкованої плати цього програматора, деякі можна знайти на офіційному сайті USBasp. Однак, була зроблена своя на основі вище представленої схеми.

На жаль, через застосування DIP перемикачів, малюнок плати став трохи складнішим, що призвело до застосування 2 коротких перемичок, з метою щоб друкована плата була односторонньою.

Нижче результат друкованої плати:

Як бачимо на малюнку, в програматорі не застосовувалися SMD елементи. Порожній простір на платі „залитий” полем маси, головним чином для того, щоб не витравлювати велику кількість міді, а також знизити вплив перешкод на програматор.

Список елементів, що використовуються в USBasp програматорі:

  • R1: 10к
  • R2: 180
  • R3: 100
  • R5, R6: 68
  • R7: 2к2
  • C1, C2: 22п
  • C3: 10мк
  • C4: 100н
  • LED1: Червоний світлодіод на 20мА
  • LED2: Зелений світлодіод на 20мА
  • D2, D3: стабілітрони на 3,6В
  • X1: USB-роз'єм, тип B
  • SV1: Гніздо під роз'єм IDC-10
  • Q1: Кварц 12МГц, корпус HC49-S
  • SW1: Dip перемикач трипозиційний
  • IC1: Atmega8 ( ПРИМІТКА: Не слід використовувати мікроконтролер Atmega8 - PU через його обмеження максимальною тактовою частотою до 8 МГц!)

Перенесення малюнка друкованої плати USBasp програматора на склотекстоліт виконано з допомогою методу ЛУТ (). Як це робити описувати не будемо, оскільки цієї інформації в мережі багато.

Коротко скажемо, що спочатку малюнок у масштабі 1:1 друкується на глянцевому папері, потім він накладається на очищену та знежирену мідну сторону склотекстоліту та фіксується за допомогою паперового скотчу. Далі паперова сторона ретельно розгладжується праскою на третій. Після цього ця справа вимочується у воді і акуратно очищається від паперу.

Наступний етап – витравлення плати у розчині хлорного заліза. Під час травлення бажано підтримувати температуру розчину не нижче 40 °C, тому банку з розчином занурюємо у гарячу воду:


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

Залишається тепер лише просвердлити отвори. Після завершення процесу виготовлення плати можна приступати до паяння елементів USBasp програматора, починаючи з перемичок.

Готові до друку (у форматі PDF) малюнок друкованої плати знаходиться наприкінці статті. Ви також можете знайти кілька варіантів на офіційному сайті проекту.

Перший запуск USBasp програматора

Тепер, коли всі деталі спаяні, залишається лише «прошити» мікроконтролер Atmegę8 самого програматора. Для цього потрібен окремий програматор, це може бути, наприклад, STK 200 (LPT порт), STK500 і т.д. LPT програматор підключається до USBasp через роз'єм IDC-10.

Зверніть увагу, що розподіл пінів у роз'ємі оригінального програматора (USBasp) знаходиться праворуч, у той час як у версії, що описується в цій статті – зліва:

Розподіл, показаний на малюнку праворуч, відповідає тим, які застосовує компанія Atmel у оригінальних програматорах. Такий розподіл зменшує ризик виникнення перешкод під час програмування у разі застосування довгих дротів від програматора до контролера, оскільки кожна сигнальна лінія екранована масою, крім MOSI.

На час програмування увімкніть режим SELF перемиканням DIP перемикача № 3 в положення ON. Завдяки цьому з'являється можливість запрограмувати Atmega8. Після завершення програмування положення перемикача (3) має бути переведене в стані OFF.

Останню версію прошивки можна завантажити з офіційного сайту. Рекомендуємо версію Atmega8, яка знаходиться в архіві: usbasp.2011-05-28.tar.gz.

Зверніть увагу, щоб перед програмуванням Atmega8 необхідно виставити ф'юзи, які мають наступні значення:

  • # для Atmega8: HFUSE=0xC9 LFUSE=0xEF
  • # для Atmega48: HFUSE=0xDD LFUSE=0xFF

У разі успішного програмування, підключаємо програматор до USB роз'єму комп'ютера, при цьому повинен спалахнути червоний світлодіод, а комп'ютер повинен повідомити про виявлення нового обладнання.

Встановлення драйверів USBasp програматора

Спосіб встановлення драйверів програматора описаний в окремих статтях, там є і самі драйвера. Нижче наведено прямі посилання на ці статті:

  • Встановлення драйверів для програмного забезпечення USBasp під Windows XP
  • Встановлення драйверів для USBasp Windows 7 x64/x86

Програми для роботи програматора USBasp

Найпопулярнішою програмою, що підтримує програматор USBasp, це консольна програма AVRdude. Також існує безліч похідних програм, використання яких набагато зручніше. Вони представлені у статті Порівняння програм підтримки програматора USBasp.

Даний програматор не потребує первинного програмування - протруїв друковану плату, спаяв і користуйся. Автор цього пристрою вказаний наприкінці статті, а тут наведу невелику витримку з керівництва, щоб було зрозуміліше, про що мова: правильний USB-програматор - річ, власне, універсальна. Його можна встромити в будь-який сучасний комп'ютер і без проблем перешити потрібний мікроконтролер з будь-яким обсягом FLASH-пам'яті на досить високій швидкості. Але ключове слово тут - "правильний", який нормально працює без налаштування та танців з бубном над ним одразу ж після встановлення та монтажу деталей. Який не глючить під час переходу від одного ПК до іншого або зміни ОС. Правильний - це такий, драйвера на який є для будь-якої сучасної версії ОС, що широко використовується, і ці дрова неглючні. Кожен визначить ще з десяток критеріїв правильності для себе особисто, але перераховані вище - основні, без дотримання яких нормально працювати з мікроконтролером неможливо буде в принципі.

В даний час в Інтернеті повно різних схем. Умовно їх можна поділити на великі групи.

Перша групавключає програматори, побудовані на основі мікроконтролерів (зокрема, AVR). Збирав кілька штук програматорів від Prottoss'а (AVR910), собі та своїм знайомим, а також кілька штук USBasp. Двоє зі знайомих, обдарованих цими дивайсами, у захваті. Вдало шиють каміння протягом кількох років. В інших (зокрема – у мене особисто) зібрані програматори особливої ​​радості не викликали. Не кажу, що вони погані, просто так складалися обставини: на одному комп'ютері працює, на іншому немає. Або, пропрацювавши кілька годин, виявлялися невидимими для софту, через який шиється камінь. І багато чого. Відразу обмовлюся - я не розбирався з прошивкою контролерів, на яких дані програматори зібрані. Щоправда, перепробував купу програм-прошивальників, через які ці програматори начебто без проблем повинні шити каміння. Однак результат у вигляді частих глюків мене не особливо задовольнив. Виняток склала лише програма AVRDUDE у комплексі з графічною оболонкою SinaProg, але про неї я дізнався надто пізно. До речі, зауважив таку тенденцію: чим давнє залізо ПК, тим краще працюють ці програматори. Ну і найнеприємніший момент для тих, хто вибрав другий варіант знайомства з мікроконтролерами AVR - щоб програматор заробив, потрібно чимось прошити камінь, що входить до його складу. Тобто виходить так: щоб користуватись програматором потрібно зробити/знайти програматор, щоб прошити мізки цього програматора. Ось таке замкнуте коло.

І друга група USB-програматорів включає рішення на базі спеціалізованої мікросхеми FT232Rx. Свого часу ця мікросхема стала своєрідною революцією. Мало того, що вона без особливих проблем для розробника перетворює USB на UART (і, напевно, 95% розробників використовують її саме з цією метою). Вона ще вміє емулювати повноцінний COM-порт, причому стан «другорядних» ліній (таких як RTS, CTS, DTR тощо) можна задати/рахувати не з віртуального COM-порту, а безпосередньо через драйвер FTDI (розробника FT232Rx) . Таким чином, з'явилося нове, без необхідності первинної прошивки мізків програматора, рішення для прошивки мікроконтролерів, причому досить швидке.

Принципова схема програматора USB

Дана схема просто направляє сигнали MOSI, MISO, SCK і RESET, які формуються на висновках DCD, DTR, RTS і DSR мікросхеми DD1 (FT232RL) відповідно, на потрібні висновки мікроконтролера, що прошивається (тобто, фактично є аналогом «давніх» програматорів) . Причому, робить це тільки в момент програмування каменю, в інші моменти часу програматор відключений від плати, що прошивається, за рахунок 4-х буферних елементів мікросхеми DD2 (74HC125D). Стан ліній MOSI, MISO, SCK і RESET встановлюється/зчитується софтом на комп'ютері. Передача даних між ПК та мікросхемою FT232RL йде по шині USB (від якої ще й отримує харчування програматор).

Світлодіод HL2 (PWR) сигналізує про подачу на програматор напруги живлення з шини USB. Світлодіод HL1 («PROG») індикує процес прошивки мікроконтролера (горить лише під час прошивки). Ось, в принципі, і весь опис схеми електричної принципової. Єдине що хотілося б відзначити: по-перше, для підключення програматора до плати, що прошивається, використовується роз'єм IDC-10MR (XP2 «ISP»), розпинування якого збігається з широко поширеним розпинуванням роз'єму програматора
STK200/STK300:

XP2 "ISP" роз'єм для підключення пристрою до програмованого мікроконтролера

XP3 "MISC" роз'єм для використання додаткових функцій програматора

Загалом мікросхема FT232RL має досить серйозний потенціал для розробника (наприклад, лінії шини CBUS можна використовувати як звичайні лінії введення-виведення мікроконтролера), тому непогано мати доступ до всіх її висновків. Ну і доступ до напруг +5,0 і +3,3 теж зайвим ніколи не буде. У приклепленні друкована плата та повний докладний опис. Розробка та мануал - [email protected] , випробування - SssaHeKkk.

Обговорити статтю USB ПРОГРАМАТОР

Які перші кроки має зробити радіоаматор, котрий вирішив зібрати схему на мікроконтролері? Природно, необхідна програма, що управляє, - "прошивка", а також програматор.

І якщо з першим пунктом немає проблем - готову "прошивку" зазвичай викладають автори схем, то ось із програматором справи складніші.

Ціна готових USB-програматорів досить висока та найкращим рішенням буде зібрати його самостійно. Ось схема пропонованого пристрою (картинки клікабельні).

Основна частина.

Панель установки МК.

Вихідна схема взята з сайту LabKit.ru з дозволу автора, за що йому велике спасибі. Це так званий клон фірмового програматора PICkit2. Так як варіант пристрою є "полегшеною" копією фірмового PICkit2, автор назвав свою розробку PICkit-2 Lite, що підкреслює простоту складання такого пристрою для радіоаматорів-початківців.

Що може програматор? За допомогою програматора можна буде прошити більшість легкодоступних та популярних МК серії PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A та ін), а також мікросхеми пам'яті EEPROM серії 24LC. Крім цього, програматор може працювати в режимі USB-UART перетворювача, має частину функцій логічного аналізатора. Особливо важлива функція, яку має програматор - це розрахунок калібрувальної константи вбудованого RC-генератора деяких МК (наприклад, таких як PIC12F629 та PIC12F675).

Необхідні зміни.

У схемі є деякі зміни, які необхідні для того, щоб за допомогою програматора PICkit-2 Lite була можливість записувати/прати/зчитувати дані мікросхем пам'яті EEPROM серії 24Cxx.

Зі змін, які були внесені до схеми. Додано з'єднання від 6 виведення DD1 (RA4) до 21 виведення ZIF-панелі. Висновок AUX використовується виключно для роботи з мікросхемами EEPROM-пам'яті 24LС (24C04, 24WC08 та аналоги). По ньому передаються дані, тому схемою панелі програмування він позначений словом "Data". При програмуванні мікроконтролерів висновок AUX зазвичай не використовується, хоча він і потрібен для програмування МК в режимі LVP.

Також доданий "підтягуючий" резистор на 2 ком, який включається між виведенням SDA та Vcc мікросхем пам'яті.

Всі ці доробки я вже робив на друкованій платі, після збирання PICkit-2 Lite за вихідною схемою автора.

Мікросхеми пам'яті 24Cxx (24C08 та ін) широко використовуються в побутовій радіоапаратурі, і їх іноді доводиться прошивати, наприклад, під час ремонту кінескопних телевізорів. Вони пам'ять 24Cxx використовується для зберігання налаштувань.

У РК-телевізорах застосовується інший тип пам'яті (Flash-память). Про те, як прошити пам'ять РК-телевізора я вже розповідав. Кому цікаво, загляньте.

У зв'язку з необхідністю роботи з мікросхемами серії 24Cxx мені і довелося "допилювати" програматор. Труїти нову друковану плату я не став, просто додав необхідні елементи на друкованій платі. Ось що вийшло.

Ядром пристрою є мікроконтролер PIC18F2550-I/SP.

Це єдина мікросхема у пристрої. МК PIC18F2550 необхідно "прошити". Ця проста операція у багатьох викликає ступор, оскільки виникає так звана проблема "курки та яйця". Як її вирішив я, розповім трохи згодом.

Список деталей для збирання програматора. У мобільній версії потягніть таблицю вліво (свайп вліво-вправо), щоб побачити її стовпці.

Назва Позначення Номінал/Параметри Марка або тип елемента
Для основної частини програматора
Мікроконтролер DD1 8-ми бітний мікроконтролер PIC18F2550-I/SP
Біполярні транзистори VT1, VT2, VT3 КТ3102
VT4 КТ361
Діод VD1 КД522, 1N4148
Діод Шоттки VD2 1N5817
Світлодіоди HL1, HL2 будь-який на 3 вольти, червоногоі зеленогокольори світіння
Резистори R1, R2 300 Ом
R3 22 ком
R4 1 ком
R5, R6, R12 10 ком
R7, R8, R14 100 Ом
R9, R10, R15, R16 4,7 ком
R11 2,7 ком
R13 100 ком
Конденсатори C2 0,1 мк К10-17 (керамічні), імпортні аналоги
C3 0,47 мк
Електролітичні конденсатори C1 100 мкф * 6,3 в К50-6, імпортні аналоги
C4 47 мкф * 16 в
Котушка індуктивності (дросель) L1 680 мкГн уніфікований типу EC24, CECL або саморобний
Кварцовий резонатор ZQ1 20 МГц
USB-розетка XS1 типу USB-BF
Перемичка XT1 будь-якого типу "джампер"
Для панелі установки мікроконтролерів (МК)
ZIF-панель XS1 будь-яка 40 контактна ZIF-панель
Резистори R1 2 ком МЛТ, МОН (потужністю від 0,125 Вт та вище), імпортні аналоги
R2, R3, R4, R5, R6 10 ком

Тепер трохи про деталі та їх призначення.

Зеленийсвітлодіод HL1 світиться, коли на програматор подано живлення, а червонийсвітлодіод HL2 випромінює в момент передачі між комп'ютером і програматором.

Для надання пристрою універсальності та надійності використовується USB-розетка XS1 типу "B" (квадратна). У комп'ютері використовується USB-розетка типу "А". Тому переплутати гнізда з'єднувального кабелю неможливо. Також таке рішення сприяє надійності пристрою. Якщо кабель прийде в непридатність, його легко замінити новим не вдаючись до паяння і монтажних робіт.

Як дросель L1 на 680 мкГн краще застосувати готовий (наприклад, типів EC24 або CECL). Але якщо готовий виріб знайти не вдасться, дросель можна виготовити самостійно. Для цього потрібно намотати 250 - 300 витків дроту ПЕЛ-0,1 на сердечник із фериту від дроселя типу CW68. Варто врахувати, що завдяки наявності ШІМ із зворотним зв'язком, піклуватися про точність номіналу індуктивності не варто.

Напруга для високовольтного програмування (Vpp) від +8,5 до 14 вольт створюється ключовим стабілізатором. До нього входять елементи VT1, VD1, L1, C4, R4, R10, R11. З 12 виведення PIC18F2550 на базу VT1 надходять імпульси ШІМ. Зворотний зв'язок здійснюється дільником R10, R11.

Щоб захистити елементи схеми від зворотної напруги з ліній програмування у разі використання USB-програматора в режимі внутрішньосхемного програмування ICSP (In-Circuit Serial Programming), застосований діод VD2. VD2 - це діод Шоттки. Його варто підібрати з падінням напруги на P-N переході трохи більше 0,45 вольт. Також діод VD2 захищає елементи від зворотної напруги, коли програматор застосовується в режимі USB-UART перетворення та логічного аналізатора.

При використанні програматора виключно для програмування мікроконтролерів в панелі (без застосування ICSP), можна виключити діод VD2 повністю (так зроблено у мене) і встановити замість нього перемичку.

Компактність пристрою надає універсальна ZIF-панель (Zero Insertion Force – з нульовим зусиллям установки).

Завдяки їй можна "зашити" МК практично у будь-якому корпусі DIP.

На схемі "Панель установки мікроконтролера (МК)" вказано, як необхідно встановлювати мікроконтролери з різними корпусами на панель. При встановленні МК слід звертати увагу на те, щоб мікроконтролер в панелі позиціонується так, щоб ключ на мікросхемі був фіксуючим важелем ZIF-панелі.

Ось так потрібно встановлювати 18-ти вивідні мікроконтролери (PIC16F84A, PIC16F628A та ін.).

А ось так 8-ми вивідні мікроконтролери (PIC12F675, PIC12F629 та ін.).

Якщо є потреба прошити мікроконтролер у корпусі для поверхневого монтажу (SOIC), то можна скористатися перехідником або просто підпаяти до мікроконтролера 5 висновків, які зазвичай потрібні для програмування (Vpp, Clock, Data, Vcc, GND).

Готовий малюнок друкованої плати з усіма змінами ви знайдете за посиланням наприкінці статті. Відкривши файл у програмі Sprint Layout 5.0 можна за допомогою режиму "Друк" не лише роздрукувати шар із малюнком друкованих провідників, а й переглянути позиціонування елементів на друкованій платі. Зверніть увагу на ізольовану перемичку, яка пов'язує 6 висновок DD1 та 21 висновок ZIF-панелі. Друкувати малюнок плати необхідно у дзеркальному відображенні.

Виготовити друковану плату можна методом ЛУТ, а також маркером для друкованих плат за допомогою цапонлаку (так робив я) або "олівцевим" методом.

Ось малюнок позиціонування елементів на друкованій платі (клікабельно).

При монтажі насамперед необхідно запаяти перемички з мідного лудженого дроту, потім встановити низькопрофільні елементи (резистори, конденсатори, кварц, штирьовий роз'єм ISCP), потім транзистори і запрограмований МК. Останнім кроком буде встановлення ZIF-панелі, USB-розетки та запаювання дроту в ізоляції (перемички).

"Прошивка" мікроконтролера PIC18F2550.

Файл "прошивки" - PK2V023200.hexнеобхідно записати на згадку про МК PIC18F2550I-SP за допомогою будь-якого програматора, який підтримує PIC мікроконтролери (наприклад, Extra-PIC). Я скористався JDM Programmator'ом JONIC PROG та програмою WinPic800.

Залити "прошивку" в МК PIC18F2550 можна і за допомогою того ж фірмового програматора PICkit2 або його нової версії PICkit3. Природно, зробити це можна і саморобним PICkit-2 Lite, якщо хтось із друзів встиг зібрати його раніше за вас:).

Також варто знати, що "прошивка" мікроконтролера PIC18F2550-I/SP (файл PK2V023200.hex) записується при встановленні програми PICkit 2 Programmer в папку разом із файлами самої програми. Зразковий шлях розташування файлу PK2V023200.hex - "C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex" . У тих, у кого на ПК встановлена ​​32-бітна версія Windows, шлях розташування буде іншим: "C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex" .

Ну а якщо вирішити проблему "курки та яйця" не вдалося запропонованими способами, то можна купити вже готовий програматор PICkit3 на сайті AliExpress. Там він коштує набагато дешевше. Про те, як купувати деталі та електронні набори на AliExpress я писав.

Оновлення "прошивки" програматора.

Прогрес не стоїть на місці і іноді компанія Microchip випускає оновлення для свого ПЗ, у тому числі і для програматора PICkit2, PICkit3. Звичайно, і ми можемо оновити керуючу програму свого саморобного PICkit-2 Lite. Для цього знадобиться програма PICkit2 Programmer. Що це таке і як користуватися трохи пізніше. А поки що кілька слів про те, що потрібно зробити, щоб оновити "прошивку".

Для оновлення програмного забезпечення необхідно замкнути перемичку XT1 на програматорі, коли він відключений від комп'ютера. Потім підключити програматор до ПК та запустити PICkit2 Programmer. При замкнутій XT1 активується режим bootloaderдля завантаження нової версії прошивки. Потім у PICkit2 Programmer через меню "Tools" - "Download PICkit 2 Operation System" відкриваємо заздалегідь підготовлений hex-файл оновленої прошивки. Далі відбудеться процес оновлення програмного забезпечення програматора.

Після оновлення потрібно відключити програматор від ПК та зняти перемичку XT1. У звичайному режимі перемичка розімкнена. Дізнатися версію програмного забезпечення можна через меню "Help" - "About" у програмі PICkit2 Programmer.

Це все за технічними моментами. А тепер про софт.

Робота із програматором. Програма PICkit2 Programmer.

Для роботи з USB-програматором нам потрібно встановити на комп'ютер програму PICkit2 Programmer. Ця спеціальна програма має простий інтерфейс, легко встановлюється і не вимагає особливого налаштування. Варто зазначити, що працювати з програматором можна і за допомогою середовища розробки MPLAB IDE, але для того, щоб прошити/стерти/вважати МК досить простої програми – PICkit2 Programmer. Рекомендую.

Після встановлення програми PICkit2 Programmer підключаємо до комп'ютера зібраний USB-програматор. При цьому засвітиться зеленийсвітлодіод ("живлення"), а операційна система впізнає пристрій як "PICkit2 Microcontroller Programmer" та встановить драйвера.

Запускаємо програму PICkit2 Programmer. У вікні програми має з'явитися напис.

Якщо програматор не підключений, то у вікні програми відобразиться страшний напис та короткі інструкції "Що робити?" англійською.

Якщо програматор підключити до комп'ютера з встановленим МК, то програма при запуску визначити його і повідомить нам про це у вікні PICkit2 Programmer.

Вітаю! Перший крок зроблено. А про те, як скористатися програмою PICkit2 Programmer, я розповів в окремій статті. Наступний крок .

Необхідні файли:

    Посібник користувача PICkit2 (рус.) беремо або .



Подібні публікації