USB — неизвестная последовательная шина

В Интернете обычно USB обозначается как неизвестная последовательная шина. Разобраться в деталях с USB, протеканием процессов при протоколе USB-передачи, дескрипторами, кодированием и декодированием данных, синхронизацией, скоростями передачи данных, необходимыми (а также и не­обязательными) драйверами на уровне операционной системы, со специфи­кациями OHCI, UHCI, EHCI или идентификатором производителя — не оче­видно для электронщика-любителя.

В противоположность приложениям для последовательного или параллель­ного интерфейса, USB-приложения не могут просто писать данные на раз­личные адреса ввода и вывода или читать с них. Для того чтобы приняться за USB-устройство, приложения должны сообщаться с драйвером (класса или устройства), который, в свою очередь, на более низком уровне сообщается с USB-драйверами управления сообщениями по линиям передачи данных USB. В устройстве должны быть реализованы протоколы, с помощью кото­рых компьютер может распознать и идентифицировать устройство, а также сообщаться с ним.

К счастью, многие производители USB-контроллеров уже сталкивались с этой проблемой. Поэтому в этой книге FTDI-контроллер можно увидеть да­лее с разводкой контактов последовательных сигнальных линий, как на рис. 1, или параллельным выводом данных (Bit Bang Mode), как на рис. 2.

Разводка контактов

Чтобы программировать управление USB, необходимо вставить штекер, установить FTDI-драйвер и запустить программы, например, в Visual Basic или Pascal (для профессионалов подойдет и С).

Интересно, что сами сигналы последовательного интерфейса FTDI-контрол-лера можно использовать также и для 8-битовой параллельной передачи дан­ных. Для этого должны быть смоделированы другие последовательные ин­терфейсы, такие как SPI или I2C.

Используемый в иллюстрациях USB-контроллер FTDI микросхемы FT232R рассчитан на USB 2.0.

Передача данных по USB происходит в пределах кадров размером в 1мс. Это легко представить как периодическое временное окно. Миллисекундный временной такт генерируется USB-хост-контроллером.

Внутри временного окна сообщения передаются пакетами данных.

Передача данных внутри миллисекундных кадров различна. При Low Speed скорость передачи данных составляет 1,5 Мбит/с, при Full Speed— до 12 Мбит/с, при High Speed (только USB 2.0)— до 480 Мбит/с. При High Speed для достижения высокой скорости передачи данных USB каждый кадр подразделяется на 8 кадров размером 125 мкс.

Метки: , , .


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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Проверочный код *

Разработка сайта: cryptonic