|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Структура пакета
Рис. 54 Информация по каналу передается в виде пакетов. Каждый пакет начинается с поля синхронизации sync (SYNChronization), за которым следует идентификатор пакета PID (Packet IDentification), значения которого приведены в таблице. Поле Check представляет собой побитовую инверсию PID.
. Рис. 57. Подключения кабеля и резисторов к низкоскоростному устройству
Принцип детекции подключения и отключения USB-устройства основан на контроле сопротивления линии USB. У низкоскоростных USB-устройств необходим подтягивающий резистор между сигналом DATA- и Vcc. У полноскоростных устройств данный резистор подключается к DATA+. Определяя, на какой линии подключен подтягивающий резистор, главный компьютер определяет какое новое устройство подключено к линии USB. После определения нового устройства главный начинает связь в соответствии с физическим протоколом USB. Протокол USB, в отличие от УАПП, основан на синхронной передаче данных. Синхронизация передатчика и приемника необходима для осуществления связи. Синхронизация выполняется путем передачи небольшого заголовка "образцовая синхронизация", который предшествует передаче данных. Данный заголовок представляет собой прямоугольные импульсы (101010), за ними передаются два 0, а затем данные. Рис. 58. Образцовая синхронизация Для поддержания синхронизации требуется передача образцовой синхронизации каждую миллисекунду в полноскоростном режиме связи, а в низкоскоростном режиме каждую миллисекунду необходимо устанавливать низкий уровень на обеих сигнальных линиях. В аппаратно-реализованном USB-приемнике данная синхронизация гарантируется цифровой ФАПЧ (фазовая автоподстройка частоты). В данной реализации период преобразования данных должен быть синхронизирован с образцовой синхронизацией, затем ожидается два нуля, а затем начинается процесс приема данных. Прием данных должен удовлетворять требованию возможности засинхронизировать приемник и передатчик в любой момент времени. Таким образом, не разрешается передавать непрерывный поток нулей или единиц по линиям данных. Протокол USB гарантирует синхронизацию за счет заполнения битами. Это означает, что, после 6 непрерывных единиц или нулей на линиях данных, вставляется одно одиночное изменение (один бит). Сигналы по линиям USB передаются в коде NRZI. В коде NRZI каждый '0' представляется путем сдвига текущего уровня сигнала, а каждая '1' путем удержания текущего уровня. На уровне битового заполнения это означает, что каждый нулевой бит вставляется в поток логических данных после 6 непрерывных логических 1. Рис. 59. Кодирование данных в коде NRZI Рис. 61. Временная диаграмма сигнала EOP Уведомление об окончании передачи данных выполняется с помощью передачи сигнала "конец пакета" (EOP). EOP передается путем установки низких уровней на обеих линиях данных DATA+ и DATA-. EOP передается непродолжительное время (минимум два периода скорости данных). После этого, выполняется следующая транзакция. Данные, которые передаются между образцовой синхронизацией и EOP, закодированы в коде NRZI. Поток данных состоит из пакетов, пакет в свою очередь состоит из нескольких полей: поле синхронизации (образцовая синхронизация), идентификатор пакета (PacketID, PID), поле адреса (ADDR), поле конечной точки (ENDP), данные и поле циклического избыточностного контроля (CRC). USB подразумевает четыре типа передачи: передача управления, передача прерывания, изохронная передача и передача потока. В данной реализации рассматривается тип передачи управления. Данный режим, как правило, используется для управления настройками устройства, однако, может также использоваться для передачи общего назначения. Режим передачи управления должен присутствовать у каждого USB-устройства, т.к. он используется для конфигурации при подключении устройства, когда необходимо получить информацию об устройстве, установленный адрес устройства и пр. Каждая передача управления состоит из нескольких стадий: стадия установки, стадия данных и стадия статуса. Данные по шине USB передаются пакетами, по несколько байт в каждом. Размер пакета определяется каждым устройством, но его предельный размер ограничен. Для низкоскоростных устройств максимальный размер пакета равен 8 байтам. Данный 8-байтный пакет вместе с начальным и конечным полем должны быть приняты в буфер устройства за одну USB-передачу. В аппаратно-реализованных USB-приемниках различные части передачи автоматически дешифрируются и Устройство уведомляется, когда все сообщение назначено отдельному устройству. При программной реализации USB-сообщение дешифрируется программно после приема в буфер всего сообщения. Вследствие этого возникают требования и ограничения: устройство должно иметь буфер для хранения всего USB-сообщения, иметь другой буфер для USB-передачи (подготовка данных для передачи), а также выполнять администрирование с дешифрованием и проверкой сообщений. Кроме того, необходима программа для выполнения быстрого и точного синхронного приема с физических линий в буфер и передачи из буфера на линии. Данные возможности ограничиваются быстродействием микроконтроллера и размером памяти программ/данных, т.к. программа должна быть тщательно оптимизирована. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |