Назначение бит регистра IER. 4 страница
• сбор статистики активности и состояний устройств;
• управление электрическим интерфейсом между хост-контроллером и устройствами USB, включая управление электропитанием.
Хост-контроллер является аппаратным посредником между устройствами USB и хостом. Программная часть хоста в полном объеме реализуется операционной системой. До загрузки ОС может функционировать лишь усеченная часть 11U USB, поддерживающая только устройства, требующиеся для загрузки. Так, в BIOS современных системных плат имеется поддержка клавиатуры USB, реализующая функции сервиса Int 10h. При загрузке системы USB эта «дозагрузочная» поддержка игнорируется — система начинает работу с контроллером «с чистого листа», то есть со сброса и определения всех подключенных устройств. По окончании работы ОС передача состояния USB «дозагрузочной» поддержке не предусматривается, так что для нее это событие тоже может рассматриваться как первоначальное включение. В спецификации PC'2001 выдвигается требование к BIOS поддержки USB в такой мере, чтобы обеспечивалась загрузка ОС с устройств USB.
USB поддерживает динамическое подключение и отключение устройств. Нумерация (перенумерация) устройств шины идет постоянно, отслеживая изменения физической топологии.
Все устройства подключаются через порты хабов. Хабы определяют подключение и отключение устройств к своим портам и сообщают состояние портов при запросе от контроллера. Хост разрешает работу порта и адресуется к устройству через канал управления, используя нулевой адрес — USB Default Address. При начальном подключении или после сброса все устройства адресуются именно так.
Хост определяет, является новое подключенное устройство хабом или функцией, и назначает ему уникальный адрес USB. Хост создает канал управления (control pipe) с этим устройством, используя назначенный адрес и нулевой номер точки назначения.
Если новое устройство является хабом, хост определяет подключенные к нему устройства, назначает им адреса и устанавливает каналы. Если новое устройство является функцией, уведомление о подключении передается диспетчером USB заинтересованному ПО.
Когда устройство отключается, хаб автоматически запрещает соответствующий порт и сообщает об отключении контроллеру, который удаляет сведения о данном устройстве из всех структур данных. Если отключается хаб, процесс удаления выполняется для всех подключенных к нему устройств. Если отключается функция, уведомление посылается заинтересованному ПО.
4.1.7. Применение шины USB
Благодаря своей универсальности и способности эффективно передавать разнородный трафик, шина USB применяется для подключения к PC самых разнообразных устройств. Она призвана заменить традиционные порты PC — СОМ и LPT, а также порты игрового адаптера и интерфейса MIDI. Спецификация USB 2.0 позволяет говорить и о подключении традиционных «клиентов» шин АТА и SCSI, а также захвате части ниши применения шины FireWire. Привлекательность USB придает возможность подключения/отключения устройств на ходу и возможность их использования практически сразу, без перезагрузки ОС. Удобна и возможность подключения большого количества (до 127) устройств к одной шине, правда, при наличии хабов. Хост-контроллер интегрирован в большинство современных сис- темных плат. Выпускаются и карты расширения с контроллерами USB (обычно для шины PCI). Однако повсеместное применение USB сдерживается недостаточной активностью разработчиков ПО (производителей оборудования): просматривая перечни устройств, мы видим, что для всех указывается поддержка в Windows 98/SE/ME, а вот в графах Linux, MacOS, Unix и даже Windows 2000 часто стоят неприятные пометки N/A (Not Allowed — «не дозволено»).
Для того чтобы система USB заработала, необходимо, чтобы были загружены драйверы хост-контроллера (или контроллеров, если их несколько). При подключении устройства к шине USB ОС Windows выдает сообщение «Обнаружено новое устройство» и, если устройство подключается впервые, предлагает загрузить для него драйверы. Многие модели устройств уже известны системе, и драйверы входят в дистрибутив ОС. Однако может потребоваться и драйвер изготовителя устройства, который должен входить в комплект поставки устройства, или его придется искать в Сети. К сожалению, не все драйверы работают корректно — «сырой» драйвер начальной версии, возможно, потребуется заменить более «правильным», чтобы устройство нормально опознавалось и хорошо работало. Но это общее горе пользователей любых устройств, а не только устройств для шины USB.
Перечислим основные области применения USB.
• Устройства ввода — клавиатуры, мыши, трекболы, планшетные указатели и т. п. Здесь USB предоставляет для различных устройств единый интерфейс. Целесообразность использования USB для клавиатуры неочевидна, хотя в паре с мышью USB (подключаемой к порту хаба, встроенного в клавиатуру) сокращается количество кабелей, тянущихся о^гсистемного блока на стол пользователя.
• Принтеры. USB 1.1 обеспечивает примерно ту же скорость, что и LPT-порт в режиме ЕСР, но при использовании USB не возникает проблем с длиной кабеля и подключением нескольких принтеров к одному компьютеру (правда, требуются хабы). USB 2.0 позволит ускорить печать в режиме высокого разрешения за счет сокращения времени на передачу больших массивов данных. Однако есть проблема со старым ПО, которое непосредственно работает с LPT-портом на уровне регистров, — на принтер USB оно печатать не сможет.
• Сканеры. Применение USB позволяет отказаться от контроллеров SCSI или от занятия LPT-порта. USB 2.0 при этом позволит еще и повысить скорость передачи данных.
• Аудиоустройства — колонки, микрофоны, головные телефоны (наушники). USB позволяет передавать потоки аудиоданных, достаточные для обеспечения самого высокого качества. Передача в цифровом виде от самого источника сигнала (микрофона со встроенным преобразователем и адаптером) до приемника и цифровая обработка в хост-компьютере позволяют избавиться от наводок, свойственных аналоговой передачи аудиосигналов. Использование этих аудио-компонентов позволяет в ряде случаев избавиться от звуковой карты компьютера — аудиокодек (АЦП и ЦАП) выводится за пределы компьютера, а все функции обработки сигналов (микшер, эквалайзер) реализуются центральным процессором чисто программно. Аудиоустройства могут и не иметь собственно колонок и микрофона, а ограничиться преобразователями и стандартными гнездами («Джеками») для подключения обычных аналоговых устройств. Музыкальные синтезаторы и MIDI-контроллеры с интерфейсом USB. Шина USB позволяет компьютеру обрабатывать потоки множества каналов MIDI (пропускная способность традиционного интерфейса MIDI уже гораздо ниже возможностей компьютера).
Видео- и фотокамеры. USB 1.1 позволяет передавать статические изображения любого разрешения за приемлемое время, а также передавать поток видеоданных (живое видео) с достаточной частотой кадров (25-30 Кбит/с) только с невысоким разрешением или сжатием данных, от которого, естественно, страдает качество изображения. USB 2.0 позволяет передавать поток видеоданных высокого разрешения без сжатия (и потери качества). С интерфейсом USB выпускают как камеры, так и устройства захвата изображения с телевизионного сигнала и TV-тюнеры.
Коммуникации. С интерфейсом USB выпускают разнообразные модемы, включая кабельные и xDSL, адаптеры высокоскоростной инфракрасной связи (IrDA FIR) — шина позволяет преодолеть предел скорости СОМ-порта (115,2 Кбит/с), не повышая загрузку центрального процессора. Выпускаются и сетевые адаптеры Ethernet, подключаемые к компьютеру по USB. Для соединения нескольких компьютеров в локальную сеть выпускаются специальные устройства, выполняющие коммутацию пакетов между компьютерами. Непосредственно (без дополнительных устройств) портами USB соединить между собой даже два компьютера нельзя — на одной шине может присутствовать лишь один хост-контроллер (см. выше). Специальное устройство для связи пары компьютеров выглядит как «таблетка», врезанная в кабель USB с двумя вилками типа «А» на концах. Объединение более двух компьютеров осложняется и топологическими ограничениями USB: длина одного сегмента кабеля не должна превышать 5 м, а использовать хабы для увеличения дальности неэффективно (каждый хаб дает всего 5 м дополнительного удаления).
Преобразователи интерфейсов позволяют через порт USB, имеющийся теперь практически на всех компьютерах, подключать устройства с самыми разнообразными интерфейсами: Centronics и IEEE 1284 (LPT-порты), RS-232C (эмуляция UART 16550A — основы СОМ-портов) и другие последовательные интерфейсы (RS-422, RS-485, V.35...), эмуляторы портов клавиатуры и даже Game-порта, переходники на шину АТА, ISA, PC Card и любые другие, для которых достаточно производительности. Здесь USB становится палочкой-выручалочкой, когда встает проблема 2-го (3-го) LPT- или СОМ-порта в блокнотном ПК и в других ситуациях. При этом ПО преобразователя может обеспечить эмуляцию классического варианта «железа» стандартных портов IBM PC, но только под управлением ОС защищенного режима. Приложение MS-DOS может обращаться к устройствам по адресам ввода-вывода, памяти, прерываниями, каналами DMA, но только из сеанса MS-DOS, открытого в ОС с поддержкой USB (чаще это Windows). При загрузке «голой» MS-DOS «палочка-выручалочка» не работает. Преобразователи интерфейсов позволяют продлить жизнь устройствам с традиционными интерфейсами, изживаемыми из PC спецификациями PC'99 и PC'2001. Скорость передачи данных через конвертер USB — LPT может оказаться даже выше, чем у реального LPT-порта, работающего в режиме SPP. • Устройства хранения — винчестеры, устройства чтения и записи CD и DVD, стриммеры — при использовании USB 1.1 получают скорость передачи, соизмеримую со скоростью их подключения к LPT, но более удобный интерфейс (как аппаратный, так и программный). При переходе на USB 2.0 скорость передачи данных становится соизмеримой с АТА и SCSI, а ограничений по количеству устройств достичь трудно. Особенно интересно использование USB для электронных устройств энергонезависимого хранения (на флэш-памяти) — такой накопитель может быть весьма компактным (размером с брелок для ключей) и емким (пока 16-256 Мбайт, в перспективах — гигабайт и более). Выпускаются устройства для мобильного подключения накопителей с интерфейсом АТА-ATAPI — по сути, это лишь преобразователи интерфейсов, помещенные в коробку-отсек формата 5" или 3,5", а иногда выполненные прямо в корпусе 36-контактного разъема АТА. Имеются и устройства чтения-записи карт SmartMedia Card и CompactFlash Card.
• Игровые устройства — джойстики всех видов (от «палочек» до автомобильных рулей), пульты с разнообразными датчиками (непрерывными и дискретными) и исполнительными механизмами (почему бы не сделать кресло автогонщика с вибраторами и качалками?) — подключаются унифицированным способом. При этом исключается ресурсопожирающий интерфейс старого игрового адаптера (упраздненного уже в спецификации PC'99).
• Телефоны — аналоговые и цифровые (ISDN). Подключение телефонного аппарата позволяет превратить компьютер в секретаря с функциями автодозвона, автоответчика, охраны и т. п.
• Мониторы — здесь шина USB используется для управления параметрами монитора. Монитор сообщает системе свой тип и возможности (параметры синхронизации) — это делалось и без USB по шине DDC. Однако USB-мониторы позволяют системе еще и управлять ими — регулировки яркости, контраста, цветовой температуры и т. п. могут теперь выполняться программно, а не только от кнопок лицевой панели монитора. В мониторы, как правило, встраивают хабы. Это удобно, поскольку настольную периферию не всегда удобно включать в «подстольный» системный блок.
• Электронные ключи — устройства с любым уровнем интеллектуальности защиты — могут быть выполнены в корпусе вилок USB. Они гораздо компактнее и мобильнее аналогичных устройств для СОМ- и LPT-портов.
Конечно же, перечисленными классами устройств сфера применения шины USB не ограничивается.
Хабы USB выпускаются как в виде отдельных устройств, так и встраиваются в периферийные устройства (клавиатуры, мониторы). Как правило, хабы питаются от сети переменного тока (они должны питать подключаемые устройства). Выпускают и хабы, устанавливаемые внутрь системного блока компьютера и питающиеся от его блока питания. Такие хабы дешевле внешних и не требуют дополнительной питающей розетки. Один из вариантов исполнения — установка хаба на скобку, монтируемую в окно для дополнительных разъемов. Доступ к их разъемам со «спины» системного блока не очень удобен для пользователей. Другой вариант — хаб, устанавливаемый в 3"-отсек. Его разъемы легкодоступны, индикаторы состояния портов хорошо видны, но не всегда удобны кабели, выходящие с передней панели системного блока. С другой стороны, для подключения электронных ключей (если их приходится часто менять) или миниатюрных накопителей этот вариант — самый удобный.
Недавно появились и новые вспомогательные устройства, увеличивающие дальность связи (distance extender). Это пара устройств, соединяемых между собой обычным кабелем «витая пара» (или оптоволокном), включаемая между периферийным устройством и хабом. «Удлинитель» со стороны периферии может иметь и хаб на несколько портов. К сожалению, увеличение дистанции упирается в ограничения на время задержки сигнала, свойственные протоколу шины USB, и достижимо лишь удаление до 100 м. Но даже и эта длина позволяет расширить сферу применения USB, например для удаленного видеонаблюдения.
4.1.8. Разработка собственных устройств USB
Несмотря на довольно сложный протокол обмена, интерфейсом USB можно снабдить и периферийные устройства собственной разработки. Для этого выпускается • широкий ассортимент микросхем, со стороны USB различающихся скоростями обмена (LS, FS или HS), числом и возможностями конечных точек (тип передач, размер буфера). Функциональное назначение этих микросхем различно. С портом USB выпускаются микроконтроллеры на ядре MCS51, М68НС05, М68НС11 или RISC-архитектуры; они различаются объемом памяти (оперативной и энергонезависимой), производительностью, питанием, потреблением. Микроконтроллеры могут иметь встроенные устройства АЦП/ЦАП, дискретные линии ввода-вывода общего назначения, последовательные и параллельные порты различных типов. Их можно использовать для подключения устройств с любыми интерфейсами, сигнальных процессоров и т. п: Из этого ассортимента можно выбрать подходящую микросхему, на базе которой разрабатываемое устройство будет реализовано с минимальным числом дополнительных элементов. К микроконтроллерам прилагаются и средства разработки их встроенного ПО (firmware) — самой сложной части такого устройства. Есть микроконтроллеры с USB, способные работать без программирования энергонезависимой памяти; микроконтроллеры серии EzUSB фирмы Cypress Semiconductor каждый раз загружают свою программу в ОЗУ по шине USB из хост-компьютера в процессе подключения. Конечно, такая гибкость нужна не всегда, и до подключения к компьютеру устройство остается «мертвым».
Есть и периферийные микросхемы — порты USB, подключаемые к микроконтроллерам параллельной 8/16-битной шиной данных с обычным набором управляющих сигналов (CS#, RD#, WR#...), линией запроса прерывания и, возможно, сигналами канала DMA. Выпускаются и специализированные преобразователи интерфейсов USB в последовательный (RS-232, RS-422/485) и параллельный, не требующие программирования (нужно лишь записать в EEPROM идентификатор устройства). Есть и микросхемы USB, сочетающие в себе и функции, и хабы. Все варианты не перечислить, тем более что все время появляются новые микросхемы. Информацию о них можно найти в Сети (www.cypress.com, www.devasys.com, www.iged.com, www.microchip.com,www.netohip. corn, www.motorola.com.www.serniconductor.philips. corn, www.natsemi.com, www.intel.com, www.ftdichip.com, www.gigatechnology.com). Немаловажная часть разработки собственных устройств — программное обеспечение для хост-компьютера, которое доносит до пользователя всю пользу устройства. В ряде случаев удается воспользоваться готовыми драйверами (например, драйвером виртуального СОМ-порта для преобразователя интерфейса). В других случаях ПО приходится писать самостоятельно, и хорошо, когда изготовитель микросхем с USB заботится о предоставлении инструментальных средств разработки всех частей ПО.
4.2. Шина IEEE 1394 - FireWire
Стандарт для высокопроизводительной последовательной шины (High Performance Serial Bus), получивший официальное название IEEE 1394, был принят в 1995 году. Целью являлось создание шины, не уступающей параллельным шинам при существенном удешевлении и повышении удобства подключения (за счет перехода на последовательный интерфейс). Стандарт основан на шине FireWire, используемой Apple Computer в качестве дешевой альтернативы SCSI в компьютерах Macintosh и PowerMac. Название FireWire («огненный провод») теперь применяется и к реализациям IEEE 1394, оно сосуществует с кратким обозначением 1394. Другое название того же интерфейса — iLink, а иногда и Digital Link — используется фирмой Sony применительно к устройствам бытовой электроники. MultiMedia Connection — имя, используемое в логотипе 1394 High Performance Serial Bus Trade Association (1394TA).
Стандарт 1394 определяет три возможные частоты передачи сигналов по кабелям:
98,304, 196,608 и 393,216 Мбит/с, которые округляют до 100, 200 и 400 Мбит/с. Частоты в стандарте обозначаются как S100, S200 и S400 соответственно. В последней утвержденной ревизии стандарта, Р1394-2000, новых скоростей (S800, S1600 и S3200) еще не появилось, и сейчас 1394 сосуществует с шиной USB, для которой в спецификации USB 2.0 уже определена скорость 480 Мбит/с.
Основные свойства шины FireWire перечислены ниже.
• Многофункциональность. Шина обеспечивает цифровую связь до 63 устройств без применения дополнительной аппаратуры (хабов). Устройства бытовой электроники — цифровые камкордеры (записывающие видеокамеры), камеры для видеоконференций, фотокамеры, приемники кабельного и спутникового телевидения, цифровые видеоплейеры (CD и DVD), акустические системы, цифровые музыкальные инструменты, а также периферийные устройства компьютеров (принтеры, сканеры, устройства дисковой памяти) и сами компьютеры могут объединяться в единую сеть. • Высокая скорость обмена и изохронные передачи. Шина позволяет даже на начальном уровне (S100) передавать одновременно два канала видео (30 кадров в секунду) широковещательного качества и стерео-аудиосигнал с качеством CD.
• Низкая цена компонентов и кабеля.
• Легкость установки и использования. FireWire расширяет технологию РпР. Система допускает динамическое (горячее) подключение и отключение устройств. Устройства автоматически распознаются и конфигурируются при включении/ отключении. Питание от шины (ток до 1,5 А) позволяет подключенным устройствам общаться с системой даже при отключении их питания. Управлять шиной и другими устройствами могут не только PC, но и другие «интеллектуальные» устройства бытовой электроники.
FireWire по инициативе VESA позиционируется как шина «домашней сети», объединяющей всю бытовую и компьютерную техни1су в единый комплекс. Эта сеть является одноранговой (peer-to-peer), чем существенно отличается от USB.
4.2.1. Физический уровень сети
Кабельная сеть 1394 собирается по простым правилам — все устройства соединяются друг с другом кабелями по любой топологии (древовидной, цепочечной, звездообразной). Каждое «полноразмерное» устройство (узел сети) обычно имеет три равноправных соединительных разъема. Некоторые малогабаритные устройства могут иметь только один разъем, что ограничивает возможные варианты их местоположения. Стандарт допускает и до 27 разъемов на одном устройстве, которое будет играть роль кабельного концентратора. Допускается множество вариантов подключения устройств, но со следующими ограничениями:
• между любой парой узлов может быть не более 16 кабельных сегментов;
• длина сегмента стандартного кабеля не должна превышать 4,5 м;
• суммарная длина кабеля не должна превышать 72 м (применение более качественного кабеля позволяет ослабить влияние этого ограничения);
• топология не должна иметь петель, хотя в последующих ревизиях предполагается автоматическое исключение петель в «патологических» конфигурациях.
Стандартный кабель 1394 содержит 6-проводов, заключенных в общий экран, и имеет однотипные 6-контактные разъемы на концах (рис. 4.6, о). Две витые пары используются для передачи сигналов (ТРА и ТРВ) раздельно для приемника и передатчика, два провода задействованы для питания устройств (8-40 В, до 1,5 А). В стандарте предусмотрена гальваническая развязка устройств, для чего используются трансформаторы (напряжение изоляции развязки до 500 В) или конденсаторы (в дешевых устройствах с напряжением развязки до 60 В относительно общего провода). Некоторые бытовые устройства имеют только один 4-контактный разъем меньшего размера (рис. 4.6, б), у которого реализованы только сигнальные цепи. Эти устройства подключаются к шине через специальный переходной кабель только как оконечные (хотя возможно применение специальных адапте-ров-разветвителей). В кабелях FireWire сигнальные пары соединяются перекрест-но (табл. 4.2), поскольку все порты равноправны.
В грядущей версии, которая пока называется Р1394Ь, предусматриваются и новые варианты среды передачи:
• кабель UTP категории 5 со стандартными коннекторами RJ-45 (используются две пары проводов), длина сегмента до 100 м — дешевый вариант для S100;
• пластиковое оптоволокно (два волокна POF для небольших расстояний и HPCF для больших дистанций) — дешевый вариант для S200;
• многомодовое оптоволокно (два волокна 50 мкм) — более дорогой вариант для будущих скоростей вплоть до S3200.
Каждое устройство, имеющее более одного разъема 1394, является повторителем. Сигнал, обнаруженный на входе приемника с любого разъема, ресинхронизиру-ется по внутреннему тактовому генератору и выводится на передатчики всех остальных разъемов. Таким образом осуществляется доставка сигналов от каждого устройства ко всем остальным и предотвращается накопление «дрожания» (jitter) сигнала, ведущее к потере синхронизации.
Стандарт 1394 определяет две категории шин: кабельные шины и кросс-шины (Backplane). Под кросс-шинами подразумеваются обычно параллельные интерфейсы, объединяющие внутренние подсистемы устройства, подключенного к кабелю 1394. Сеть может состоять из множества шин, соединенных мостами — специальными устройствами, осуществляющими передачу пакетов между шинами, фильтрацию трафика, а для соединения разнородных шин еще и необходимые преобразования интерфейсов. Интерфейсная карта шины FireWire^ra PC представляет собой мост PCI —1394. Мостами являются также соединения кабельной шины 1394 с кросс-шинами периферийных устройств. Мосты могут соединять и кабельные шины, что расширяет топологические возможности соединения устройств. 4.2.2. Протокол IEEE 1394
Протокол 1394 реализуется на трех уровнях (рис. 4.7).
• Уровень транзакций (Transaction Layer) преобразует пакеты в данные, предоставляемые приложениям, и наоборот. Он реализует протокол запросов-ответов, соответствующий стандарту ISO/IEC 13213:1994 (ANSI/IEEE 1212, редакции 1994 г.) архитектуры регистров управления и состояния CSR (Control and Status Register) для микрокомпьютерных шин (чтение, запись, блокировка). Это облегчает связь шины 1394 со стандартными параллельными шинами.
• Уровень связи (Link Layer) из данных физического уровня формирует пакеты и выполняет обратные преобразования. Он обеспечивает обмен узлов датаграм-мами с подтверждениями. Уровень отвечает за передачу пакетов и управление изохронными передачами.
• Физический уровень (Physical Layer) вырабатывает и принимает сигналы шины. Он обеспечивает инициализацию и арбитраж, предполагая, что в любой момент времени работает только один передатчик. Уровень передает потоки данных и уровни сигналов последовательной шины вышестоящему уровню. Между этими уровнями возможна гальваническая развязка, при которой микросхемы физического уровня питаются от шины. Гальваническая развязка необходима для предотвращения паразитных контуров общего провода, которые могут появиться через провода защитного заземления блоков питания.
Аппаратная часть FireWire обычно состоит из двух специализированных микросхем — трансиверов физического уровня PHY Transceiver и моста связи с шиной LINK Chip. Связь между ними возможна, например, по интерфейсу IBM-Apple LINK-PHY. Микросхемы уровня связи выполняют все функции своего уровня и часть функций уровня транзакций; остальная часть уровня транзакций выполняется программно.
Для передачи асинхронных сообщений используется 64-битная адресация регистров устройств 1394. В адресе выделяется 16 бит для адресации узлов сети: 6-битное поле идентификатора узла допускает до 63 устройств в каждой шине; 10-битное поле идентификатора шины допускает использование в системе до 1023 шин разного типа (включая внутренние), соединенных мостами. Протокол шины позволяет обращаться к памяти (регистрам) устройств в режиме DMA. В адресном пространстве каждого устройства имеются конфигурационные регистры, в которых содержится вся информация, необходимая для взаимодействия с ним других устройств. Данные передаются пакетами, в начале каждого пакета передаются биты состояния арбитража. Устройство может передавать данные только после успешного прохождения арбитража. Имеются два основных типа передач данных — изохронный, ради которого и строилась шина, и асинхронный. Изохронные передачи обеспечивают гарантированную полосу пропускания и время задержки, асинхронные передачи обеспечивают гарантированную доставку.
Асинхронные сообщения передаются между двумя устройствами. Инициатор посылает запрос требуемому устройству, на который оно сразу (через короткий интервал зазора, в котором шина находится в покое) отвечает подтверждением приема, положительным (АСК) или отрицательным (NACK), если обнаружена ошибка данных. Содержательный ответ на запрос (если требуется) будет передан обратно аналогичным способом (получатель должен послать подтверждение). Если подтверждение АСК не получено, передачи будут повторяться несколько раз до достижения успеха или фиксации ошибки.
Изохронные передачи ведутся широковещательно. В сети может быть организовано до 64 изохронных каналов, и каждый пакет изохронной передачи, кроме собственно данных, несет номер канала. Целостность данных контролируется CRC-кодом. Изохронные передачи всех каналов «слышат» все устройства шины, но из всех пакетов принимают только данные интересующих их каналов. Устройство-источник изохронных данных (камера, приемник, проигрыватель) на этапе конфигурирования получает номер и параметры выделенного ему канала. Шина поддерживает динамическое реконфигурирование — возможность «горячего» подключения и отключения устройств. Когда устройство включается в сеть, оно широковещательно передает короткий асинхронный пакет самоидентификации. Все уже подключенные устройства, приняв такой пакет, фиксируют появление новичка и выполняют процедуру сброса шины. По сбросу производится определение структуры шины, каждому узлу назначается физический адрес и производится арбитраж мастера циклов, диспетчера изохронных ресурсов и контроллера шины (см. ниже). Через секунду после сброса все ресурсы становятся доступными для последующего использования, и каждое устройство имеет полное представление обо всех подключенных устройствах и их возможностях. Отключение устройства от шины также обнаруживается всеми устройствами. Благодаря наличию линий питания интерфейсная часть устройства может оставаться подключенной к шине даже при отключении питания функциональной части устройства.
Мастер циклов — устройство, посылающее каждые 125 мкс короткие широковещательные пакеты начала циклов. В каждом таком пакете мастер циклов передает значение 32-битного счетчика времени, инкрементируемого с частотой 24,576 МГц, для каждого узла, поддерживающего изохронный обмен. В каждом цикле сначала передается по одному пакету каждого активного изохронного канала, затем на некоторое время зазора шина находится в состоянии покоя. После этого зазора начинается часть цикла, отводящаяся для передачи асинхронных пакетов. Каждое устройство, нуждающееся в асинхронной передаче, в этой части цикла может передать по одному пакету. Устройство, не имеющее пакета для передачи, шину и не занимает. После того как все нуждающиеся устройства передадут по одному пакету, в оставшееся время до конца цикла устройства могут передать и дополнительные пакеты.
Диспетчер изохронных ресурсов — устройство, ведающее распределением номеров каналов и полосы шины для изохронных передач. Диспетчер требуется, когда на шине появляется хоть одно устройство, способное к изохронной передаче. Диспетчер выбирается посредством арбитража из числа устройств, поддерживающих изохронный обмен. После сброса устройства, нуждающиеся в изохронной передаче, запрашивают требуемую полосу. Полоса измеряется в специальных единицах распределения, число которых в 125-микросекундном цикле составляет 6144. Единица занимает около 20 нс, что соответствует времени передачи одного квад-лета (quadlet, 32-битное слово) на частоте 1600 Мбит/с. Такой способ измерения полосы учитывает возможность совместной работы устройств с разными скоростями — в одном цикле соседние пакеты могут передаваться на разных скоростях. Как минимум 25 мкс цикла резервируется под асинхронный трафик, поэтому суммарная распределяемая полоса изохронного графика составляет 4915 единиц. Для цифрового видео, например, требуется полоса 30 Мбит/с (25 Мбит/с на видеоданные и 3-4 Мбит/с на аудиоданные, синхронизацию и заголовки пакетов). В S100 устройства цифрового видео запрашивают около 1800 единиц, в S200 — около 900. Если требуемая полоса недоступна, диспетчер откажет устройству и не выделит ему номер канала. Устройство, не получившее канал, будет периодически повторять запрос. Когда изохронный обмен становится ненужным узлу, он должен освободить свою полосу и номер канала, чтобы этими ресурсами смогли воспользоваться другие устройства. Обмен управляющей информацией устройств с диспетчером производится асинхронными сообщениями. Контроллер шины (Bus Master) — необязательный элемент сети 1394, который осуществляет управление устройствами. Им может являться компьютер, редактирующее устройство цифровой записи или специальный интеллектуальный пульт управления. Контроллер шины, реализующий карты топологии и скоростей (Topology_Map и Speed_Map), допускает использование нескольких частот в одной шине, в соответствии с возможностями конкретной пары устройств, участвующих в обмене. Иначе при подключении устройств, рассчитанных на разные скорости, все передачи будут происходить на скорости, доступной для всех активных устройств.
Дата добавления: 2016-06-13; просмотров: 676;