Програматори AVR мікроконтролерів. Прості програматори. Робимо LPT програматор для AVR мікроконтролерів Програма для програматора на 74hc374 під lpt

Одним із найпростіших програматорів AVR є програматор для LPT порту. Це пов'язано з тим, що рівні сигналів LPT порту сумісні з рівнями сигналів необхідні програмування АВР. Тому сигнали з LPT порту можна безпосередньо подати на мікроконтролер (резистори потрібні лише захисту порту від випадкових замикань). Такий програматор можна зібрати із підручних матеріалів буквально за 5 хвилин!


Як Ви бачите схема LPT програматора для AVR дуже проста:

Для виготовлення LPT програматора нам знадобиться:


Резистори можна використовувати будь-які, які знайдете в межах від 100 до 150 Ом. Можна програматор зібрати взагалі без резисторів, але тоді спалити порт стане ще легшим. Як шлейф можна заюзати IDE шлейф. При підключенні шлейфу, для стійкішої роботи програматора, кожен «сигнальний» провід повинен чергуватись із «земляним» проводом. Це дозволить зменшити рівень перешкод, що наводяться в лініях, і за рахунок цього збільшити довжину програмуючого дроту. Довжина шлейфу повинна бути в межах 50 см. Ще потрібен роз'єм для підключення до програмованого пристрою.
Для внутрішньосхемного програмування Atmel рекомендує стандартні роз'єми:


Якщо Ви плануєте серйозно зайнятися мікроконтролерами, зробіть стандартні роз'єми. Для разового програмування пристрою я рекомендую використовувати на програматорі (такими роз'ємами до материнської плати підключаються кнопки та світлодіоди корпусу комп'ютера) та штирі PLS тата на платі. Це дозволяє максимально спростити розведення плати пристрою, так як штирі для програматора встановлюються поблизу близько ніжок мікроконтролера. Ніжки MOSI, MISO, SCK у мікроконтролерів AVR завжди розташовані разом, тому для них можна застосувати вбудований роз'єм. Окремо робимо підключення для «землі»-GND та «скидання»-Reset.


Складання LPT програматора за 5 кроків:


Перемички між ніжками роз'єму 2-12 і 3-11 потрібні для того, щоб наш програматор був видний для програм як STK200/300 (STK200/300 свого роду стандарт і тому наш програматор стане видно для багатьох програм).

Для того, щоб наш LPT програматор запрацювавпотрібна , до якої ми підключимо програматор для мікроконтролера.

Загальні рекомендації:
- LPT порт досить ніжний - його дуже легко "пальнути", тому при роботі з портом будьте обережні.
— Окреме підключення для «землі» я рекомендував би робити у всіх програматорах. Це потрібно для того, щоб «землю» можна було підключити першою та зрівняти потенціали «землі» програмованого пристрою та комп'ютера. (Для тих хто не знає — якщо у Вас комп'ютер включений у звичайну розетку без заземлювального контакту, то через особливості фільтра блоку живлення комп'ютера, на корпусі комп'ютера завжди є потенціал у 110В. При «вдалому» підключенні програматора цього цілком достатньо для того щоб спалити мікроконтролер або порт LPT комп'ютера.

Висновок:
-Якщо Ви надумали зібрати свій перший програматор і Ваш комп'ютер має LPT порт, то програматор «5 проводків» найкращий варіант! Він гранично простий і його повторити не складе труднощів. Крім того, програматор сумісний із класичними програматорами STK200/300, а значить, він підтримуватиметься багатьма програмами для програмування AVR.
-Якщо Ви плануєте програмувати досить часто, з метою убезпечити LPT порт, рекомендую зібрати LPT програматор з буферними елементами (поганий варіант LPT програматора можна подивитися на ізоелектронікс) або зібрати такий же простий ( COM портнабагато витриваліший і спалити його складніше).

(Visited 66 795 times, 2 visits today)

Досить часто багато хто зустрічає на просторах інтернету цікаву конструкцію, але стримує одне - вона виконана із застосуванням контролера. А це так складно...

Насправді все набагато простіше. Якщо є можливість придбати контролер, стать справи вже зроблено. Залишиться "оттутюжить" плату, протруїти і запаяти її деталями. І ось доходить справа до контролера. Як же його "оживити"? Як "прошити"? Починаються болючі пошуки схеми та програми програматора. Схема знайдена, але незадача - на задній стінці комп'ютера аж 8 роз'ємів USB, порт для принтера і жодного порту СОМ для якого була знайдена схема.

Є й інший варіант розвитку подій. СОМ порт у комп'ютері є. Але програматор чомусь відмовляється "шити" контролер - постійно вискакує помилка. А річ у тому, що часто на сучасних материнських платах(І особливо в ноутбуках) СОМ порти робляться дуже слабкими по струму. Через це процес програмування закінчується не розпочавшись. У всіх наведених вище випадках Вам допоможе ця нескладна схема.

Це програматор для порту LPT. При всій складності схема досить проста і починає працювати відразу, не вимагаючи ніякої настройки. Деталі доступні і коштують буквально копійки. Зате можливості... Цим пристроєм Вам легко можна буде прошити контролер не тільки в панельці, але і внутрішньосхемно (це стосується пристроїв у яких плата розведена під SMD корпус контролера, а купувати панельку за 20 доларів під нього ну ніяк не хочеться).

Зібрана вона виглядає так:

Цей програматор з дрібними відмінностями кочує по інтернету вже 20 років. Він відомий як Clasic Tait Programer, ProPIC2, ​​meProg. Досі випускається деякими фірмами та успішно продається.

Останні версії програмного забезпечення можна завантажити звідси:

  • http://www.winpic800.com/
  • http://melabs.com/support/progsoft.htm
  • http://members.aon.at/electronics/pic/picpgm/

Ось налаштування для WinPIC800:

А ось адаптер для прошивки 8-14-18-20 вивідних контролерів.


З цією схемою також часто переглядають:

Перед початківцями питання “а чим ми прошиватимемо свій контролер?” встає практично відразу. Ця проблема вирішується двома шляхами – купуємо серійний програматор чи збираємо свій власний. Природно недоцільно придбати якийсь із серійних програматорів на початковому етапі знайомства з мікроконтролерами. Самим простим рішеннямбуде так званий програматор "п'ять проводків". Цей варіант цілком підійде для разового застосування, але існує велика небезпека, що рано чи пізно ваш LPT – порт у комп'ютері згорить. Як бюджетний і безпечний варіант програматора для паралельного порту ми використовуємо більш досконалу схему.

Представляємо простий та безпечний програматор для паралельного порту. Схема програматора досить поширена у різних варіаціях і заснована на використанні мікросхеми-буфера 74HC 244N. Буфер зберігає ваш порт принтера в цілості та безпеці. Додатково до схеми включено резистор, завданням якого є захист від статичної електрики.

Програматор сумісний з Атмеловським STK 200/300 і підтримується багатьма популярними компіляторами. Весь невеликий набір деталей для його збирання досить поширений і не викликає труднощів із придбанням. Друкована платавиконана в односторонньому варіанті з кількома перемичками.

Для підключення програматора до комп'ютера зручно використовувати кабель - подовжувач порту LPT.

Схема у форматі sPlan 6.0 та розведення плати у форматі Sprint Layout 4.0 під ЛУТ ви можете завантажити нижче.

Дізнаємося що таке ISP-інтерфейс, розберемося з недорогим та зручним програматором USB ISP. Розглянемо принципові схеми найпростіших програматорів для AVR мікроконтролерівз використанням COM та LPT портів комп'ютера. Даної інформації цілком вистачить, щоб прошити більшість моделей AVR мікроконтролерів не тільки в Linux, але і в інших ОС.

Інтерфейс внутрішньосистемного програмування ISP

Для того, щоб записати програму в AVR мікроконтролер вам знадобиться програматор.

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

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

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

У готових пристроях програматор підключається до мікроконтролера за допомогою інтерфейсу ISP(In System Programming) – інтерфейс внутрішньосистемного програмування. ISP інтерфейс являє собою кілька провідників, за якими надходить тактовий сигнал і дані для зв'язування програматора з мікроконтролером.

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

Мал. 4. ISP інтерфейс платі.

Призначення пінів в ISP інтерфейсі:

  1. VCC – плюс харчування, як правило +5В;
  2. GND – мінус харчування, земля (Ground);
  3. MOSI – вхід даних (Master Out Slave In);
  4. MISO – вихід даних (Master In Slave Out);
  5. SCK – тактовий сигнал (Serial Clock);
  6. RST - для подачі сигналу скидання (Reset).

Для внутрішньосхемного програмування мікроконтролера достатньо всього 4 піна, оскільки живлення мікроконтролера може здійснюватися від самої схеми, де він встановлений.

Як підключити програматор до мікросхеми-мікроконтролера AVR якщо він не впаяний у схему? - дуже просто, використовуючи ті ж піни ISP інтерфейсу, при необхідності запитавши при цьому мікроконтролер від джерела живлення.

Програматор USB ISP ASP

Для роботи з AVR чіпами я придбав недорогий USB ISP програматор за ціною приблизно 10 $. Такий пристрій є зараз у продажу у багатьох вітчизняних та зарубіжних інтернет-магазинах, тож із купівлею проблем не повинно виникнути.

Мал. 5. USB ISP – програматор зі шлейфом для внутрішньосхемного програмування AVR мікроконтролерів фірми ATMEL.

Цей програматор безпечний у використанні, має невеликі розміри та підтримується більшістю програм для прошивки мікроконтролерів AVR. USB ISP працює під операційними системами Linux, Mac OS X та Windows. Для Linux ніяких драйверів встановлювати не потрібно після підключення програматора до USB портупристрій відразу ж визначиться і буде готовим до використання.

Нижче наведу розпинування конекторів програматора USB ISP - вона нам потім стане в нагоді при підключенні до мікроконтролера.

Мал. 6. Розташування пінів на роз'єм USB ISP (розпинання).

Мал. 7. Розташування контактів у гніздах коннектора підключеного до програматора USB ISP.

Що робити якщо немає можливості купити програматор USB ISP?- можна програмувати мікроконтролери використовуючи нескладні саморобні програматори, що підключаються до COM або LPT порту, але краще самому виготовити USB ISP при цьому один раз запрограмувавши мікросхему-мікроконтролер для нього простим саморобним програматором через COM або LPT порт.

Мал. 8. Принципова схемасаморобного програматора USB ASP ISP.

Детальну інформацію щодо виготовлення USB ASP, а також друковані плати, драйвера та прошивку для мікроконтролера можна знайти на офіційному сайті: http://www.fischl.de/usbasp/

До того ж в інтернеті досить багато ресурсів щодо цього вільного програматора, є багато готових розводок друкованих плат, у тому числі й у програмі SprintLayout, тому докладно в цій статті зупинятись на цьому не будемо.

Програматор із використанням COM-порту

Цей програматор ще називають "програматором Громова", на честь того, хто придумав цю схему, творця програми Algorithm Builder (графічне середовище для програмування AVR під Windows використовуючи алгоритмічну мову) - Г.Л. Громова.

Даний програматор дозволяє програмувати AVR чіпи, використовуючи COM порт комп'ютера - інтерфейс RS232. Для складання такого програматора потрібно мінімум деталей - 3 діода, 7 резисторів, роз'єм DB-9 або DB-25 (залежно від того який відповідний роз'єм встановлений у вас в комп'ютері) і коннектор ISP для підключення до мікроконтролера (або просто кілька провідників до чіпу). Діоди у схемі можна використовувати будь-які малопотужні.

Мал. 9. Принципова схема програматора AVR мікроконтролерів через COM порт комп'ютера.

Для повноти інформації нижче наведу розпинання портів RS-232 для варіантів DB-9 та DB-25.

Мал. 10. RS232 - COM Port, DB-9 розташування висновків.

Мал. 11. RS232 COM Port DB-25 – розташування висновків на роз'ємах.

Програматор із використанням LPT-порту

Як відомо, LPT порт комп'ютера призначений для підключення локального принтера (Local Printer Port), але його часто використовують для підключення різних пристроївта саморобок. У даному випадку ми можемо його використовувати для програмування AVR мікроконтролерів, зібравши для цієї мети дуже просту схемущо наведено нижче.

Мал. 12. Принципова схема програматора для мікроконтролерів AVR з використанням LPT порту комп'ютера.

Як бачимо, схема ще простіше ніж у варіанті з , тут нам потрібні лише 4 малопотужні резистори і роз'єм (тато, зі штирьками) для підключення до LPT порту комп'ютера.

Мал. 13. Розташування пінів для роз'ємів LPT-порту.

Всі деталі та з'єднання можна розмістити в корпусі LPT-роз'єму, а для підключення до мікроконтролера вивести шлейф з коннектором під ISP-інтерфейс або просто необхідні провідники для підключення до мікро-чіпа.

Програмне забезпечення та нотатки

Підключивши COM або LPT програматор до мікроконтролера, потрібно не забути подати харчування на сам мікрочіп. Як джерело живлення мікроконтролера можна використовувати батарейки або блок живлення зі стабілізатором, це буде найбезпечніше як для порту комп'ютера, так і для чіпа. Про те, як використовувати ми вже розглядали.

Під Linux є дуже потужна програма, яка вміє працювати з USB ASP, COM і LPT програматорами - це програма AVRDUDE, про неї йтиметься у наступних розділах.

Для прошивки AVR чіпів під Windows із використанням даних COMта LPT програматорів потрібна програма UniРrof від Миколаєва, яка є універсальним програматором для AVR (avr.nikolaew.org).

УВАГА! Будьте дуже уважні та обережні при складанні та використанні програматорів з використанням COM або LPT порту комп'ютера, простою помилкою можна запростопідпалити ці порти. Для нормальної роботитаких програматорів потрібно намагатися використовувати по можливості максимально короткі провідники від роз'єму до схеми програматора та мікроконтролера. Мікропроцесор комп'ютера бажано щоб мав частоту не більше 1-2 ГГц, а як ОС для програмування чіпів бажано використовувати Win2000 або WinXP.

Також важливо знати, що перехідники USB-RS232 (USB-COM Port) швидше за все не будуть працювати з програматором Громова, запрацюють можливо тільки ті у яких стоять нові мікросхеми, так що краще шукати машину з рідним COM-портом.

Висновок

Програматори що розглянуті у статті - це лише кілька найбільш доступних і простих рішень з великого списку програматорів для AVR: USBTinyISP, AVR-Doper, AVR vusbtiny, AVRISP-MkII, програматори на FTDI та інші.

Тепер у будь-якому випадку ви зможете зібрати доступний вам програматор і прошити хоча б одну мікросхему, на основі якої можна зібрати інший зручніший програматор або якийсь пристрій.

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

Перед початківцями питання “а чим ми прошиватимемо свій контролер?” встає практично відразу. Ця проблема вирішується двома шляхами – купуємо серійний програматор чи збираємо свій власний. Природно недоцільно придбати якийсь із серійних програматорів на початковому етапі знайомства з мікроконтролерами. Найпростішим рішенням буде так званий програматор "п'ять проводків". Цей варіант цілком підійде для разового застосування, але існує велика небезпека, що рано чи пізно ваш LPT – порт у комп'ютері згорить. Як бюджетний і безпечний варіант програматора для паралельного порту ми використовуємо більш досконалу схему.

Представляємо простий та безпечний програматор для паралельного порту. Схема програматора досить поширена у різних варіаціях і заснована на використанні мікросхеми-буфера 74HC 244N. Буфер зберігає ваш порт принтера в цілості та безпеці. Додатково до схеми включено резистор, завданням якого є захист від статичної електрики.

Програматор сумісний з Атмеловським STK 200/300 і підтримується багатьма популярними компіляторами. Весь невеликий набір деталей для його збирання досить поширений і не викликає труднощів із придбанням. Друкована плата виконана в односторонньому варіанті з кількома перемичками.

Для підключення програматора до комп'ютера зручно використовувати кабель - подовжувач порту LPT.

Схема у форматі sPlan 6.0 та розведення плати у форматі Sprint Layout 4.0 під ЛУТ ви можете завантажити нижче.




Top