Кабель USB содержит одну экрани­рованную витую пару с импедансом 90 Ом для сигнальных цепей и одну неэкранированную для подачи питания (+5 В), допустимая длина сегмента — до 5 м. Для низкой скорости может использоваться невитой неэкранированный кабель дли­ной до 3 м (он дешевле). Система кабелей и коннекторов USB не дает возможно­сти ошибиться при подключении устройств (рис. 4.1, а и б). Для распознавания разъема USB на корпусе устройства ставится стандартное символическое обозна­чение (рис. 4.1, в). Гнезда типа «А» устанавливаются только на нисходящих пор­тах хабов, вилки типа «А» — на шнурах периферийных устройств или восходя щих портов хабов. Гнезда и вилки типа «В» используются только для шнуров, отсоединяемых от периферийных устройств и восходящих портов хабов (от «мел­ких» устройств — мышей, клавиатур и т. п. кабели, как правило, не отсоединяются). Кроме стандартных разъемов, показанных на рисунке 4.1, применяются и мини­атюрные варианты (рис. 4.2, в, г, д). Хабы и устройства обеспечивают возможность «горячего» подключения и отключения. Для этого разъемы обеспечивают более раннее соединение и позднее отсоединение питающих цепей по отношению к сигнальным, кроме того, предусмотрен протокол сигнализации подключения и от­ключения устройств. Назначение выводов разъемов USB приведено в табл. 4.1, ну­мерация контактов показана на рис. 4.2. Все кабели USB «прямые» — в них соеди­няются одноименные цепи разъемов.

а б в г д

Рис. 4.2. Гнезда USB: а — типа «А», б — типа «В» стандартное, в, г,д — миниатюрные типа «В»

НЕ нашли? Не то? Что вы ищете?

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

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

Управление энергопотреблением является весьма развитой функцией USB. Для устройств, питающихся от шины, мощность ограничена. Любое устройство при подключении не должно потреблять от шины ток, превышающий 100 мА. Рабо­чий ток (не более 500 мА) заявляется в конфигурации. Если хаб не может обеспе­чить устройству заявленный ток, оно не конфигурируется и, следовательно, не может быть использовано.

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

9. Адресация устройств в USB

10.Типы сообщений в USB

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

♦  Управляющие посылки (control transfers) используются для конфигурирования устройств во время их подключения и для управления устройствами в процес­се работы. Протокол обеспечивает гарантированную доставку данных.

♦  Передачи массивов данных (bulk data transfers) — это передачи без каких-либо обязательств по задержке доставки и скорости передачи. Передачи массивов могут занимать всю полосу пропускания шины, свободную от передач других типов. Приоритет этих передач самый низкий, они могут приостанавливаться при большой загрузке шины. Доставка гарантированная — при случайной ошибке выполняется повтор. Передачи массивов уместны для обмена данны­ми с принтерами, сканерами, устройствами хранения и т. п.

♦  Прерывания (interrupt) — короткие передачи, которые имеют спонтанный ха­рактер и должны обслуживаться не медленнее, чем того требует устройство.
Предел времени обслуживания устанавливается в диапазоне 10-255 мс для
низкой, 1-255 мс для полной скорости, на высокой скорости можно заказать и 125 мкс. При случайных ошибках обмена выполняется повтор. Прерывания используются, например, при вводе символов с клавиатуры или для передачи сообщения о перемещении мыши.

♦  Изохронные передачи (isochronous transfers) — непрерывные передачи в реаль­ном времени, занимающие предварительно согласованную часть пропускной способности шины с гарантированным временем задержки доставки. Позволя­ют на полной скорости организовать канал с полосой 1,023 Мбайт/с (или два по 0,5 Мбайт/с), заняв 70 % доступной полосы (остаток можно заполнить и менее емкими каналами). На высокой скорости конечная точка может полу­чить канал до 24 Мбайт/с (192 Мбит/с). В случае обнаружения ошибки изо­хронные данные не повторяются — недействительные пакеты игнорируются. Изохронные передачи нужны для потоковых устройств: видеокамер, цифро­вых аудиоустройств (колонки USB, микрофон), устройств воспроизведения и записи аудио - и видеоданных (CD и DVD). Видеопоток (без компрессии) шина
USB способна передавать только на высокой скорости.

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

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

11 Инициализация устройств в USB

12 Стандартные дескрипторы устройства.

13.Электрические характеристики интерфейса SPI

14.Интерфейс SPI Режим мастера

15.Интерфейс SPI Режим Slave

16.Интерфейс I2C Состояния старт и стоп, повторный старт

17.Запись данных ведомым в шине I2C

18.Чтение данных ведомым в шине I2C

19.Запись данных ведущим в шине I2C

20.Чтение данных ведущим в шине I2C

21.Арбитраж и конкуренция в шине I2C

Протокол допускает наличие на шине не­скольких ведущих устройств и имеет простой механизм арбитража (разрешения коллизий).

Протокол обмена для обычных устройств F/S иллюстрирует рис. 11.1. Обе сиг­нальные линии имеют нагрузочные резисторы, «подтягивающие» их уровень к напряжению питания. На устройстве к каждой линии подключен приемник и пе­редатчик типа «открытый коллектор» («открытый сток»), у ведомого устройства передатчик на линии SCL не обязателен. Все одноименные передатчики соединя­ются по схеме «Монтажное И»: уровень в линии будет высоким, если все передат­чики пассивны, и низким, если хоть у одного передатчика выходной транзистор открыт. В покое (Idle, исходное состояние шины) все передатчики пассивны. Син­хронизацию задает ведущее устройство, но ведомое, если оно не имеет достаточ­ного быстродействия, может замедлять обмен данными.

Рис. 11.1. Протокол передачи данных I2C

Начало любой передачи — условие Startинициируется ведущим устройством, убедившимся в том, что шина свободна (высокий уровень сигналов SCL и SDA). Условие Start (на диаграммах обозначается как S)— перевод сигнала SDA из вы­сокого в низкий при высоком уровне SCL Завершается операция переводом сиг­нала SDA из низкого уровня в высокий при высоком уровне SCL — условие Stop (обозначается как Р), также вводящееся ведущим устройством. При передаче дан­ных состояние линии SDA может изменяться только при низком уровне SCL, биты данных считаются действительными во время высокого уровня SCL Ведущее устройство может начать очередную передачу вслед за текущей, не вводя условие

22.Организация интерфейса CAN.

23.Форматы сообщений интерфейса.

24.Обнаружение ошибок в протоколе CAN.

25.Арбитраж и конкуренция в протоколе CAN.

26..Интерфейс Cetronics

Параллельный порт Centronics — порт, используемый с 1981 года в персональных компьютерах фирмы IBM для подключения печатающих устройств, разработан фирмой Centronics Data Computer Corporation; уже давно стал стандартом де-факто, хотя в действительности официально на данный момент он не стандартизован.

Изначально этот порт был разработан только для симплексной (однонаправленной) передачи данных, так как предполагалось, что порт Centronics должен использоваться только для работы с принтером. Впоследствии разными фирмами были разработаны дуплексные расширения интерфейса (byte mode, EPP, ECP). Затем был принят международный стандарт IEEE 1284, описывающий как базовый интерфейс Centronics, так и все его расширения.

Cкорость передачи данных может варьироваться и достигать 1,2 Мбит/с. Длина соединительного кабеля не должна превышать 3 метров.

Разъём

Кабельный 36-контактный разъём Centronics для подключения внешнего устройства

Порт на стороне компьютера имеет 25-контактный 2-рядный разъём DB-25-female (IEEE 1284-A), данные передаются в одну сторону: от компьютера к внешнему устройству. Но полностью однонаправленным его назвать нельзя. Так, 4 обратные линии используются для контроля за состоянием устройства. Centronics позволяет подключать одно устройство, поэтому для совместного очерёдного использования нескольких устройств требуется дополнительно применять селектор. На периферийных устройствах обычно используется 36-контактный разъём Centronics (IEEE 1284-B), поэтому кабели для подключения периферийных устройств к компьютеру по параллельному порту обычно выполняются с 25-контактным разъёмом DB-25-male на одной стороне и 36-контактным IEEE 1284-B на другой (AB-кабель). Существуют также СС-кабеля с разъёмами MiniCentronics (IEEE 1284-C) на обоих концах, предназначенные для подключения приборов в стандарте IEEE 1284-II, который применяется редко.

Упрощённая таблица сигналов интерфейса Centronics

Контакты

DB-25 IEEE 1284-A Centronics IEEE 1284-B Обозначение Примечание

1 1 Strobe Маркер цикла передачи (выход)

2 2 Data 1 Сигнал 1 (выход)

3 3 Data 2 Сигнал 2 (выход)

4 4 Data 3 Сигнал 3 (выход)

5 5 Data 4 Сигнал 4 (выход)

6 6 Data 5 Сигнал 5 (выход)

7 7 Data 6 Сигнал 6 (выход)

8 8 Data 7 Сигнал 7 (выход)

9 9 Data 8 Сигнал 8 (выход)

10 10 Acknowledge Готовность принять (вход)

11 11 Busy Занят (вход)

12 12 Paper End Нет бумаги (вход)

13 13 Select Выбор (вход)

14 14 Auto Feed Автоподача (выход)

15 32 Error Ошибка (вход)

16 31 Init Инициализация (выход)

17 36 Select In Управление печатью (выход)

18, 19-30 GND Общий

27..Режимы SPP и NibbleMode параллельного порта

Традиционный LPT-порт

Традиционный, он же стандартный, LPT-порт называется стандартным парал­лельным портом (Standard Parallel Port, SPP), или SPP-портом, и является одно­направленным портом, через который программно реализуется протокол обмена Centronics (см. п. 8.3.1). Название и назначение сигналов разъема порта (табл. 1.1) соответствуют интерфейсу Centronics.

Таблица 1

.1. Разъем стандартного LPT-порта

Контакт

№ провода

Назначение

DB-25S

в кабеле

I/O1

Бит2

Сигнал

1

1

0/I

CR. OX

Strobe»

2

3

0(1)

DR. O

DataO

3

5

0(1)

DR.1

Datal

4

7

0(1)

DR.2

Data 2

5

9

0(1)

DR.3

Data 3

6

11

0(1)

DR.4

Data 4

7

13

0(0

DR.5

Data 5

8

15

0(0

DR.6

Data 6

9

17

0(0

DR.7

Data 7

10

19

I3

SR.6

Ack#

11

21

I

SR. A

Busy

12

23

I

SR.5

PaperEnd(PE)

13

25

I

SR.4

Select

14

2

0/I

CR.1\

Auto LF# (AutoFeedW)

15

4

I

SR.3

Error»

16

6

0/I

CR.2

lnit#

17

8

0/I

CR.3\

Select ln#

18-25

10,12,14,16,18,

_

_

_

20, 22, 24, 26

1 I/O задает направление передачи (вход-выход) сигнала порта. O/I обозначает выходные линии, состо­яние которых считывается при чтении из портов вывода; 6(1) — выходные линии, состояние которых может быть считано только при особых условиях (см. ниже).

2 Символом «\» отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии).

3  Вход Ack# соединен резистором (10 кОм) с питанием +5 В.

Адаптер SPP-порта содержит три 8-битных регистра, расположенных по соседним адресам в пространстве ввода-вывода, начиная с базового адреса порта BASE (3BCh, 378h или 278h).

Data Register (DR) — регистр данных, адрес=ВА5Е. Данные, записанные в этот ре­гистр, выводятся на выходные линии Data[7:0]. Данные, считанные из этого реги­стра, в зависимости от схемотехники адаптера соответствуют либо ранее записан­ным данным, либо сигналам на тех же линиях, что не всегда одно и то же. Status Register (SR) — регистр состояния (только чтение), адрес=ВА5Е+1.' Регистр отображает 5-битный порт ввода сигналов состояния принтера (биты SR.4-SR.7) и флаг прерывания. Бит SR. 7 инвертируется — низкому уровню сигнала соответ­ствует единичное значению бита в регистре, и наоборот.

Ниже описано назначение бит регистра состояния (в скобках даны номера кон­тактов разъема порта).

♦  SR.7 — Busy — инверсное отображение состояния линии Busy (11): при низ­ком уровне на линии устанавливается единичное значения бита — разрешение на вывод очередного байта.

♦  SR. 6 — Ack (Acknowledge) — отображение состояния линии Ack# (10).

♦  SR. 5 — РЕ (Paper End) — отображение состояния линии Paper End (12). Еди­ничное значение соответствует высокому уровню линии — сигналу о конце бу­маги в принтере.

♦  SR. 4 — Select — отображение состояния линии Select (13). Единичное значение соответствует высокому уровню линии — сигналу о включении принтера.

♦  SR. 3 — Error — отображение состояния линии Error* (15). Нулевое значение соответствует низкому уровню линии — сигналу о любой ошибке принтера.

♦  SR.2 — PIRQ — флаг прерывания по сигналу Ack# (только для порта PS/2). Бит обнуляется, если сигнал Ack# вызвал аппаратное прерывание. Единичное значе­ние устанавливается по аппаратному сбросу и после чтения регистра состояния.

♦  SR[1:0] — зарезервированы.

Control Register (СR) — регистр управления, адрес=ВА5Е+2, допускает запись и чтение. Регистр связан с 4-битным портом вывода управляющих сигналов (биты 0-3) для которых возможно и чтение; выходной буфер обычно имеет тип «открытый кол­лектор». Это позволяет корректно использовать линии данного регистра как вход­ные при программировании их в высокий уровень. Биты 0,1,3 инвертируются.

Ниже описано назначение бит регистра управления.

♦  CR [7:6] — зарезервированы.

♦  CR.5 — Direction — бит управления направлением передачи (только для пор­тов PS/2, см. ниже). Запись единицы переводит порт данных в режим ввода. При чтении состояние бита не определено.

♦  CR. 4 — AcklNTEN (Ack Interrupt Enable) — единичное значение разрешает пре­рывание по спаду сигнала на линии Ack# — сигнал запроса следующего байта.

♦  CR.3 — Select In — единичное значение бита соответствует низкому уровню на выходе Select ln# (17) — сигналу, разрешающему работу принтера по интер­фейсу Centronics.

♦  CR.2 — In it— нулевое значение бита соответствует низкому уровню на выхо­де Init# (16) — сигнал аппаратного сброса принтера.

♦  CR. 1 — Auto LF — единичное значение бита соответствует низкому уровню на выходе Auto LF# (14) — сигналу на автоматический перевод строки (LF — Line Feed) по приему байта возврата каретки (CR). Иногда сигнал и бит называют AutoFD или AutoFDXT.

♦  CR.0 — Strobe — единичное значение бита соответствует низкому уровню на выходе Strobe* (1) — сигналу стробирования выходных данных.

Запрос аппаратного прерывания (обычно IRQ7 или IRQ5) вырабатывается по отри­цательному перепаду сигнала на выводе 10 разъема интерфейса (Ack#) при уста­новке CR. 4=1. Во избежание ложных прерываний контакт 10 соединен резистором с шиной +5 В. Прерывание вырабатывается, когда принтер подтверждает прием предыдущего байта. Как уже было сказано, BIOS это прерывание не использует и не обслуживает.

Перечислим шаги процедуры вывода байта по интерфейсу Centronics с указани­ем требуемого количества шинных операций процессора.

1.  Вывод байта в регистр данных (1 цикл IOWR#).

2.  Ввод из регистра состояния и проверка готовности устройства (бит SR. 7 —
сигнал Busy). Этот шаг зацикливается до получения готовности или до сраба­тывания программного тайм-аута (минимум 1 цикл IORD#).

3.  По получению готовности выводом в регистр управления устанавливается
строб данных, а следующим выводом строб снимается. Обычно, чтобы пере­
ключить только один бит (строб), регистр управления предварительно считы-
вается, что к двум циклам IOWR# добавляет еще один цикл IORD#.

Видно, что для вывода одного байта требуется 4-5 операций ввода-вывода с реги­страми порта (в лучшем случае, когда готовность обнаружена по первому чтению регистра состояния). Отсюда вытекает главный недостаток вывода через стандарт­ный порт — невысокая скорость обмена при значительной загрузке процессора. Порт удается разогнать до скоростей 100-150 Кбайт/с при полной загрузке про­цессора, что недостаточно для печати на лазерном принтере. Другой недостаток функциональный — сложность использования в качестве порта ввода.

Стандартный порт асимметричен — при наличии 12 линий (и бит), нормально работающих на вывод, на ввод работает только 5 линий состояния. Если необ­ходима симметричная двунаправленная связь, на всех стандартных портах ра­ботоспособен режим полубайтного обмена Nibble Mode. В этом режиме, называ­емом также Hewlett Packard Bi-tronics, одновременно принимаются 4 бита данных, пятая линия используется для квитирования. Таким образом, каждый байт пе­редается за два цикла, а каждый цикл требует по крайней мере 5 операций ввода-вывода…………………………………………………….

Схемотехника выходных буферов данных LPT-портов отличается большим разно­образием. На многих старых моделях адаптеров SPP-порт данных можно исполь­зовать и для организации ввода. Если в порт данных записать байт с единицами во всех разрядах, а на выходные линии интерфейса через микросхемы с выходом типа «открытый коллектор» подать какой-либо код (или соединить ключами какие-то линии со схемной землей), то этот код может быть считан из того же регистра данных. Однако выходным цепям передатчика информации придется «бороться» с выходным током логической единицы выходных буферов адаптера. Схемотехника ТТЛ такие решения не запрещает, но если внешнее устройство выполнено на микросхемах КМОП, их мощности может не хватить для «победы» в этом шинном конфликте. Однако современные адаптеры часто имеют в выход­ной цепи согласующий резистор с сопротивлением до 50 Ом. Выходной ток ко­роткого замыкания выхода на землю обычно не превышает 30 мА. Простой рас­чет показывает, что даже в случае короткого замыкания контакта разъема на землю при выводе «единицы» на этом резисторе падает напряжение 1,5 В, что входной схемой приемника будет воспринято как «единица». Поэтому нельзя полагать, что такой способ ввода будет работать на всех компьютерах. На некоторых старых адаптерах портов выходной буфер отключается перемычкой на плате. Тогда порт превращается в обыкновенный порт ввода.

Nibble Mode

Полубайтный режим предназначен для двунаправленного обмена и может работать на всех стандартных портах. Порты имеют 5 линий ввода состояния, используя которые ПУ может посылать в хост байт тетрадами (nibble — полубайт, 4 бита) за два приема. Сигнал Ack#, вызывающий прерывание, которое может использовать­ся в данном режиме, соответствует биту 6 регистра состояния, что усложняет программные манипуляции с битами при сборке байта. Сигналы порта приведе­ны в табл. 1.2, временные диаграммы — на рис.1.1.

14

AutoFeed#

0

CR.1

HostBusy — сигнал квитирования. Низкий уровень означает готовность к приему тетрады, высокий подтверждает прием тетрады

Высокий уровень указывает на обмен в режиме IEEE 1284 (в режиме SPP уровень низкий)

PtrClk. Низкий уровень означает готовность тетрады, высокий — ответ на сигнал HostBusy

Прием бита данных 3, затем бита 7 Прием бита данных 2, затем бита 6 Прием бита данных 1, затем бита 5 Прием бита данных 0, затем бита 4

17

Selectln*

0

CR.3

10

Ack#

I

SR.6

11

Busy РЕ Select Error#

I I 1 1

SR.7 SR.5 SR.4 SR.3

Таблица 1.2. Сигналы LPT-порта в полубайтном режиме ввода Контакт Сигнал SPP I/O Бит Описание

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5