Мегаклон програматор avrisp mkii для мікроконтролерів avr

Довгий час я програмував мікроконтролери AVR клоном программатором STK500. Він прекрасно уживається з AvrStudio4. І працює прямо з середовища цієї програми. Так що я програмував AVR чіпи і був дуже щасливий. Але час ішов і з'явилася AtmelStudio5, потім AtmelStudio6. і поступово я переїхав на новішу версію AtmelStudio6. Переїхав не тому, що перестала влаштовувати AvrStudio4, а просто зручність писання прог на СІ в 6-ій версії, як мені здалося мальок зручніше ніж на 4-ке. Є і підсвічування синтаксису і спливаючі підказки ну і купа різних фішок при налагодженні.

Але на жаль мій улюблений програматор-клон STK500 працював з новою 6-ий версією через пень-колоду. Те підключиться, то чи не підключиться. Ну і писав я тому проги на 6-ій версії, а зашивав чіпи з під 4-ої. Згодом мене це дістало. І я вирішив зробити собі новий програматор для 6-й версії студії.

Вимоги до программатору були такі:
1. Щоб був простий, без зайвих наворотів і не потрібних примочок.
2. Щоб працював надійно як кувалда, довго і щасливо.
3. Висока швидкість прошивання чіпів. Бо мій клон STK-500 не дуже швидкий.
4. Повинен дуже стабільно працювати з AvrStudio4 і AtmelStudio6.

Риття гугла привело мене до программатору AVRISP MKII. Далі я нарив вагон схем цього програматора. Все прокладено мною схеми виявилися схожі один на одного, відмінності були в дрібницях. З усіх цих схем я спорудив свою схему, просту, без наворотів, без зайвих кнопок і купи миготливих світлодіодів. Ну скажіть будь ласка, навіщо мені аж 7 світлодіодів на программаторе, якщо в самому вікні програмування є прогрес-бар показує скільки залишилося до кінця процесу програмування. Над прогрес-баром є ще лог повідомлень, в якому теж пишеться, що відбувається з чіпом. Ну і якщо щось не так з програматором, то сама студія видає окреме вікно з повідомленням в якому написано в чому проблема. Отже, я вирішив знести зі схеми всі ці світлодіоди і кнопочки. Досить одного світлодіода для візуалізації процесу прошивання.

Зрізав так само інтерфейси TPI (для деяких Attiny) і PDI для Xmega, бо не планую в найближчому майбутньому з ними працювати. Поки Atmega вистачає. Схема мого вибору програм вся на 5 вольт. Однак я вже кілька років програмував своїм древнім STK500 на 5 вольт і схеми на 3.3 вольта, проблем не було, нічого не спалив. Але це вже самі вирішуйте, шити таким чином або не шити. До речі на висновках стоять резистори, що гасять, тому, по ідеї можна шити схеми з чіпами живити на 3.3 вольта. Так от сама схема.

Мегаклон програматор avrisp mkii для мікроконтролерів avr

Як бачимо програматор вийшов 3 деталі 2 запчастини. Ось і весь програматор.

Всі конденсатори керамічні. Мікроконтролер ATUSB162-16AU я використовував б / у. Термофеном з якогось пристрою випаяв. Так як у мене є старий програматор, то прошивку я залив їм. І мене не сильно цікавило, чи є в ATUSB162-16AU завантажувач. Але якщо ви збираєте свій перший програматор, то з заводу виробника в цих чіпах ATUSB162-16AU варто завантажувач. І можна залити прошивку в чіп без програматора. Для цього треба скористатися програмою завантаженої у Atmel. Називається вона FLIP. Таким чином, можна одним рухом руки зібрати цей програматор, не маючи в наявності другого програматора. Проблема «курка і яйця» не виникає.

Ось сама плата.

Мегаклон програматор avrisp mkii для мікроконтролерів avr

Уже спаяна.
Мегаклон програматор avrisp mkii для мікроконтролерів avr

Вид зверху.
Мегаклон програматор avrisp mkii для мікроконтролерів avr

Готовий повністю.
Мегаклон програматор avrisp mkii для мікроконтролерів avr

Прошивку для програматора я взяв з проекту LUFA. Зрозуміло що там немає готового файлу * .HEX для заливки в ATUSB162-16AU. Тому я скомпілював його так, як писав про це тут. Але вам цього робити не треба, так як прошивка, розводка плати в (Sprint-Layout) і схема в нормальному вигляді в топіку. До речі, якщо не помиляюся, то ніби як завантажувач в ATUSB162-16AU працює на 8MHz, а сам програматор працює на 16MHz. Враховуйте це. Але в топіку є прошивка і для 8ми Мгц

Граблі які виникли при складанні та тестуванні програматора: Граблі в загальному то не виникло, тому особливо писати нічого.

Налаштування FUSE BIT для ATUSB162-16AU:
HIGH 0xD9
LOW 0xDE
Але якщо в чіпі варто завантажувач, то значення FUSE BIT будуть інші.

результат:
1. Схема вийшла як і хотілося, з мінімумом деталей. Для початківців саме те.
2. випробували під 3 платформами WINDOWS. Нарікань не виникло.
3. Якщо чесно, то я вражений швидкості прошивання програматора. 54 кіло прошивки програматор засандалив в кристал за 4-5 сек (без верифікації). Мій старий клон STK500 такий же обсяг порушували де то за 60 сек. (Без верифікації). Різниця в швидкості прошивання явно очевидна.
4. Студії працюють з ним, як з рідним. Помилок не з'являлося поки не однієї.

Так що вважаю, що даний програматор досяг поставлених перед ним цілей.

Так що, шановні початківці радіоаматори і не дуже початківці, пробуйте. Сподіваюся вам сподобається. Бажаю удачі.

P.S.
Забув сказати. На схемі є два висновки RESET. Так ось, щоб прошивати чіпи використовуємо той RESET, який прикріплений до ноги PB4. Апаратний RESET використовується тільки один раз, при завантаженні прошивки в ATUSB162-16AU іншим програматором.

Спробував запустити даний програматор в зв'язці AVRDUDE 5.11.1 з привабливою утилітою AURDUDE_PROG 3.2. Але поки не працює. Можливо якщо вийде нарити причину, то напишу.

Мегаклон програматор avrisp mkii для мікроконтролерів avr

P.S. №2
Помітив що кожні пів року AtmelStudio оновлюється наступним сервіс паком. І після кожного такого поновлення програматор відмовляється працювати, бо не збігається версія прошивки програматора з необхідною. І кожен раз доводиться заново перекомпіліровать проект з LUFA. Потім заливати нову прошивку в програматор. Версія прошивки змінюється в файлі V2ProtocolParams.h

Мегаклон програматор avrisp mkii для мікроконтролерів avr

Це трохи незручно. Ось на днях оновив Studio, встромив програматор, хрясь а він не працює. Бо студія вимагає оновити прошивку програматора. Засада. Ось я вирішив відразу цей параметр firmvare_version_minor поміняти з запасом на подальші оновлення студії. Зробив його 0x50. Прошив, перевірив все працює. Сподіваюся цього надовго вистачить. У аттаче лежать прошивки для кварцу на 8 і 16 MHz.

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

при такій мінімалістичною схемою проситися форм-фактор «USB Dongle».

я так розумію що відладчика для 6 студії не буде такого ж доступного ... а яким чином там взагалі налагоджувати ...

У останньої дудки в конфіги є цей програматор, але вона його не визначає чомусь, у всякому разі мій нестандартний клон. Може конфиг підправити трохи треба. Ще руки не дійшли.

Справа не в дудці, начебто, раніше було так, що девайс на різних прошивках використовував різні драйвера, то від студії то від libusb - в цьому мб і косячіна була. А мб Ви і праві, мб ща дудку навчили дригати дровами від студії, в будь-якому випадку через пару годин перевірю.

Я зараз скачав avrdude 5.11.1 і оболонку до неї AVRDUDE_PROG 3.2. Запустив цю всю капусту. Підключив свій старий клон stk500. Всьо чотко працює. Чіп пишеться стирається. Потім підключив свій свіжоспечений AVRISP MKII. І ... дуля з маслом. При спробі вважати FUSE або прошити кристал, прога пише що все ОК! Все лічено і прошито і що все працює. Але тільки при цьому абсолютно нічого не відбувається. Відключив AVRISP MKII від компа, знову спробував вважати FUSE і прикол, прога пише, що FUSE лічені! І що все пучком! Якщо нароешь в чому причина і виправиш, то можемо доповнити статтю.

У мене не працює ні за яких налаштуваннях дудки, але у мене поки тільки 4-я студія встановлена. Гойдається 6-я, може в ній драйвер підправлений, спробую.

Мене зацікавив цей варіант, я нашвидку зробив збірку проекту для моєї ATMega32U2, драйвер встановився автоматично від Студії 4, в студії програматор заробив (перевірив тільки читання сигнатури і фьюз). Після цього зробив ресет, знову визначився AVRISPMK2, я протупил і знову поставив драйвера від Студії, але потім допер і оновив драйвер на libusb, який тут же згенерувати імеющещейся в комплекті з libusb утиліткою.
В результаті цього всього вийшло, що по ресета перемикається libusb | avrispmk2, але програматор працювати перестав і в Студії, а в дудці в режимі libusb став зависати ...
Треба б якось зібрати в один архівчік працюють варіанти драйверів і прошивки і схеми під обидва варіанти. Ну як то так…

До речі, мінімальний клон MkII тут вже публікували. тільки в трохи більш цікавому виконанні.

Вітаю.
Зібрав програматор, керуючись цією статтею. Прошив МІКРО, програматор визначився, драйвера стали. Але МК не читає.
Атмел студія 6 його взагалі не бачить, СВАВР і АВР студія 4.19 бачать програматор, але при спробі що-небудь вважати з МК плюються помилкою входу в Programming Mode.
Частоту міняв, пару раз перешивав AT90USB162 - жодного результату.
Підкажіть, де шукати проблему?

Не знаю де шукати, на відстані важко що небудь сказати. Треба бачити все буквально що і як. дуже часто проблема через неправильне підключення висновків MISO, MOSI, SCK, RESET, GND. Займаюся МК вже багато років, а все одно часто плутаю підключення. Перевір правильність підключення. І резистори гасять зменш до 100 Ом. Але якщо студія 6 не бачить, значить все таки що то з драйверами не так. Хоча дивно що 4ка все таки бачить. Спробуй на іншому компі поставити студію 6 з чистого аркуша і увіткнути програматор. Ну або якщо все погано то купи такий же але готовий.

У мене така проблема. Все спаяв, по ISP прошивається, але комп'ютер не бачить. Генерація на кварці є. фьюз
Lock byte: 3F
High byte: D9
Low byte: DE
Extended: F1

Витягуємо шнур USB і знову вставляємо.

Після цього кроку в диспетчері пристроїв зникає AT90USB162 і з'являється LUFA AVRISP MKII Clone (або щось подібне) і комп'ютер знову не може знайти драйвера ... Не біда, вказуємо драйвера з папки Atmel \ AVR Jungo USB.

Мегаклон програматор avrisp mkii для мікроконтролерів avr

До речі, іноді доводиться використовувати програмку zadig для підміни драйверів, у мене студія не бачить програматор зі стандартними драйверами, використовую libusb32 з zadig.

EasyEDA: безкоштовний Хмарний CAD

Прямий ефір

Схожі статті