Прошивка микроконтроллера в ЦАП-ах серии AH-Dх.
Для прошивки микроконтроллера нам понадобится USBasp программатор с переходником 10-pin to 6pin.
Для прошивки микроконтроллеров AVR мной обычно используется программа AVRDUDE. Отличается она широким спектром поддерживаемых программаторов и микроконтроллеров. Кроме «родных» устройств от Atmel она поддерживает и любительские устройства, не поддерживаемые самой AVR Studio, к примеру используемый нами программатор USBAsp.
Сначала подключим наш программатор к ЦАП-у (в примере AH-D5). Будьте внимательны, подключаем, как показано на картинке.
Сначала выбирается из списка используемый миконтроллер, программатор USBasp и приступаем настройке.
Далее я рекомендую установить фьюз биты в наш микроконтроллер. Обычно по умолчанию ATmega48/88 сконфигурированы на работу на частоте 1 или 8 Мгц от внутреннего генератора. Я рекомендую снизить частоту до 1Мгц, для снижения лишних помех и наводок. Конфигурация фьюзов представлена ниже.
Далее выбираем файл прошивки и нажимаем кнопку «Программирование».
При прошивке микроконтроллера работающего на частоте <= 1Мгц иногда возникает ошибка. Появляется она из-за того, программатор не может автоматически перейти в режим медленного программирования. Для перевода в медленный режим необходимо замкнуть на программаторе перемычку JP3.
Во вложении вы можете скачать архив с AVRDUDE и драйвера к программатору.
Включение BOD (Brown-out detection)
Также можно отказаться от внешнего супервизора, так как ATmega48/88 имеют встроенную схему обнаружения пониженного напряжения (BOD), которая контролирует уровень напряжения питания. Для установки уровня 2.7в установите «Fuse Hight Byte» как показано на изображении ниже:
Возможные проблемы
1) Я рекомендую выполнять прошивку, когда МК запитывается от своего стабилизатора на плате устройства (без подачи внешнего питания с программатора на ЦАП, джампер выбора питающего напряжения на программаторе снимается).
Если вы все таки решили шить с подачей внешнего питания, то убедитесь, что выбрана опция 3.3в.
Кроме этого на многих программаторах с ali китайцы сэкономили на входной и выходных емкостях бортового стабилизатора 3.3в, поэтому для стабильной прошивки потребуется напаять навесом выходную емкость номиналом 0.1-1мкф, аналогично предлагаю запаять емкость прямо на переходнике 10-pin to 6pin (VCC to GND).
2) Если при прошивке получаете ошибку
«avrdude.exe: ошибка: включение программы: цель не отвечает. 1 avrdude.exe
: ошибка инициализации, rc=-1»
а) Обновляем прошивку вашего программатора.
или
б) Также хочу отметить, что в последнее время в ЧИП-ДИП-е продаются микроконтроллеры Atmega88PA с конфигурацией фьюзов для работы с внешним тактовым генератором. Это противоречит документации производителя для значений по умолчанию. Если закупались в указанном магазине, пытаемся подцепить внешний клок и поменять конфигурацию фьюзов.
в) 0 bytes of flash verified
Например, при успешной прошивке D16 Pro вы должны увидеть "<размер прошивки> bytes of flash verified". Если вы получаете сообщение об успешной верификации и при этом 0 bytes of flash verified, проверяем сначала файл прошивки. Пустым он точно быть не должен, если файл оказался битым скачиваем архив заново. Если файл корректный, разбираемся с вопросом обновления прошивки вашего программатора, поисковик в помощь.
ATAineri 5 лет назад #
e_niknik 4 года назад #
caleb 4 года назад #
Вообще как бы если fuse лок биты не ставились по идее должна совпадать с тем что ранее зашивалось.
AL72 4 года назад #
Перешел сюда по ссылке из «Модуль индикации для аманеро». А где обещанные прошивки?
admin 4 года назад #
Прошивку с поддержкой работы ИК пультов и OLED дисплеев искать в статье Владимира, поправил ссылку.
Red_Hugh 4 года назад #
" Во вложении вы можете скачать архив с AVRDUDE и драйвера к программатору."
А где это вложение? На странице не нашел.
caleb 4 года назад #
На старом сайте все было, добавят.
emon 4 года назад #
admin 4 года назад #
Вложение потерялось при переносе сайта, добавил
OniX 3 года назад #
Помогите пожалуйста! Спаял цап AH-D6 v2.1. Хочу прошить микроконтроллер программатором, но нигде не могу найти файл прошивки! На странице самого цапа тоже нигде найти не могу!
admin 3 года назад #
как нету
Приватное вложение:ah-d6-firmware-v1-5.zip 5 Кбскачан 148 раз
Приватное вложение:ah-d6-firmware-v2-1-atmega88-1mhz.zip 6 Кбскачан 191 раз
для авторизованных пользователей должно быть видны вложения к статье
audiohobby.ru/articles/vysokokachestvennyi-cap-ah-d6-versija-2-h.html
OniX 3 года назад #
Ой, точно! Я просто не был зарегистрирован, спасибо :)
MC 3 года назад #
LampCos 2 года назад #
streametch 1 год назад #
Возможно кому-то пригодится распиновка разъема для AH-D6.1
streametch 1 год назад #
9pixel 1 год назад #
Здравствуйте,
при прошивке МК при помощи программы AVRDUDE v3.3 из архива и программатора USBasp с Aliexpress под Windows 10 64бит столкнулся с ошибкой «Библиотека libusb0.dll не найдена». Драйвер libusb v1.2.4 для USBasp устанавливал в соответствии с инструкцией из архива.
Устройство было обнаружено, но МК не прошивался и постоянно выскакивала системная ошибка приведенная выше. После поиска в интернете, нашел простое решение, скачав программку Zadig v2.8 https://zadig.akeo.ie/
На самом деле проблема в том, что драйвер libusb по версию 1.2.6 не поддерживается Windows 8, 8.1 и 10 и рекомендуется установить v1.2.7.3
Возможно данное решение кому-то поможет и съэкономит время потраченное на поиски другого решения.
Прилагаю скриншоты с краткими пояснениями.
Подключаем программатор к порту USB и запускаем программу Zadig. После этого из пункта меню Options выбираем List All Devices.
Далее из списка ниже выбираем программатор USBasp.
После этого в правом поле находим драйвер libusb-win32 (v1.2.7.3) и жмем на кнопкуInstall Driver ниже. После того как драйвер установится и устройство успешно будет найдено системой можно приступать к прошивке МК.
Устройство находится системой как libusb-win32 devices
Надеюсь, что данное описание так же кому-то пригодится и поможет.
Death51 1 год назад #
Дошли руки до прошивки контроллера. Чудо не случилось) Не смог прошить. В дудке вылазит ошибка :
Программатор куплен на алиэкспрессе. По ходу со старой прошивкой. Под рукой программаторов нету, кроме СН1341А. Скачал в интернете на него самопальную прогу для прошивки Atmega контроллеров по SPI, итог — USBasp программатор прошивается, если верить самопальной программе СН341, но толку ноль, дудка всё так же ругается. Заказал с рук ещё один USBasp с новой прошивкой. Посмотрим, как дела пойдут.
YPol 1 год назад #
Выше есть картинка, как должен определяться виндой USBasp программатор в диспетчере устройств. Если не определяется, надо устанавливать драйвер для него, там же на картинке в постах выше есть полная инструкция как поставить драйвер libusb-win32 (v1.2.7.3) с помощью программы установки драйверов Zadig.
После этого разбираетесь с дудой :-) AVRDUDE, внимательно, в соответствии с положением ключа подключаетесь комплектным кабелем (который хорошо бы предварительно прозвонить на отсутствие простых кз\хх) и пытаетесь прочитать ATMEG-гу, например на вкладке Fuses, потому как их все равно придется проверить и установить в соответствии с инструкцией по прошивке. Дальше вся информация есть в этой статье.
Death51 1 год назад #
Все процедуры выше проделывал. Скажем так, сделал всё, кроме прозвонки шлейфа. Может с ним какие-то нюансы. Но думаю врядли. Пробовал считать Atmegu — одно и тоже ругательство, как в скрине предыдущего сообщения.
В виндоус всё определяется, как положено — USBasp. Дудка его видит. Пробовал разные драйверы через программу Zadig — итог один и тот же, ругается. Я даже на двух разных компах пробовал, на одном Win10, на другом Win7.
YPol 1 год назад #
1.Шлейф прозвонить на соответствие обязательно.
2. Убедиться, что на атмегу подано питание, кстати как? C USBasp, 3,3 или 5 в, или там перемычка питания снята, и контроллер питается от стабилизатора платы на которой он запаян, проверить это обязательно.
3. На какой частоте пытаетесь читать\шить 1 или 8мГц? Проверить, можно прейти на 1 мГц, на программаторе следует установить перемычку J3.
ИМХО, если все верно, думаю менять атмегу, желательно из другого источника. Эту не выбрасывать, возможно у нее fuses сконфигурированы под внешний такт.
admin 1 год назад #
МК может быть с конфигурацией фьюзов на внешний генератор. ЧиД этим отличился, такую партию продавал.
Death51 1 год назад #
1. Прозвонил, полный порядок.
2. На атмегу подано 3.3В с USBasp. Перемычка стоит на USBasp.
3. Пробовал на обеих частотах. Устанавливал перемычку J3. Результат одинаковый — ругательство.
Надо было мне сразу сказать, что атмега куплена на алиэкспрессе. Думаю попал на палёнку. Теперь буду заказывать у официалов. Выпаивать будет сложновато. Всё вокруг запаяно.
Кстати, ещё одно доказательство, что атмега палёнка, это то, что я сегодня попробовал её подключить к программатору СН341А и прочитать — в итоге программатор написал, что девайс не обнаружен. А если подключить к нему USBasp, то он видит атмегу8 и без проблем шьёт её.
Вообщем, скупой платит дважды))) Теперь мне едет ещё один USBasp и придёться заказать новую атмегу88.
Death51 1 год назад #
Получил новый USBasp с последней прошивкой. Ничего не изменилось, всё те же ругательства дудки. Теперь жду оригинальную атмегу)
Кстати, мой программатор СН341А отлично прошил USBasp.
Death51 1 год назад #
Получил новую заведомо оригинальную ATmega88PA-AU. Впаял её. Чуда не случилось( Всё тоже самое. Дудка ругается и ничего не считывает. Получается, что я зря ругал Алиэкспресс. Дело тут в чём-то другом. Полистал интернет, есть много упоминаний, что люди не могут прошить именно ATmega88PA-AU. У меня теперь вопрос к тем, кто прошил МК — Какие у Вас атмеги на борту?
Есть возможность купить ATmega88-20AU. Она почти в два раза дороже выше упомянутой. Не подскажите в чём отличие? Стоит ли её покупать и надеяться, что её увидит USBasp?
Не думал, что так тормознусь на прошивке МК, прям беда конкретная)))
rucrim 1 год назад #
VKhrychikov 1 год назад #
Насколько помню, ATmega88-20AU умеет 20 МГц тактовой частоты
alex3 1 год назад #
У меня все МК с Алика всегда шились без проблем и работали. Даже откровенно сомнительные(без точки маркирующей 1 пин, например). Попробуйте поискать в своем городе человека который сможет вам помочь. Может проблема не в железках а в софте или неверных действиях.
Pushok62 1 год назад #
У меня с али нормально работают МК, купленные давно. В последнее время все покупки МК неудачные, присылали какую-то некондицию. Наверное, просто неудачные покупки...
Pushok62 1 год назад #
Попробуйте кварц к ней подвесить, вполне возможно, что у неё fuse-биты под него установлены, такие в ЧиД попадались.
Death51 1 год назад #
Это последняя надежда) Уже перебираю платы, ищу кварцы. По результату отпишусь.
rucrim 1 год назад #
Чудес не бывает. — Диспетчер устройств этот драйвер у вас присутствует?
Death51 1 год назад #
Да, всё нормально. У меня два программатора USBasp. Они друг друга видят и без проблем прошивают. То есть, с драйверами и работоспособностью самого программатора всё в порядке. Пробовал на атмегу88 подавать внешнее питание (не с программатора), всё тоже самое.
Pushok62 1 год назад #
Неплохо было бы прозвонить соединения всех 6 контактов от разъёма программатора на плате ЦАП до соответствующих пинов МК, а также отсутствие замыканий между этими пинами.
9pixel 1 год назад #
день добрый,
У меня как раз atmega88pa-uа, куплена в маузере. Прошилась с первого раза. Фьюзы выставлены как на скриншоте в статье Андрея. Прошивал точно таким же программатор с али как и у Вас. Питание на самом программаторе было отключено и контроллер питался от ИП ЦАПа. Еще джампер на программаторе я установил в низкоскоростной режим.
Death51 1 год назад #
Вообщем, это какая-то мистика. Подцепил кварц на 12 МГц, конденсаторы на 16пФ, всё, как в даташите. Итог — всё тоже самое:(
Разъём 6пин прозвонил — всё до ножек атмеги доходит, кз между пинами нету.
Куда копать? МК куплены в двух разных местах и по итогу одно и тоже. Странно как-то.
Покупать новый МК ATmega88-20AU и пробовать?
Прикрепляю фото моего ЦАПа.
И отрезок с даташита по подключению кварца.
exellent13 1 год назад #
Попробуйте снять сборку R26 и прошить контроллер. Может АК4493 что то к земле подтягивает без своего питания.
admin 1 год назад #
Снимать не обязательно, шьется прекрасно и со сборкой, но главное чтобы не было там нигде проблем с монтажом, это прозвонить.
admin 1 год назад #
1) Керамика блокировочная по питания атмеги стоит?
2) Как шьете с подачей 3.3В с программатора или питание с платы ЦАП?
3) Добавьте фото, чтобы было видно как подключаете
Death51 1 год назад #
С монтажем резисторной сборки порядок. Никаких кз нету. У меня весь монтаж цапа проверен под лупой. Нигде никаких соплей нету)
1. Стоит.
2. Пробовал и с программатора и от лабораторного БП. От стабилизатора на плате ЦАПа не пробовал.
3. Вечером попытаюсь выложить.
e_niknik 1 год назад #
Может керамика в плате на ножках Атмеги (reset, питание) коротит (у меня был случай коротыша треснувшей керамики в питании, но у AK)? В принципе, для ясности и экономии времени, взять первую отбракованную Атмегу (а потом может и другую) и на макетке сваять схему подключения только пинов программатора (возможно и кварца) и проверить возможность программирования, чтобы исключить влияние возможных ошибок в плате ЦАП.
9pixel 1 год назад #
вот так выглядит оригинальный МК
Death51 1 год назад #
Видите, у Вас MEGA88PA-U, а у меня MEGA88PA-AU. Сто процентов есть какие-то внутренние различия.
9pixel 1 год назад #
А что означает треугольник в маркировке МК перед Atmel? Такое ощущение, что МК какой-то специализированный или я ошибаюсь?
Death51 1 год назад #
Этого я не знаю. Да, действительно стоит треугольник. Надо попробовать погуглить.
Death51 1 год назад #
Ну что ж… Вот и развязка моей истории. Победил проблему. В сотый раз убеждаюсь в словах Админа, что всему виной монтаж!!! В моём случае, звёзды сошлись ну просто фантастически. Проблема была в резисторе Р30 — 10 кОм (цепочка RST). Я решил просто его проверить, а вдруг… И тут действительно это «вдруг» случилось. Он оказался 10 Ом, вместо 10 кОм. Впаял 10 кОм и вуаля… Всё обнаружилось и прошилось без единой задоринки.
Немного своей предыстории. Все резисторы, перед впайкой в плату, были мной проверены мультиметром. Ни единого ошибочного резистора не обнаружил. Но…!!! Единственный резистор, который я не проверял, это Р30)))) Я его запаивал самым последним и почему-то доверился магазину, мол сто штук безпроблемных, значит и с этим всё нормально и так впаял. Вот такое бывает. И оказалось, что это единственный номинал, с которым прогадал магазин.
Теперь о самих МК. Те МК, что куплены на Алиэкспрессе, полностью похожи на МК форумчанина 9pixel, которые куплены в маузере. Так что, можно смело покупать и не переживать. Вот они
И вот реальное их фото
Всем огромнейшее спасибо за отзывчивость!!! Продолжаю двигаться дальше)
alex3 1 год назад #
Поздравляю с решением проблемы! Маркировка резистора какая была? Мне китайцы бывало присылали смд-резисторы с неверной маркировкой.
Death51 1 год назад #
Рассмотрел маркировку — Х10 написано. Вроде бы это и есть 10 Ом. Резистор прецизионный, 0.1%.
IgorZ67 11 месяцев назад #
Как прошить MEGA88PB? В AVRDUDE этого контроллера нет.
admin 11 месяцев назад #
как это нет???, сам добавлял
IgorZ67 11 месяцев назад #
Спасибо, увидел ссылку для скачивания, здесь есть)
Alex5888 10 месяцев назад #
Столкнулся с проблемой при использовании другого программатора.
88 отказывалась определяться и шиться, удалил резистор и конденсатор в цепи ресет — стало все ОК.