Форматы пакетов

Форматы пакетов. Байтыпередаются по шине последовательно, начиная с младшего бита. Все посылки организованыв пакеты.

Каждый пакет начинается с поля синхронизации Sync, которое представляетсяпоследовательностью состояний KJKJKJKK коди-рованную по NRZI , следующую после состояния Idle. Последние два бита КК являютсямаркером начала пакета SOP, используемым для идентификации первого бита идентификаторапакета PID. Идентификатор пакета является 4-битным полем PID 3 0 , идентифицирующимтип пакета табл. 7.2 , за которым в качестве контрольных следуют те же 4 бита, но инвертированные.

Тип PID Имя PID PID 3 0 Содержимое и назначение Token OUT 0001 Адрес функции и номер конечной точки - маркер транзакции функ- ции Token IN 1001 Адрес функции и номер конечной точки - маркер транзакции хоста Token SOF 0101 Маркер начала кадра Token SETUP 1101 Адрес функции и номер конечной точки - маркер транзакции с управ- ляющей точкой Data DataO Datal 0011 1011 Пакеты данных с четным и нечетным PID чередуются для точной идентификации под- тверждений Handshake Ack 0010 Подтверждение безошибочного приема пакета Handshake NAK 1010 Приемник не сумел принять или передатчик не сумел передать данные.

Может использоваться для управления потоком данных неготовность. В транзакциях пре- рываний является признаком отсутствия необслуженных преры- ваний Handshake STALL 1110 Конечная точка требует вмеша- тельства хоста Special PRE 1100 Преамбула передачи на низкой скорости Впакетах-маркерах IN, SETUP и OUT следующими являются адресные поля 7-битный адресфункции и 4-битный адрес конечной точки.

Они позволяют адресовать до 127 функцийUSB нулевой адрес используется для конфигурирования и по 16 конечных точек в каждойфункции. Впакете SOF имеется 11-битное поле номера кадра Frame Number Field, последовательно циклически увеличиваемое для очередного кадра.

Поледанных может иметь размер от 0 до 1023 целых байт. Размер поля зависит от типа передачии согласуется при установлении канала. ПолеСКС-кола присутствует во всех маркерах и пакетах данных, оно защищает все поля пакета, исключая PID. CRC для маркеров 5 бит и данных 11 бит подсчитываются по разнымформулам. Каждаятранзакция инициируется хост-контроллером посылкой маркера и завершается пакетомквитирования. Последовательность пакетов в транзакциях иллюстрирует рис. 7.7. Хост-контроллерорганизует обмены с устройствами согласно своему плану распределения ресурсов.

Контроллерциклически с периодом 1 мс формирует кадры Frames, в которые укладываются всезапланированные транзакции. Каждый кадр начинается с посылки маркера SOF StartOf Frame, который является синхронизирующим сигналом для всех устройств, включаяхабы. В конце каждого кадра выделяется интервал времени EOF End Of Frame, на времякоторого хабы запрещают передачу по направлению к контроллеру. Каждый кадр имеетсвой номер.

Хост-контроллер оперирует 32-битным счетчиком, но в маркере SOF передаеттолько младшие 11 бит. Номер кадра увеличивается циклически во время EOF. Хостпланирует загрузку кадров так, чтобы в них всегда находилось место для транзакцийуправления и прерывания. Свободное время кадров может заполняться сплошными передачами Bulk Transfers. Рис.7.8. Поток кадров USB Дляизохронной передачи важна синхронизация устройств и контроллера. Есть три варианта синхронизация внутреннего генератора устройства с маркерами SOF подстройка частоты кадров под частоту устройства согласование скорости передачи приема устройства с частотой кадров.

Подстройкачастоты кадров контроллера возможна, естественно, под частоту внутренней синхронизациитолько одного устройства. Подстройка осуществляется через механизм обратной связи, который позволяет изменять период кадра в пределах 1 битового интервала. 8.