Що таке JTAG-програматор?

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

Чим є JTAG-програматор?

jtag програматорВін являє собою спрощений варіант професійного AVR JTAG ICE, який, як можна здогадатися по його назві, призначений для програмування мікроконтролерів сімейства AVR. Його головна відмінність в тому, що зібрати його може навіть непрофесіонал, і кінцева вартість буде багаторазово нижче, ніж при покупці заводського. По суті, поданий у статті механізм - китайська репліка, тому цей програматор AVR ще й можна купити. Тому не кривлячи душею можна сказати, що існує ще і варіант покупки. Але збірка своїми руками дозволить уникнути можливих негативних наслідків внаслідок дешевизни і низької якості купованих деталей при виробництві.

Чому обирають саме програматор JTAG?

програматор avrГоловне - його низька вартість і легкість в збірці. JTAG-програматор може програмувати всі пристрої, що мають інтерфейс JTAG. Для роботи через комп'ютер необхідна середу розробки AVR Studio 4-й або більше версії. З ними цей програматор AVR зможе працювати.

Недоліки програматора

Самі останні версії сімейств мікроконтролерів, без додаткової роботи, що не програмуються. Також існують значні проблеми з тими представниками, у яких менше 40 ніг і 16 Кб пам'яті. Як можна помітити, коло потенційних клієнтів досить обмежений. Але кілька популярних моделей якраз підпадають під нього, так що він стане в нагоді.

Схема

програматор jtag своїми рукамиСхема програматора проста, для роботи необхідна ATMega16 і трохи додаткової електроніки. В якості інтерфейсу може бути використано MAX232 (для роботи з COM) і FT232RL (для роботи з USB). Варто обмовитися, що при використанні другого варіанту підключати живлення через USB не рекомендують. У таких випадках через помилки або недогляду можуть одержати напругу захисні діоди, і на висновках FT232RL буде висока напруга. Це загрожує виходом з ладу або програматора, або об'єкта програмування. Вирішується цей нюанс подачею живлення через плату.

Для більшої простоти тим, хто не має достатньої кваліфікації, програматор розрахований на MAX232, але для іншого варіанту потрібно тільки встановити інший роз'єм.

Налаштування

Враховуючи, що є необхідні схеми, слід тільки витравити плату. Далі все акуратно під'єднується, припаюється на місця, і перевіряється робота програматора шляхом прошивки завантажувача. Потім слід з AVR Studio оновити прошивку для JTAG-програматора до останньої версії або до тих пір, поки треба. До адаптера підключається програматор. Якщо він працює - значить можна переходити до наступного розділу, в якому змальовані нюанси роботи та програмування. Слід врахувати, що всі необхідні дроти є, вони тільки нестандартно розташовані.

схема програматора

В якості підготовки до роботи слід виставити Fuse біти. Вони залежать від нотації, в якій проводиться робота. Для кращого розуміння представляємо ось таку таблицю:

Біт

Пряма нотація (даташіте, UniProf)

Інверсна нотація (AVR DUDE GUI, PonyProg)

OCDEN

[]

[1]

JTAGEN

[]

[1]

SPIEN

[]

[1]

CKOPT

[1]

[]

EESAVE

[1]

[]

BOOTSZ1

[]

[1]

BOOTSZ0

[]

[1]

BOOTRST

[1]

[]

BODLEVEL

[1]

[]

BODEN

[1]

[]

SUT1

[]

[1]

SUT0

[]

[1]

CKSEL3

[1]

[]

CKSEL2

[1]

[]

CKSEL1

[1]

[]

CKSEL0

[1]

[]

А як зрозуміти, яку вибрати? Відповідь на запитання проста: слід підключитися до мікроконтролеру і почати читати ці самі біти. Зверніть увагу на SPIEN - якщо є галочка навпроти нього, то це означає, що нотація інверсна. Якщо її немає - значить, вона пряма. Якщо все було зроблено правильно, то програматор готовий, щоб прошивати мікроконтролери. Але якщо він в подальшому не зможе зробити прошивку - перечитайте і перевірте все ще раз.

Робота з програматором

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

Трохи про практику. Для перевірки підключіть до порту А 3 світлодіода. Потім до плати підключається: чотири дроти інтерфейсу (TCK, TDI, TMS, TDO) і 2 силових Vcc йдуть на плюс, а GND підключається до землі. Все, живлення є, можна йти далі. У студії необхідно провести компіляцію коду і його запуск. Проект швидко скомпілюється, тут же буде прошитий і почне працювати. Щоб стежити за процесом виконання, можна натиснути F11, і тоді можна спостерігати, на якому ряду коду зараз програма. Для цього достатньо піднести курсор до ряду, який включає світлодіод, і він загориться. Існує ще багато експериментів. Пам'ятайте, що для того щоб щось зробити, необхідно працювати. Пускай просування буде повільним, але з часом ви зможете отримати саме те, що хочете, головне - не опускати руки і продовжувати експериментування з упором на теоретичну базу (без неї ніяк).




Увага, тільки СЬОГОДНІ!

» » » Що таке JTAG-програматор?