Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Типы передачи данных





USB поддерживает как однонаправленные, так и двунаправленные режимы связи. Архитектура USB допускает четыре базовых типа передачи данных:

§ Управляющие посылки (Control Transfers);

Используются для конфигурирования во время подключения и в процессе работы, для управления устройствами. Протокол обеспечивает гарантированную доставку данных. Длина поля данных управляющей посылки не превышает 64 байт на полной скорости и 8 байт на низкой.

§ Сплошные передачи (Bulk Data Transfers);

Передача сравнительно больших пакетов без жестких требований ко времени доставки. Передачи занимают всю свободную полосу пропускания шины. Пакеты имеют поле данных размером 8, 16, 32 или 64 байт. Приоритет этих передач самый низкий, они могут приостанавливаться при большой загрузке шины. Допускаются только на полной скорости передачи.

§ Прерывания (Interrupt);

Короткие (до 64 байт на полной скорости, до 8 байт на низкой) передачи типа вводимых символов или координат. Прерывания имеют спонтанный характер и должны обслуживаться не медленнее, чем того требует устройство. Предел времени обслуживания устанавливается в диапазоне 1-255 мс для полной скорости и 10-255 мс — для низкой.

§ Изохронные передачи (Isochronous Tranters);

Непрерывные передачи в реальном времени, занимающие предварительно согласованную часть пропускной способности шины и имеющие заданную задержку доставки.

 

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

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

Изохронные передачи классифицируются по способу синхронизации конечных точек — источников или получателей данных — с системой: различают асинхронный, синхронный и адаптивный классы устройств.

Протоколch41

Пакеты.ch4

Все обмены данными (транзакции) по USB состоят из трех пакетов. Каждая транзакция планируется и начинается по инициативе контроллера, который посылает пакет-маркер. Он описывает тип и направление передачи, адрес устройства USB и номер конечной точки.

В каждой транзакции возможен обмен только между адресуемым устройством (его конечной точкой) и хостом. Адресуемое маркером устройство распознает свой адрес и готовится к обмену. Источник данных (определенный маркером) передает пакет данных (или уведомление об отсутствии данных, предназначенных для передачи). После успешного приема пакета приемник данных посылает пакет подтверждения.

Планирование транзакций обеспечивает управление поточными каналами. На аппаратном уровне использование отказа от транзакции при недопустимой интенсивности передачи предохраняет буферы от переполнения сверху и снизу. Маркеры отвергнутых транзакций повторно передаются в свободное для шины время.

Управление потоками позволяет гибко планировать обслуживание одновременных разнородных потоков данных.

Устойчивость к ошибкам обеспечивают следующие свойства USB:

§ Высокое качество сигналов, достигаемое благодаря дифференциальным приемникам/передатчикам и экранированным кабелям.

§ Защита полей управления и данных специальными кодами.

§ Обнаружение подключения и отключения устройств и конфигурирование ресурсов на системном уровне.

§ Самовосстановление протокола с тайм-аутом при потере пакетов.

§ Управление потоком для обеспечения изохронности и управления аппаратными буферами.

§ Независимость последствий от неудачных обменов от других функций.

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

Типы транзакций

Формат транзакции зависит от типа конечной точки, с которой идет обмен. Существует всего четыре типа транзакций:

 

· сплошные передачи;

· управляющие посылки;

· прерывания;

· изохронные передачи.

Сплошные передачи

Сплошные передачи характеризуются безошибочной передачей данных между хостом и устройством, за счёт обнаружения ошибок и повторных передач. Сплошные транзакции имеют три фазы: маркерную, фазу данных и фазу подтверждения (рис pic>frame@img/49.hlp. 11) В некоторых ситуациях фаза данных может быть заменена фазой подтверждения, что приведет к двухфазной структуре транзакции без передачи данных.

Рис. 11. Сплошные транзакции имеют три фазы

Когда хост-контроллер готов к приёму информации, он посылает маркерный пакет IN. В ответ конечная точка функции передаёт либо пакет данных, либо (если передача данных невозможна) пакет подтверждения NAK или STALL. Пакет NAK указывает на то, что функция временно не способна передавать данные, STALL информирует хост о том, что работа конечной точки приостановлена и требуется вмешательство системного ПО USB. Если хост получил данные без ошибки, то он отправляет пакет подтверждения ACK. Если же хост обнаружил ошибку в принятых данных, то он не отправляет функции никакого подтверждения.

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

 

§ ACK сообщает о том, что пакет данных принят без ошибок и хост может отправлять следующий пакет.

§ NAK информирует хост о том, что данные получены без ошибки, хост - контроллеру необходимо повторить передачу данных, т.к. функция была не в состоянии принять данные (например, переполнение буфера).

§ Если конечная точка находится в состоянии останова, то пакет STALL указывает на то, что нет необходимости повторной передачи данных хостом, поскольку функция находится в состоянии ошибки.

Если же данные приняты с ошибкой, то никакого подтверждения не посылается.

Управляющие посылки

Управляющие посылки содержат минимум две стадии: инициализацию (SETUP) и стадию определения состояния (Status). Управляющие посылки могут также содержать и стадию данных, выполняющуюся между стадиями SETUP и Status. Во время стадии инициализации в транзакции типа SETUP пакет данных используется для передачи информации управляющей точке функции. На рис. 12 pic>frame@img/410.hlpпредставлен формат транзакции SETUP.

Рис. 12. Формат транзакции SETUP

Функция, получившая пакет SETUP, должна подтвердить правильность принятого пакета данных путем выдачи пакета подтверждения ACK. В случае ошибки в данных функция не генерирует пакет подтверждения.

Если присутствует стадия данных, то она состоит из одной или более транзакций типа IN или OUT. Все транзакции стадии данных должны быть одного направления (либо IN, либо OUT). Количество байтов, передаваемых во время стадии данных и направление транзакций определяется на стадии инициализации.

Стадия состояния является последней в управляющей посылке. Стадию состояния характеризует направление передачи данных, противоположное предыдущей стадии. Если, например, стадия данных состояла из транзакций типа OUT, то стадия состояния включает в себя только транзакции IN.

Стадия состояния информирует хост-контроллер о результате выполнения предшествующих стадий установки и данных.

Всего возможно три варианта стадии состояния:

§ Последовательность команд выполнилась успешно.

§ Последовательность команд не выполнена.

§ Функция всё ещё находится в состоянии выполнения команд.

 

Прерывания

Прерывания могут состоять из получения или отправки данных функциейpic>frame@img/491.hlp. В ответ на получение маркерного пакета IN функция должна вернуть пакет данных, подтверждение NAK либо STALL. Если функция не имеет информации для передачи хосту (нет ожидающих отправку прерываний), она возвращает подтверждение NAK во время фазы данных. Функция возвращает подтверждение STALL, если находится в состоянии останова. В случае существования ожидающего передачу прерывания, функция отправляет информацию прерывания в виде пакета данных. Если хост получил данные без ошибки, то он отправляет пакет подтверждения ACK. Если же хост обнаружил ошибку в принятых данных, то он не отправляет функции никакого подтверждения.

 

Изохронные передачи

Изохронные транзакции состоят из маркерной фазы и фазы данных. Хост-контроллер генерирует маркер IN или OUT, за которым следует фаза данных, в которой конечная точка (для IN) или хост (для OUT) передаёт данные. Изохронные передачи не содержат фазу подтверждения.

 

***

На этом мы заканчиваем рассмотрение интерфейсов, как таковых, переходим к рассмотрению периферийных устройств, где будем касаться интерфейсов, по мере необходимости, для каждого из классов ПУ.

 

 

Date: 2016-11-17; view: 502; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию