Хелпикс

Главная

Контакты

Случайная статья





Лабораторная работа №5



Лабораторная работа №5

Интерфейс USB: принцип действия

 

Физический интерфейс USB состоит из четырех проводников: 2 для питания внешнего устройства (Vss и GND) и 2 сигнальных проводника (DATA+ и DATA-). Через проводники питания передается постоянное напряжение + 5 В с нагрузочной способностью максимум 500 мА. Подключаемое устройство питается через выводы Vss и GND. Сигнальные проводники образуют линию приема/передачи данных и управляют связью между ведущим устройством (компьютер) и ведомым устройством (подключенным к порту USB). Сигналы в этих проводниках являются двунаправленными. Уровни напряжения – дифференциальные: когда DATA+ имеет высокий уровень, тогда DATA- находится на низком уровне, и наоборот. Однако, имеются некоторые случаи, когда DATA+ и DATA- имеют один и тот же уровень, например, при EOP (конец пакета).

В соответствии со стандартом USB, высокий уровень на сигнальных проводниках должен составлять 3,0 – 3,6 В, при этом напряжение питания Vss шины USB, поступающее от ведущего (компьютера) составляет 4.4 – 5.25 В. Таким образом, если ведомое устройство использует питание непосредственно от шины USB, то линии данных должны пройти через каскад преобразования уровней для компенсации уровней дифференциального напряжения. Другим решением может быть использование стабилизатора напряжения, который понизит напряжение Vss до уровня 3.3 В, при этом ведомое устройство будет работать с этим пониженным напряжением и, соответственно, генерировать пониженные уровни напряжений.

Осциллограммы работы шины USB приведены на рис.6.2. На верхней части осциллограммы показано начало передачи пакета данных, на нижней – завершение передачи пакета данных.

Рис.6.2. Осциллограммы сигналов низкоскоростного порта USB

Сигналы имеют следующие обозначения:

Vвых.1(мин.) – минимальный уровень логической '1';

Vвых.0(макс.) – максимальное значение уровня логического '0';

Vse(мин.) – минимальное значение напряжения смещения линии;

Vse(макс.) – максимальное значение напряжения смещения линии;

Vss – напряжение питания;

SOP – start of packet, сигнал начала пакета данных;

EOP – end of packet, сигнал завершения пакета данных.

Данный стандарт шины USB и данный протокол получили наименование USB 1.X. Дальнейшая модификация стандарта подключения USB была направлена на расширение функциональных возможностей и существенное увеличение пропускной способности шины. Так родился стандарт высокоскоростной шины USB 2.0. По подключению устройства USB 2.0 полностью совместимы с USB 1.X. Устройство USB 1.X, будучи подключено к порту USB 2.0, работать будет под управлением протокола приема/передачи данных USB 1.X. Устройство USB 2.0, будучи подключено к порту USB 1.X, работать будет под управлением протокола приема/передачи данных USB 1.Х. Взаимодействие данных протоколов достаточно гибкое – если на ПК отсутствует программное обеспечение поддержки порта USB 2.0, то все устройства USB будут работать на более низкой скорости, т.е. как USB 1.X. Часто, для упрощения, под USB понимают минимальный состав программно-аппаратной поддержки USB 1.X.

Рис.6.3. Схема подключения кабеля и резисторов к низкоскоростному устройству

Принцип детекции подключения и отключения USB-устройства и его типа основан на контроле сопротивления линии USB (рис.6.3). В низкоскоростных устройствах USB 1.1 устанавливается резистор смещения R2 между сигналом DATA- и GND. У полноскоростных устройств USB 1.2 данный резистор подключается к DATA+. При подключении резистора смещения, в линии формируется напряжение смещения Vse (рис.6.2).

Определяя по уровню напряжение смещения Vse, ведущий компьютер определяет – какое новое устройство подключено к линии USB.

После определения нового устройства ведущий начинает связь в соответствии с физическим протоколом USB. Протокол USB, в отличие от UART, основан на синхронной передаче данных. Синхронизация передатчика и приемника необходима для осуществления связи. Синхронизация выполняется путем передачи небольшого заголовка "образцовая синхронизация", который предшествует передаче данных. Данный заголовок представляет собой прямоугольные импульсы (101010), за ними передаются два '0', а затем данные (рис.6.4).

Рис.6.4. Образцовая синхронизация

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

Прием данных должен удовлетворять требованию возможности засинхронизировать приемник и передатчик в любой момент времени. Таким образом, не разрешается передавать непрерывный поток нулей или единиц по линиям данных. Протокол USB гарантирует синхронизацию за счет заполнения битами. Это означает, что, после 6 непрерывных единиц или нулей на линиях данных, вставляется одно одиночное изменение (один бит). Сигналы по линиям USB передаются в коде NRZI (код без возвращения к нулю с инверсией). В коде NRZI каждый '0' представляется путем сдвига текущего уровня сигнала, а каждая '1' путем удержания текущего уровня. На уровне битового заполнения это означает, что каждый нулевой бит вставляется в поток логических данных после 6 непрерывных логических '1'.

Рис.6.5. Кодирование данных в коде NRZI

На рис.6.6, 6.7 представлены диаграммы, иллюстрирующие последовательность кодирования данных при подготовке и передаче пакета по шине USB.

Рис.6.6  Заполнение бит пакета данных


Рис.6.7. Временная диаграмма сигнала EOP

Уведомление об окончании передачи данных выполняется с помощью передачи сигнала "конец пакета" (EOP). EOP передается путем установки низких уровней на обеих линиях данных DATA+ и DATA-. EOP передается непродолжительное время (минимум два периода скорости данных). После этого, выполняется следующая транзакция.

Данные, которые передаются между образцовой синхронизацией и EOP, закодированы в коде NRZI. Поток данных состоит из пакетов, пакет в свою очередь состоит из нескольких полей: поле синхронизации (образцовая синхронизация), идентификатор пакета (PID), поле адреса (ADDR), поле конечной точки (ENDP), данные и поле циклического избыточного контроля (CRC). USB задействует четыре типа передачи: передача управления, передача прерывания, изохронная передача и передача потока. Каждый из этих типов передач специфичен для различных требований устройства.

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

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

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.