uISP Tool

Давненько надо было описать эту тулу, да вот никак руки не доходили. В общем, история такая. Хотелось мне иметь в кармане компактный мультитул, который и отладочную плату юзать можно. Готового не оказалось. И я решил сделать свой. За основу взял самое доступное и дешевое, что было под рукой – atmega8, добавил на борт usb через vusb, после прошелся по всем основным проектам, созданным на основе vusb и адаптировал их под созданную железку. В этом-то и плюс avr – много готовых проектов, которые надо было просто собрать в кучу.



Основная часть этой поделки – немного доработанный загрузчик bootloadHID. Его я доработал, чтобы он умел вести в eeprom учет перепрошивок, а так же сохранять имя прошитого приложения и версию оного.
Далее все совсем просто. Вокруг утилиты для пошива я сделал обертку, которая умеет:
Выдергивать заранее заготовленные прошивки с полезными инструментами из моего репозитория на гитхабе и обновлять их.
Прошивать их по мере необходимости.
Учитывая, что флешина аврки держит 100 тысяч перепрошивок хватит на долго, даже при таком использовании.

Пока из собранных приложений имеются:

  • Мост с usb на i2c
  • Мост с usb на uart
  • Мост с usb на spi
  • usbasp совместимый программатор с TPI

В схематику заложена возможность сделать тестор замыкания, вольтметр, тестор транзисторов (avr-transistortester). Так же думаю добавить туда интерфейс к flashrom, чтобы можно было прошивать spi флеш чипы. Но пока все никак не доходят руки.

А теперь хорошая новость. Даже три.
Первая. Сия тула полностью опенсорсна, то есть вы можете скачать все, от схематики до исходников прямо на гитхабе.
Вторая. Товарищи, которым я отсыпал печатных плат из первой партии сделали достаточно подробную документацию на русском. В ней они научат паять, пользоаться и собирать пакеты для Arch и Debian. Потом, как дойдут руки я это переведу на английский.
Третья. У меня еще есть несколько печатных плат из первой партии, что я заказывал в резоните и я их могу отдать в хорошие руки по себестоимости. (Паять будете сами). Пишите в почту.

Известные баги (куда без них)

  • cdc на авр сделан вразрез со стандартом usb, потому cdc-spi и cdc-uart работают не на всех usb хабах/хостах.
  • Утилита для хост-компьютера собирается и работает только под UNIX-like операционками. Должно работать и на маке, хотя я и не тестил. Пользователи Windows могут взять исходники, доработать их напильником и прислать патчи, за что я скажу им спасибо. Мне лень.

 

8 thoughts on “uISP Tool”

  1. хм.. Еще есть stk500 точнее avr-doper (его даже допиливать не надо. только скомандовать make usbasp)

    Твой мультитул не единственный. Есть еще одно творение с вроде бы неплохим набором функций. http://www.ullihome.de/wiki/USBAVRLab
    вот только к сожалению проект мертв. В том смысле что svn с исходниками увы нету. А у китайцев на гуглокодах лежит обрезаная версия.

    1. Опять таки, удобных для меня альтернатив не было. Все либо дохлое, либо неюзабельное. Потому и запилил свое. У меня киллерфича – встроенный тестер транзисторов и вольтметр (хотя под них надо еще будет допилить прошу, схематика позволяет).
      Домен да, поставил но еще не прописал. Как дойдут руки там подниму вику.

  2. Вольтметр это хорошо. А если бы получилось повторить прошивку показометров “логический анализатор” и “осциллограф” из USBAVRLab было бы вообще шикарно. в качестве струмента для бедных по принципу быстро дешево и очень сердито.

  3. Лог анализатор и осциллограф сделать легко, проблема только в пропускной USB. Даже с внешней микросхемой типа pl2303/ft232 скорость ограничена 115200. С vusb на 12Mhz немного меньше даже выйдет. По сути это сделает осциллограф тормозным, а лог. анализатор еще до кучи будет и не совсем аккуратным. Для таких целей не совсем годится сама avr-ка.

  4. для варианта “дешево и сердито” оно сгодится.
    логический анализатор если верить старым статьям это железка срабатывающая по триггеру и накапливающая данные в буфере. Так что передача данных вроде не должна быть сильно критичным местом.
    А что касается осциллографов то ведь существуют игрушки типа probescope и oscill.

    хм…заметил отсутствие гнезда для внешнего питания. Предполагается что плата будет в гордом одиночестве подключенная к usb?

  5. @domov0y:
    Плата полностью питается от USB. На борту линейник для формирования 3.3 и 3.6 вольт, если надо. Линейник держит до 1А. Разъемы с выходом текущего Vcc разбросаны по штырям. Если живешь в мск могу подбросить одну по себестоимости, у меня еще около 8 штук осталось из той партии.
    Можно лог. анализатор сделать срабатываемым по триггеру, это задача на 10 минут кодинга, но особо большой буфер там не забьешь, Пока просто мне не особенно надо, потому и не делал. У меня дешевенький ригол стоит, как осциллограф его более чем хватает. А лог. анализатор – saleae-совместимая 8-канальная китайщина за 10 баксов.

  6. Обитаю не в столице. Файлы схемы уже скачал, и не торопясь пытаюсь понять.(навык лута надо будет прокачать)
    Посмотрел код тех костылей что использовали в аврюсблаб (китайскую копию их свн). Понял о чем ты говорил. Действительно получается совсем неторопливо.

Добавить комментарий