![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Логически передача данных между конечной точкой и ПО производится с помощью выделения канала и обмена данными по этому каналу, а с точки зрения представленных уровней, передача данных выглядит следующим образом (рис. 3.2).
1) Клиентское ПО посылает IPR-запросы уровню USBD.
2) Драйвер USBD разбивает запросы на транзакции по следующим правилам:
Ø выполнение запроса считается законченным, когда успешно завершены все транзакции, его составляющие;
Ø все подробности отработки транзакций (такие как ожидание готовности, повтор транзакции при ошибке, неготовность приемника и т. д.) до клиентского ПО не доводятся;
Ø ПО может только запустить запрос и ожидать или выполнения запроса или выхода по тайм-ауту;
Ø устройство может сигнализировать о серьезных ошибках, что приводит к аварийному завершению запроса, о чем уведомляется источник запроса.
3) Драйвер контроллера хоста принимает от системного драйвера шины перечень транзакций и выполняет следующие действия:
Ø планирует исполнение полученных транзакций, добавляя их к списку транзакций;
Ø извлекает из списка очередную транзакцию и передает ее уровню хост-контроллера интерфейса шины USB;
Ø отслеживает состояние каждой транзакции вплоть до ее завершения.
4) Хост-контроллер интерфейса шины USB формирует кадры;
5) Кадры передаются последовательной передачей бит по методу NRZI.
Таким образом, можно сформировать следующую упрощенную схему (рис. 3.3):
1) каждый кадр состоит из наиболее приоритетных посылок, состав которых формирует драйвер хоста;
2) каждая передача состоит из одной или нескольких транзакций;
3) каждая транзакция состоит из пакетов;
4) каждый пакет состоит из идентификатора пакета, данных (если они есть)
и контрольной суммы.
Дата публикования: 2015-07-22; Прочитано: 385 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!