Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Электронные средства сбора и обработки информации. Учебное пособие
.pdf
переключение микросхемы на прием или передачу одним сигналом с любого порта контроллера. При уровне "0" микросхема работает на прием,
а при "1" – на передачу.
Рис. 2.13. Буферные микросхемы приемопередатчиков RS-485 и RS-422:
D (driver) – передатчик; R (receiver) – приемник; DI (driver input) – цифровой вход
передатчика; RO (receiver output) – цифровой выход приемника; DE (driver enable) –
разрешение работы передатчика; RE (receiver enable) – разрешение работы приемника;
A – прямой дифференциальный вход/выход; B – инверсный дифференциальный
вход/выход; Y – прямой дифференциальный выход (RS–422); Z – инверсный
дифференциальный выход (RS–422)
Разность потенциалов (UAB) на дифференциальных входах А и В
приемник переводит в цифровой сигнал на цифровом выходе приемника
(RO). Чувствительность приемника определяется техническими характеристиками микросхемы и отображается в документации. Согласно спецификации на интерфейсы RS-485 и RS-422 эти пороги составляют ±200 мВ.
То есть если разность потенциалов между линиями А и В превышает
+200 мВ, – приемник определяет логическую единицу, а если разность потенциалов меньше –200 мВ, – приемник определяет логический ноль. Если разность потенциалов в линии не превышает ±200 мВ, то есть не выходит за пороговые значения, приемник не гарантирует правильное распознавание сигнала. Кроме того, в линии связи могут наводиться несинфазные помехи, искажающие столь слабый сигнал. Это может привести
к ошибке при приеме информации.
31

Устройства подключаются к витой паре по топологии «общая шина»,
Допустимое число передатчиков / приемников
1 / 10
32 / 32
Максимальная длина кабеля
1200 м
1200 м
Максимальная скорость связи
10 Мбит/с
10 Мбит/с
Диапазон напряжений "1" передатчика
+2...+10 В
+1.5...+6 В
Диапазон напряжений "0" передатчика
-2...-10 В
-1.5...-6 В
Пороговый диапазон чувствительности приемника
±200 мВ
±200 мВ
Максимальный ток короткого замыкания драйвера
150 мА
250 мА
Допустимое сопротивление нагрузки передатчика
100 Ом
54 Ом
Входное сопротивление приемника
4 кОм
12 кОм
Максимальное время нарастания сигнала передатчика
10% бита
30% бита
то есть все прямые выходы (A) подсоединены к одному проводу, а инверсные (B) – к другому.
Так как входное сопротивление приемника со стороны линии не бес-
конечно, а мощность передатчика ограничена, то количество приемников,
подключенных к линии, ограничено. Согласно спецификации RS-485 к
передатчику может подключить не более 32 приемников. Однако выпускаются микросхемы с повышенным входным сопротивлением для подключения к сети значительно большего количества устройств.
Согласно спецификации максимальная скорость связи по RS-485 мо-
жет достигать 10 Мбит/с, а максимальное расстояние – 1200 м. Для подключения устройств на большем расстоянии, а также для увеличения количества подключенных устройств используются специальные повторители (репитеры).
Основные характеристики интерфейсов RS-485 и RS-422 приведены
в табл. 2.2.
Линия связи представляет собой один кабель витой пары, к которому
присоединяются все приемники и передатчики. Расстояние от кабеля до
буферных микросхем интерфейса RS-485 должно быть минимальным, так
как длинные ответвления вызывают отражения и вносят рассогласование.
Таблица 2.2
Стандартные параметры интерфейсов RS-422 RS-485
На рис. 2.14 показаны схемы подключения устройств по интерфейсам
RS-485 и RS-422.
32

Для согласования к концам кабеля подключают резисторы (Rt) номи-
налом 120 Ом и мощностью 0,25 Вт (рис. 2.14). Если в сети имеется только один передатчик, находящийся в конце линии, то достаточно одного
согласующего резистора на противоположном конце линии.
а
б
Рис. 2.14. Схемы подключения устройств: а – по интерфейсам RS-485; б – RS-422
2.6. ИНТЕРФЕЙС USB
Интерфейс USB (Universal Serial Bus, универсальная последовательная шина) – последовательный интерфейс, предназначенный для подключения к персональному компьютеру различных периферийных устройств.
Интерфейс USB позволяет подключать одновременно до 127 устройств.
Также имеется возможность осуществлять питание подключенных
устройств непосредственно от шины USB, если потребляемый ток не превышает 500 мА.
2.6.1. История создания
Первая версия спецификации интерфейса была опубликована в начале 1996 г., но широкого распространения она не получила из-за ошибок
в реализации. После исправления выявленных ошибок осенью 1998 г. была представлена спецификация 1.1, которая широко использовалась до появления версии 2.0. Версия 2.0 была опубликована весной 2000 г. В ней
33

предусматривалось повышение пропускной способности шины в 40 раз до
480 Мбит/с. При этом была предусмотрена обратная совместимость USB
2.0 с USB 1.1, т. е. устройства USB 1.1 будут работать с USB 2.0 контроллерами на скорости 12 Мбит/с. Скорость 480 Мбит/с достигается только
при одновременном использовании USB 2.0 контроллера и USB 2.0 периферии. В 2008 г. появилась спецификация USB 3.0.
В спецификации USB 3.0 используются разъёмы и кабели обновлён-
ного типа, но они функционально и физически совместимы с USB 2.0. Кабель USB 2.0 состоит из четырех линий – две линии для приёма и передачи данных и две линии питания. В USB 3.0 к этим линиям добавляются
еще четыре линии связи состоящие из двух витых пар. В результате этого
кабель USB 3.0 гораздо толще кабеля USB 2.0. Дополнительные контакты
в разъеме USB 3.0 расположены на другом контактном ряду, что дает возможность визуально определять принадлежность кабеля к той или иной
версии стандарта. В спецификации USB 3.0 повышена скорость передачи
информации до 4,8 Гбит/с, что в десять раз больше максимальной скорости передачи USB 2.0 (480 Мбит/с). Кроме того, в интерфейсе USB 3.0
увеличено значение максимально допустимого тока потребления подключенного устройства с 500 до 900 мА.
2.6.2. Архитектура шины
Архитектура шины USB обеспечивает подключение одного или не-
скольких USB устройств к компьютеру напрямую или через внешний
концентратор.
Физическая архитектура USВ шины показана на рис. 2.15.
Шина USB состоит из следующих элементов:
− Хост, или хост-контроллер (Host Controller), – это основной кон-
троллер, который управляет работой всех устройств на шине USB. На
шине USB допускается наличие только одного хост-контроллера. Обычно
персональный компьютер содержит несколько хостов. При этом каждый
хост управляет отдельной шиной USB. На старых компьютерах часто был
один хост USB 1.1 и несколько хостов USB 2.0.
− Хаб, или концентратор (HUB), – устройство, преобразующее один
восходящий порт (Upstream Port) во множество нисходящих портов
(Downstream Ports), то есть увеличивает количество портов на шине USB.
Архитектура допускает последовательное соединение не более пяти хабов.
34

− Корневой хаб (Root HUB) – это хаб, входящий в состав хоста.
Хост
Корневой хаб
Хаб
Функция
Функция
Функция
Функция
Функция
Функция
Хаб
− Функция (Function) – это периферийное устройство или отдельный
блок периферийного устройства, способный передавать и принимать информацию по шине USB. Каждая функция предоставляет информацию о
своей конфигурации, которая описывает возможности периферийного
устройства и требования к ресурсам. Перед использованием функция
должна быть сконфигурирована хостом, ей должна быть выделена полоса
в канале и выбраны опции конфигурации.
− Устройство (Device) представляет собой функцию, хаб или их
комбинацию.
− Порт (Port) представляет собой точку подключения устройства.
Рис. 2.15. Физическая архитектура USВ шины
Физическая архитектура USВ шины определяется следующими пра-
вилами:
− Все устройства подключаются к хосту через хаб или корне-
вой хаб.
− Физически устройства соединяются между собой по топологии
«многоярусная звезда» с вершиной в корневом хабе, а центром каждой
звезды является хаб.
− Каждый кабельный сегмент соединяет между собой две точки –
хаб с функцией или другим хабом.
35

− К каждому порту хаба может подключаться или другой хаб, или
Прикладная
Хаб
Функция
Функция
периферийное устройство.
программа
Рис. 2.16. Логическая архитектура USВ шины
Реализация физической архитектуры скрыта от прикладных программ
системным программным обеспечением, поэтому логическая архитектура
выглядит как обычная звезда, центром которой является прикладное программное обеспечение, а вершинами – набор конечных точек (рис. 2.16).
Прикладная программа ведет обмен информацией с каждой конечной
точкой.
2.6.3. Протокол передачи данных
Передача данных в шине USВ осуществляется асинхронно и с помощью блоков информации, называемых фреймом или кадром. Каждый кадр
передается за фиксированный интервал времени. Работа с командами и
блоками данных осуществляется при помощи логической абстракции,
называемой каналом. Внешнее устройство также делится на логические
абстракции, называемые конечными точками, поэтому канал является логической связкой между хост-контроллером и конечной точкой внешнего
устройства. Для передачи команд используется канал, открытый по умолчанию, а для передачи данных открываются либо потоковые каналы, либо
каналы сообщений.
Шина USB 2.0 имеет следующие режимы передачи данных:
− низкоскоростной (LS, Low speed) с пропускной способностью
1,5 Мбит/с;
12 Мбит/с;
480 Мбит/с.
4,8 Гбит/с.
− полноскоростной (FS, Full speed) с пропускной способностью
− высокоскоростной (HS, High speed) с пропускной способностью
В шине USB 3.0 добавлен режим с пропускной способностью
36

В спецификации шины USB описаны четыре типа передачи данных:
1. Управляющие передачи (Control Transfers) предназначены для на-
чальной конфигурации устройства во время подключения, для управления
устройством и получения информации об устройстве в процессе работы.
Протокол обеспечивает гарантированную доставку таких посылок. Для
таких посылок хост гарантированно выделяет 10 % полосы пропускания.
2. Передачи массивов данных (Bulk Data Transfers) предназначены для
передачи больших массивов данных. В таких посылках гарантируется доставка данных, но время доставки не ограничено, и такая передача занимает всю доступную полосу пропускания шины. Однако приоритет у таких передач самый низкий, они могут приостанавливаться при большой
загрузке шины. Этот тип передачи допускается только на полной скорости
передачи. Такие посылки используются при передаче данных в принтер
или из сканера.
3. Изохронные передачи (Isochronous Transfers) применяются для обмена данными в реальном времени. В таких посылках на каждом временном интервале требуется передавать строго определенное количество данных, но при этом доставка информации не гарантирована. Для таких передач выделяют предварительно согласованную часть пропускной способности шины и они имеют заданную задержку доставки. Изохронные передачи обычно используются в мультимедийных устройствах для передачи
аудио- и видеоданных.
4. Передачи по прерываниям (Interrupt Transfers) используются при
передаче отдельных одиночных пакетов данных небольшого размера.
В этих посылках каждый пакет передается за ограниченное время и передача данных осуществляется в случайный момент времени. Такие посылки должны обслуживаться не медленнее, чем того требует устройство,
и используются в устройствах ввода (мышь, клавиатура).
Управление передачей и приемом данных осуществляется только хо-
стом. Кроме того, все невыполненные по каким-либо причинам операции
запоминаются в виде списков, которые постоянно обновляются. Количество списков соответствует количеству типов передач, и каждая невыполненная операция записывается в соответствующий список.
Протокол передачи данных по USB описывает три типа пакета для
осуществления обмена данными. Обмен данными часто называют тран-
37

закцией. Каждый обмен данными инициируется хостом, который передает
Хост ждет
OUT / SETUP
Data
Handshake
Устройство ждет
Хост ждет
IN
Data
Handshake
Устройство ждет
а
б
пакет-маркер периферийному устройству. В этом пакете передается вся
служебная информация о передаче (адрес устройства, номер конечной
точки, а также тип и направление передачи). Устройство, распознавшее
свой адрес в пакете, готовится к обмену информацией. После этого источник данных, посылает пакет данных, предназначенных для передачи, а затем, в случае успешного приема пакета с данными, приемник посылает
специальный пакет, подтверждающий прием. В случае отсутствия данных
для передачи посылается специальное уведомление об этом.
Последовательность пакетов показана на рис. 2.17.
Рис. 2.17. Последовательность пакетов обмена данными по интерфейсу USB:
а – вывод данных; б – ввод данных
Хост-контроллер циклически формирует кадры (Frames), состоящие
из всех запланированных транзакций. Все кадры начинаются с посылки
специального маркера SOF (Start Of Frame), который является сигналом
синхронизации для всех устройств, включая хабы, подключенных к шине.
После каждого кадра выделяется специальный интервал времени EOF
(End Of Frame), запрещающий хабам передавать данные по направлению к
контроллеру.
признаком конца – EOP. Тип пакета определяется полем PID. Назначение
остальных полей раскрывается, как показано на рис. 2.18. Длина полей
Sync и EOP указана для низко- и полноскоростных передач, для высокоскоростных передач поле Sync должно быть удлинено до 32 битовых интервалов, а EOP – до 8 (в пакетах SOF поле EOP имеет длину 40 бит).
Пакет начинается с синхропоследовательности Sync и завершается
38

Пакеты-маркеры (Token)
Маркер транзакции вывода, несет идентификатор конечной точки
кодом PID)
Маркер транзакции ввода, несет идентификатор конечной точки
кодом PID)
Маркер транзакции управления, несет идентификатор конечной точки
(адрес устройства и номер точки)
Маркер начала микрокадра, несет 11-битный номер кадра
(вместо полей Addr и EndP)
PING
0100
Пробный маркер управления потоком (в USB 2.0)
Пакеты данных
DATA0
0011
Пакеты данных; чередование PID позволяет различать четные
и нечетные пакеты для контроля правильности подтверждения
DATA1
1011
DATA2
0111
Дополнительные типы пакетов данных, используемые в транзакциях
с широкополосными изохронными точками (в USB 2.0 для HS)
MDATA
1111
Пакеты квитирования (Handshake)
ACK
0010
Подтверждение безошибочного приема пакета
Индикация занятости (неготовности конечной точки к обмену
данными, незавершенности обработки транзакции управления)
STALL
1110
Конечная точка требует вмешательства хоста
Подтверждение безошибочного приема, но указание на отсутствие
(в USB 2.0)
Специальные пакеты (Special)
Преамбула (маркер) передачи на низкой скорости
(разрешает трансляцию данных на низкоскоростной порт хаба)
ERR
1100
Сигнализация ошибки в расщепленной транзакции (в USB 2.0)
SPLIT
и CS)
Маркер расщепленной транзакции (в USB 2.0). В зависимости
завершения), назначение определяется битом SC в теле маркера
а б в
Рис. 2.18. Форматы пакетов USB:
а – пакет маркер; б – пакет данных; в – пакет квитирования
В табл. 2.3 показаны назначения каждого поля в пакете.
Таблица 2.3
Имя
Код
PID
OUT 0001
IN 1001
SETUP 1101
SOF 0101
Содержимое и назначение
(адрес устройства и номер точки; направление точки определяется
(адрес устройства и номер точки; направление точки определяется
NAK 1010
NYET 0110
места для приема следующего пакета максимального размера
PRE 1100
(SS
1000
от назначения обозначается как SS (маркер запуска) и CS (маркер
39

В начале каждого пакета идет синхронизирующая последователь-
ность Sync, за которой следует его идентификатор PID (Packet Identificator). После идентификатора следует его инверсная копия – Check. Если
идентификаторы PID и Check не совпадают, то пакет считается ошибочным. Кроме того, все поля пакета, исключая PID и признак EOP, защищаются CRC-кодом, состоящим из пяти бит для пакетов-маркеров и шестнадцати бит для пакетов данных. Несовпадение принятого CRC с его расчетным значением является признаком ошибки. Завершается пакет специальным сигналом EOP, и в случае обнаружения в пакете нецелого числа
байт он считается ошибочным. Ложный EOP, даже полученный на границе байта, не позволит принять пакет из-за ошибки по CRC-контролю.
Для уменьшения вероятности ошибки при передаче пакетов и улучшении
синхронизации на физическом уровне в данные пакета после передачи
шести единичных бит добавляется нулевой бит. Если приемник обнаруживает в данных пакета подряд более шести единичных бит, то пакет считается ошибочным.
Отсутствие ответа партнера на пакет каждое устройство обнаружива-
ет при помощи счетчика тайм-аута. При превышении максимального времени ожидания ответа он прерывает передачу и генерирует ошибку по
тайм-ауту. Допустимое значение тайм-аута выражается в битовых интервалах и зависит от скорости.
У хост-контроллера для каждой конечной точки всех подключенных
устройств имеется свой счетчик ошибок, который обнуляется при планировании каждой транзакции. Этот счетчик вычисляет количество всех
ошибок при обмене информацией, в том числе и по тайм-ауту, и в случае
превышения заданного порога канал с данной конечной точкой блокируется, и информация об этом передается драйверу устройства. До превышения порога хост отрабатывает ошибки для неизохронных передач попытками повтора транзакций, без уведомления клиентского ПО, а изохронные передачи не повторяются, и в случаи обнаружения ошибок хост
об этом сообщает сразу.
При обнаружении любой из перечисленных ошибок в пакете прием-
ник считает его недействительным и на такие пакеты ни хост-контроллер,
ни устройство не отвечают. В случае изохронной передачи данные недействительного пакета просто игнорируются, т. е. теряются, а в остальных
случаях чаще всего происходит повторная передача.
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
