Лекции.ИНФО


Управление интерфейсом и выполнение команд



Для управления интерфейсом служит система сообщений — Message System, которыми обмениваются ИУ и ЦУ. Обмен происходит в фазах Message IN/OUT(см. выше), в одной фазе может передаваться несколько сообщений.

С помощью сообщений согласуются параметры синхронного режима и разряд­ность данных. Процесс согласования синхронного обмена называется Synchronous Negotiation. Устройство, запрашивающее синхронный обмен, посылает сообщение Synchronous Data Transfer Request с указанием допустимого периода цикла и отста­вания REQ/ACK. Если другой участник обмена поддерживает синхронный режим, он предложит свои параметры. Согласованными параметрами будут максималь­ный период и минимальное отставание (нулевое отставание эквивалентно асинхронному режиму). Выбранный режим будет относиться только к фазам передачи между данной парой устройств. Отвергнутое сообщение является требовани­ем асинхронного режима. Поскольку старые хост-адаптеры не поддерживали со­гласование синхронного режима, на ЦУ запрос синхронного режима может быть заблокирован. О возможности работы в синхронном режиме хост может узнать, послав команды Request Sense и Inquiry.

Разрядность передач согласуется аналогично посредством сообщений Wide Data Transfer Request. Согласованные режимы будут действовать до сброса устройств по сообщению Bus Device Reset или «жесткого» сброса, что приведет к установке предопределенных режимов по включению. Согласование режимов не должно инициироваться в каждом процессе, поскольку затраты времени на эту процедуру сводят на нет выигрыш в производительности.

Система команд SCSI включает общие команды, применимые для устройств всех классов, и специфические для каждого класса. Любое SCSI-устройство должно поддерживать обязательные команды общего набора и своего класса, чем обеспе­чивается высокий уровень совместимости. Команда передается ИУ в ЦУ через блок дескриптора команды (command descriptor block), посылаемый в фазе Command. Некоторые команды сопровождаются блоком параметров, следующим за блоком дескриптора в фазе Data. Форматы блоков стандартизованы; длина блока, определя­емая кодом операции (первым байтом блока), может составлять 6,10 или 12 байт.

Рассмотрим процесс на шине SCSI на примере одиночной команды чтения Read. ИУ имеет активный набор указателей и несколько сохраненных наборов, по одно­му на каждый из допустимого числа одновременных конкурирующих процессов. ИУ восстанавливает указатели процесса в активный набор и, выиграв арбитраж, выбирает ЦУ. Как только ЦУ выбрано, оно берет на себя управление процессом. В фазе Selection ИУ вводит сигнал ATN#, сообщая о намерении послать сообщение Identify с указанием адресуемого ЛУ. ЦУ переходит в фазу Command и принимает блок дескриптора команды Read. Интерпретировав команду, ЦУ переходит в фазу Data IN, передает запрошенные данные, затем переводится в фазу Status и посылает состояние Good. Затем в фазе Message IN устройство посылает сообщение Command Complete, после чего освобождает шину (фаза Bus Free). Процесс завершен.

Рассмотрим тот же пример, но при условии отключения от шины (Disconnect) в процессе выполнения команды. Если устройство, получив команду Read, опре­делит, что для получения затребованных данных необходимо много времени, оно освободит шину, послав сообщение Disconnect. Как только требуемые данные готовы в ЦУ, оно, выиграв арбитраж, выберет ИУ (в фазе Reselect) и в фазе Message ДУпошлет ему сообщение Identify. ИУ вернет соответствующий набор указателей в активное состояние и продолжит выполнение процесса, как описано выше. Если ЦУ хочет отсоединиться, когда часть данных уже передана (например, головка диска дошла до конца цилиндра и требуется время на позиционирование), оно посылает сообщение Save Data Pointer, а затем — Disconnect. После повторного соединения передача данных возобновится с точки, определенной последним со­храненным значением указателя. Если произошла ошибка или исключение, ЦУ может повторить обмен данными, послав сообщение Restore Pointers или отсоеди­нившись без сообщения Save Data Pointers.

Теперь рассмотрим процесс с цепочкой связанных команд. По успешному завершению каждой команды цепочки ЦУ автоматически переходит к исполнению следующей. Все команды цепочки являются частью одного процесса. Команды не являются полностью независимыми — при относительной адресации последний блок, адресованный предыдущей командой, доступен для следующей. Так, например, можно исполнить команду Search Data, по которой на диске будет найден блок, содержащий информацию, совпадающую с эталоном поиска. Связав с ней команду чтения Read, можно прочитать этот блок или блок с указанным смеще­нием относительно найденного. По выполнении связанных команд ЦУ посылает сообщения Linked Command Complete (возможно, с флагом), а ИУ обновляет набор сохраненных указателей, так что они указывают на очередную команду цепочки. Команды в цепочке выполняются как одиночные, но с возможностью относитель­ной адресации.

Команды могут исполняться с использованием очередей. ЦУ могут поддерживать немаркированные и маркированные очереди. Поддержка немаркированных очередей, определенная еще в SCSI-1, позволяет любому ЛУ (LUN) или целевой про­грамме, занятым процессом от одного ИУ, принимать команды (начинать процесс) с другими ИУ.

Маркированные очереди (tagged queue) определены в SCSI-2 для ЛУ. Для каждой связи I_T_L (ИУ-ЦУ-ЛУ) существует своя очередь размером до 256 процессов. Каждый процесс, использующий маркированные очереди, идентифицируется свя­зью I_T_L_Q, где Q — однобайтный тег очереди (queue tag). Теги процессам назначаются ИУ, их значения на порядок выполнения операций не влияют.

Постановка в очередь выполняется через механизм сообщений, при этом очеред­ной процесс можно поставить в очередь «по честному», а можно «пропихнуть» вне очереди: процесс, поставленный в очередь с сообщением Head Of Queue Tag, будет выполняться сразу после завершения текущего активного процесса. Процессы, поставленные в очередь с сообщением Simple Queue Tag, исполняются ЦУ в по­рядке, который оно сочтет оптимальным. Процесс, поставленный в очередь с со­общением Ordered Queue Tag, будет исполняться последним. ИУ может удалить процесс из очереди, сославшись на него по тегу. Изменение порядка выполнения команд ЦУ не касается порядка в цепочке команд, поскольку цепочка принадле­жит одному процессу, а в очередь ставятся именно процессы.

Здесь мы не рассматриваем различные ситуации, приводящие к отклонениям от нормальной последовательности событий интерфейса. К ним относятся некорректные соединения со стороны ИУ, выбор несуществующего ЛУ, неожиданные вы­борки ИУ, округление параметров, реакция на асинхронные события и т. п.

 

Более подробную информацию об интерфейсе SCSI, его принципах работы, системной поддержке, принципах использования и программирования можно найти в [2, 50-53, 55].

 

Последовательная шина USB

USB (Universal Serial Bus — универсальная последовательная шина) является промышленным стандартом расширения архитектуры PC, ориентированным на интеграцию с телефонией и устройствами бытовой электроники. Шина разра­ботана недавно — спецификация версии 1.0 была опубликована в январе 1996 года, — и в ней отразились современные достижения различных областей компьютерной техники. Архитектура USB определялась следующими критериями:

· Легко реализуемое расширение периферии PC.

· Дешевое решение, поддерживающее скорость передачи до 12 Мбит/с.

· Полная поддержка в реальном времени передачи аудио- и сжатых видео­данных.

· Гибкость протокола для смешанной передачи изохронных данных и асин­хронных сообщений.

· Интеграция в технологию выпускаемых устройств.

· Доступность в PC всех конфигураций и размеров.

· Обеспечение стандартного интерфейса, способного быстро внедриться в продукцию.

· Открытие новых классов устройств, расширяющих PC.

· С точки зрения конечного пользователя привлекательны такие черты USB:

· Простота кабельной системы и подключений.

· Изоляция подробностей электрического подключения от конечного поль­зователя.

· Самоидентифицирующаяся периферия, автоматическая связь устройств с драйверами и конфигурирование.

· Возможность динамического подключения и реконфигурирования пери­ферии.

С середины 1996 года многие фирмы выпускают PC со встроенным конт­роллером USB, реализуемым прямо чипсетом системной платы. Поначалу USB ехидно расшифровывали как «Unused Serial Bus» — «неиспользуемая последо­вательная шина», но скоро ситуация, похоже, изменится. Ожидается появление модемов, клавиатур, сканеров, динамиков и других устройств ввода/вывода с поддержкой технологии USB, а также мониторов с USB-адаптерами — такой монитор будет играть роль хаба для подключения других устройств.

Физический интерфейс

Стандарт USB определяет электрические и механические спецификации шины.

Информационные сигналы и питающего напряжения 5 В передаются по четырехпроводному кабелю. Для сигнала используются дифференциальный спо­соб передачи по двум проводам D+ и D- Уровни сигналов передатчиков в статическом режиме должны быть ниже 0,3 В (низкий уровень) или выше 2,8 В (высокий уровень). Приемники должны выдерживать входное напряжение в пределах -0,5...+3,8 В. Передатчики должны иметь возможность перехода в высокоимпедансное состояние для обеспечения двунаправленной полудуплексной передачи данных по одной паре проводов.

Передача по двум проводам USB не ограничивается лишь дифференциаль­ными сигналами. Кроме дифференциального приемника, каждое устройство имеет и линейные приемники сигналов D+ и D-, а передатчики этих линий управляются индивидуально. Это позволяет различать множество состояний линии, используемых для организации аппаратного интерфейса. Состояния Diff0 и Diff1определяются по разности потенциалов на линиях D+ и D- более 200 мВ при условии, что на одной из них потенциал выше порога срабатывания Vse. Состояние, при котором на обоих входах D+ и D- присутствует низкий уровень, называется линейным нулем (SE0 — single-ended zero). Интерфейс определяет следующие состояния:

· Data J State и Data К State — состояния передаваемого бита (определяются через состояния Diff0 и Diff1).

· Idle State — пауза на шине.

· Resume State — сигнал «пробуждения» для вывода устройства из «спяще­го» режима.

· Start of Packet (SOP) — начало пакета (переход из «Idle» в «К»).

· End of Packet (EOP) — конец пакета.

· Disconnect — устройство отключено от порта.

· Connect — устройство подключено к порту.

· Reset — сброс устройства.

Состояния определяются сочетаниями дифференциальных и линейных сиг­налов, причем для полной и низкой скоростей состояния Diff0 и Diff1 имеют противоположное назначение. В декодировании состояний Disconnect, Connect и Reset принимается во внимание и время нахождения линий (более 2,5 мс) в определенных состояниях.

Шина имеет два режима передачи. Полная скорость передачи сигналов USB составляет 12 Мбит/с, низкая — 1,5 Мбит/с. Для полной скорости использует­ся экранированная витая пара с импедансом 90 Ом и длиной сегмента до 5 м, для низкой — невитой и неэкранированный кабель при длине сегмента до 3 м. Низкоскоростные кабели и устройства дешевле высокоскоростных. Одна и та же система может одновременно использовать оба режима, переключение для устройств осуществляется прозрачно. Низкая скорость предназначена для ра­боты с небольшим количеством устройств, не требующих высокой пропускной способности канала.

 

Рис. 2.62.Подключение полноскоростного устройства

 

Рис. 2.63.Подключение низкоскоростного устройства.

 

Рис. 2.64.Кодирование данных по методу NRZI.

Скорость, используемая устройством, подключенным к конкретному порту, определяется хабом по уровням сигналов на линиях D+ и D-, смещаемых на­грузочными резисторами R2 приемопередатчиков (см. рис. 2.62, 2.63).

Сигналы синхронизации кодируются вместе с данными по методу NRZI (Non Return to Zero Invert), его работу иллюстрирует рис. 2.64. Каждому пакету предшествует поле синхронизации SYNC, позволяющее приемнику настроиться на частоту передатчика.

Кроме сигнальной пары, кабель имеет линии VBus и GND для передачи пи­тающего напряжения 5 В к устройствам. Сечение проводников выбирается в соответствии с длиной сегмента для обеспечения гарантированного уровня сиг­нала и питающего напряжения.

Стандарт определяет два типа разъемов (табл. 2.44).

 

Таблица 2.44.Назначение выводов разъема USB

Контакт Цепь
VCC
-Data
+Data
Ground

 

Разъемы, типа «А>> применяются для подключения к хабам (upstream con­nector). Они устанавливаются на кабелях, не отсоединяемых от устройств (на­пример, от клавиатуры, мыши и т. п.). Ответная часть к ним устанавливается на нисходящих портах (downstream port) хабов.

Разъемы типа «В» (downstream connector) устанавливаются на устройствах, от которых соединительный кабель может отсоединяться (например, на принте­ры и сканеры). Его ответная часть устанавливается на соединительном кабеле, противоположный конец которого имеет разъем типа «А».

Разъемы типов А и В различаются механически, что исключает возможность петлевых соединений портов хабов, которые недопустимы в USB. Четырехкон­тактные разъемы имеют ключи, исключающие неправильное присоединение. Конструкция разъемов обеспечивает более позднее соединение и раннее отсое­динение сигнальных цепей по сравнению с питающими. Для облегчения распоз­навания разъема USB на корпусе устройства ставится обозначение, приведенное на рис.2.65.

 

Рис. 2.65.Обозначение разъема USB

 

Питание устройств USB возможно как от кабеля (bus-powered devices), rat и от собственного блока питания (self-powered devices). Хост обеспечивает пи­танием непосредственно к нему подключенные устройства. Каждый хаб (устройство с несколькими портами), в свою очередь, обеспечивает питание устройств, подключенных к его нисходящим пор­там. При некоторых ограничениях топологии USB допускает применение хабов питающихся от шины. На рис. 2.66 приведен пример схемы соединения ус­тройств USB. Здесь клавиатура, перо и мышь могут питаться от шины.

USB имеет развитую систему управления энергопотреблением. Хост-компьютер может иметь собственную систему управления энергопотреблением (power management system), к которой логически подключается и одноименная система USB. Программное обеспечение USB взаимодействует с этой системой, поддер­живая такие системные события, как приостанов (SUSPEND) или восстановление (RESUME). Кроме того, устройства USB могут сами являться источниками собы­тий, отрабатываемых системой управления энергопотреблением.

 

Рис. 2.66.Пример подключения устройств USB

 

Шина IEEE 1394 — FireWire

Стандарт для высокопроизводительной последовательной шины (High Perfor­mance Serial Bus), получивший официальное название IEEE 1394, был принят в 1995 году. Целью разработки являлось создание шины, не уступающей по производительности современным стандартным параллельным шинам, при су­щественном удешевлении и повышении удобств подключения, достижимом при переходе на последовательный интерфейс. Стандарт основан на шине FireWire, используемой фирмой Apple Computer в качестве дешевой альтернативы шины SCSI в компьютерах Macintosh и PowerMac. Название FireWire (огненный про­вод) теперь применяется и к реализациям IEEE 1394, это название сосущест­вует и кратким обозначением 1394.

· Преимущества FireWire перед другими последовательными шинами:

· Многофункциональность: шина обеспечивает цифровую связь до 63 ус­тройств без применения дополнительной аппаратуры (хабов). Устройства —цифровые камкодеры, сканеры, принтеры, камеры для видеоконференций, дисковые накопители — могут обмениваться данными не только с PC (необязательного для шины), но и между собой. FireWire по инициативе VESA является кандидатом на стандарт для «домашней сети».

· Высокая скорость обмена и изохронные передачи позволяют даже на начальном уровне (100 Мбит/с) передавать по шине одновременно два ка­нала «живого видео» (30 кадров в секунду) широковещательного качества и стереоаудиосигнал с качеством CD.

· Низкая (относительно) цена компонентов и кабеля.

· Легкость установки и использования. FireWire расширяет систему Plug and Play. Устройства автоматически распознаются и конфигурируются при включении и отключении. Питание от шины (током до 1,5 А) позво­ляет подключенным устройствам общаться с системой даже при отклю­чении их питания. Управлять шиной и другими устройствами могут не только PC, но и другие «интеллектуальные» устройства.

 









Читайте также:

Последнее изменение этой страницы: 2016-03-22; Просмотров: 71;


lektsia.info 2017 год. Все права принадлежат их авторам! Главная