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 мкс.
Метки: Декодирование, Дескриптор, Последовательная шина.
Добавить комментарий