Ремонт прибора из прошлой записи был бы невозможен без программатора AVR микроконтроллеров. В целом, не играет особой роли какой именно модели будет программатор, но так вышло, что благодаря низкой цене, сейчас на руках у населения кроме огромной массы самодельных программаторов Громова/AVR910/AVRISP/AVRISP mk2/STK500/и т.д., чаще всего встречаются программаторы условно заводского изготовления модели
USBASP.
Я не исключение, и помимо самодельного USBASP, как видно по фото, в моем распоряжении есть одна из первых версий данного программатора.
Честно скажу, что сам давно не вникал в детали развития проекта данного программатора.
За время использования как минимум по разу обновлял прошивку на самодельном и на заводском, но прошивку всегда брал на странице сайта автора проекта Thomas Fischl:
www.fischl.de/usbasp/
Недавно же узнал, что у проекта есть несколько веток развития, о которых хочу кратко написать.
Начну с того, что развитие официальной прошивки остановилась
2011-05-28 на версии
1.4.
Далее эстафету подхватили энтузиасты.
1) Основная, и до настоящего момента живая ветка развития, находится здесь:
github.com/dioannidis/usbasp/releases
Автор
Dioannidis добавил «0» в нумерацию и дошел до версии 1.11, ниже приведу список изменений:
v1.11
Differentiate multiple USBasp programmers using Serial Number
Add support for AT89S51/2 ICs
v1.10
Enable long transfers
Refactor to use MS OS 2.0 Descriptors
A lot of fixes to USBaspHIDUART utility
v1.09
From version 1.09 a ( reliable at 9600 Baud, with 120ms — 160ms intervals for higher speeds see note at UART HID protocol ) UART HID implementation is added for debugging purposes. USBasp will appear as a composite device with a WINUSB interface and a HID interface.
v1.08
From version 1.08 the firmware is WCID compliant, meaning it should work on Windows without any driver or .inf install.
v1.07
From version 1.07 a default SCK clock of 1.5Mhz and automatic SCK slowing if target does not respond. PORTD is left as input, so this firmware also works with USBISP modules. ( nerdralph )
v1.06
Firmware version 1.06 (2020-09-14) features a default SCK clock of 1.5Mhz and automatic SCK slowing if target does not respond. PORTD is left as input, so this firmware also works with USBISP modules.
Dioannidis ссылается на то, что его работа является ответвлением от работ
Ralph Doncaster и
Bill Perry.
Ralph Doncaster:
github.com/nerdralph/usbasp/releases
Данный автор изменил нумерацию, добавил «0», и дошел в развитии до версии
1.08:
v1.08 Latest
Added WINUSB support.
v1.07
possible fix for issue («USBasp incredibly slow?»)
minor Makefile cleanup
v1.06
Includes automatic SCK slowing
Bill Perry:
github.com/bperrybap/usbasp
Автор ничего нового не публиковал, сохранил исходники версии 1.4
Немного смущает отсутствие цифры «5» в нумерации вышеупомянутых авторов, и наводит на мысль, что возможно они использовали в качестве основы ещё чью-либо работу, например
Ser9ei.
2) Работа Ser9ei — это вторая из найденных мной веток развития, но она 2 года не обновлялась:
github.com/Ser9ei/usbasp/
Автор продолжил оригинальную нумерацию и дошел до версии
1.5.1:
v1.5.1
— one firmware for the usbasp and the usbisp clone now
— auto-speed (downshift speed) support feature in case error with connection to the target
— firmware size was reduced with help optimization parameter of build
v1.5
— usb-v updated to the last release 2012-12-06
— added support usbisp programmer in firmware (New USBISP_AS_USBASP parameter in the Makefile for firmware build. To build firmware for the usbasp programmer, the USBISP_AS_USBASP should be equal to 0, and to build firmware for the usbisp programmer — USBISP_AS_USBASP = 1)
В общем, обновил оба своих программатора до версии прошивки 1.11 от Dioannidis, полет нормальный.
Прошивка подходит для программаторов, собранных по оригинальной классической схеме:
Fuse bit согласно инструкции:
# TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef
# TARGET=atmega48 HFUSE=0xdd LFUSE=0xff
# TARGET=atmega88 HFUSE=0xdd LFUSE=0xff
Для удобства использования, можно пользоваться почти автоматической установкой драйвера:
zadig.akeo.ie
Из нового и полезного — работа на частоте 1,5МГц с автоматическим снижением частоты в случае отсутствия ответа от программируемого устройства, и расширение списка поддерживаемых микроконтроллеров.
На счет расширения перечня поддерживаемых микроконтроллеров, заявлен только AT89S51/2, но со свежей версией программы для прошивки AVRDUDESS 2.14:
github.com/ZakKemble/AVRDUDESS/releases
Можно прошивать не только AVR микроконтроллеры, но и китайские LGT8F328P, LGT8F168P и LGT8F88P, которые установлены на некоторых транзистор тестерах как альтернатива или клон ATMega328
Это интересный и приятный бонус, так как для прошивки данных контроллеров необходим был свой программатор
LGTSWDICE или Arduino Uno/Nano со специально загруженным скетчем.
В общем, рад что программатор до сих пор не забыт, от обновления пользы не много, но она всё же есть, да и чего греха таить, все мы любим обновлять ПО и прошивки на своих приборах и гаджетах, так что вот Вам идея и занятие для головы и рук в свободное время :)
Спасибо за внимание!
А то попались тини167 в которых фузы были выставлены на внешнее тактирование и, что бы исправить пришлось нанку программировать в scratchmonkey.
делается из пары деталей, которые всегда есть в закромах. требуется 74xx00, пара конденсаторов и пара резисторов (один можно взять переменный). можно при нужде даже на макетке понавтыкать, даже паять не обязательно.
тем более если это нужно раз в пятилетку.
Учитывая немного конские цены на низковольтные микроконтроллеры, я бы их шил чем-то не ниже tl866ii plus
Здесь же, судя по описанию, USBASP пытаются заставить работать как CH341.
Но нужен немного другой драйвер в системе и не ясно, сохранится ли совместимость со старым софтом для USBASP.
4pda.to/forum/index.php?showtopic=884713&st=3760#entry96411343
Подробности тут — elchupanibrei.livejournal.com/37828.html
Пы.сы. за форки оригинального USBASP проекта спасибо. Не знал про них.
Есть несколько дублирующих друг друга устройств, но продавать их смысла нет. Сейчас интересный момент, может понадобится микроконтроллер снять. Отдельно микроконтроллеры сильно подорожали.
Бывает вижу по объявлениям, что дешевле usbasp или arduino nano купить, чем atmega8 или 328.
и не ЧЕРЕЗ ЛЮБОЙ, а только через FT232, которая голая микросхема дороже чем собранный usbasp, к тому же, bitbang еще настроить надо. пользуюсь и тем и другим, бывают всякие ситуации подходящие или для одного или для второго программатора
А для серьёзной работы у меня оригинальный UPA-USB есть.
А вот программатор UPA USB мне на глаза не попадался. Много разного видел, но именно UPA USB не встречал, видимо чисто автомобильная тематика, а мне ближе компьютерно-телевизионная.
Вот обзоры специализированных программаторов, типа UPA USB, RT809 и др. не помешали бы, информации о них не много даже на ютуб.
Tl866 у меня тоже есть, только первых версий. Почти не пользовался. Один только кривой софт чего стоит, да и параллельные устройства у меня редкость.
Я же никого не уговариваю. Если вам хватает чипстара, значит вам повезло. Денег сэкономили.
Больше вариантов не знаю.
В минипро считал, отредактировал и зашил, действие в 1 окне, в пару кликов, а не игры с файлами и сторонними прогами…
К тому же, на ранних версиях аврдюдс (я не пробовал 6.7 и 7 версию, т.к. не знал, что она есть), после правки аврдюд заливал дичь, из-за которой устройство не включалось. При этом минипро (на удивление), делает ту же задачу быстрее и устройство работает исправно.
Уверен, сложности прикрутить релактор к аврдюдс нет, вопрос, почему этого не делают…