Основы USB

В этой рубрике описываются основы USB устройств. Cхемы Usb устройств. Написание драйвера для Usb устройств.

USB драйвер

Вообще, драйвер — это связующее звено между аппаратным и программным обеспечением. Для того чтобы добраться до USB-устройства, программа должна сообщаться с драйвером, который в свою очередь на более низком уровне сообщается с USB-драйверами, которые управляют сообщениями по линиям передачи данных USB. Принципиально было бы также возможно об­ратиться к более низкому уровню непосредственно при помощи собственной программы, но в этом случае пришлось бы более детально разбираться со свойствами USB-устройства, специфичными для того или иного изготовите­ля. У новых операционных систем Windows драйверы на сегодняшний день имеют лишь необходимые права доступа, для того чтобы можно было обра­титься к аппаратному обеспечению компьютера. [Читать далее...]

Типы передачи USB

USB-устройства могут по-разному сообщаться с USB-хост-контроллером. Для пересылки сообщений имеется четыре типа передачи.

Управляющая передача (Control-Transfer)

Управляющие передачи отсылаются обычно в оба направления, так что и от­правитель и получатель всегда могут быть уверены, что данные прибыли. Каждое USB-устройство должно поддерживать тип передачи Control-Transfer.

Управляющие передачи очень важны для обмена первыми сообщениями. Они служат для конфигурации USB-устройства и, помимо прочего, для того, чтобы осведомиться (проинформироваться) о совместимости USB-уст­ройства.
[Читать далее...]

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

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

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

Кодировка NRZI

При USB-передаче применяется способ кодировки NRZI (Non Return to Zero Inverted, кодирование без возвращения к нулю с инверсией). В начале распо­знается логический 0, а потом инвертируется актуальное состояние шины, а при 1 состояние остается неизменным.

Чтобы осуществить хорошую синхро­низацию на получателе с минимальными затратами, в действие вводится так называемый Bit Stuffer в шесть или более подряд следующих друг за другом битов со значением 1 в принудительном порядке вставляется логи­ческий 0, для того чтобы получатель мог синхронизироваться.

Bit Stuffer
[Читать далее...]

Последовательная передача данных USB, RS232, SPI, I2C

Краткое сопоставление наиболее частых последовательных интерфейсов приведено в таблице.

Последовательный интерфейс
[Читать далее...]

Страница 1 из 2 12