Що таке jtag-програматор?
Існує досить багато конфігурацій різних програматорів, які дозволяють переписати програмні напрацювання в мікроконтролер. Вони можуть бути різними, розрахованими на професіоналів або, навпаки, мати спрощений інтерфейс. До останніх програматорів відноситься і герой цієї статті. Ви дізнаєтеся не тільки, що він представляє собою, але і як зробити програматор JTAG своїми руками. Ви знайдете схеми і фотографії, як повинен виглядати результат.
Чим є JTAG-програматор?
Він являє собою спрощений варіант професійного AVR JTAG ICE, який, як можна здогадатися по його назві, призначений для програмування мікроконтролерів сімейства AVR. Його головна відмінність в тому, що зібрати його може навіть непрофесіонал, і кінцева вартість буде багаторазово нижче, ніж при покупці заводського. По суті, представлений в статті механізм - китайська репліка, тому цей програматор AVR ще й можна купити. Тому не кривлячи душею можна сказати, що існує ще й варіант покупки. Але збірка своїми руками дозволить уникнути можливих негативних наслідків внаслідок дешевизни і низької якості що купуються деталей при виробництві.
Чому обирають саме програматор JTAG?
Головне - його низька вартість і легкість в збірці. JTAG-програматор може програмувати всі пристрої, що мають інтерфейс JTAG. Для роботи через комп`ютер необхідне середовище розробки AVR Studio 4-й або більше версії. З ними цей програматор AVR зможе працювати.
недоліки програматора
Найостанніші версії сімейств мікроконтролерів, без додаткової роботи, що не програмуються. Також існують значні проблеми з тими представниками, у яких менше 40 ніг і 16 Кб пам`яті. Як можна помітити, коло потенційних клієнтів досить обмежений. Але кілька популярних моделей якраз підпадають під нього, так що він стане в нагоді.
схема
Схема програматора проста, для роботи необхідна ATMega16 і трохи додаткової електроніки. Як інтерфейс може бути використано MAX232 (для роботи з COM) і FT232RL (для роботи з USB). Варто зазначити, що при використанні другого варіанта підключати харчування через USB не рекомендують. У таких випадках через помилки або недогляду можуть отримати напруга захисні діоди, і на висновках FT232RL буде висока напруга. Це загрожує виходом з ладу або програматора, або об`єкта програмування. Вирішується це нюанс подачею харчування через плату.
Для більшої простоти тим, хто не має достатньої кваліфікації, вибору програм розрахований на MAX232, але для іншого варіанту потрібно тільки встановити інший роз`єм.
Налаштування
З огляду на, що є необхідні схеми, слід тільки витравити плату. Далі все акуратно приєднується, припаивается на місця, і перевіряється робота програматора шляхом прошивки завантажувача. Потім слід з AVR Studio оновити прошивку для JTAG-програматора до останньої версії або до тих пір, поки треба. До адаптера підключається програматор. Якщо він працює - значить можна переходити до наступного розділу, в якому змальовані нюанси роботи та програмування. Слід врахувати, що всі необхідні дроти є, вони тільки нестандартно розташовані.
Відео: Z3x easy jtag або в цеху программаторов прибуло ..
В якості підготовки до роботи слід виставити Fuse біти. Вони залежать від нотації, в якій проводиться робота. Для кращого розуміння представляємо ось таку таблицю:
біт | Пряма нотація (даташіте, UniProf) | Інверсна нотація (AVR DUDE GUI, PonyProg) Відео: Texremont Life | Jtag програматор USB-F ver: 1,2 чергова покупка |
OCDEN | [] | [1] |
JTAGEN | [] | [1] |
SPIEN | [] | [1] |
CKOPT | [1] | [] |
EESAVE | [1] | [] Відео: ARM-JTAG, програматор-відладчик |
BOOTSZ1 | [] | [1] |
BOOTSZ0 | [] | [1] |
BOOTRST | [1] | [] |
BODLEVEL | [1] | [] |
BODEN | [1] | [] |
SUT1 | [] | [1] |
SUT0 | [] | [1] |
CKSEL3 | [1] | [] |
CKSEL2 | [1] | [] |
CKSEL1 | [1] | [] |
CKSEL0 Відео: JTAG Не включається тюнер після прошивки | [1] | [] |
А як зрозуміти, яку вибрати? Відповідь на питання проста: слід підключитися до мікроконтролеру і почати читати ці самі біти. Зверніть увагу на SPIEN - якщо є галочка навпроти нього, то це означає, що нотація інверсна. Якщо її немає - значить, вона пряма. Якщо все було зроблено правильно, то вибору програм готовий, щоб прошивати мікроконтролери. Але якщо він в подальшому не зможе зробити прошивку - перечитайте і перевірте все ще раз.
Робота з програматором
Для більшої тями буде наведено приклад програмування миготіння світлодіодів. Спочатку слід запустити студію і створити новий проект. Потім вибрати мову програмування (в даному випадку асемблер) і задати ім`я проекту. Програма сама зможе визначити, що ви використовуєте JTAG-програматор. В якості платформи слід вибрати його, а в віконечку поруч - програмований їм мікроконтролер. Далі все досить звичайно - треба тільки вбити текст для програми. Щоб читачі могли перевірити працездатність, пропонуємо випробувати JTAG-програматор зазначеним у статті кодом. Можна побачити, що діоди почали блимати дуже швидко, що й не дивно, адже тут не передбачена затримка. Отже, програматор, інструкція його створення і використання є. Вам залишається тільки втілити політ своєї фантазії.
Трохи про практику. Для перевірки підключіть до порту А 3 світлодіода. Потім до плати підключається: чотири дроти інтерфейсу (TCK, TDI, TMS, TDO) і 2 силових Vcc йдуть на плюс, а GND підключається до землі. Все, харчування є, можна йти далі. У студії необхідно провести компіляцію коду і його запуск. Проект швидко скомпілюється, тут же буде прошитий і почне працювати. Щоб стежити за процесом виконання, можна натиснути F11, і тоді можна спостерігати, на якому ряду коду зараз програма. Для цього досить піднести курсор до ряду, який включає світлодіод, і він загориться. Існує ще багато експериментів. Пам`ятайте, що для того щоб щось зробити, необхідно працювати. Нехай просування буде повільним, але з часом ви зможете отримати саме те, що хочете, головне - не опускати руки і продовжувати експериментування з упором на теоретичну базу (без неї ніяк).