Высоковольтный Avr Программатор

Высоковольтный Avr Программатор

Миниатюрный USB программатор для AVR микроконтроллеров Хабрахабр. Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как самолет. Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega. Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку. Автором данного программатора является немец Thomas Fichl, страничка его разработки со схемами, файлами печатных плат и драйверами. Описание изготовления простого STK500совместимого программатора AVRDoper. Портирование программатора AVRDoper на макетную плату. Причем он как параллельный высоковольтный программатор может лечить MK AVR с не правильно выставленными фьюзами. А у меня, как думаю и. Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega. TQFP3. 2 распиновка микроконтроллера отличается от распиновки в корпусе DIP Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5. МГц. Кстати, эту перемычку вообще можно исключить, посадив 2. МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дргаю, а постоянно шью с ней. Высоковольтный Avr Программатор' title='Высоковольтный Avr Программатор' />Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах. Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC 0. ATMEL для 6 ти пинового ISP разъема На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк см. В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 4. Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это очень удобно. Прошивка управляющего микроконтроллера. Итак, после сборки устройства осталось самое важное прошить управляющий микроконтроллер. Для этих целей хорошо подходят друзья у которых остались компьютеры с LPT портом Простейший программатор на пяти проводках для AVR. Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера 2. Прошивка существует для моделей Atmega. Atmega. 8 и Atmega. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega. А версии под 8 й и 8. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу Pony. Prog. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 1. МГц. Скрин программы с настройками fuse перемычек в Pony. Prog После прошивки должен загореться светодиод подключенный к 2. Это будет верный признак того, что программатор прошит удачно и готов к работе. Установка драйвера. Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места Выбираем папку где лежат дрова и жмем Далее. Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких Забиваем на предупреждение и продолжаем установку, после небольшой паузы появится окно, сообщающее об успешном окончании операции установки драйвера. Все, теперь программатор готов к работе. Khazama AVR Programmer. Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer. Замечательная программка, с минималистичным интерфейсом. В общем, вполне стандартный набор. Настройка фьюзов осуществляется выбором источника тактирования из выпадающего списка, таким образом, вероятность залочить кристалл по ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем поле, при этом нельзя расставить галки на несуществующую конфигурацию, и это тоже большой плюс в плане безопасности. Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Asers_Shop/images/productimages/277621.jpg' alt='Высоковольтный Avr Программатор' title='Высоковольтный Avr Программатор' />Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода обычно это 1. МГц от внутреннего RC. В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке. Высоковольтный Avr Программатор' title='Высоковольтный Avr Программатор' />Миниатюрный USB программатор для AVR микроконтроллеров. Раз решено было собрать миниатюрный программатор, то перерисовал. Что такое параллельный программатор, и зачем он нужен. Следует напомнить, что в целом МК AVR поддерживают 3 режима программирования. Если вы задумали собрать какоенибудь устройство на AVR. Высоковольтный программатор HVSP нужен только если сбросить. За основу взят широко известный программатор HVProg представляет. СProgram FilesAtmelAVR ToolsSTK500 STK500. Перемычка J2 служит для разрешения высоковольтного программирования. Скачать файл печатной платы в Sprint. Layout можно по этой ссылке. Ну вроде все, если возникнут вопросы, постараюсь ответить. Универсальный AVR программатор на Arduino. Все бы хорошо, но мне не недоставало одного вывода. Точнее он имеется у тини вывод RESET, но чтобы задействовать его как цифровой вход, нужно запрограммировать соответствующий фьюз. С помощью  Arduino. ISP это можно сделать только один раз, и последующие попытки заливки скетчей с помощью этого и других программаторов ISP становятся невозможными, поскольку вывод с функцией RESET становится не доступным. Если дальнейшей модификации скетча программы не требуется, то и проблем нет, но в процессе разработки какого то устройства требуется неоднократная перепрошивка мк. Выход из этой ситуации один использование высоковольтного программатора. Для AVR контроллеров с выводами 8, 14 используется. Программатор предназначен для ISP InSistem Programming программирования AVRконтроллеров через USB порт компьютера из среды Algorithm. Практически все AVR контроллеры можно запрограммировать в двух режимах высоковольтном параллельном и низковольтном ISP. Для AVR контроллеров с выводами 8, 1. Я озадачился поиском подобного программатора, но для меня было принципиально важно, чтобы он был на основе Arduino и работал из под Arduino IDE. Это нужно сначала восстановить фьюз, затем перепрошить мк, затем фьюз и т. В силу своих скромных способностей в программировании, вариант самому написать скетч для высоковольтного программатора на Arduino отпадал. А вот поиск в инете увенчался успехом. Из мануала  Scratch. Monkey использует расширенную версию протокола STK5. Высоковольтный Avr Программатор' title='Высоковольтный Avr Программатор' />Он реализует следующие методы программирования ISP In Sistem Programming внутрисхемное программирование использует 4х проводный протокол SPI для программирования и поддерживается почти всеми AVR мк. Главный недостаток при определенных установках фьюзов может быть не пригодным для использования. В ISP режиме Scratch. Monkey работает аналогично встроенному в IDE Arduino. ISP программатору. Высоковольтный Avr Программатор' title='Высоковольтный Avr Программатор' />Параллельное высоковольтное программирование. Из параллельных программаторов для AVR на ум приходит только. Однако, Scratch. Monkey немного более универсальный, поддерживает микроконтроллеры с более чем 1. КБ флэш памяти, и может работать с различными настройками фьзов определяющих режим генератора тактовой частоты мк. Имеет дополнительный выход XTAL сигнал тактовой частоты, что позволяет запрограммировать мк с настройкой фьюзов на внешний генератор. Кроме того, Scratch. Monkey может эмулировать SPI на те же пины на более низкой частоте чем аппаратный SPI Limp Mode, что позволяет программировать мк с внутренним генератором тактовой частоты, настроенным на 1. Гц. HVSP High Voltage Serial Programming высоковольтное последовательное используется для программирования мк 8 и 1. Требует внешний источник 1. В и транзисторный ключ для подачи высокого напряжения на RESET пин. HVPP High Voltage Parallel Programming высоковольтное параллельное используется для программирования мк от 2. Также требует внешний источник 1. В и транзисторный ключ для подачи высокого напряжения на RESET пин. TPI Tiny Programming Interface Тини программный интерфейс для мк семейства ATtiny. SOT2. 3 6 package. ТПИ использует только 3 вывода, и может работать либо в режиме низкого напряжения или в режиме высокого напряжения. RESET пин может использоваться как обычные линии вводавывода. Для начала тестирования составил простейшую схему рис. Scratch. Monkey и изготовил на макетке типа шилда для Arduino Nano клона, Рис. ISP и HVSP режимы. Транзистор любой n p n. Рис. 1. Рис. 1  Рис. Для начала этот программатор нужно прописать в Arduino. IDE. Делаем так в папке Scratch. Monkeyhardwarescratchmonkey, находим и открываем файл programmers. Добавляем к этим строчкам еще по 3 строки выделены на рис. Открываем Arduino. IDE и видим, что добавились два программатора Scrstch. Monkey Рис. 5. Рис. Рис. 5    В IDE открываем скетч Scratch. Monkey. ino и прежде чем залить в Arduino добавим одну строчку. Дело в том, что при высоковольтном последовательном программировании было выявлено, что пин D1. Arduino, подающий напряжение питания на мк при обращении к нему остается в 1, а значит программируемый мк остается под напряжением все время, что не есть гуд. Открываем вкладку с файлом SMo. HWIF. Вставляем Arduino в шилд, подключаем к разъему ISP или HVSP через переходник Attiny. Для режима HVSP подключаем 1. V. В пункте ИнструментыПрограмматор выбираем соответствующий программатор Рис. В пункте Плата выбираем предварительно установленные тини. Как добавить ATTiny в IDE здесь. Открываем в IDE файл скетча для тини и заливаем в мк кнопкой Загрузка или Загрузить через программатор. На линии портов установлены ограничительные резисторы 1к. Ом, с целью предотвращения кз на этих линиях при неблагоприятных условиях. DD2 dcdc конвертер на микросхеме ME2. F 51. 2V c Aliexpres Рис. Рис. 8. Или самодельный на MC3. Рис. 9. Светодиоды показывают состояние программатора. Разъем XR1 Debag для дополнительной отладки программатора, если что то пойдет не так и сообщений avrdude не достаточно. Подключается к выводам RX и общий конвертера USBUART, например к такому, Рис. Рис. 1. 0  На компе запускается еще один Arduino. IDE и включается монитор предварительно выбранного порта. В мониторе будет выводиться информация ввиде как на рис. Расшифровка этой информации также показана на рисунке. Режим отладки включается в файле Smo. Config. h, где в одной из строкundef DEBUG. Залить скетч заново в Arduino. Следует отметить, что процессы чтениязаписи в режиме отладки замедляются раз в 1. Рис. 1. 1При параллельном программировании к разъему HVPP контроллеры подключаются согласно таблице 1 и даташиту. Рис. 1. 2Чтобы работали индикаторы и программатор TPI, как заявляет автор, необходимо пропатчить исходники avrdude, заново собрать и скомпилировать. Кому интересно как это делается можно посмотреть здесь, но сначала  нужно пропатчить внести изменения в исходники avrdude. Patch файл можно найти в папке Scratch. Monkey avrdude. Пропатченные и скомпилированные файлы avrdude. Arduino. IDE вместо штатных файлов. В файл programmers. Scratch. Monkey ISPTPIscratchmonkey. В списке программаторов  IDE должны добавиться три программатора Scratch. Monkey ISPTPIScratch. Monkey HVSPScratch. Monkey HVPPПри программировании должны работать индикация и TPI программирование. Так как Scratch. Monkey использует avrdude, то он будет работать и с оболочками дуды. Русификатор Для Magellan Triton. Например с AVR8 Barn O Mat барномат, необходимо только в установках указать пути расположения файлов avrdude, тогда при следующем запуске барномата в списках программаторов увидим  Scratch. Monkey. Оболочки удобны при заливке HEX файлов. Успехов. Файлы Пропатченная дуда.

Высоковольтный Avr Программатор
© 2017