Универсальная плата-адаптер для AVR микроконтроллеров и программаторов Громова и USBASP
Для внутрисхемного программирования микроконтроллеров (МК) семейства AVR по последовательному каналу применяется множество разнообразных программаторов. В большинстве случаев для программирования и отладки МК непосредственно в устройстве достаточно подключить программатор к разъёму, находящемуся на плате рядом с МК, и загрузить программу. Но что делать, если габариты устройства или схемотехническое решение не позволяют подключать программатор непосредственно к МК?
Для этого используют различные панели-переходники и МК программируют заранее перед установкой на плату. Иногда на них приходится монтировать кварцевый резонатор с конденсаторами или внешние RC-цепи. Для каждого типа МК зачастую необходима своя схема включения. В Интернете есть много примеров таких устройств с чертежами для самостоятельного изготовления, но их возможности ограничены числом типов программируемых микросхем или отсутствием возможности выбора источника тактового сигнала. Также эти устройства привязаны к одному программатору, что тоже ограничивает их возможности.
Описываемое устройство-адаптер представляет собой универсальную плату, на которой расположены семь панелей для установки наиболее часто используемых МК в корпусах DIP-8, DIP-14, DIP-20, DIP-28 и DIP-40, ATtiny24, ATtiny26, ATtiny2313, ATtinyl 2, ATmega16, ATmega8515, ATmega8 и ATmega328. Кроме самих панелей, на плате есть возможность подключать различные элементы для задания тактовой частоты: кварцевый резонатор на частоту 4 МГц, внешний кварцован-ный тактовый генератор на частоту 8 МГц или задающую RC-цепь с номиналами на частоту около 8 МГц. Питание на адаптер поступает от программатора, поэтому сам адаптер в дополнительных источниках питания не нуждается.
Также этот адаптер может выручить в случае неправильной установки fuse-битов, отвечающих за источник тактового сигнала, — так называемое «залочивание» микроконтроллера, когда он тактируется от внешнего генератора или в ситуации, когда используется внутренний RC-генератор (заводская установка для многих МК), а МК переключили на внешнюю RC-цепь или кварцевый резонатор. Для выбора вариантатактирования на плате есть двухрядный восьмиштырьковый разъём, на котором перемычками (джамперами) устанавливают источник для тактового сигнала МК.
Также на плате адаптера расположены сразу два разъёма для программаторов: десятиконтактный — для серийного USBASP и шестиконтактный — для самодельного программатора Громова. Это решение позволило расширить возможности адаптера и программировать МК с помощью несколь ких программ, таких как AVRDUDE PROG, UniProf и Algorithm » Builder. Если одна из программ не поддерживает используемый МК, то его можно без труда «прошить» с помощью другой программы. Например, как в случае с МК ATtiny12.
Схема универсального адаптера представлена на рис. 1.
Рис. 1. Схема универсального адаптера
Он содержит несколько DIP-панелей. Панель XS1 — восемь выводов, XS6 — 14 выводов, XS5 и XS7 — 20 выводов, XS2 — 28 выводов и XS3, XS4 — 40 выводов. Все они объединены между собой параллельно по питанию, линиям программирования и тактовым сигналам. Внешние частотозадающие элементы коммутируются перемычками S1-S4. Если нужно использовать внешний генератор, устанавливают перемычку S1, для использования RC-цепи устанавливают перемычку S2, а если же исполь-зуется внешний кварцевый резонатор, устанавливают перемычки S3 и S4. Цепь индикации напряжения +5 В выполнена на светодиоде HL1 и резисторе R4.
Схема задающего генератора выполнена по схеме Пирса [1] на транзисторе VT1, кварцевом резонаторе ZQ1, элементах R1, R3, C1 и С2. Этот генератор устойчиво работает в диапазоне частот 1…20 МГц. Кварцевый резонатор ZQ1 может быть из этого диапазона частот. Налаживание генератора заключается в подборе резистора R3 по устойчивому запуску генератора. Работу генератора контролируют осциллографом.
Второй вариант тактирования для некоторых типов МК — от внешней RC-цепи. Для этого предусмотрены элементы R2 и C3. Номиналы этих элементов можно рассчитать, используя формулу f = 1/(3RC) [2], где R — сопротивление резистора R2 в омах; С — ёмкость конденсатора C3 в фарадах; f — частота в герцах. Номиналы задающей цепи R2C3 в авторском варианте подобраны для частоты около 8 МГц.
Третий вариант тактирования выполнен по стандартной схеме на элементах ZQ2, C4 и C5 [2].
Для изъятия микросхем из панелей адаптера очень удобно пользоваться специальным экстрактором для микросхем в DIP-корпусах (рис. 2). Микросхемы в узких корпусах с его помощью вынимаются без проблем. Главное, чтобы при установке МК оставить зазор в 1 мм между его корпусом и панелью. Для уменьшения усилия извлечения МК в больших корпусах можно удалить неиспользуемые контакты из панелей XS3 и XS4.
Рис. 2. Экстрактор для микросхем в DIP-корпусе
Печатная плата адаптера размерами 120×65 мм выполнена из одностороннего фольгированного стеклотекстолита толщиной 1,5…2 мм. Чертёж печатной платы представлен на рис. 3. Он адаптирован под известную технологию ЛУТ и выполнен в бесплатной программе SprintLayout6. На плате присутствуют две проволочные перемычки, установленные со стороны панелей, и десять SMD-перемычек типоразмера 1206, которые обозначены на рис. 3 как R0. Слой «медь верх» не используется и не печатается. Он служит только для справочного обозначения SMD компонентов на нижней части платы при монтаже. Расположение панелей и других деталей на плате показано на рис. 4.
Рис. 3. Чертёж печатной платы
Рис. 4. Расположение панелей и других деталей на плате
В качестве панелек адаптера использованы панели серии SCL (с шагом 2,54 мм) на 8, 14, 20, 28 и 40 выводов. Разъём ХР1 — двухрядная угловая вилка типа Bh20R на десять выводов, ХР2 — однорядная вилка PLS-6 на шесть выводов. Для установки перемычек S1-S4 использован двухрядный штыревой разъём PLD-8 на плату. Сами перемычки (джамперы) — серии 4.5hb(2 mm), они имеют хвостовик, за который их удобно брать. Транзистор КТ316Б заменим транзистором КТ368Б или импортным аналогом 2N2475, 2N2784. Можно применить и транзистор КТ315Б. Кварцевые резонаторы — KX-3HT или любые другие в корпусе HC-49s. Конденсаторы С1-С5 — керамические выводные КД1 или импортные, конденсаторы С6-С13 — керамические для поверхностного монтажа типоразмера 1206. Оксидные конденсаторы С14 и С15 могут быть любые ёмкостью 47…100 мкФ на напряжение 6,3 или 10 В. Светодиод — любой маломощный красного свечения, например L-53SRD-F. Выводные резисторы — МЛТ, С2-23. Внешний вид смонтированной платы показан на рис. 5.
Рис. 5. Внешний вид смонтированной платы
Кроме настройки задающего генератора, адаптер в налаживании не нуждается. Желательно перед монтажом проверить плату на отсутствие замыканий и обрывов.
Работа с адаптером предельно проста — устанавливаете МК в соответствующую его типу панель, устанавливаете перемычками вариант задания тактового сигнала и подключаете программатор. Все вышеперечисленные МК уверенно работают на тактовой частоте 8 МГц. Проблемы возникли с МКАТЛпу12, у которого верхняя граница тактовой частоты ограничена частотой 4 МГц. Вдобавок он не поддерживается программой AVRDUDE_PROG. Поэтому пришлось заменить кварцевый резонатор ZQ2 на частоту 4 МГц. При работе же от внешнего генератора частотой 8 МГц МК ATtiny12 уверенно распознавался программатором Громова. МК ATtiny12V с диапазоном тактовых частот до 1,2 МГц на этом адаптере не программировался.
Литература
1. Ввод тактовых сигналов для микроконтроллера. — URL: https://rn.qrz.ru/schemes/ contribute/microcontrollers/wvod_taktovy-h_signalov_dla_mikrokontrollera.html (11.08.21).
2. Евстифеев А. В. Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel, 5-е изд., стер. — М.: Издательский дом Додэка-XXI, 2008.
Автор: С. Рычихин, г. Первоуральск Свердловской обл.
sdelay_sam
Схема USBASP |
Печатная плата |
Вид снизу |
Вид ссверху |
Упаковал все в готичный корпус |
Конфигурирование Fuse для Mega48 |
Fuses для Mega8 |
Программатор должен появится в диспетчере устрйств |
GUI Оболочка на AVRDUDE |
Так как у многих уже давным давно нет ни COM ни LPT порта, то я решил выложить схему USB программатора для AVR. Это будет широко известный в узких кругах USBASP. Схема простая как три копейки, но COM или LPT порт все же потребуется — для того, чтобы прошить управляющий контроллер. Так что можешь сходить к другану. Программатор строится на контроллере
Сборка
Изготовил печатную плату, стравил. Засверловал и напаял компоненты. Микросхему рекомендую ставить на панельку.
Прошивка программатора
Далее замыкаем перемычку J1 и J2 и подключаем к разьему стандартный последовательный программатор, да хоть тот же программатор Громова. Программатор должен иметь свое питание, иначе нужно подать его на схему.
И заливаем в проц прошивку. Для ATMega8 одна прошивка, для ATmega48 другая. Дальше нужно выставить биты конфигурации.
Для ATMega48:
Старший байт FUSE выставляется как 0хDD, младший 0xFF. На картинке я привел скриншот из UniProf с правильно расставлеными битами конфигурации для контроллера ATMega48.
Если применяется контроллер ATmega8, то байты FUSE таковы:
Старший 0xC9, младший 0xEF
Настройка в работу
После прошивки нужно снять перемычку J1 и все, можно втыкать в комп. Сразу же должно обнаружитсья USB устройство. Скармливаем ему дрова и у нас в системе появляется новый девайс — USBAsp. Если система ругается на драйвера, говорит, что это не драйвер, а фуфел какой то. Значит контроллер либо криво прошился, либо ты забыл снять перемычку J1.
Перемычка J3 используется для прошивки контроллеров у которых частота не превышает 1.
Красный светодиод показывает, что программатор подключен к USB и запитан. Зеленый, что идет обращение к прошиваемому контроллеру.
Прошивающий софт
Все, теперь можно подключать к программатору провод и тыкать им в прошиваемые контроллеры.
Единственная софтина которая поддерживает этот программатор это AVR-чувак, она же дудка, она же AVRDUDE. Мощнейший консольный программатор. Не стоит пугаться его консольности, во первых батники никто не отменял, а во вторых не него существует несколько оболочек.
ВНИМАНИЕ! В той GUI оболочке что находится в архиве ИНВЕРСНЫЕ FUSE!!! То есть если в даташите написано, что дефолтные SCKEL3..0 = 0100 то тут будет показан 1011!!! Короче, как в PoniProg. Чего эти утырки так вертят эти несчастные FUSE я понять не могу, хоть бы предупреждали, а то бы залочил кристалл нахрен.
Вот, пример командной строки для прошивки через USBAsp — Записываем main.hex во флеш ATmega8:
avrdude -c usbasp -p atmega8 -U flash:w:main.hex
В архив usbasp.rar я сложил все файлы необходимые для этого программатора:
- Прошивка для ATMega 48 и ATMega 8
- Драйвер для винды
- Схема
- Печатная плата в формате Sprint Layout
- Фотки
- AVRDUDE
- GUI к AVRDUDE
Инструкция по установке драйвера для программатора USBasp в Windows 10
Громов Программист: обозначение Описание
Кто занимается конструированием радиоэлектронных разработок, тем лучше, чем когда-либо использовал микроконтроллеры. Usus harum inventa sunt открывает ingentis случаи про радио fectum. Микроконтроллеры производства pauci sunt, societatibus duces — Microchip Technology, atmel, ARM Limited. Требуется прошивка Talium est enim proprium. Для этого нужны программисты. Plures rationes istae potes titio emi et manibus vestris potes. Si vos elegit secundum optionem, est optimum ad uti paratus-factum est et probatur solutionem talis ut программист Громов. Quod fabrica est satis simplex, non coligunt usque in tiro in vim.
СОМ (АВР) Громов -программатор
СОМ Программирование есть симплексное производство. Использование других модусов приложений «СОМовского» порта Bitbang необходимо для преобразования RS232 в порт, в интерфейсе SPI, что требует программирования. Hispania et modo signum com level in portum ex-12V: + + 5V et 12V 0V est.Et propter hoc ratio disposito est software for AVR-moderatoris. Де фото инфра остендит программирование Громова.
Ea res primo propositus является автором прогресса AlgoritmBuilder Геннадием Громовым и упоминает о надежности, а также упрощает поддержку.
Ut procedere ad ecclesiam de factory, nos postulo:
- Diocles KD510, KD522, 1N4148 aut аналоги ejus.
- Септемный резистор, используемый в экспериментах, номинальная стоимость 1 кОм, резистентность без ссылки.
- Testans Pluma Commentum — вы можете использовать цикл IDE commodum necesse-computatrum. Nam vestibulum Circuitus opere firmior est in mediis filis insigni alternare diver. Reducere possumus aequo cursus inductus strepitu ac propagare rhoncus vestibulum. Sed non implicari, ut ultra non transeat loop longitudinem 50cm.
- СОПУЛЯТОР для соединения с программируемыми машинами, который может соединяться с внешними соединениями (через, с помощью и искусственных микроконтроллеров), может использоваться для соединения одного рода BLS («O»), может использоваться для соединений в материнских платах компьютеров, соединенных между собой буллами , et LEDs cortinas atrii et sicut mutus flava («Папа есть»). Iungo ratio reddi potest signanter usus simpliciorem id. Люди. Устанавливается в вестибюле рядом с микроконтроллером. Свяжитесь с SCK, mosi, miso AVR microcontroller generis sunt, unum agnoscebant patrem, соответственно, или приложения, встроенные в COPULATOR illis. Разделите соединение на «террам» и «сброс».
У вас может быть анимадверто, это самый простой симплекс, и программатор Громов расширяет.
Специальная работа машины, недоступная для проверки микропрограммного обеспечения микроконтроллера.
Программист Gromov universae agatur passivorum. Non opus potestatem copyia separatum, и максимально интересное, ошибочное напряжение, но в цепи происходит: микроконтроллер не может быть запрограммирован и подключен к источнику питания.
Idem principium coactisve hominibus Programmator USB potest, nisi per ratione talis est fabrica turpis.
|
шт. |
шт. | Цена: 516 грн Код: 63шт. |
|
шт. |
|