В чем преимущества шины usb. Организация шины 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-порта, переходники на шину AT A, ISA, PC Card и любые другие, для которых достаточно производительности. Здесь USB становится палочкой-выручалочкой, когда встает проблема 2-го (3-го) LPT- или СОМ-порта в блокнотном ПК и в других ситуациях. При этом ПО преобразователя может обеспечить эмуляцир классического варианта «железа» стандартных портов IBM PC, но только под управлением ОС защищенного режима. Приложение MS-DOS может обращаться к устройствам по адресам ввода-вывода, памяти, прерываниями, каналами DMA, но только из сеанса MS-DOS, открытого в ОС с поддержкой USB (чаще это Windows). При загрузке «голой» MS-DOS «палочка-выручалочка» не работает. Преобразователи интерфейсов позволяют продлить жизнь устройствам с традиционными интерфейсами, изживаемыми из PC спецификациями РС"99 и РС"2001. Скорость передали данных через конвертер USB - LPT может оказаться даже выше, чем у реального LPT-порта, работающего в режиме SPP.
* Устройства хранения - винчестеры, устройства чтения и записи CD и DVD, стриммеры - при использовании USB 1.1 получают скорость передачи, соизмеримую со скоростью их подключения к LPT, но более удобный интерфейс (как аппаратный, так и программный). При переходе на USB 2.0 скорость передачи данных становится соизмеримой с АТА и SCSI, а ограничений по количеству устройств достичь трудно. Особенно интересно использование USB для электронных устройств энергонезависимого хранения (на флэш-памяти) - такой накопитель может быть весьма компактным (размером с брелок для ключей) и емким (пока 16-256 Мбайт, в перспективах - гигабайт и более). Выпускаются устройства для мобильного подключения накопителей с интерфейсом АТА-AT API - по сути, это лишь преобразователи интерфейсов, помещенные в коробку-отсек формата 5" или 3, 5", а иногда выполненные прямо в корпусе 36-контактного азъема АТА. Имеются и устройства чтения-записи карт SmartMedia Card и CompactFlash Card.
* Игровые устройства - джойстики всех видов (от «палочек» до автомобильных рулей), пульты с разнообразными датчиками (непрерывными и дискретными) и исполнительными механизмами (почему бы не сделать кресло автогонщика с вибраторами и качалками?) - подключаются унифицированным способом. При этом исключается ресурсопожирающий интерфейс старого игрового адаптера (упраздненного уже в спецификации РС"99).
* Телефоны - аналоговые и цифровые (ISDN). Подключение телефонного аппарата позволяет превратить компьютер в секретаря с функциями автодозвона, автоответчика, охраны и т. п.
* Мониторы - здесь шина USB используется для управления параметрами монитора. Монитор сообщает системе свой тип и возможности (параметры синхронизации) - это делалось и без USB по шине DDC. Однако USB-мониторы позволяют системе еще и управлять ими - регулировки яркости, контраста, цветовой температуры и т. п. могут теперь выполняться программно, а не только от кнопок лицевой панели монитора. В мониторы, как правило, встраивают хабы. Это удобно, поскольку настольную периферию не всегда удобно включать в «подстольный» системный блок.
* Электронные ключи - устройства с любым уровнем интеллектуальности защиты - могут быть выполнены в корпусе вилок USB. Они гораздо компактнее и мобильнее аналогичных устройств для СОМ- и LPT-портов.
Конечно же, перечисленными классами устройств сфера применения шины USB не ограничивается.
Хабы USB выпускаются как в виде отдельных устройств, так и встраиваются в периферийные устройства (клавиатуры, мониторы). Как правило, хабы питаются от сети переменного тока (они должны питать подключаемые устройства). Выпускают и хабы, устанавливаемые внутрь системного блока компьютера и питающиеся от его блока питания. Такие хабы дешевле внешних и не требуют дополнительной питающей розетки. Один из вариантов исполнения - установка хаба на скобку, монтируемую в окно для дополнительных разъемов. Доступ к их разъемам со «спины» системного блока не очень удобен для пользователей. Другой вариант - хаб, устанавливаемый в 3"-отсек. Его разъемы легкодоступны, индикаторы состояния портов хорошо видны, но не всегда удобны кабели, выходящие с передней панели системного блока. С другой стороны, для подключения электронных ключей (если их приходится часто менять) или миниатюрных накопителей этот вариант - самый удобный.
Недавно появились и новые вспомогательные устройства, увеличивающие дальность связи (distance extender). Это пара устройств, соединяемых между собой обычным кабелем «витая пара» (или оптоволокном), включаемая между периферийным устройством и хабом. «Удлинитель» со стороны периферии может иметь и хаб на несколько портов. К сожалению, увеличение дистанции упирается в ограничения на время задержки сигнала, свойственные протоколу шины USB, и достижимо лишь удаление до 100 м. Но даже и эта длина позволяет расширить сферу применения USB, например для удаленного видеонаблюдения.

Шина USB (Universal Serial Bus – универсальная последовательная шина) появилась по компьютерным меркам довольно давно – версия первого утвержденного варианта стандарта появилась 15 января 1996 года. Разработка стандарта была инициировна весьма авторитетными фирмами – Intel, DEC, IBM, NEC, Northen Telecom и Compaq.

Основная цель стандарта, поставленная перед его разработчиками – создать реальную возможность пользователям работать в режиме Plug&Play с периферийными устройствами. Это означает, что должно быть предусмотрено подключение устройства к работающему компьютеру, автоматическое распознавание его немедленно после подключения и последующей установки соответствующих драйверов.

Возможности USB следуют из ее технических характеристик: высокая скорость обмена (full-speed signaling bit rate) – 12 Mбит/с; максимальная длина кабеля для высокой скорости обмена – 5 м; низкая скорость обмена (low-speed signaling bit rate) – 1,5 Mбит/с; максимальная длина кабеля для низкой скорости обмена – 3 м; максимальное количество подключенных устройств (включая размножители) – 127; возможно подключение устройств с различными скоростями обмена; напряжение питания для периферийных устройств – 5 В; максимальный ток потребления на одно устройство – 500 мA (это не означает, что через USB можно запитать устройства с общим током потребления 127 ´ 500 мA = 63,5 A)

Топология USB практически не отличается от топологии обычной локальной сети на витой паре, обычно называемой «звездой». Даже терминология похожа – размножители шины также называются HUB.

Условно дерево подключения USB устройств к компьютеру можно изобразить так (см. рис. 5.22) (цифрами обозначены периферийные устройства с USB интерфейсом):

Вместо любого из устройств может также стоять HUB. Основное отличие от топологии обычной локальной сети – компьютер (или host устройство) может быть только один. HUB может быть как отдельным устройством с собственным блоком питания, так и встроенным в периферийное устройство. Наиболее часто HUB"ы встраиваются в мониторы и клавиатуры.

Сигналы USB передаются по 4-х проводному кабелю, схематично показанному на рис. 5.22:

Рис. 5.22. Передача сигнала по USB-кабелю

Здесь GND – цепь «корпуса» для питания периферийных устройств, VBus – +5 V также для цепей питания. Шина D+ предназначена для передачи данных по шине, а шина D – для приема данных. Кабель для поддержки полной скорости шины (full-speed) выполняется как витая пара, защищается экраном и может также использоваться для работы в режиме минимальной скорости (low-speed). Кабель для работы только на минимальной скорости (например, для подключения мыши) может быть любым и неэкранированным.

В 1999 году тот же консорциум компьютерных компаний, который инициировал разработку первой версии стандарта на шину USB, начал активно разрабатывать версию 2.0 USB, которая отличается тем, что полоса пропускания шины увеличена в 20 раз, до 250 Mбит/с, что делает возможным передачу видеоданных по USB и делает ее прямым конкурентом IEEE-1394 (FireWire). Совместимость всей ранее выпущенной периферии и высокоскоростных кабелей полностью сохраняется и сохраняется одно из самых главных достоинств USB – низкая стоимость контроллера.

Толковый словарь по вычислительным системам определяет понятие интерфейс (interface) как границу раздела двух систем, устройств или программ; элементы соединения и вспомогательные схемы управления, используемые для соединения устройств. Мы же поговорим о интерфейсах, позволяющих подключать к персональным (и не только) компьютерам разнообразные периферийные устройства и их контроллеры. По способу передачи информации интерфейсы подразделяются на параллельные и последовательные. В параллельном интерфейсе все биты передаваемого слова (обычно байта) выставляются и передаются по соответствующим параллельно идущим проводам одновременно. В PC традиционно используется параллельный интерфейс Centronics, реализуемый LPT-портами. В последовательном же интерфейсе биты передаются друг за другом, обычно по одной линии. СОМ порты PC обеспечивают последовательный интерфейс в соответствии со стандартом RS-232C. При рассмотрении интерфейсов важным параметром является пропускная способность.

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

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

2.Шина usb.Общая характеристика.

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

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

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

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

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

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

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

    Обеспечение стандартного интерфейса, способного быстро завоевать рынок.

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

    С точки зрения конечного пользователя, привлекательны следующие черты USB:

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

    Скрытие подробностей электрического подключения от конечного пользователя.

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

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

С середины 1996 года выпускаются PC со встроенным контроллером USB, реализуемым чипсетом. Уже появились модемы, клавиатуры, сканеры, динамики и другие устройства ввода/вывода с поддержкой USB, а также мониторов с USB-адаптерами - они играют роль концентраторов для подключения других устройств.

Структура usb

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

Ниже приводится авторский вариант перевода терминов из спецификации "Universal Serial Bus Specification", опубликованной Compaq, DEC, IBM, Intel, Microsoft, NEC и Northern Telecom. Более подробную и оперативную информацию можно найти по адресу:

Устройства (Device) USB могут являться хабами, функциями или их комбинацией. Хаб (Hub) обеспечивает дополнительные точки подключения устройств к шине. Функции (Function) USB предоставляют системе дополнительные возможности, например подключение к ISDN, цифровой джойстик, акустические колонки с цифровым интерфейсом и т. п. Устройство USB должно иметь интерфейс USB, обеспечивающий полную поддержку протокола USB, выполнение стандартных операций (конфигурирование и сброс) и предоставление информации, описывающей устройство. Многие устройства, подключаемые к USB, имеют в своем составе и хаб, и функции. Работой всей системы USB управляет хост-контроллер (Host Controller), являющийся программно-аппаратной подсистемой хост-компьютера.

Физическое соединение устройств осуществляется по топологии многоярусной звезды. Центром каждой звезды является хаб, каждый кабельный сегмент соединяет две точки - хаб с другим хабом или с функцией. В системе имеется один (и только один) хост-контроллер, расположенный в вершине пирамиды устройств и хабов. Хост-контроллер интегрируется с корневым хабом (Root Hub), обеспечивающим одну или несколько точек подключения - портов. Контроллер USB, входящий в состав чипсетов, обычно имеет встроенный двухпортовый хаб. Логически устройство, подключенное к любому хабу USB и сконфигурированное (см. ниже), может рассматриваться как непосредственно подключенное к хост-контроллеру.

Функции представляют собой устройства, способные передавать или принимать данные или управляющую информацию по шине. Типично функции представляют собой отдельные ПУ с кабелем, подключаемым к порту хаба. Физически в одном корпусе может быть несколько функций со встроенным хабом, обеспечивающим их подключение к одному порту. Эти комбинированные устройства для хоста являются хабами с постоянно подключенными устройствами-функциями.

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

Примерами функций являются:

    Указатели - мышь, планшет, световое перо.

    Устройства ввода - клавиатура или сканер.

    Устройство вывода - принтер, звуковые колонки (цифровые).

    Телефонный адаптер ISDN.

Хаб - ключевой элемент системы РпР в архитектуре USB. Хаб является кабельным концентратором. Точки подключения называются портами хаба. Каждый хаб преобразует одну точку подключения в их множество. Архитектура допускает соединение нескольких хабов.

У каждого хаба имеется один восходящий порт (Upstream Port), предназначенный для подключения к хосту или хабу верхнего уровня. Остальные порты являются нисходящими (Downstream Ports), предназначенными для подключения функций или хабов нижнего уровня. Хаб может распознать подключение устройств к портам или отключение от них и управлять подачей питания на их сегменты. Каждый из портов может быть разрешен или запрещен и сконфигурирован на полную или ограниченную скорость обмена. Хаб обеспечивает изоляцию сегментов с низкой скоростью от высокоскоростных.

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

Система USB разделяется на три уровня с определенными правилами взаимодействия. Устройство USB содержит интерфейсную часть, часть устройства и функциональную часть. Хост тоже делится на три части - интерфейсную, системную и ПО устройства. Каждая часть отвечает только за определенный круг задач, логическое и реальное взаимодействие между ними иллюстрирует рис. 7.1.

В рассматриваемую структуру входят следующие элементы:

    Физическое устройство USB - устройство на шине, выполняющее функции, интересующие конечного пользователя.

    Client SW - ПО, соответствующее конкретному устройству, исполняемое на хост-компьютере. Может являться составной частью ОС или специальным продуктом.

    USB System SW - системная поддержка USB, независимая от конкретных устройств и клиентского ПО.

    USB Host Controller - аппаратные и программные средства для подключения устройств USB к хост-компьютеру.

Последовательная шина USB (Universal Serial Bus – универсальная последовательная шина) компьютерным меркам довольно давно – версия первого утвержденного варианта стандарта появилась 15 января 1996 года. Разработка стандарта была инициирована весьма авторитетными фирмами – Intel, DEC, IBM, NEC, Northen Telecom и Compaq.

Основная цель стандарта, поставленная перед его разработчиками – создать реальную возможность пользователям работать в режиме Plug&Play с периферийными устройствами. Это означает, что должно быть предусмотрено подключение устройства к работающему компьютеру, автоматическое распознавание его немедленно после подключения и последующей установки соответствующих драйверов. Кроме этого, желательно питание маломощных устройств подавать с самой шины. Скорость шины должна быть достаточной для подавляющего большинства периферийных устройств. Попутно решается историческая проблема нехватки ресурсов на внутренних шинах IBM PC совместимого компьютера – контроллер USB занимает только одно прерывание независимо от количества подключенных к шине устройств.

Возможности последовательной шины USB следуют из ее технических характеристик:

Высокая скорость обмена (full-speed signaling bit rate) – 12 Mb/s

Максимальная длина кабеля для высокой скорости обмена – 5 m

Низкая скорость обмена (low-speed signaling bit rate) – 1.5 Mb/s

Максимальная длина кабеля для низкой скорости обмена – 3 m

Максимальное количество подключенных устройств (включая размножители) – 127.

Возможно подключение устройств с различными скоростями обмена

Отсутствие необходимости в установке пользователем дополнительных элементов, таких как терминаторы для SCSI

Напряжение питания для периферийных устройств – 5 V

Максимальный ток потребления на одно устройство – 500 mA.

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

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

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

Сигналы USB передаются по 4–х проводному кабелю.

Кабель для поддержки полной скорости шины (full-speed) выполняется как витая пара, защищается экраном и может также использоваться для работы в режиме минимальной скорости (low-speed). Кабель для работы только на минимальной скорости (например, для подключения мыши) может быть любым и неэкранированным.

Система USB разделяется на три уровня с определенными правилами взаимодействия. Устройство USB содержит интерфейсную часть, часть устройства и функциональную часть. Хост тоже делится на три части – интерфейсную, системную и ПО устройства. Каждая часть отвечает только за определенный круг задач, логическое и реальное взаимодействие между ними иллюстрирует рис. 69.

В рассматриваемую структуру входят следующие элементы:

Физическое устройство USB – устройство на шине, выполняющее функции, интересующие конечного пользователя.

Client SW – ПО, соответствующее конкретному устройству, исполняемое на хост–компьютере. Может являться составной частью ОС или специальным продуктом.

USB System SW – системная поддержка USB, независимая от конкретных устройств и клиентского ПО.

USB Host Controller – аппаратные и программные средства для подключения устройств USB к хост–компьютеру.

Рис. 69 Взаимодействие компонентов USB

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

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

Передача по двум проводам в USB не ограничивается дифференциальными сигналами. Кроме дифференциального приемника каждое устройство имеет линейные приемники сигналов D+ и D–, а передатчики этих линий управляются индивидуально. Это позволяет различать более двух состояний линии, используемых для организации аппаратного интерфейса. Состояния DiffO и Diff1 определяются по разности потенциалов на линиях D+ и D – более 200 мВ при условии, что на одной из них потенциал выше порога срабатывания VSE. Состояние, при котором на обоих входах D+ и D– присутствует низкий уровень, называется линейным ну– лем (SEO – Single–Ended Zero). интерфейс определяет следующие состояния:

DataJ State и Data К State – состояния передаваемого бита (или просто J и К), определяются через состояния DiffO и Diff1.

Idle State – пауза на шине.

Resume State – сигнал "пробуждения" для вывода устрой– ства из "спящего" режима.

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

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

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

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

Reset – сброс устройства.

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

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

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

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

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

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

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

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

Таблица 7

Разъемы типа "А" применяются для подключения к хабам (Upstream Connector). Вилки устанавливаются на кабелях, не отсоединяемых от устройств (например, клавиатура, мышь и т. п.). Гнезда устанавливаются на нисходящих портах (Downstream Port) хабов.

Разъемы типа "В" (Downstream Connector) устанавливаются на устройствах, от которых соединительный кабель может отсоединяться (принтеры и сканеры). Ответная часть (вилка) устанавливается на соединительном кабеле, противоположный конец которого имеет вилку типа "А".

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

Рис. 73. Гнезда USB: а – типа "А", б – типа "В", в – символическое обозначение

Модель передачи данных

Каждое устройство USB представляет собой набор независимых конечных точек (Endpoint), с которыми хост–контроллер обменивается информацией. Конечные точки описываются следующими параметрами:

требуемой частотой доступа к шине и допустимыми задержками обслуживания;

требуемой полосой пропускания канала;

номером точки;

требованиями к обработке ошибок;

максимальными размерами передаваемых и принимаемых пакетов;

типом обмена;

направлением обмена (для сплошного и изохронного обменов).

Каждое устройство обязательно имеет конечную точку с номером 0, используемую для инициализации, общего управления и опроса его состояния. Эта точка всегда сконфигурирована при включении питания и подключении устройства к шине. Оно поддерживает передачи типа "управление".

Кроме нулевой точки, устройства–функции могут иметь дополнительные точки, реализующие полезный обмен данными. Низкоскоростные устройства могут иметь до двух дополнительных точек, полноскоростные – до 16 точек ввода и 16 точек вывода (протокольное ограничение). Точки не могут быть использованы до их конфигурирования (уста– новления согласованного с ними канала).

Каналом {Pipe) в USB называется модель передачи данных между хост–контроллером и конечной точкой (Endpoint) ус– тройства. Имеются два типа каналов: потоки (Stream) и со– общения (Message). Поток доставляет данные от одного конца канала к другому, он всегда однонаправленный. Один и тот же номер конечной точки может использоваться для двух поточных каналов – ввода и вывода. Поток может реализовывать следующие типы обмена: сплошной, изохронный и прерывания. Доставка всегда идет в порядке "первым вошел – первым вышел" (FIFO); с точки зрения USB, данные потока неструктурированы. Сообщения имеют формат, определенный спецификацией USB. Хост посылает запрос к конечной точке, после которого передается (принимается) пакет сообщения, за которым следует пакет с информацией состояния конечной точки. Последующее сообщение нормально не может быть послано до обработки предыдущего, но при отработке ошибок возможен сброс необслуженных сообщений. Двухсторонний обмен сообщениями адресуется к одной и той же конечной точке. Для доставки сообщений используется только обмен типа "управление".

С каналами связаны характеристики, соответствующие конечной точке (полоса пропускания, тип сервиса, размер буфера и т. п.). Каналы организуются при конфигурировании устройств USB. Для каждого включенного устройства существует канал сообщений (Control Pipe 0), по которому передается информация конфигурирования, управления и состояния.

Типы передачи данных

USB поддерживает как однонаправленные, так и двунаправленные режимы связи. Передача данных производится между ПО хоста и конечной точкой устройства. Устройство может иметь несколько конечных точек, связь с каждой из них (канал) устанавливается независимо.

Архитектура USB допускает четыре базовых типа передачи данных:

Управляющие посылки (Control Transfers), используемые для конфигурирования во время подключения и в процессе работы для управления устройствами. Протокол обеспечивает гарантированную доставку данных. Длина поля данных управляющей посылки не превышает 64 байт на полной скорости и 8 байт на низкой.

Сплошные передачи (Bulk Data Transfers) сравнительно больших пакетов без жестких требований ко времени доставки. Передачи занимают всю свободную полосу про– пускания шины. Пакеты имеют поле данных размером 8, 16, 32 или 64 байт. Приоритет этих передач самый низкий, они могут приостанавливаться при большой загрузке шины. Допускаются только на полной скорости передачи.

Прерывания (Interrupt) – короткие (до 64 байт на полной скорости, до 8 байт на низкой) передачи типа вводимых символов или координат. Прерывания имеют спонтанный характер и должны обслуживаться не медленнее, чем того требует устройство. Предел времени обслуживания устанавливается в диапазоне 1–255 мс для полной скорости и 10–255 мс – для низкой.

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

Полоса пропускания шины делится между всеми установленными каналами. Выделенная полоса закрепляется за каналом, и если установление нового канала требует такой полосы, которая не вписывается в уже существующее распределение, запрос на выделение канала отвергается.

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

Изохронные передачи классифицируются по способу синхронизации конечных точек – источников или получателей данных – с системой: различают асинхронный, синхронный и адаптивный классы устройств, каждому из которых соответствует свой тип канала USB.

Протокол

Все обмены (транзакции) по USB состоят из трех пакетов. Каждая транзакция планируется и начинается по инициативе контроллера, который посылает пакет–маркер {Token Packet). Он описывает тип и направление передачи, адрес устройства USB и номер конечной точки. В каждой транзакции возможен обмен только между адресуемым устройством (его конечной точкой) и хостом. Адресуемое маркером устройство распознает свой адрес и готовится к обмену. Источник данных (определенный маркером) передает пакет данных (или уведомление об отсутствии данных, предназначенных для передачи). После успешного приема пакета приемник данных посылает пакет подтверждения (Handshake Packet).

Планирование транзакций обеспечивает управление поточными каналами. На аппаратном уровне использование отказа от транзакции (NAck) при недопустимой интенсивности передачи предохраняет буферы от переполнения сверху и снизу. Маркеры отвергнутых транзакций повторно передаются в свободное для шины время. Управление потоками позволяет гибко планировать обслуживание одновременных разнородных потоков данных.

Устойчивость к ошибкам обеспечивают следующие свойства USB:

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

Защита полей управления и данных CRC–кодами.

Обнаружение подключения и отключения устройств и конфигурирование ресурсов на системном уровне.

Самовосстановление протокола с тайм-аутом при потере пакетов.

Управление потоком для обеспечения изохронности и управления аппаратными буферами.

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

Для обнаружения ошибок передачи каждый пакет имеет контрольные поля CRC–кодов, позволяющие обнаруживать все одиночные и двойные битовые ошибки. Аппаратные средства обнаруживают ошибки передачи, а контроллер автоматически производит трехкратную попытку передачи. Если повторы безуспешны, сообщение об ошибке передается клиентскому ПО.

Форматы пакетов

Байты передаются по шине последовательно, начиная с младшего бита. Все посылки организованы в пакеты. Каждый пакет начинается с поля синхронизации Sync, которое представляется последовательностью состояний KJKJKJKK (кодированную по NRZI), следующую после состояния Idle. Последние два бита (КК) являются маркером начала пакета SOP, используемым для идентификации первого бита идентификатора пакета PID. Идентификатор пакета является 4–битным полем PID, идентифицирующим тип пакета (табл.8), за которым в качестве контрольных следуют те же 4 бита, но инвертированные.

В пакетах–маркерах IN, SETUP и OUT следующими являются адресные поля: 7–битный адрес функции и 4–битный адрес конечной точки. Они позволяют адресовать до 127 функций USB (нулевой адрес используется для конфигурирования) и по 16 конечных точек в каждой функции.

В пакете SOF имеется 11–битное поле номера кадра (Frame Number Field), последовательно (циклически) увеличиваемое для очередного кадра.

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

Поле СКС-кола присутствует во всех маркерах и пакетах данных, оно защищает все поля пакета, исключая PID. CRC для маркеров (5 бит) и данных (11 бит) подсчитываются по разным формулам.

Таблица 8

Содержимое и назначение

Адрес функции и номер конечной точки – маркер транзакции функции

Адрес функции и номер конечной точки – маркер транзакции хоста

Маркер начала кадра

Адрес функции и номер конечной точки – маркер транзакции с управляющей точкой

Пакеты данных с четным и нечетным PID чередуются для точной идентификации подтверждений

Подтверждение безошибочного приема пакета

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

Конечная точка требует вмешательства хоста

Преамбула передачи на низкой скорости

Каждая транзакция инициируется хост–контроллером посылкой маркера и завершается пакетом квитирования. Последовательность пакетов в транзакциях иллюстрирует рис. 7.7.

Хост-контроллер организует обмены с устройствами согласно своему плану распределения ресурсов. Контроллер циклически (с периодом 1 мс) формирует кадры (Frames), в которые укладываются все запланированные транзакции. Каждый кадр начинается с посылки маркера SOF (Start Of Frame), который является синхронизирующим сигналом для всех устройств, включая хабы. В конце каждого кадра выделяется интервал времени EOF (End Of Frame), на время которого хабы запрещают передачу по направлению к контроллеру. Каждый кадр имеет свой номер. Хост–контроллер оперирует 32–битным счетчиком, но в маркере SOF передает только младшие 11 бит. Номер кадра увеличивается (циклически) во время EOF. Хост планирует загрузку кадров так, чтобы в них всегда находилось место для транзакций управления и прерывания. Свободное время кадров может заполняться сплошными передачами (Bulk Transfers).

Задание для выполнения работы

1. Описать функции управления шиной и портами

а) формирование адреса порта

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

2. Структура микропроцессорной памяти.

3. Последовательная шина USB. Режимы передачи данных.

4. Чипсет. Его назначение. Диаграмма чипсета.

5. Микропроцессорная память. Регистры и их назначение.

6. Стандартные интерфейсы и форматы передачи данных.

7. Привести схемы подключение модемов, принтеров, плоттеров к COM-порту.

8. Нарисовать схему взаимодействия компонентов \USB.

16. Шина USB. Общие харак-тики

Универсальная последовательная шина имеет следующие характеристики:

 Главный компьютер выполняет функции хоста.

 К хосту можно подключить до 127 устройств, либо напрямую, либо с помощью USB-концентраторов.

 Отдельные USB-кабели могут иметь длину 5 метров, а при наличии концентраторов по протоколу USB можно подключить устройства, удаленные от хост-компьютера на расстояние до 30 метров (длина 6 кабелей).

 Стандарт USB 2. предусматривает максимальную скорость передачи данных 480 мегабит в секунду.

 Кабель USB снабжен двумя проводами для подачи электропитания (5 вольт и земля), а также витой парой для передачи данных.

 По проводам электропитания компьютер может обеспечить подачу питающего напряжения 5 В при токе до 500 мА.

 Устройства с небольшим энергопотреблением могут питаться непосредственно от шины. Устройства, отличающиеся большой потребляемой мощностью (например, принтеры), имеют собственные блоки питания и потребляют от шины минимальное количество энергии. Концентраторы для питания подключенных к ним устройств могут снабжаться собственными блоками питания.

 USB-устройства допускают "горячую" замену, то есть их можно подключать к шине и отключать от нее в любое время.

 Многие USB-устройства могут переводиться хост-компьютером в спящий режим, когда сам компьютер переводится в энергосберегающий режим. Подключенные к порту USB устройства получают питание и обмениваются данными по USB-кабелю.

17.Шина USB. Общая архитектура

USB (Universal Serial Bus - универсальная последовательная шина) является промышленным стандартом расширения архитектуры PC. Возможности USB определяется следующими тех. хар-ками: * Дешевое решение, поддерживающее скорость передачи до 12 Мбит/с. *мах длина кабеля для высокой скорости обмена – 5м * низкая скорость обмена – 1,5 Мбит/с. *мах длина кабеля для низкой скорости обмена – 3м *мах кол-во подключенных устройств – 127 *Возможно подключение устройств с различными скоростями обмена *напряжение питания для переферийных устройств – 5В

Особенно удобен этот интерфейс для подключения часто подключаемых\отключаемых приборов, таких как цифровые фотокамеры и др. Возможность использования только двух скоростей обмена данными ограничивает применяемость шины. USB поддерживает динамическое подключение и отключение устройств и конструкция разъемов рассчитана на многократное сочленение\расчленение. Питание непосредственно от USB возможно только для устройств с малым потреблением, таких как клавиатуры, мыши, джойстики и т.п. USB обеспечивает одновременный обмен данными между хост-компьютером и множеством периферийных устройств (ПУ).

18.Шина USB. Свойства устройств

Спецификация USB достаточно жестко определяет набор свойств, которые должно поддерживать любое USB-устройство:

o адресация – устройство должно отзываться на назначенный ему уникальный адрес и только на него;

o конфигурирование – после включения или сброса устройство должно предоставлять нулевой адрес для возможности конфигурирования его портов;

o передача данных – устройство имеет набор конечных точек для обмена данными с хостом. Для конечных точек, допускающих разные типы передач, после конфигурирования доступен только один из них;

o управление энергопотреблением – любое устройство при подключении не должно потреблять от шины ток, превышающий 100 мА. При конфигурировании устройство заявляет свои потребности тока, но не более 500 мА. Если хаб не может обеспечить устройству заявленный ток, устройство не будет использоваться;

o приостановка – USB-устройство должно поддерживать приостановку (suspended mode), при которой его потребляемый ток не превышает 500 мкА. USB-устройство должно автоматически приостанавливаться при прекращении активности шины;

o удаленное пробуждение – возможность удаленного пробуждения (remote wakeup) позволяет приостановленному USB-устройству подать сигнал хосту, который тоже может находиться в приостановленном состоянии. Возможность удаленного пробуждения описывается в конфигурации USB-устройства. При конфигурировании эта функция может быть запрещена.

19.Шина USB. Принципы передачи данных

Механизм передачи данных является асинхронным и блочным. Блок передаваемых данных называется USB-фреймом или USB-кадром и передается за фиксированный временной интервал. Оперирование командами и блоками данных реализуется при помощи логической абстракции, называемой каналом. Внешнее устройство также делится на логические абстракции, называемые конечными точками. Таким образом, канал является логической связкой между хостом и конечной точкой внешнего устройства. Канал можно сравнить с открытым файлом.

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

Все операции по передачи данных по шине USB инициируются хостом. Периферийные USB-устройства сами начать обмен данными не могут. Они могут только реагировать на команды хоста.

20. Шина USB.Логические уровни обмена данными

Логические уровни обмена данными

логических уровня с определенными правилами взаимодействия. USB-устройство содержит интерфейсную, логическую и функциональную части. Хост тоже делится на три части – интерфейсную, системную и ПО. Каждая часть отвечает только за определенный круг задач. Таким образом, операция обмена данными между прикладной программой и шиной USB выполняется путем передачи буферов памяти через следующие уровни:уровень клиентского ПО в хосте:

· управляет нумерацией устройств на шине;

· управляет распределением пропускной способности шины и мощности питания;

· обрабатывает запросы пользовательских драйверов;

o уровень хост-контроллера интерфейса шины USB (HCD, Host Controller Driver):

· преобразует запросы ввода/вывода в структуры данных, по которым выполняются физические транзакции;

· работает с регистрами хоста.

21. Шина USB.Передача данных по уровням

Пропускная способность шины USB, соответствующей спецификации 1.1, составляет 12Мбит/с (т.е. 1,5 Мбит/с). Спецификация 2.0 определяет шину с пропускной способностью 400 Мбайт/с. Полоса пропускания делится между всеми устройствами, подключенными к шине.

Шина USB имеет три режима передачи данных:

o низкоскоростной (LS, Low-speed);

o полноскоростной (LF, Full-speed);

o высокоскоростной (HS, High-speed, только для USB 2.0).

Спецификация USB определяет три логических уровня с определенными правилами взаимодействия. USB-устройство содержит интерфейсную, логическую и функциональную части. Хост тоже делится на три части – интерфейсную, системную и ПО. Каждая часть отвечает только за определенный круг задач.

Таким образом, операция обмена данными между прикладной программой и шиной USB выполняется путем передачи буферов памяти через следующие уровни:

o уровень клиентского ПО в хосте:

· обычно представляется драйвером USB-устройства;

· обеспечивает взаимодействие пользователя с операционной системой с одной стороны и системным драйвером с другой;

o уровень системного драйвера USB в хосте(USB, Universal Serial Bus Driver):

21. Шина USB.Метод кодирования

Для передачи данных по шине используется дифференциальный способ передачи сигналов D+ и D- по двум проводам. Все данные кодируются с помощью метода, называемого NRZI with bit stuffing (NRZI - Non Return to Zero Invert, метод возврата к нулю с инвертированием единиц).

Вместо кодирования логических уровней как уровней напряжения USB определяет логический 0 как изменение напряжения, а логическую 1 как неизменение напряжения. Этот метод представляет собой модификацию обычного потенциального метода кодирования NRZ (Non Return to Zero, невозврат к нулю), когда для представления 1 и 0 используются потенциалы двух уровней, но в методе NRZI потенциал, используемый для кодирования текущего бита, зависит от потенциала, который использовался для кодирования предыдущего бита. Если текущий бит имеет значение 0, то текущий потенциал представляет собой инверсию потенциала предыдущего бита, независимо от его значения. Если же текущий бит имеет значение 1, то текущий потенциал повторяет предыдущий. Очевидно, что если данные содержат нули, то приемнику и передатчику достаточно легко поддерживать синхронизацию - уровень сигнала будет постоянно меняться. А вот если данные содержат длинную последовательность единиц, то уровень сигнала меняться те будет, и возможна рассинхронизация. Следовательно, для надежной передачи данных нужно исключить из кодов слишком длинные последовательности единиц. Это действие называется стаффинг (Bit stuffing): после каждых шести единиц автоматически добавляется 0.

Существует только три возможных байта с шестью последовательными единицами: 00111111, 01111110, 111111100.

Стаффинг может увеличить число передаваемых бит до 17%, но на практике эта величина значительно меньше. Для устройств, подключаемых к шине USB, кодирование происходит прозрачно: USB-контроллеры производят кодирование и декодирование автоматически.