USB для AVR

безліч
Доброго дня, зважився я випробувати свої творчі таланти :) Йтиметься про популярний інтерфейс USB, а саме як заюзати цей самий USB на простих мікроконтролерах AVR. Планую написати кілька топіків з прикладами коду та роз'ясненнями як з боку мікроконтролера, так і з боку комп'ютера. Звичайно на просторах інтернету повно усіляких прикладів на цю тематику, але як писав DI HALT у правилах конкурсу: «у кращому випадку це вихідник у якому сам чорт ногу зломить, та короткий, на сторінку, його опис».

Почну з того, що раніше поширені інтерфейси як COM, LPT, MIDI в даний час морально застаріли, але ще нерідко присутній на сучасних комп'ютерах і використовується в промисловому та вузькоспеціалізованому устаткуванні. Так що для зв'язку якоїсь власної залізниці з комп'ютером давно вже настав час освоювати щось інше. Як варіант ще можна використовувати будь-які конвертори/перехідники/емулятори, але вони не завжди працюють як оригінальний інтерфейс, породжуючи безліч проблем.

Декілька посилань на сабжу: www.usb.org/developers/docs — офіційна документація по USB. Чи не легка для читання, але найбільш повна. www.beyondlogic.org/usbnutshell/usb1.htm - хороший огляд важливих частин USB специфікації. Легше розкурювати ніж офіціалку... www.lvr.com/usb.htm — багато хороших посилань, пов'язаних з USB

Насамкінець напишу, що всі умови для створення USB 1.1 пристроїв доступні кожному:

  • дешеві мікроконтролери AVR
  • програмна емуляція USB, оберемо V-USB
  • вільна пара Vendor-ID та Product-ID (разом з V-USB)
  • безліч прикладів як для мікроконтролера так і для комп'ютера
Залишається лише одне – бажання розібратися! А потім творитичудеса на копійчаних мікроконтролерах всім мажорам на заздрість:) Продовження: USB для AVR. Частина 2. HID Class на V-USB