Шина USB

Физический уровень (Physical Layer) вырабатывает и принимает сигналы шины. Он обеспечивает инициализацию и арбитраж, предполагая, что в любой момент времени работает только один передатчик. Уровень передает потоки данных и уровни сигналов последовательной шины вышестоящему уровню. Между этими уровнями возможна гальваническая развязка, при которой микросхемы физического уровня питаются от шины. Гальваническая развязка необходима для предотвращения паразитных контуров общего провода, которые могут появиться через провода защитного заземления блоков питания.

Аппаратная часть FireWire обычно состоит из двух специализированных микро­схем — трансиверов физического уровня PHY Transceiver и моста связи с шиной LINK Chip. Связь между ними возможна, например, по интерфейсу IBM-Apple LINK-PHY. Микросхемы уровня связи выполняют все функции своего уровня и часть функций уровня транзакций; остальная часть уровня транзакций выполня­ется программно.

Для передачи асинхронных сообщений используется 64-битная адресация регист­ров устройств 1394. В адресе выделяется 16 бит для адресации узлов сети: 6-бит­ное поле идентификатора узла допускает до 63 устройств в каждой шине; 10-бит­ное поле идентификатора шины допускает использование в системе до 1023 шин разного типа (включая внутренние), соединенных мостами. Протокол шины поз­воляет обращаться к памяти (регистрам) устройств в режиме DMA. В адресном пространстве каждого устройства имеются конфигурационные регистры, в кото­рых содержится вся информация, необходимая для взаимодействия с ним других устройств. Данные передаются пакетами, в начале каждого пакета передаются биты состояния арбитража. Устройство может передавать данные только после успешного прохождения арбитража. Имеются два основных типа передач дан­ных — изохронный, ради которого и строилась шина, и асинхронный. Изохрон­ные передачи обеспечивают гарантированную полосу пропускания и время задерж­ки, асинхронные передачи обеспечивают гарантированную доставку.

Асинхронные сообщения передаются между двумя устройствами. Инициатор посы­лает запрос требуемому устройству, на который оно сразу (через короткий интер­вал зазора, в котором шина находится в покое) отвечает подтверждением приема, положительным (АСК) или отрицательным (NACK), если обнаружена ошибка данных. Содержательный ответ на запрос (если требуется) будет передан обратно аналогичным способом (получатель должен послать подтверждение). Если под­тверждение АСК не получено, передачи будут повторяться несколько раз до до­стижения успеха или фиксации ошибки.

Изохронные передачи ведутся широковещательно. В сети может быть организова­но до 64 изохронных каналов, и каждый пакет изохронной передачи, кроме соб­ственно данных, несет номер канала. Целостность данных контролируется CRC-кодом. Изохронные передачи всех каналов «слышат» все устройства шины, но из всех пакетов принимают только данные интересующих их каналов. Устройство-источник изохронных данных (камера, приемник, проигрщватель) на этапе кон­фигурирования получает номер и параметры выделенного ему канала. Шина поддерживает динамическое реконфшурирование — возможность «горяче­го» подключения и отключения устройств. Когда устройство включается в сеть, оно широковещательно передает короткий асинхронный пакет самоидентификации. Все уже подключенные устройства, приняв такой пакет, фиксируют появление но­вичка и выполняют процедуру сброса шины. По сбросу производится определе­ние структуры шины, каждому узлу назначается физический адрес и производит­ся арбитраж мастера циклов, диспетчера изохронных ресурсов и контроллера шины (см. ниже). Через секунду после сброса все ресурсы становятся доступны­ми для последующего использования, и каждое устройство имеет полное пред­ставление обо всех подключенных устройствах и их возможностях. Отключение устройства от шины также обнаруживается всеми устройствами. Благодаря нали­чию линий питания интерфейсная часть устройства может оставаться подключен­ной к шине даже при отключении питания функциональной части устройства.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *