Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпс с 524 по 631.doc
Скачиваний:
6
Добавлен:
16.04.2019
Размер:
2.54 Mб
Скачать

Типы пакетов подтверждений

Биты RHS или THS

Тип пакета подтверждения

00 01 10 11

АСК (Acknowledge) - положительное подтверждение Игнорировать прием маркера IN или OUT MAC (Negative Acknowledge) - отрицательное подтверждение В ответ посылается STALL-пакет

Подключение USB-контроллера в МРС823. Поскольку коммуникационные контрол­леры «Motorola» не реализуют в полном объеме функции физического уровня управле­ния модели OSI, то для доступа к линиям D+ и D- USB-шины требуются дополнительные внешние трансиверы или драйверы линий. Для подключения к трансиверам используют­ся следующие шесть сигналов контроллера МРС823 (рис. 5.64):

USBOE - сигнал разрешения работы трансивера (активный уровень - низкий), когда USB-контроллер передает данные по шине; USBRXD - принимаемые данные; USBRXP, USBRXN - служат для опре­деления скорости обмена (USBRXP=1, USBRXN = 0 - скорость 12 Мбит/с, USBRXP = О, USBRXN = 1-1,5 Мбит/с) и состояния асимметричного (singled ended) «О» (если USBRXP = USBRXN = 0);

USBTXP, USBTXN - определяют пере­даваемые данные (USBTXP = USBTXN = = 0 - передается singled ended «О», если USBTXP = 0 и USBTXN = 1, то передает­ся логический «О», а если USBTXP = 1 и USBTXN = 0, то - логическая «1».

Рис. 5.64. Схема подключения USB-контрол­лера в МРС823 к внешнему трансиверу

536

Организация коммуникационных процессорных модулей в кмк

Некоторые трансиверы имеют дополнительные линии определения текущей скорости передачи или перехода в режим пониженного энергопотребления (sleep, suspend), в этом случае управление данными сигналами можно выполнять программно через контакты па­раллельного порта ввода/вывода.

Процесс приема и передачи в сети USB. USB - полностью контролируемая хостом шина. В системе USB может быть только один хост. Любая транзакция в ней осуществля­ется передачей до трех пакетов. Хост в соответствии с определенной временной диаг­раммой посылает USB-устройству пакет-маркер (token), описывающий тип и направле­ние транзакции, адрес USB-устройства и номер конечной точки. Устройства USB прове­ряют, кому адресовано сообщение, декодируя соответствующие поля адреса. Направле­ние передачи данных определено в маркерном пакете.

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

Затем источник транзакции посылает пакет данных (data packet) или сообщает, что данных для передачи нет. Получив пакет данных, адресат пакет квитирования (handshake packet), который сообщает, была ли передача успешной.

После системного сброса USB-контроллер имеет адрес 0x00 и хост должен опреде­лить новый адрес USB-устройства.

Для этого после разрешения работы USB-контроллер прослушивает шину и ожидает получение корректного кадра маркера (token). Некорректные маркеры игнорируются. Маркер считается некорректным, если его длина не равна 3 байтам, или в случае непра­вильной CRC (контрольной суммы), или если поле идентификаторов PID содержит не­корректные данные. Маркеры могут быть четырех типов:

  1. Setup token - при получении этого маркера начинается процедура конфигурирова­ ния устройств или обмен информацией о статусе;

  2. IN tokenm - при получении данного маркера начинается передача подготовленных данных от USB-устройства к host-устройству;

  3. OUT token - при получении этого маркера USB-устройство начинает прием данных;

  4. SOF token.

Процесс реконфигурирования USB-устройства начинается при приеме маркера SETUP token, поступающего на конечную точку, которая определена как Control Endpoint. Мар­кер SETUP обычно содержит код команды, которую должно выполнить USB-устройство. Если тип SETUP-пакета требует приема последующих данных, то USB-контроллер вы­полняет прием данных так же, как и после приема маркера OUT. Если тип SETUP-пакета требует передачи некоторых данных хосту, то USB-контроллер выполняет передачу дан­ных так же, как и после приема маркера IN.

При получении SETUP-маркера контроллер анализирует тип команды, которая содер­жится в маркере. Если это команда Set Address, и контроллер работает в режиме Slave, то контроллер принимает следующий пакет, который содержит назначенный хостом новый адрес USB-устройства и переписывает значение адреса в поля SAD регистра USAOR (рис. 5.65), который располагается в памяти по адресу (IMMR & OxFFFFOOOO) + OxAOl

ЗАО

Рис. 5.65. Формат регистра адреса Slave USB-устройства

537