Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Аппаратное обеспечение -> Мартин Т. -> "Микроконтроллеры ARM7. Cемейство LPC2000 компании Philips Вводный курс" -> 55

Микроконтроллеры ARM7. Cемейство LPC2000 компании Philips Вводный курс - Мартин Т.

Мартин Т. Микроконтроллеры ARM7. Cемейство LPC2000 компании Philips Вводный курс — М.: Додэка 21, 2006. — 240 c.
ISBN 5-94120-104-4
Скачать (прямая ссылка): nicrokontrolleriarm7semeystvo2006.djvu
Предыдущая << 1 .. 49 50 51 52 53 54 < 55 > 56 57 58 59 60 61 .. 86 >> Следующая

149
Глава 4. Периферийные устройства общего назначения
ограниченных максимум одним пакетом на кадр. Примером передачи массивов данных может служить передача данных в принтер. Пока печать осуществляется за разумное время, точная скорость передачи данных не особо важна.
Распределение полосы пропускания шины
Таким образом, управляющие каналы занимают 10% полосы пропускания, каналы изохронной передачи и передачи по прерываниям — 90%, а передача массивов данных осуществляется в моменты освобождения шины (Табл. 4.8). Эти цифры соответствуют максимальной загруженности шины, однако очевидно, что в большинстве реальных случаев часть полосы пропускания останется незадейс-твованной. Распределением полосы пропускания занимается операционная система ПК, которая не должна допускать подключения нового устройства к шине при отсутствии ресурсов для его обслуживания.
Таблица 4.8. Характеристики каналов передачи
Тйпы каналов Управляющие Изохронные (FS и HS) По прерыванию Передачи массивов данных (FS и HS)
Формат данных Предопределенный спецификацией или производителем Поток Не структурированы Поток
Направление передачи Двунаправленная Однонаправленная Вход или выход Вход или выход
Размер пакета [байт] 8, 16, 32 или 64 1...1023 LS: < 8 FS: < 64 8, 16, 32 или 64
Предоставление доступа к шине Первоочередной <90% периодический <90% 1...255 мс Низший приоритет
Последова- тельность данных Setup, данные и статус Без подтверждения, признак данных инвертируется С подтверждением, признак данных инвертируется С подтверждением, признак данных инвертируется
Транзакции на шине USB
Как мы с вами видели, для передачи данных по шине USB используется мультиплексирование с разделением по времени. Шина разбивается на отдельные кадры путем посылки каждые 1 мс маркера начала кадра, а передача данных по каналам производится пакетами данных в течение этих кадров. Каждая транзакция на шине состоит из трех пакетов, как показано на Рис. 4.65.
Все транзакции на шине USB делятся на три фазы — фазу маркера,
во время которой указывается тип посылки, фазу данных и фазу квитирования
Фаза маркера Фаза данных Фаза квитирования

Одна транзакция Рис. 4.65. Транзакция на шине USB
Полноскоростной интерфейс USB 2.0
Подавляющее большинство транзакций состоит из трех фаз. Сначала передается маркер, указывающий тип данной транзакции. После маркера осуществляется передача требуемых данных. Завершается транзакция пакетом квитирования, указывающим на ее успешное завершение. Все эти пакеты имеют одинаковую структуру и содержат поле типа пакета, поле адреса приемника и конечной точки, поле данных (если требуется), а также поле контроля ошибок ( Рис. 4.66).
Пакеты, передаваемые на каждом из этапов, имеют одинаковую структуру
ч__________________________________________________________________________J
Поле синхронизации Идентификатор пакета Данные пакета CRC ЕОР
Пакет
Рис. 4.66. Структура пакетов, передаваемых по шине USB
Фаза маркера
В спецификации USB 2.0 определено пять различных маркеров. Мы уже познакомились с маркером начала кадра (SOF — Start Of Frame), который используется для отметки начала 1-мс кадра. У этого маркера отсутствуют связанные с ним пакеты данных и подтверждения. Маркер IN предваряет передачу данных в ПК (входящая транзакция), а маркер OUT предваряет передачу данных из ПК в устройство (исходящая транзакция). Направление передачи данных всегда указывается относительно ПК, т.е. в ПК (IN) или из ПК (OUT). Маркер Setup передается только по управляющему каналу и используется для передачи команд в USB-устройство. В частности, этими командами может быть команда запроса конфигурации или команда на установку определенной конфигурации. И, наконец, маркер PREAMBLE используется для указания начала низкоскоростной транзакции. Обнаружение этого пакета приводит к отключению HS- и FS-портов хабов и включению LS-портов. После завершения низкоскоростной транзакции порты переключаются в исходное состояние.
Фаза данных
После посылки персональным компьютером маркера осуществляется передача пакета данных. Различают два типа пакета данных, называемых DATA0 и DATA1. Эти пакеты выполняют одну и ту же функцию и отличаются только значением бита синхронизации (data toggle bit), используемого для обнаружения ошибок. Назначение этого бита я объясню позже, когда мы приступим к рассмотрению методов контроля ошибок, применяющихся в протоколе USB.
Фаза квитирования
Последней фазой транзакции является передача пакета квитирования. На этом этапе используются три различных пакета, сигнализирующих об успешном или неуспешном прохождении транзакции.
Глава 4. Периферийные устройства общего назначения
Пакет АСК используется для подтверждения успешной передачи данных. Он завершает транзакцию на шине и после его получения ПК начнет новую транзакцию посылкой нового пакета маркера. Пакет NAK, наоборот, сигнализирует о том, что при передаче произошел сбой, обнаруженный схемой контроля ошибок. Пакет NAK может генерироваться также в том случае, если буфер конечной точки не готов к приему транзакции. Таким образом, при нахождении в буфере данных от предыдущей исходящей транзакции USB-устройство будет генерировать пакет квитирования NAK до тех пор, пока ЦПУ не прочитает все данные из буфера. При получении пакета NAK компьютер попытается выполнить эту же транзакцию в следующем кадре. Следует напомнить, что при изохронной передаче фаза квитирования отсутствует. Если буфер конечной точки заполнен и ЦПУ не может его очистить, то мы получим непрерывную (в каждом кадре) генерацию пакета NAK в канале. Это приведет к непроизводительному расходу полосы пропускания шины. Поэтому был введен третий пакет квитирования, называемый STALL. Пакет STALL используется для того, чтобы сообщить ПК о невозможности обмена данными с устройством по этому каналу. Например, если в принтере закончилась бумага, а буфер полон, дальнейшая передача данных документа приведет к постоянной генерации пакета NAK. В этом случае принтер посредством пакета STALL может сообщить ПК о невозможности приема новых данных, и процесс обмена по этому каналу будет приостановлен. Затем ПК может попытаться определить причину останова, запрашивая пакеты данных по входящему каналу, предназначенному для передачи диагностической информации.
Предыдущая << 1 .. 49 50 51 52 53 54 < 55 > 56 57 58 59 60 61 .. 86 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.