Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
171
Добавлен:
30.03.2015
Размер:
9.07 Mб
Скачать

Адаптер накопителей на жестких магнитных дисках

В НЖМД используются два вида электронных схем: один для управления магнитными головками, двигателем и дисками; и другой для управления данными. Конструктивно электронное оборудование адаптера НЖМД, также как и адаптера НГМД, может быть размещено или на системной плате ПЭВМ, или на плате модуля расширения совместно с адаптером НГМД.

Типичный адаптер НЖМД выполняет следующие основные функции по командам ЦП: поддерживает требуемый формат данных, размещаемых на дисках; передает данные в режиме ПДП или программного ввода-вывода; осуществляет поиск и проверку требуемых цилиндров; производит переключение головок; обнаруживает и корректирует ошибки в считанных данных; организует последовательность считываемых секторов в соответствии с коэффициентом чередования; генерирует прерывание. Если адаптер использует RLL-метод кодирования, то требуется специальный накопитель, рассчитанный на данный способ кодирования.

На рис. 14.5 приведена обобщенная структура адаптера НЖМД.

Программы управления микропроцессором записываются в ПЗУ. Различные программы предназначены для различных операций обмена. Адаптер НЖМД имеет собственную локальную оперативную память, которая разделяется на рабочую область для микропроцессора и буфер данных для хранения одного сектора. Регистры ввода-вывода предназначены для ввода-вывода данных, сброса и выбора адаптера, записи состояния и типа накопителя, разрешения ПДП и прерывания. Контроллер ПДП управляет обменом данными между адаптером и НЖМД, между адаптером и ОЗУ ПЭВМ.

Команды ЦП подаются на адаптер в режиме программного ввода-вывода в виде блока, включающего код операции, адрес сектора, номера байтов обмена, номер накопителя и др.

Основными командами являются команды чтения, записи, форматирования и позиционирования. Для проверки состояния НЖМД и адаптера служат диагностические команды. Командный блок записывается в локальную память адаптера.

Данные с системной шины при записи в НЖМД поступают в регистры ввода-вывода побайтно и преобразуются в вид для записи в секторный буфер. Под управлением контроллера ПДП или программного режима ввода-вывода данные поступают насериализатор, преобразующий байты в последовательный код. Кодер кодирует данные по методу МЧМ. Одновременно с преобразованием данные поступают на блок контроля и коррекции. Затем данные и контрольные байты записываются в НЖМД.

При чтении данных сепаратор отделяет синхроимпульсы, данные декодируются и преобразуются десериализатором в параллельный код. Под управлением контроллера ПДП байты данных помещаются в ОЗУ и через регистры ввода-вывода выдаются на системную шину. Адаптер выдает ЦП параметры выполнения команды.

Недостатком такой структуры адаптера является то, что параметры диска записаны в его ПЗУ, поэтому адаптер может работать только с определенной моделью диска. В других конструкциях НЖМД дисковые параметры хранятся на самом диске и загружаются в адаптер при работе.

Интерфейсы жестких дисков.

Современные накопители могут использовать интерфейсы ATA (IDE, EIDE), Serial ATA, SCSI, SAS, FireWire, USB и Fibre Channel.

ATA (англ. Advanced Technology Attachment) — интерфейс подключения накопителей (например, жёстких дисков или оптических приводов). Широко применяется на платформе IBM PC. Использование интерфейса ATA подразумевается при упоминании аббревиатур IDE, UDMA и ATAPI.

Использует 40 проводную шину (Начиная с UDMA 66 и выше есть 80 проводная версия, где каждый второй проводник заземлён. Для уменьш межёмкостной связи, которая может помешать высоким скоростям передачи данных)

Существует 7 версий стандарта ATA.

Стандарт

Другие названия

Добавлены режимы передачи (MБ/с)

Максимально поддерживаемый размер диска

Другие свойства

ANSI Reference

ATA-1

ATA, IDE

PIO 0,1,2 (3.3, 5.2, 8.3)¶Single-word DMA 0,1,2 (2.1, 4.2, 8.3)¶Multi-word DMA 0 (4.2)

до 137 GB

28-bit LBA

X3.221-1994¶(устарел в 1999)

ATA-2

EIDE, Fast ATA,¶Fast IDE, Ultra ATA

PIO 3,4: (11.1, 16.6)¶Multi-word DMA 1,2 (13.3, 16,6)

X3.279-1996¶(устарел в 2001)

ATA-3

EIDE

¶S.M.A.R.T., Security

X3.298-1997¶(устарел в 2002)

ATA/ATAPI-4

ATAPI-4, ATA-4, Ultra ATA/33

Ultra DMA 0,1,2 (16.7, 25.0, 33.3)¶aka Ultra-DMA/33

Поддержка CDROM, etc.,¶через набор команд ATAPI

NCITS 317-1998

ATA/ATAPI-5

ATA-5, Ultra ATA/66

Ultra DMA 3,4 (44.4, 66.7)¶aka Ultra DMA 66

80-шинный кабель

NCITS 340-2000

ATA/ATAPI-6

ATA-6, Ultra ATA/100

UDMA 5 (100)¶aka Ultra DMA 100

до 144 PB

48-bit LBA¶Automatic Acoustic Management

NCITS 347-2001

ATA/ATAPI-7

ATA-7, Ultra ATA/133

UDMA 6 (133)¶aka Ultra DMA 133¶SATA/150

SATA 1.0, Streaming feature set, long logical/physical sector feature set for non-packet devices

NCITS 361-2002

Стандарт ATA наиболее распространен в сегменте SOHO ( домашнее и офисное использование).

В настоящее время вытеснен на новых компьютерах интерфейсом SATA.

На новых материнских платах от intel PATA контроллеры отсутствуют.

SATA - (англ. Serial ATA) — последовательный интерфейс обмена данными с накопителями информации (как правило, с жёсткими дисками). SATA является развитием интерфейса ATA (IDE), который после появления SATA был переименован в PATA (Parallel ATA)

Первоначально стандарт SATA предусматривал работу шины на частоте 1,5 ГГц, обеспечивающей пропускную способность приблизительно в 1,2 Гбит/с (150 МБ/с). (20%-я потеря производительности объясняется использованием системы кодирования 8B/10B, при которой на каждые 8 бит полезной информации приходится 2 служебных бита). Пропускная способность SATA/150 незначительно выше пропускной способности шины Ultra ATA (UDMA/133).

Стандарт SATA/300 работает на частоте 3 ГГц, обеспечивает пропускную способность до 2,4 Гбит/с (300 МБ/с). Впервые был реализован в контроллере чипсета nForce 4 фирмы Nvidia. Весьма часто стандарт SATA/300 называют SATA II или SATA 3.0. [1] Теоретически SATA/150 и SATA/300 устройства должны быть совместимы (как SATA/300 контроллер и SATA/150 устройство, так и SATA/150 контроллер и SATA/300 устройство) за счёт поддержки согласования скоростей (в меньшую сторону), однако для некоторых устройств и контроллеров требуется ручное выставление режима работы (например, на НЖМД фирмы Seagate, поддерживающих SATA/300 для принудительного включения режима SATA/150 предусмотрен специальный джампер).

Стандарт SATA предусматривает возможность увеличения скорости работы до 600Мб/с (6 ГГц).

Разъёмы SATA

SATA устройства используют два разъёма — один, семи контактный, для подключения шины данных и второй, 15-ти контактный, для подключения питания. Стандарт SATA предусматривает возможность использовать вместо 15-ти контактного разъёма питания стандартный 4-х контактный разъём Molex. Использование одновременно обоих типов силовых разъёмов может привести к повреждению устройства.

G — заземление (англ. Ground)

R — зарезервировано

D1+,D1−,D2+,D2− — два канала передачи данных (от контроллера к устройству и от устройства к контроллеру соответственно). Для передачи сигнала используется технология LVDS, провода каждой пары (D1+, D1− и D2+, D2−) являются экранированными витыми парами.

Преимущества SATA перед PATA :

  • использование последовательной шины вместо параллельной.

  • ATA использует 7-контактный разъём вместо 40-контактного разъёма у PATA. SATA-кабель имеет меньшую площадь, за счёт чего уменьшается сопротивление воздуху, обдувающему комплектующие компьютера; улучшается охлаждение системы.

  • SATA-кабель за счёт своей формы более устойчив к многократному подключению. Питающий шнур SATA так же разработан с учётом многократных подключений. Разъём питания SATA подаёт 3 напряжения питания: +12 В, +5 В и +3,3 В; однако современные устройства могут работать без напряжения +3,3 В, что даёт возможность использовать пассивный переходник с стандартного разъёма питания IDE на SATA. Ряд SATA устройств поставляется с двумя разъёмами питания: SATA и Molex.

  • Стандарт SATA отказался от традиционного для PATA подключения по два устройства на шлейф; каждому устройству полагается отдельный кабель, что снижает задержки при одновременной работе двух устройств на одном кабеле, уменьшает возможные проблемы при сборке (проблема конфликта Slave/Master устройств для SATA отсутствует), устраняет возможность ошибок при использовании нетерминированных PATA-шлейфов.

  • Стандарт SATA предусматривает горячую замену устройств( без выключения питания компьютера) и функцию очереди команд (NCQ).

NCQ, англ. Native Command Queuing (встроенная очередь команд) — технология, использующаяся в SATA-устройствах для повышения быстродействия. NCQ позволяет устройству накапливать запросы, оптимизировать порядок их выполнения с учётом внутренней архитектуры устройства (минимизация количества перемещений головок, простоя в ожидании нужного сектора на треке). NCQ повышает производительность задач, связанных с произвольным чтением, обработкой данных в двух и более источников, одновременную работу нескольких программ. (Типичная нагрузка для сервера — одновременное выполнение запросов от нескольких клиентов, в домашних системах под управлением Windows, как правило, работают одновременно несколько приложений).

NCQ должна поддерживаться как устройством (например, SATA жёстким диском), так и SATA-контроллером..

В 2004 году появился интерфейс eSATA для подключения внешних устройств.

eSATA (External SATA) — интерфейс подключения внешних устройств, поддерживающий режим «горячей замены» (англ. Hot-plug). Был создан несколько позже SATA (в середине 2004).

Основные особенности eSATA:

Требует для подключения два провода: шину данных и силовой кабель.

Ограничен по длине кабеля данных (около 2 м).

Средняя практическая скорость передачи данных выше, чем у USB или IEEE 1394.

Существенно меньше нагружается центральный процессор.

SCSI (англ. Small Computer Systems Interface, произносится как скази) — интерфейс, разработанный для объединения на одной шине различных по своему назначению устройств, таких как жёсткие диски, накопители на магнитооптических дисках, приводы CD, DVD, стриммеры, сканеры, принтеры и т. д. Раньше имел неофициальное название Shugart Computer Systems Interface в честь создателя Алана Ф. Шугарта

Теоретически возможен выпуск устройства любого типа на шине SCSI.

После стандартизации в 1986 году, SCSI начал широко применяться в компьютерах Apple Macintosh, Sun Microsystems. В компьютерах совместимых с IBM PC SCSI не пользуется такой популярностью в связи со своей сложностью и сравнительно высокой стоимостью.

В настоящее время SCSI широко применяется на серверах, высокопроизводительных рабочих станциях; RAID-массивы на серверах часто строятся на жёстких дисках со SCSI-интерфейсом (хотя в настоящее время на серверах нижнего ценового диапазона чаще применяются RAID-массивы на основе SATA).

Существует три стандарта SCSI (SE — англ. single-ended, LVD — англ. low-voltage-differential — интерфейс дифференциальной шины низкого напряжения, HVD — англ. high-voltage-differential — интерфейс дифференциальной шины высокого напряжения), каждый из которых имеет множество дополнительных и необязательных возможностей. Некоторые комбинации возможностей имеют собственные наименования.

Наименование

Разрядность шины

Частота шины

Пропускная способность

Максимальная длина кабеля

Максимальное количество устройств

SCSI

8 бит

5 МГц

5 МБ/сек

6 м

8

Fast SCSI

8 бит

10 МГц

10 МБ/сек

1,5-3 м

8

Wide SCSI

16 бит

10 МГц

20 МБ/сек

1,5-3 м

16

Ultra SCSI

8 бит

20 МГц

20 МБ/сек

1,5-3 м

5-8

Ultra Wide SCSI

16 бит

20 МГц

40 МБ/сек

1,5-3 м

5-8

Ultra2 SCSI

8 бит

40 МГц

40 МБ/сек

12 м

8

Ultra2 Wide SCSI

16 бит

40 МГц

80 МБ/сек

12 м

16

Ultra3 SCSI

16 бит

40 МГц DDR

160 МБ/сек

12 м

16

Ultra-320 SCSI

16 бит

80 МГц DDR

320 МБ/сек

12 м

16

SCSI-1

Стандартизован ANSI в 1986 г.

Использовалась восьмибитная шина, с пропускной способностью в 3,5 МБ/сек в асинхронном режиме и 5 МБ/сек в синхронном режиме. Максимальная длина кабеля — до 6 метров.

SCSI-2

Этот стандарт был предложен в 1989 году и существовал в двух вариантах — Fast SCSI и Wide SCSI.

Fast SCSI характеризуется удвоенной пропускной способностью (до 10 МБ/сек).

Wide SCSI в дополнение к этому имеет удвоенную разрядность шины (16 бит), что позволяет достичь скорости передачи до 20 МБ/сек.

При этом максимальная длина кабеля ограничивалась тремя метрами.

Также в этом стандарте была предусмотрена 32-х битная версия Wide SCSI, которая позволяла использовать два шестнадцатибитных кабеля на одной шине, но эта версия не получила распространения.

SCSI-3

Также известен под названием Ultra SCSI.

Предложен в 1992 году.

Пропускная способность шины составила 20 МБ/сек для восьмибитной шины и 40 МБ/сек — для шестнадцатибитной. Максимальная длина кабеля так и осталась равной трём метрам.

Устройства, отвечающие этому стандарту, известны своей чувствительностью к качеству элементов системы (кабель, терминаторы).

Ultra-2 SCSI

Предложен в 1997 году.

Максимальная длина кабеля — 12 метров, пропускная способность — до 80 МБ/сек.

Ultra-3 SCSI

Также известен под названием Ultra-160 SCSI.

Предложен в конце 1999 года.

Имеет удвоенную пропускную способность (по сравнению с Ultra-2 SCSI), которая составила 160 МБ/сек. Увеличения пропускной способности удалось достичь за счёт одновременного использования фронтов и срезов импульсов.

В этот стандарт было добавлено использование CRC (Cyclic Redundancy Check), исправление ошибок.

Ultra-320 SCSI

Развитие стандарта Ultra-3 с удвоенной скоростью передачи данных (до 320 МБ/сек).

Ultra-640 SCSI

Также известен под названием Fast Ultra-320.

Предложен в начале 2003 года.

Удвоенная скорость передачи данных (до 640 МБ/сек). В связи с резким сокращением максимальной длины кабеля не удобен для использования с более чем двумя устройствами, поэтому не получил широкого распространения.

Недостатком этого интерфейса является необходимость терминироваться с обеих сторон для обеспечения нормального функционирования.

В дальнейшем, для замены параллельной шины предложена технология подключения устройств по последовательной шине Serial Attached SCSI.

Serial Attached SCSI (SAS) — компьютерный интерфейс, разработанный для обмена данными с такими устройствами как жёсткие диски, накопители на оптическом диске и т. д. SAS использует последовательный интерфейс для работы с непосредственно подключаемыми накопителями (англ. Direct Attached Storage (DAS) devices). SAS разработан для замены параллельного интерфейса SCSI и позволяет достичь более высокой пропускной способности чем SCSI; в тоже время SAS совместим с интерфейсом SATA. Хотя SAS использует последовательный интерфейс в отличии от параллельного интерфейса, используемого традиционным SCSI, для взаимодействия с SAS-устройствами по прежнему используется команды SCSI. Протокол SAS разработан и поддерживается комитетом T10.

Типичная система с интерфейсом SAS состоит из следующих компонентов:

Инициаторы (англ. Initiators)

Инициатор — устройство, которое порождает запросы на обслуживание для целевых устройств и получает подтверждения по мере исполнения запросов. Чаще всего инициатор выполняется в виде СБИС.

Целевые устройства (англ. Targets)

Целевое устройство содержит логические блоки и целевые порты, которые осуществляют приём запросов на обслуживание, исполняет их; после того, как закончена обработка запроса, инициатору запроса отсылается подтверждение выполнения запроса. Целевое устройство может быть как отдельным жёстким диском, так и целым дисковым массивом.

Подсистема доставки данных (англ. Service Delivery Subsystem)

Является частью системы ввода-вывода, которая осуществляет передачу данных между инициаторами и целевыми устройствами. Обычно подсистема доставки данных состоит из кабелей, которые соединяют инициатор и целевое устройство. Дополнительно, кроме кабелей в состав подсистемы доставки данных могут входить расширители SAS.

Расширители (англ. Expanders)

Расширители SAS — устройства, входящие в состав подсистемы доставки данных и позволяют облегчить передачи данных между устройствами SAS, например, позволяет соединить несколько целевых устройств SAS к одному порту инициатора. Подключение через расширитель является абсолютно прозрачным для целевых устройств.

Разъёмы SAS

Разъёмы SAS гораздо меньше разъёмов традиционного параллельного интерфеса SCSI, что позволет использовать разъёмы SAS для подключения компактных накопителей типаразмером 2,5 дюйма. SAS поддерживает передачу информации со скоростью до 3 Гбит/с; ожидается, что к 2010 году скорость передачи достигнет 10 Гбит/с.

Существует несколько вариантов разъёмов SAS:

SFF 8482 — вариант, совместимый с разъёмом интерфейса SATA;

SFF 8484 — внутренний разъём с плотной упаковкой контактов; позволяет подключить до 4 устройств;

SFF 8470 — разъём с плотной упаковкой контактов для подключения внешних устройств (разъём такого типа применяется в интерфейсе Infiniband, а кроме того, может использоваться для подключения внутренних устройств); позволяет подключить до 4 устройств;

SFF 8087 — уменьшенный разъём Molex iPASS, содержит разъём для подключения до 4 внутренних устройств; поддерживает скорость 10 Гбит/с;

SFF 8088 — уменьшенный разъём Molex iPASS, содержит разъём для подключения до 4 внешних устройств; поддерживает скорость 10 Гбит/с.

Разъём SFF 8482 позволяет подключать устройства SATA к понтроллерам SAS, что избавляет от необходимости устанавливать дополнительный контроллер SATA только потому, что необходимо, к примеру, подключить устройство для записи дисков DVD. Наоборот, устройства SAS не могут подключаться к интерфейсу SATA, и на них устанавливается разъём, предотвращающий их подключение к интерфейсу SATA.

В некоторых нишах находят себе применение и другие интерфейсы, такие как IEEE 1394 и Fibre Channel.

IEEE 1394 (FireWire, i-Link) — последовательная высокоскоростная шина, предназначенная для обмена цифровой информацией между компьютером и другими электронными устройствами.

Компания Apple продвигает стандарт под торговой маркой FireWire. Компания Sony продвигает стандарт под торговой маркой i-Link.

Скорость – до 1600 мегабит/с.

для высоких скоростей на больших расстояниях необходимо использование оптики.

Fibre Channel — высокоскоростной интерфейс передачи данных, используемый для соединения вместе рабочих станций, мейнфреймов, суперкомпьютеров и устройств хранения данных.

Порты устройств могут быть подключены напрямую друг к другу (point-to-point), быть включены в управляемую петлю (arbitrated loop) или в коммутируемую сеть, называемую фабрикой (fabric).

Поддерживается как оптическая, так и электрическая среда, со скоростью передачи данных от 133 мегабит/с до 8 гигабит/с на расстояния до 10 километров.

В большинстве случаев используется как несущий для SCSI-3. (Может использоваться как несущий и для других протоколов — например, ATM, IP, HIPPI и других.

Структура последовательного канала связи.

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

Физической основой такой системы является линия связи, которая обычно выполнена в виде витой пары проводов, коаксиального кабеля либо оптического световода.

В зависимости от расстояния данные, передаваемые по линии, могут однократно или многократно подвергаться ретрансляции с целью восстановления амплитуды и временных характеристик (рис. 1).

Рис. 1

Алгоритмы работы передатчика, ретранслятора и приемника определяются выбранным кодом, предназначенным для передачи по линии, который называют линейным кодом.

а

б

в

ж

г

д

е

Рис. 2 Передана информация с помощью наиболее распространённых линейных кодов. а- униполярный код NRZ; б – биполярный кодNRZ;

в – код «Манчестер- II»; г – кодAMI; д – кодB3ZS; е – кодB6ZS; ж – кодHDB3. Затемнёнными прямоугольниками выделены «заготовки».

У

Д

ниполярный код NRZ

Простейшим линейным кодом является униполярный код типа NRZ (Non Return to Zero), который иллюстрирует рис.2, а. В этом коде нули представлены отсутствием импульса (напряжение, близкое нулю),а единицы — наличием импульса (некоторое положительное напряжение).

Этот код имеет четыре недостатка. Во-первых, средняя мощность, выделяемая на нагрузочном резисторе R (на рисунке не показан), 2 равна А/2R, где А — амплитуда импульса напряжения.

Число 2 в знаменателе дроби соответствует равновероятному появлению лог. 0 и лог. 1 в потоке данных. Результат неутешительный. Резистор R рассеивает тепловую энергию два раза интенсивнее, чем при биполярном кодировании, при такой же амплитуде сигнала, равной А (рис. 2, б)!

Во-вторых, униполярные сигналы всегда содержат постоянную составляющую и значительную долю

низкочастотных компонентов в спектре при передаче длинных последовательностей единиц. Это препятствует передаче сигналов через трансформаторы или конденсаторы.

В-третьих, ретрансляторы и приемники надежно восстанавливают синхронизирующую временную сетку только тогда, когда паузы между изменениями сигнала не слишком велики. Изменение сигнала после незначительной паузы позволяет всякий раз корректировать «ход часов» ретранслятора или приемника. С увеличением паузы надежность «службы времени» падает. Например, после передачи серии из 10 тыс. нулей приемник, вероятнее всего, не сможет точно определить, находится ли последующая единица на позиции 9999, 10000 или 10001. То же относится и к передаче длинных цепочек из лог. 1. Другими словами, при передаче достаточно большой последовательности нулей или единиц приемник (или ретранслятор) теряет синхронизацию с передатчиком (или ретранслятором).

И последний, четвертый недостаток — отсутствие возможности оперативной регистрации ошибок, таких как пропадание или появление лишних импульсов из-за помех.

Биполярный код NRZ

Биполярный сигнал NRZ (рис.2, б) обладает лучшими энергетическими характеристиками. Единица представлена положительным уровнем напряжения, нуль — отрицательным. Нагрузочный резистор R в данном случае постоянно рассеивает тепло, так как на нем, независимо от передаваемого кода, присутствует напряжение А/2 той или иной полярности. Средняя мощность, выделяемая на нагрузочном резисторе, равна (А/2)/R = А /4R, то есть половине средней мощности униполярного

сигнала, хотя перепад уровней тот же самый.

Таким образом, первый из отмеченных ранее недостатков униполярного сигнала NRZ в какой-то мере удалось устранить. Но остальные три недостатка сохраняются. Для их ликвидации необходимо введение избыточности одним из двух способов:

1) скорость передачи сигналов по линии выбирается большей, чем скорость передачи информации

без использования дополнительных электрических уровней сигналов;

2) скорость передачи сигналов по линии выбирается равной скорости передачи информации, но вводятся дополнительные электрические уровни сигналов.

Код «Манчестер-II»

Примером кода с избыточностью, введенной согласно только что упомянутому первому способу, является код «Манчестер-II». Форма биполярного сигнала при передаче кода «Манчестер-II» показана на рис.2, в.Единица кодируется отрицательным перепадом сигнала в середине битового интервала(10), нуль — положительным перепадом(01). На границах битовых интервалов сигнал при необходимости изменяет значение, «готовясь» к отображению очередного бита в середине следующего битового интервала.

С помощью кода «Манчестер-II» решаются сразу все отмеченные ранее проблемы. Поскольку число положительных и отрицательных импульсов на любом достаточно большом отрезке времени равно или отличается не более чем на один импульс, что не имеет значения, постоянная составляющая равна нулю.

Подстройка часов приемника или ретранслятора производится при передаче каждого бита, т. е. снимается проблема потери синхронизации при передаче длинных цепочек нулей или единиц, разница в частотах приёмника и передатчика может достигать 25%.

Спектр сигнала содержит только две логические составляющие: F и 2F, где F — скорость передачи информационных битов. Наличие только двух (а не трех или более) электрических уровней сигнала позволяет надежно их распознавать (хорошая помехозащищенность).

Критерием ошибки может являться «замораживание» сигнала на одном уровне на время, превышающее время передачи одного информационного бита, поскольку, независимо от передаваемого кода, сигнал всегда «колеблется» и никогда не «замирает». Но за эти чрезвычайно полезные качества приходится платить удвоением требуемой частотной полосы связной аппаратуры. Поэтому код «Манчестер-II» широко используется там, где частотные ограничения не являются определяющими.

Код AMI

Второй способ введения избыточности связан с добавлением дополнительных электрических уровней, в простейшем случае — третьего, «нулевого» уровня. На рис.2, г приведена форма сигнала с попеременной инверсией знака, так называемого AMI сигнала (Alternative Mark Inversion). Нули кодируются отсутствием импульсов, а единицы — попеременно положительными и отрицательными импульсами. Постоянная составляющая сигнала AMI равна нулю. Поэтому при передаче длинной последовательности единиц синхронизация не теряется. Но синхронизация нарушается при передаче длинной последовательности нулей, как и в коде NRZ. Обнаруживаются ошибки, нарушающие правильную последовательность знакочередующихся сигналов.

Коды BNZS, HDB3

Потеря синхронизации при передаче длинной последовательности нулей предотвращается таким образом: цепочки нулей передатчик заменяет определенными «заготовками», которые представляют собой «куски» стандартных временных диаграмм. Коды AMI, в которых цепочка из N нулей заменяется определенной подстановкой, называются BNZS кодами (Bipolar with N Zeroes Substitution).

В коде B3ZS (рис. 2, д) каждые три последовательно расположенные нуля подменяются либо комбинацией B0V, либо 00V. Символ В обозначает импульс, который отвечает правилам кодирования AMI. Символ V обозначает импульс, который нарушает правила кодирования AMI (совпадает по полярности с предыдущим).Выбор одной из этих двух «заготовок» производится так, чтобы, во-первых, число импульсов В между двумя последовательно расположенными импульсами V было нечетным, а во-вторых, чтобы полярность импульсов V чередовалась.

В коде B6ZS (рис. 2, е) каждые шесть последовательных нулей подменяются комбинацией 0VB0VB.Коды BNZS получили широкое распространение в компьютерных сетях США и Канады: линии Т1 —1,544 Мбит/с, Т1С — 3,152 Мбит/с, LD4 — 274,176 Мбит/с, Т4 —274,176 Мбит/с. В странах Западной Европы широко используется код HDB3 для работы на скоростях 2,048 и 8,448 Мбит/с. Этот код очень похож на BNZS, поскольку максимально допустимое число нулей, стоящих в цепочке, равно трем. Каждые четыре последовательно расположенных нуля подменяются комбинацией 000V либо B00V. Выбор той или иной комбинации производится так, чтобы, во-первых, число импульсов В между двумя последовательными импульсами V было нечетным и, во-вторых, чтобы полярность импульсов V чередовалась (рис. 2, ж).

Существуют также другие распространенные коды, такие как CMI, PST, 4B3T и т. п. Все они являются разновидностями кодов AMI и созданы с целью минимизации требований к полосе пропускания каналов связи и увеличения обнаруживающей способности по отношению к ошибкам при передаче информации.

Рассмотрим более подробно код «Манчестер-II».

Как уже говорилось, выше данный код используется в тех случаях, когда удвоение требуемой частотной полосы некритично, например, в локальных сетях.

Алгоритм работы передатчика:

1. передача 1 - кодируется 10

2. передача 0 - кодируется 01.

Алгоритм работы приёмника

1. ожидание любого перехода в 0 или 1.

2. после перехода - отсчёт 0.75 времени такта синхронизации.

3. ожидание любого перехода в 0 или 1, если переход - то пункт 4.

3а. выход на пункт 1 по таймауту 0.5 такта.

4. если переход в 01 - принята 1 , 10 - принят 0.

5. переход к пункту 2.

Последовательный интерфейс RS-232.

Широко используемый последовательный интерфейс синхронной и асинхронной передачи данных, определяемый стандартом EIA RS-232-C и рекомендациями V.24 CCITT. Изначально создавался для связи компьютера с терминалом. В настоящее время используется в самых различных применениях.

Интерфейс RS-232-C соединяет два устройства. Линия передачи первого устройства соединяется с линией приема второго и наоборот (полный дуплекс) Для управления соединенными устройствами используется программное подтверждение (введение в поток передаваемых данных соответствующих управляющих символов). Возможна организация аппаратного подтверждения путем организации дополнительных RS-232 линий для обеспечения функций определения статуса и управления.

Основные характеристики протокола RS -232 версии С.

Стандарт

EIA RS-232-C, CCITT V.24

Скорость передачи

115 Кбит/с (максимум)

Расстояние передачи

15 м (максимум)

Характер сигнала

несимметричный по напряжению

Количество драйверов

1

Количество приемников

1

Схема соединения

полный дуплекс, от точки к точке

Интерфейс RS-232C предназначен для подключения к компьютеру стандартных внешних устройств (принтера, сканера, модема, мыши и др.), а также для связи компьютеров между собой. Основными преимуществами использования RS-232C по сравнению с Centronics являются возможность передачи на значительно большие расстояния и гораздо более простой соединительный кабель. В то же время работать с ним несколько сложнее. Данные в RS-232C передаются в последовательном коде побайтно. Каждый байт обрамляется стартовым и стоповыми битами. Данные могут передаваться как в одну, так и в другую сторону (дуплексный режим).

Компьютер имеет 25-контактный (DB25P) или 9-контактный (DB9P) разъем для подключения RS-232C.

25Pin

9Pin

9 Pin

Назначение контактов следующее.

FG - защитное заземление (экран).

-TxD(out) - данные, передаваемые компьютером в последовательном коде (логика отрицательная).

-RxD(in) - данные, принимаемые компьютером в последовательном коде (логика отрицательная).

RTS(out) - сигнал запроса передачи. Активен во все время передачи.

CTS(in) - сигнал сброса (очистки) для передачи. Активен во все время передачи.Говорит о готовности приемника.

DSR(in) - готовность данных. Используется для задания режима модема.

SG(in) - сигнальное заземление, нулевой провод.

DCD(in) - обнаружение несущей данных (детектирование принимаемого сигнала).

DTR(out) - готовность выходных данных.

RI - индикатор вызова. Говорит о приеме модемом сигнала вызова по телефонной сети.

Наиболее часто используются трех- или четырехпроводная связь (для двунаправленной передачи). Схема соединения для четырехпроводной линии связи показана на рисунке.

Для двухпроводной линии связи в случае только передачи из компьютера во внешнее устройство используются сигналы SG и TxD. Все 10 сигналов интерфейса задействуются только при соединении компьютера с модемом.

Формат передаваемых данных: собственно данные (5, 6, 7 или 8 бит) сопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определенные интервалы времени. Очень важно, чтобы тактовые частоты приемника и передатчика были одинаковыми, допустимое расхождение - не более 10%).

Скорость передачи по RS-232C может выбираться из ряда: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с.

Все сигналы RS-232C передаются специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи. Отметим, что данные передаются в инверсном коде (логической единице соответствует низкий уровень, логическому нулю - высокий уровень).

Обмен по RS-232C осуществляется с помощью обращений по специально выделенным для этого портам COM1 (адреса 3F8h...3FFh, прерывание IRQ4), COM2 (адреса 2F8h...2FFh, прерывание IRQ3), COM3 (адреса 3F8h...3EFh, прерывание IRQ10), COM4 (адреса 2E8h...2EFh, прерывание IRQ11). Форматы обращений по этим адресам можно найти в многочисленных описаниях микросхем контроллеров последовательного обмена UART (Universal Asynchronous Receiver/Transmitter), например, i8250, КР580ВВ51.

IEEE-1284

В параллельных интерфейсах данные передаются параллельно по нескольким линиям, управляющие сигналы также передаются по отдельным линиям.

Стандарт, документирующий существующий режим работы параллельных портов ПК и, что наиболее важно, ряд дополнительных возможностей.

Стандарт IEEE-1284 определяет ряд усовершенствований и режимов функционирования параллельного порта ПК (также называемого портом Centronics), включая поддержку двунаправленной передачи данных. Упомянутые режимы перечислены в приведенной ниже таблице.

Режим

Возможности

Скорость¶передачи¶данных¶(Кбайт/с)

Для чего пригоден

Совместимости

8-разрядный вывод на принтер, ограниченный контроль состояния принтера, ввод-вывод программируемый и с помощью прерываний, подтверждение установления связи с принтером для управления потоком данных

100-200 только при выводе

Первоначальное применение в ПК и интерфейсе Centronics

4-разрядный или полубайтный

4-разрядный ввод (двумя последовательными передачами одного байта от принтера), для вывода используется режим совместимости, ввод-вывод программируемый и с помощью прерываний

40-60 при вводе

Принтеры или другие приложения, в которых 4 входных разряда состояния могут быть использованы для ввода данных в ПК

8-разрядный или байтовый

8-разрядный ввод из принтера, для вывода используется режим совместимости, ввод-вывод программируемый и с помощью прерываний

80-300 при вводе

Принтеры, а также другие типы перифе рийных устройств (например, интерфейсы дисков или локальных сетей), которым необходим более быстрый ввод в ПК. Реализован в большинстве ПК, производимых после 1991 года. Разряд направления передачи в регистрах порта принтера управляет направлением передачи данных через порт

ЕСР

8-разрядный вывод и 8-разрядный ввод, ввод-вывод программируемый или с помощью прерываний и прямого доступа к памяти (как правило, с помощью канала 1 ПДП), 16-разрядный (или более) буфер FIFO

2500

Более высокие скорости передачи данных, например, на принтеры и со сканеров. Поддерживает сжатие данных по алгоритму группового кодирования RLE (при этом 2 байтами может быть представлено до 128 повторяющихся байт)

ЕРР

8-разрядный вывод и 8-разрядный ввод, ввод-вывод программируемый или с помощью прерываний

33/66/

100/133М

Интерактивный обмен данными, например, с сетевыми адаптерами либо с накопителями на CD-ROM, дисках или ленте. Это наиболее эффективный и гибкий режим

Режим ЕСР (Extended Capabilities Port Порт с расширенными возможностями) обеспечивает более быстрый обмен данными, однако лучше всего подходит для простых режимов работы оборудования. Режим ЕСР поддерживается в Windows 95, а также в принтерах серии Hewlett-Packard LaserJet 4 и 5. Режим ЕРР (Enhanced Parallel Port Усовершенствованный параллельный порт) обеспечивает более сложные свойства управления. Режим ЕРР, как правило, является оптимальным вариантом выбора конфигурации порта, если последний не соединен с устройством, которое функционирует исключительно в режиме ЕСР (например, большинство принтеров поддерживает только режим ЕСР).

Основной упор в данном стандарте сделан на формат передачи сигналов, назначение выводов, а также процедуры обнаружения и исправления ошибок (т.е. на то, что происходит вне ПК). Функции BIOS, программный интерфейс и управление портами при этом не упоминаются, поэтому для конфигурирования портов необходимы утилиты и программное обеспечение конкретных изготовителей.

В приведенной ниже таблице перечислены характеристики трех типов соединителей.

Стандарт определяет два уровня соответствия, как это показано в приведенной ниже таблице.

Тип соеди-¶нителя

Описание

Максимальн.¶длина¶кабеля, м.

Комментарии

A

Сверхминиатюрный соединитель DB-25 в корпусе D (используемый также в насовместимых последовательных COM-портах ПК стандарта EIA-232

2a

Стандартный параллельный порт, используемый со стороны ПК. (По стадарту EIA-232 на ПК используется вилочная часть соединителя)

B

Традиционный 36-контактный соединитель Centronics (шириной 5 см)

2a

Стандартный параллельный порт, используемый со стороны принтера

C

Миниатюрный 36-контактный соединитель Centronics (шириной 3 см)

10b

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

a. В стандарте это расстояние приводится в качестве примерного рабочего. Так, для принтеров компании Hewlett-Packard допускается расстояние до 2-3 м в зависимости от используемого кабеля.

b. В стандарте фактически указывается только максимальная задержка распространения сигналов по кабелю (58 нc) протяженностью более 10 м.

При включении питания параллельный порт 1284 переходит в режим совместимости. Стандарт 1284 определяет процесс взаимодействия между программным обеспечением ПК и периферийным устройством, присоединенным к параллельному порту, для установления одного из пяти режимов, в который должен быть переключен параллельный порт (если ответа не последует, он будет оставлен в режиме совместимости). ПК может запрашивать некоторые режимы, а периферийное устройство отвечает при этом в выбранном режиме работы. Каждый из режимов определяет новые функциональные возможности сигналов интерфейса. Переключение режимов может происходить достаточно быстро. Например, интерфейс будет переключаться между режимом совместимости и полубайтным режимом при каждой передаче в режиме интерактивного "полудуплексного" обмена данными.

Уровень¶соответ-¶ствия

Интерфейс

Комментарии

I

Соединитли типа A и B и существующие напряжения сигналов (уровня 1- Level 1)

Т.е. существующие параллельные порты ПК

II

Соединители типа С и новые высокопроизводительные интерфейсы (в которых используются напряжения сигналов уровня 2 - Level 2)

Ожидается к внедрению на новых ПК. Напряжения сигналов уровня 2 требуют наличия соединителей типа С и действуют на больших расстояниях (при подключении к другим устройствам уровня 2) либо на расстояниях уровня 1 (при подключении к устройствам уровня 1)

В устройствах, совместимых со стандартом 1284, необходимо реализовать только режим совместимости и полубайтный режим (т.е. байтовый, ЕСР и ЕРР режимы являются при этом дополнительными). Следовательно, принтеры со стандартным портом Centronics, которые поддерживают полубайтный режим, также являются совместимыми со стандартом IEEE-1284 (таким образом, принтер может посылать информацию обратно в ПК по 4 бита).

Например, принтер Hewlett-Packard LaserJet 4 является совместимым со стандартом IEEE-1284. Компания HP называет это поддержкой Bi-Tronics, означающей:

  • Поддержку полубайтного режима;

  • Отсутствие поддержки режима ЕРР (похоже, что компания HP вообще не собирается поддерживать этот режим, поскольку режим ЕСР в большей степени подходит для связи с принтером);

  • Отсутствие какой-либо поддержки режима ЕСР (хотя компания HP заявила, что в последующие модели принтеров будет включена поддержка режима ЕСР в качестве частичного соответствия стандарту IEEE 1284).

Итак, подводя итог в отношении перечисленных выше режимов, следует заметить, что параллельные порты будут использоваться максимум в четырех режимах (см. таблицу ниже).

Вид¶поддержки¶порта

Используемые режимы по стандарту IEEE 1284

Для чего используется

Традиционный параллельный порт ПК

Совместимости

Посылка (и только посылка) данных на принтеры

HP Bi-Tronics

Совместимости и полубайтный

Посылка данных на принтеры и прием от принтера информации о его состоянии

Порте расширенными возможностями

ЕСР

Более высокие скорости передачи данных на принтеры и обратно

Усовершенствованный параллельный порт

Байтовый и ЕРР

Взаимодействие с накопителями на дисках, ленте и CD-ROM

Еще одним дополнительным свойством данного стандарта является идентификационный номер устройства (device ID), по которому ПК запрашивает ответ периферийного устройства в виде строки в коде ACSII (начинающейся со значения ее длины). Эта строка представляет собой набор ограниченных символами ";" последовательностей ключевых параметров key: и значений value (для каждого параметра key может быть сформулировано более одного значения value, причем несколько значений разделяются символом ","). Если идентификационный номер устройства поддерживается, то ключевые значения MANUFACTURER (производитель), MODEL (модель) и COMMAND SET (набор команд) (которые дополнительно могут быть сокращены до MFC, MDL и CMD) должны составлять часть ответа (изготовители могут ввести любые другие ключевые значения).

Для использования всех перечисленных выше режимов и уровней соответствия необходимы кабели, "совместимые со стандартом IEEE 1284-1994". Стандарт оговаривает (среди прочего) следующие особенности кабеля:

  • На нем должна постоянно находиться четкая маркировка IEEE Std 1274-1994 compliant;

  • Кабель должен состоять из 18 пар проводов с фольгированной и экранирующей оплеткой, которая обвязывается на 360 градусов вокруг металлических корпусов соединителей (на обоих концах кабеля);

  • Кабель должен обладать экранирующим покрытием, заземлением, скрученными через каждый метр парами проводов, соответствующим импедансом и максимальным затуханием;

  • Он должен иметь соответствующее расположение выводов, включая выводы для заземляющих проводов, которые должны быть скручены с соответствующими проводами, подключенными к выводам сигналов управления и данных.

Кабель IEEE 1284 обеспечивает надежную двунаправленную передачу данных и поддерживает более высокую скорость обмена данными (т.е. режим ЕСР). Дополнительные порты типа С позволяют увеличить максимальное расстояние такого обмена.

Интерфейс IEEE – 1394 (FireWire/ i-Link).

История IEEE 1394, теперь известного также как FireWire и как i-Link, началась ещё в 1986 году, когда члены Microcomputer Standards Committee (Комитет по Стандартам Микрокомпьютеров) захотели объединить существовавшие в то время различные варианты последовательной шины (Serial Bus). Новый проект был призван объединить существовавшие на то время наработки: IEEE 1014 VME, IEEE 1296 Multibus II, и IEEE 896 FutureBus+®. Задачей разработчиков стало создание универсального I/O (Input/Output) внешнего интерфейса, пригодного как для работы с мультимедиа, так и для работы с накопителями данных (Mass Storage Device), принтеров, сканеров, и тому подобного. Ведущую роль в разработке стандата сыграла, была Apple, которая дала ему имя FireWire, поэтому нет ничего удивительного в том, что она сразу же сделал ставку на использование этого стандарта в своих компьютерах. Texas Instruments, организовавшая массовое производство действительно дешёвых микросхем для реализации IEEE 1394 интерфейса, что сыграло огромную роль в бурном росте количества IEEE 1394 контролёров в персональных компьютерах. Основными применениями IEEE 1394 на данный момент являются miniDV видеокамеры и в меньшей степени обмен данными м/у блоками аудио/видео аппаратуры(i-Link).

Из главных плюсов IEEE 1394 можно отметить:

  • Небольшой размер — тонкий кабель заменяет груду громоздких проводов

  • Надёжные разъёмы: контакты внутри толстого пластмассового ободка.4pin – IEEE 1394a без питания, 6pin- IEEE 1394a с питанием, 9pin IEEE 1394b.

  • Простота в использовании — отсутствие терминаторов, идентификаторов устройств или предварительной установки

  • Горячее подключение — возможность переконфигурировать шину без выключения компьютера

  • Высокая скорость передачи данных — 100, 200 и 400 Мбит/с (800, 1600Мбит/с IEEE 1394b)

  • Дальность: на пластмассовом оптоволокне до 50 метров, на стеклянном до 100метров.

  • Гибкая топология — равноправие устройств, допускающее различные конфигурации

  • Наличие питания прямо на шине (маломощные устройства могут обходиться без собственных блоков питания). До полутора ампер и напряжение от 8 до 40 вольт.

  • Подключение до 63 устройств.

Минусы:

  • Высокая сложность/стоимость контроллеров по сравнению с конкурентами(USB).

  • Малая распространённость.

Устройство кабеля.

Данные передаются по двум витым парам, каждая из которых отдельно экранирована. Для пущей надёжности, дополнительно экранируется и весь кабель. Кроме двух сигнальных пар, в кабеле предусмотрены две питающие жилы, которые могут обеспечить любое внешнее устройство током силой до 1.5 А и напряжением до 40 V. В разрезе кабель выглядит так:

Разъёмы выглядят следующим образом

Описание интерфейса.

IEEE 1394 делится на несколько уровней. Выглядит это так:

Внизу находится физический уровень (Physical Layer). Аппаратная составляющая, которая отвечает за перевод сигналов, полученных по кабелям в понятную компьютеру форму (и наоборот - за перевод данных в электрические сигналы, идущие по кабелям). Эта же часть отвечает за управление физическим каналом, т.е. определяет, должно устройство занимать канал прямо сейчас, или должно подождать. Кроме того, этот же уровень обеспечивает интерфейс для кабелей и разъёмов и отвечает за следующие процессы:

  • Интерфейс среды (Media Interface) - отвечает за состояние сигнала, передаваемого по кабелям.

  • Арбитраж (Arbitration) - различные IEEE 1394 устройства, включенные в сеть разбираются между собой, кто и в каком порядке может действовать.

  • Кодирование/Декодирование (Encode/Decode) - перевод данных в электрические сигналы, которые могут передаваться по кабелям и обратно.

Уровнем выше расположен уровень канала (Link Layer). Сюда доставляются уже готовые пакеты данных. Именно этот уровень отвечает за пересылку данных вверх и вниз, тут происходят следующие процессы:

  • Приёмник пакетов (Packet Receiver) - организует и отвечает за приём пакетов данных.

  • Передатчик пакетов (Packet Transmitter) - организует и отвечает за передачу пакетов данных.

  • Контроль циклов (Cycle Control) - пакеты передаются не поодиночке, а циклами. Здесь и осуществляется контроль над этими циклами.

Эти два уровня реализованы в "железе", т.е. выполняются аппаратно. Они полностью отвечают за формирование сигнала из данных, формирование данных из сигнала, и приём/передачу в нужное время и в нужное место. Поэтому, только этих двух уровней и хватает при синхронной передаче, когда никакого контроля над тем что передаётся и получается не требуется.

При асинхронной передаче это не так, и там в действие вступает:

Сетевой уровень (Transaction Layer). На этом уровне происходит проверка полученных данных. Если всё нормально (ни один пакет не потерялся или не повредился), данные отправляются потребителю. Если обнаружена ошибка - возвращаемся на физический уровень и повторяем всё сначала, пока данные не будут получены без ошибок.

Все уровни (в том числе и первые два) контролируются firmware, и этот процесс называется менеджмент последовательной шины (Serial Bus management).

Рис. Схема дерева.Root – корень, Leaf- крайние узлы(листья).

Этапы инициализации:

При подключении нового устройства запускается полная реконфигурация шины,

происходящая на аппаратном уровне Новоприбывший выставляет "1" на обеих парах проводов. Этот сигнал принимается к сведению ближайшим узлом, к которому и было осуществлено подключение, и ретранслируется далее по шине. Таким образом, все

элементы шины узнают о начале реконфигурации.

На первом этапе выбирается корневой узел.Сначала каждое устройство, имеющее только одно подключение, дентифицирует себя как дочернее, выставив состояние Parent_Notify на своих портах.

Узлы, обнаружившие его, подают на эти порты сигнал Child_Notify, одтверждая прием.

Если узел, имеющий более одного подключения, обнаруживает, что на одном из портов состояние Parent_Notify не было выставлено, он делает это самостоятельно.

Узел, получивший на все свои порты указанный сигнал, и становится корневым.

Если претендентов на роль корневого узла более одного - используется нечто вроде механизма отката в TCP/IP, каждый из этих конкурирующих узлов запускает таймер и пытается захватить лидерство в роизвольно выбранный момент.

Аналогичным образом происходит выбор адресов. Вначале корневой узел генерирует в порт с наименьшим номером специальный сигнал. Узел, получивший сигнал, но не являющийся крайним (leaf), в свою очередь генерирует такой же сигнал на своем "дочернем" порту с наименьшим номером. И так до тех пор, пока сигнал не дойдет до крайнего узла, который присваивает себе номер "ID 0" и высылает обратно пакет с подтверждением "self ID packet". Этот пакет ретранслируется всем узлам шины, и каждый из них увеличивает на единицу свой счетчик ID. После отсылки пакета крайний узел выставляет на своем порту сигнал о завершении самоидентификации. Стоящий немного выше в иерархии, получив этот сигнал, начинает идентифицировать следующее устройство, подключенное к нему.

Как только идентификация дочерних устройств закончится, "родительскому" узлу посылается сигнал о завершении самоидентификации. Так постепенно все узлы получают адреса.

Рабочий режим работы сети.

Устройство, которое хочет начать передачу, вначале посылает запрос своему родительскому устройству. Родительское устройство, получив запрос, запрещает передачу всем остальным дочерним (в один момент обрабатывается только один запрос) и, в свою очередь, передаёт запрос дальше, своему родительскому устройству, где всё повторяется. В итоге запрос доходит до корневого устройства, которое, в свою очередь, разрешает передачу тому устройству, чей запрос пришёл первым. Всем остальным передача запрещается. Таким образом, если два устройства одновременно пошлют запрос на передачу данных, то ответ будет зависеть от того, чей запрос первым достигнет корневого устройства. Оно выигрывает арбитраж и получает право начать передачу. Проигравшее устройство не получив разрешения на передачу, вынуждено ждать, пока выигравшее не освободит шину.

Всё это происходит на физическом уровне (physical layer). После того, как разрешение на передачу данных получено и требуется начать передачу данных, в дело вступает уровень канала (link layer). Как уже говорилось, именно он формирует пакеты и определяет - когда и сколько пакетов должно отсылаться. Передача данных начинается с запроса готовности к приему устройства, для которого предназначены данные, и, получив подтверждение готовности, начинает передачу. Данные идут пакетами, между которыми есть промежутки (gap). Типичный пакет данных 256 байт, или 2048 бит, из которых 160 бит приходится на заголовок. Таким образом, общая эффективность (сколько в пакете действительно данных, а не служебной информации) весьма высока и чем больше пакет, тем выше эффективность). В заголовок входит информация об отправителе, получателе и CRC. После пакета идёт небольшой промежуток, длиной меньше 0.75 msec ( acknowledge gap), после чего получатель должен выслать 8-ми битовый блок данных, подтверждающий, что пакет получен в целости и сохранности (ack packet). Потом следует более длинный промежуток, длинной больше 1 msec, разделяющий пакеты (subaction gap). И так далее - пакет, acknowledge gap, подтверждающий байт (ack), subaction gap.

Для того, чтобы одно устройство, начав передавать данные, не заняло весь канал, не оставив соседям никаких шансов начать передачу, пока оно не закончит, введено понятие fairness interval. В течении одного fairness interval каждое устройство в шине получает одну возможность передать свои данные. После того как разрешение получено (арбитраж выигран), и порция данных передана, устройство должно ждать конца fairness interval и начала следующего цикла, прежде чем оно вновь получит возможность передать следующую порцию данных. Заканчивается fairness interval так называемым reset gap, который длиннее subaction gap, и вызывает сброс всей шины.

Для синхронной передачи используется несколько другая методика. Данные передаются пакетами длина каждого 125 мsec. Таких пакетов отправляется столько, сколько позволяет канал. Даже на одинарной (98.304 Mbit/sec) скорости за один такой цикл передаётся до 1000 байт. Чем выше скорость, тем больше данных успевает пройти. При этом, при синхроной передаче абсолютно не важно, получило принимающее устройство данные или нет. Пакеты просто идут один за другим, разделённые subaction gap, никаких ack packet никто не ждёт. Для того, чтобы принимающее устройство смогло разобраться, где синхронные, а где асинхронные данные, subaction gap при синхронной передаче короче. Это позволяет комбинировать в одном сеансе синхронные данные с асинхронными. Однако, в синхроном режиме одному устройству никогда не позволят захватить весь доступный канал. На синхроные данные может приходится не более 85% доступного канала, причём одно устройство не может занять больше 65%.

1394а

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

  • Connection Hysteresis (debouncing). Как уже было описано выше, каждый раз при подключении или отключении нового устройства происходит сброс шины. Проблема в том, что, при подключении нового устройства, устойчивая электрическая связь образовывается не сразу, что приводило к целому циклу сбросов шины, пока всё не успокоится, и будет установлено устойчивое соединение. Для решения этой проблемы в 1394а появился time-out (время ожидания 1/3 секунды - пока не будет установлено устойчивое соединение или произойдет потеря контакта) на подключение/отключение нового устройства, что гарантирует только один сброс шины при каждом подключении/отключении.

  • Arbitrated (Short) Bus Reset. В IEEE 1394 устройство, которое передаёт данные, не может обнаружить сигнал на сброс пока не закончит передавать текущий пакет. Поэтому сброс шины должен длиться дольше, чем максимальное время передачи одного пакета. Однако, если сброс шины происходит сразу после того, как одно из устройств выигрывает арбитраж, то в этом нет никакой необходимости (всё равно никто другой не начнёт передачу), и сброс шины можно произвести гораздо быстрее. Это позволило уменьшить время, затрачиваемое на сброс шины, с 300 миллисекунд до 100 в худшем случае, и с 165 до 5 миллисекунд в обычном случае.

  • Transmission Delay Calculation (PHY Pinging). В первой версии стандарта такой простой команды как ping вообще не было предусмотрено. Любое устройство должно было ответить не больше, чем через 144 наносекунды, в противном случае считалось, что оно недоступно. Именно это ограничение и определило максимальную длину кабеля в IEEE 1394 в 4.5 метра. Введение такой простой команды (одно устройство отсылает пакеты, другое отвечает, а время отклика замеряется) позволяет соседним устройствам точно знать, когда следует ждать ответа. Это дало возможность преодолеть ограничение в обязательные 144 наносекунды и использовать кабели большей длины.

  • Multi-Speed Packet Concatenation. Одной из причин, почему IEEE 1394 устройства разных производителей, выпущенные в соответствии с первой версией протокола, могли быть не совместимы друг с другом, это чёрная дыра в спецификации, связанная с сериями из нескольких пакетов. Сигнал, определяющий скорость, требовался только для первого пакета, но в серии могли присутствовать пакеты, передаваемые с другой скоростью. Для решения этого бага разные производители шли на ухищрения, что и приводило к несовместимости. В 1394а версии спецификации предусмотрен стандартный механизм решения этой проблемы - сигнал скорости добавляется в каждый пакет, передаваемый на скорости, отличной от предыдущего.

  • Port Disable (Per Port Software Disconnect). Возможность отключать IEEE 1394 порт программно - отключенный порт перестаёт реагировать на какой-либо трафик, и не мешает остальным устройствам. Это может оказаться весьма удобным, особенно в компьютерном окружении. Кроме того, для работы в компьютерной среде, в 1394а появились функции управления питанием (устройство может быть переведено в спячку и выведено из неё через IEEE 1394 интерфейс).

Повышение эффективности

Как уже писалось, главным инструментом в контроле над шиной и передачей в IEEE 1394 является промежуток в передаче (gap), отделяющий друг от друга каждый пакет. Gap сбрасывает шину, позволяет определить тип передаваемых данных (асинхронные, синхронные), но он же является и источником проблем с эффективностью. Первая версия спецификации обеспечивала великолепную эффективность с пакетами большого размера. Но стоило уменьшать размер пакета или увеличь скорость шины, как количество пакетов на один и тот же объём данных (или на один и тот же промежуток времени) возрастало, а длина gap оставалась прежней. Таким образом, чем больше количество передаваемых пакетов, тем больше времени шина просто простаивает в молчании, и тем меньше времени остаётся на передачу непосредственно данных. С этим надо было что то делать, что и потребовало изменений в протоколе на логическом уровне.

  • Ack acceleration. Как известно, любой пакет в IEEE 1394 должен отделяться от другого промежутком называемым subaction gap. Одна из причин, почему нужен этот промежуток - это убедиться, что пакет, подтверждающий получение данных не затеряется. Однако, если пакет, подтверждающий получение имеется, то следующий пакет таким же (ack packet) быть не может (подтверждение уже получено, второй раз подтверждать не надо), и надобности в subaction gap нет. В 1394а предусмотрено обнаружение ack packet, и как только такой пакет обнаружен, после него передача не останавливается на subaction gap, а продолжается дальше.

  • Fly-by arbitration. Так называется возможность "прицепить" на лету какой-либо пакет к уже передающемуся. Это позволяет сэкономить время и канал, ведь для прикреплённого пакета не требуется дополнительный арбитраж. Но, нам же надо не просто прицепить пакет, надо, чтобы он обязательно дошёл до адресата. Для этой цели подходят пакеты, полученные через дочерний порт, которые должны "размножиться" по пути к корневому устройству. Это ограничивает применение fly-by arbitration всего двумя случаями. Во первых, если пакет полученный на дочерний слот - это acknowledge packet, то к нему на лету может быть прикреплён любой асинхронный пакет. Либо, если на дочерний порт получен синхронный пакет, то к нему может быть прикреплён любой другой синхронный пакет.

  • Arbitration Improvements (Fairness Optimization). Как уже говорилось, fairness interval это отрезок, во время которого одно устройство может выиграть шину только один раз. Даже если всё остальное время шина никому не нужна, оно вынуждено ждать начала следующего цикла, чтобы продолжить передачу. А потом ещё выжидать reset gap, самые длинные промежутки, предусмотренные стандартом. Поэтому, в версии 1394а протокола появилась возможность одному устройству запрашивать (и получать) право на передачу несколько раз (до 63) в течении одного fairness interval.

1394b

Главное в 1394b, это появление новых скоростей, в 800 и 1600 мегабит в секунду (возможно, и 3200 мбит/сек), и увеличение максимальной длины кабеля до 50, 70 и даже до 100 метров. Изменились разъёмы, которые могут использоваться, и кабели. В 1394b могут применяться даже простые UTP кабели 5 категории, но только на скоростях до 100 мбит/сек. Для достижения максимальных скоростей на максимальных расстояниях предусмотрено использование оптики (fiber optics), пластмассовой - для длины до 50 метров, и стеклянной - для длин до 100 метров.

Разъёмы

Для обеспечения обратной совместимости, в 1394b устройствах возможно использование старых разъёмов, но "чистое" 1394b устройство будет использовать свой, новый разъём, который не похож ни на один из используемых ранее.

Кроме этого, 1394b full-duplex стандарт (в отличии от теперешнего 1394), поэтому в нём используется новый метод арбитража. В отличии от 1394 и 1394а, где главным арбитром во всех спорах из за шины было корневое устройство в дереве, в 1394b такие права может получить то устройство, которому они наиболее нужны. Новый метод арбитража называется BOSS (Bus Owner/Supervisor/Selector). Конечно же, наряду с этим, поддерживаются и методы арбитража из 1394 и 1394а. Рассмотрим новый метод подробнее. Этот метод арбитража может работать только в 1394b среде. То есть, если в сети есть хоть одно старое устройство, для арбитража будет применяться старый метод. Принципиальная схема BOSS метода выглядит так:

Устройство, которому требуется переслать данные, постоянно шлёт запросы. В результате, когда предыдущий BOSS заканчивает передачу, то ждущее и шлющее запросы устройство оказывается последним, пославшим запрос (все остальные либо уже закончили либо ещё не начали передачу), и получает права BOSS. Что означает, что пока передаёт данные - оно контролирует шину. Как только передача закончена, то устройство остаётся BOSS до тех пор, пока кто-то ещё не пошлёт запрос на передачу. Как только запрос послан - пославшее его устройство немедленно становится BOSS. Эта схема может работать только благодаря full-duplex природе 1394b, ибо, в противном случае, постоянно гуляющие по сети запросы помешали бы передаваемым данным.

31. Интерфейс USB, основные характеристики, достоинства и недостатки. Схема соединения устройств и принцип их взаимодействия при передаче информации. Управление питанием.

USB - Universal Serial Bus (Универсальная Последовательная Шина), предназначен для соединения ПК с различными периферийными устройствами, такими как например принтеры, сканеры, различные накопители, клавиатуры, мыши и другое огромное кол-во компьютерного и мультимедийного оборудования.