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

ВТиИТ лекции

.pdf
Скачиваний:
54
Добавлен:
13.03.2016
Размер:
3.56 Mб
Скачать

Физическая реализация – разъем

Количество контактов – 9 или 25

Количество подключаемых устройств - стандартно 1, но существуют расширения протокола, позволяющие подключать до 256 устройств

Количество разрядов данных – от 5 до 9

Скорость передачи данных – 110 ... 115200 бит/с

Расстояние - стандартное до 15 м, в большинстве случаев при уменьшении скорости передачи может быть увеличено.

Особенности данного интерфейса – весьма низкая скорость передачи (около 10-14 КБайт/с), относительная удаленность объекта обмена информацией от компьютера, применение стандартного интерфейса для подключения к компьютеру без его вскрытия.

Протокол обмена по асинхронному последовательному интерфейсу

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

Первым передается младший разряд, последним - старший. Число бит данных от 5 до 8 (чаще всего - 8).

После этого может передаваться (а может и нет) служебный бит, он может быть использован для контроля правильности передачи - бит четности, или как признак передачи адреса устройства (этот режим реализован в микроконтроллерах семейства 8051)

Далее передаются 1, 1.5 или 2 стоповых бита, имеющих единичный уровень.

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

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

Электрические характеристики сигналов интерфейса

Существуют два варианта реализации последовательного интерфейса

RS-232C - сигнал стандартизирован по напряжению, у передатчика логическая 1 - от +5 В до +15 В, логический 0 - от -5 В до -15 В, на стороне приемника логическая 1 - от +3 В до +25 В, логический 0 - от -3 В до -25 В. Этот вариант интерфейса является наиболее распространенным.

токовая петля - логические уровни передаются коммутацией тока 20 мА, стандартная нагрузка при этом равна 680 Ом. При этом методе обычно используется гальваническая развязка входов приемников. Данный вариант интерфейса имеет большую дальность передачи информации.

Периферийные интерфейсы (продолжение)

Шина USB (Universal Serial Bus)

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

Рис.1 – Соединение периферийных устройств с помощью шины USB

Архитектура шины USB:

семи более не уровней Число

Хост

1 уровень

Корневой хаб

 

 

 

 

 

 

2 уровень

Хаб

 

Устройство

Хаб

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 уровень

Хаб

Хаб

Хаб

 

Устройство

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4 уровень

Хаб

 

Устройство

 

 

Устройство

Хаб

Хаб

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

...

...

...

7 уровень

Рис. 2 – Архитектура шины USB

Топология шины USB очень похожа на дерево (рис.2). В его корне находится ведущее устройство – хост, который осуществляет управление шиной. В задачи хоста входит: обнаружение подключения/отключения устройства, управление потоками данных, контроль статуса устройства, учёт статистики, распределение внутреннего питания между подключёнными устройствами. На шине всегда существует только один хост, поэтому направление передачи данных принято определять с его позиции. Если передача осуществляется от хоста к устройству, то поток имеет направление OUT и называется downstream. При передаче от устройства к хосту поток имеет направление IN и называется upstream.

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

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

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

Устройства могут использовать собственный источник питания или внутренний источник шины USB. Суммарный ток, потребляемый устройствами от источника шины USB, не должен превышать 1 А. Допускается подключение к шине до 127 подчинённых устройств и не более семи уровней (см. рис).

На шине USB доступны три скоростных режима работы устройств: низкоскоростной – до 1.5 Мбит/сек, полноскоростной – до 12 Мбит/сек и высокоскоростной – до 480 Мбит/сек. В первую очередь скорость работы шины определяет хост, а уже при подключении устройство настраивается на доступную максимальную скорость. Наивысшая скорость передачи достигается при работе устройства на высокоскоростной шине.

Физическая реализация

USB-устройства присоединяются к общей 4-х проводной шине, показанной на рис. 3 –

2 провода питания и 2 сигнальных провода, скрученных в витую пару для уменьшения помех. USB-устройства могут подсоединяться и отсоединяться от шины без выключения питания (так называемое “горячее подключение”). Максимальная длина кабеля – 10 м.

GND-земля, Vbus-питание, D+ D– -передача данных.

Vbus

Vbus

D+

D+

D-

D-

GND

GND

 

Рис.3 – Соединительные линии кабеля USB

Разъемы на концах USB-кабеля также специфицированы и выглядят следующим образом (рис. 4):

Рис. 4 – Разъемы кабеля USB

Структура информационного потока

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

Всю информацию, передаваемую по шине USB, можно разделить на следующие типы:

пакеты запроса (token);

пакеты данных (data);

маркеры подтверждения (handshake);

прочие пакеты

Пакет запроса (token) - это пакет служебной информации. Хост посылает запрос перед обменом данными или для проверки готовности точки. Пакет запроса состоит из идентификатора пакета (Packet ID – PID) (маркер запроса), адреса устройства ADDR, адреса точки ENDP и контрольной суммы CRC5.

Запросы, доступные хосту, имеют следующее назначение (указывается в поле PID):

OUT - хост начинает передачу данных точке ENDP устройства ADDR;

IN - хост ожидает данные из точки ENDP устройства ADDR;

SETUP - хост начинает контрольную передачу для точки ENDP устройства ADDR;

PING - хост проверяет готовность точки ENDP устройства ADDR. Данный запрос доступен на высоко скоростной шине для передачи BULK (тип передачи гарантированной доставки данных без ошибок) и обращен к точкам с направлением OUT.

Пакет данных (data) всегда передаётся вслед за запросом. В состав пакета входят идентификатор PID (маркер данных), полезные данные и контрольная сумма CRC16. На размер пакета данных накладывают ограничения тип передачи данных и режим работы шины USB.

Существуют следующие маркеры данных (тип маркера указывается в поле PID):

DATAO - чётный пакет данных;

DATA1 - нечётный пакет данных;

DATA2, MDATA – дополнительные маркеры, используемые при изохронном

(однонаправленном) обмене на высокоскоростной шине.

Маркеры данных позволяют не только идентифицировать пакет, но ещё и контролировать целостность потока за счёт их определённой последовательности.

Маркеры подтверждения (handshake) предназначены для сообщения о результатах получения данных и состоянии точки устройства.

Маркеры несут следующую информацию (тип маркера указывается в поле PID):

АСК - данные получены без ошибок и будут обработаны;

NAK - для точки OUT - данные получены без ошибок, но нет возможности их обработать, и поэтому требуется повторная передача данных. Для точки IN - данные не готовы, хост может повторить запрос позднее;

STALL - точка находится в состоянии HALT и не может выполнять свои функции без вмешательства хоста. Хост не должен повторять запрос;

NYET - данные получены без ошибок и будут обработаны. Следующий пакет точка принять не готова. Данный маркер имеет место на высокоскоростной шине для передачи BULK и используется точками OUT.

К прочим пакетам относятся SOF, PRE, ERR, SPLIT. Для программиста представляет интерес пакет SOF. Данный пакет используется для синхронизации и передается хостом с определённым интервалом времени.

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

На шине USB существует четыре типа передачи данных. Они отличаются передаваемым объёмом данных, приоритетом доставки и системой контроля и устранения ошибок.

Наиболее часто используемый тип – BULK. Для подобной передачи гарантирована доставка данных без ошибок, при этом время доставки не гарантировано и зависит от загруженности шины. Контроль данных осуществляется на уровне пакета - суммой CRC16 - и на уровне потока, где чётный и нечётный пакет имеют соответствующие маркеры - DATA0, DATA1. В случае обнаружения ошибки приёмная сторона не возвращает маркер подтверждения, тогда на передающей стороне запускается механизм автоматического повтора передачи.

Размер пакета данных может быть произвольным, в том числе и нулевым, но не должен превышать максимальное допустимое значение. Для высокоскоростной шины USB максимальное значение составляет 512 байт, для полноскоростной - 8, 16, 32 или 64 байта.

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

 

A E C

D

 

C

 

 

A

E

C

D

 

C

 

 

A

E C

D

C

 

O

A Полезн

R

A

O

A

Полезн

R

A

O

A Полезн

R

N

U

D , , N R

T

, ,

C

, ,

U

D

, , N

R

T

, ,

 

, ,

U

D

, , N R

, ,

C , ,

T

D D C

ые

C

D

D

C

ые C

C

D

D C

T ые

1

A

A данные

1

K

T

A

данные

1

K

T

A данные

K

 

R P 5

0

 

6

 

 

R P 5

1

 

6

 

 

R P 5

0

6

 

 

 

 

 

 

 

 

Рис. 5 – BULK передача данных

 

 

 

 

 

 

На высокоскоростной шине данный недостаток устранён с помощью запроса PING и подтверждения NYET. Для высокоскоростной шины после приёма второго пакета точка ответит подтверждением NYET. Это позволяет хосту приостановить передачу третьего пакета данных и контролировать её готовность коротким запросом PING. Продолжить передачу можно будет после получения подтверждения АСК.

BULK-приём представлен на рис. 6. Хост посылает запрос IN и подтверждает получение данных маркером АСК. Во втором цикле точка не готова передать данные, поэтому вместо пакета данных она посылает маркер NAK. После получения отказа хост повторяет запрос спустя некоторое время (цикл 3). Последний цикл заканчивается маркером STALL. Данный маркер посылает точка, не способная выполнять по каким-либо причинам свои функции; такое состояние точки называется HALT. В подобной ситуации для возобновления работы точки требуется вмешательство хоста. Точка, находящаяся в состоянии HALT, никак не влияет на работу других точек.

 

A E C

D

 

C

A

 

A E C

 

 

A E C

D

 

C

 

 

A E C

S

 

Полезн

R

 

N

 

 

N

 

T

I

D , ,

N

R

A

I

D , ,

N

R

I

D

N

R

A

Полезн

R

I

D

N

R

, ,

 

, ,

A, ,

A, ,

 

 

 

 

 

ые

C

C

 

 

 

 

, ,

 

 

, ,

 

 

, ,

 

 

 

, ,

 

N

D

D

C

T

данные

K

N

D

D

C

A

N

D

D

C

T

ые

C

K

N

D

D

C

L

1

данные

 

R P 5

A

 

6

 

 

R P 5

K

 

R P 5

A

 

1

 

 

R P 5

L

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

0

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 6 – BULK прием данных

 

 

 

 

 

 

 

 

 

Второй тип передачи – INTERRUPT (прерывание). Такой тип используется при необходимости обмена данными через заданный временной интервал. Хост гарантирует обмен с заданным интервалом и учитывает это при распределении загрузки шины.

Размер пакета данных для высокоскоростной шины имеет значение от 1 до 1024 байт, а для полноскоростной – от 1 до 64 байт. Интервал опроса точки также зависит от режима работы шины и находится в диапазоне 0,125...4 мс для высокоскоростного режима и 1...255 мс для полноскоростного.

Циклы обмена похожи на тип передачи BULK, представленные на рис. 5 и 6 выше. Отсутствие данных для передачи из точки IN является штатной ситуацией, хост пошлёт следующий запрос по истечении заданного времени.

Следующий тип передачи - ISOCHRONOUS (изохронный, т.е. однонаправленный). Передачи такого типа предназначены для быстрой доставки пакетов данных, при этом контроль целостности данных сводится к минимуму и ограничен наличием контрольной суммы CRC16. Повреждённый пакет уничтожается приёмной стороной, передающая сторона о возникновении ошибки не оповещается. Данный тип передачи используется для потоков видео- и аудиоданных.

Размер пакета данных на высокоскоростной шине достигает 1024 байт, на полноскоростной –

1023.

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

 

Запрос

 

 

Данные

 

 

Запрос

 

 

Данные

 

 

A

E

C

D

 

C

 

A

E

C

D

 

C

 

 

R

 

 

I

D

N

R

A

Полезные

I

D

N

R

A

Полезные

R

N

D

, ,

C

T

, ,

C

N

D

, ,

C

T

, ,

C

D

данные

D

данные

 

R

P

5

A

 

1

 

R

P

5

A

 

1

 

 

6

 

 

 

 

 

 

0

 

 

 

 

 

0

 

6

 

 

 

 

 

Рис. 7 – Изохронный прием данных

 

 

 

 

Последний тип передачи данных – CONTROL (контроль, управление). Данный тип

передачи используется только при обращении к контрольной точке устройства. Полная

транзакция контрольной передачи (рис. 8) состоит из трёх фаз.

 

 

 

 

 

 

 

S

A

E

C

D

 

 

 

C

 

 

 

 

 

 

 

 

 

 

 

E

A

 

Пакет

R

A

 

 

 

 

 

 

 

 

 

 

T

D , ,

N

R

T

 

 

, ,

C

, ,

 

 

 

 

 

 

 

 

 

 

U

D

D

C

 

SETUP

C

 

 

 

 

 

 

 

 

 

 

A

 

8 байт

1

K

 

 

 

 

 

 

 

 

 

 

P

R

P

5

0

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

A

E

C

D

 

 

 

C

 

 

A

E

C

D

 

 

 

C

 

I

A

 

Полезн

R

A

I

A

Полезн

R

A

D , , N

R

 

D

, , N

R

T

 

 

, ,

C

, ,

T

 

, ,

 

C

, ,

N

D

D

C

 

 

ые

C

N

D

D

C

 

ые

 

C

A

 

данные

1

K

A

данные

1

K

 

R

P

5

 

 

R

P

5

 

1

 

 

 

6

 

 

0

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O A E

C

D

 

C

 

 

 

O A E

C

D

 

C

A

 

 

A

 

R N

 

A R

 

 

 

D N

R

 

 

 

 

 

 

U D , , N R

 

, ,

 

, ,

 

 

U

, ,

 

T

, ,

C

,

,

 

 

 

 

 

T

 

C

C

 

 

T D D

C

 

A

 

T D D C

A 1

K

 

 

A

 

1

K

 

 

 

 

R

P

5

1

 

6

 

 

 

 

R

P

5

1

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 8 – Формат контрольной транзакции

 

 

 

 

 

 

Первая фаза, показанная в верхней части рисунка, называется SETUP, во время этой фазы хост передаёт пакет данных размером 8 байт. Данный пакет содержит требование, которое должно выполнить устройство. Вторая фаза, изображённая в средней части рисунка, – фаза данных – является необязательной. Она присутствует в случае, когда для выполнения требования необходимы дополнительные данные. Структура потока в фазе данных полностью идентична BULK-транзакции. Последняя фаза называется фазой статуса. Хост, ожидая подтверждения о выполнении требования устройством, посылает запросы. Направление запросов противоположно тем, которые использовались в фазе данных. При передаче запроса OUT хост посылает пакет данных нулевой длины. Пока устройство занято выполнением требования, оно отвечает маркером NAK, после успешного завершения - маркером АСК. Если устройство не способно выполнить требования или не поддерживает его, то в фазе данных или статуса необходимо вернуть маркер STALL. Размер пакета данных на высокоскоростной шине составляет 64 байта, на полноскоростной – 64, 32, 16 или 8 байт.

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

Интерфейс PCMCIA (Personal Computer Memory Card International Association)

Физическая реализация – малогабаритное гнездо 54 х 85 х 3.3 (5-10.5) мм с направляющими для установки Количество контактов – 68

Количество подключаемых устройств (разрядов адреса) – 26 разр (64М) Количество разрядов данных – 16 Тактовая частота – 33 МГц

Скорость передачи данных – 66 Мбайт/c

Особенности – очень малые габариты, стандарт на малое энергопотребление, используется в миниатюрных системах (ноутбуки и карманные компьютеры). В последнее время вытесняется шиной USB.

Системные интерфейсы и интерфейсы ввода/вывода

Параллельные шины ISA и PCI

Шина ISA (Industry Standard Architecture)

Разрядность шины адреса – 20 разрядов (1Мбайт адресного пространства) Разрядность шины данных – 8/16 разрядов Тактовая частота – 8 МГц Скорость передачи данных – 8/16 Мбайт/с Количество контактов – 98

Реализует режимы программного обмена с памятью, прямого доступа к памяти Радиальные прерывания (до 11 устройств).

Особенности – относительно низкая скорость, хорошая помехоустойчивость, часто используется как сама, так и в модификациях.

Разработка и примеры построения устройств с этой магистралью - стандарты MicroPC и PC-104. EISA (Extended ISA) – 32-разрядная шина. Поддерживает 32-разрядную адресацию (4Гб). Скорость передачи данных 33 Мбайт/сек.

Структура шины ISA

Устройства ISA

1

2 . . . 11

Шина адреса

Шина данных

Радиальные прерывания

. . .

Прямой доступ к памяти

Сигналы работы с памятью

Архитектура ЭВМ с шиной ISA

ОЗУ ЦП

шина

шина

ОЗУ

ЦП

Контроллер

шина ISA

шины

Контроллер Контроллер внешнего внешнего устройства устройства

Шина PCI (Peripheral Component Interconnect)

Шина Адрес/Данные – мультиплексирована Количество разрядов адреса – 32 (4Гб) Количество разрядов данных – 32/64 Тактовая частота – 33/66МГц

Скорость передачи данных – 32/264/528Мбайт/с Количество контактов – 188 Обработка прерываний по опросу.

4 линии IRQ – для многофункциональных устройств (4 прерывания на плате) ПДП реализован как режим управления шиной Особенности – высокая скорость, плохая помехоустойчивость

Структура шины PCI

 

 

 

 

 

Устройства PCI

 

 

1

2

3

4

 

Шина адреса/данных

 

 

 

 

IRQ A

 

 

A

 

 

 

 

 

IRQ B

 

 

B

Мост

 

 

 

IRQ C

 

 

C

PCI

 

 

IRQ D

 

 

D

 

 

 

 

 

 

 

 

Сигналы захвата шины

 

 

 

 

Сигналы работы с памятью

 

 

 

Архитектура ЭВМ с шиной PCI

ОЗУ ЦП

шина

шина

ОЗУ

ЦП

Северный

мост

Южный мост

шина PCI

 

 

 

Контроллер

Мост

шина ISA

 

внешнего

PCI-ISA

 

 

 

 

устройства

 

 

 

 

 

 

Контроллер

Контроллер

 

 

 

внешнего

внешнего

 

 

 

устройства

устройства

Достоинства параллельных шин:

Высокая производительность при меньшей частоте шины Недостатки параллельных шин:

При увеличении частоты возрастает задержка при неодинаковой длине проводов (latency)

Большое число проводов – сложно разместить на плате и обеспечить одинаковую длину

Последовательная шина PCI Express

Для последовательной шины проще увеличивать частоту передачи.

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

шины на несколько пар.

Соединение между устройствами – точка-точка Топология шины – звезда. Все устройства подключаются к центральному коммутатору.

Информация передается последовательно по двум дифференциальным парам (lane). Это позволяет уменьшить число проводников на плате и увеличить длину соединений.

Tx

Rx

Коммутатор

Устройство

PCI-Express

PCI-Express

Rx

Tx

Lane

Скорость передачи по одной полосе (lane) соответствует 1х Тактовая частота – 2.5ГГц, пропускная способность lane – 2.5 Гбит/с

Увеличение скорости достигается распараллеливанием (побитное распараллеливание) Связь между устройствами – Link

Link 1x, 2х, 4х, 8х, 16х, 32х (по числу lane). Используется пакетная передача данных.

 

 

 

 

Lane 1

 

 

 

 

Коммутатор

Lane 2

Устройство

 

PCI-Express

 

PCI-Express

Lane 3

 

 

 

 

Lane 4

 

 

Link 4x

 

 

 

Архитектура ЭВМ с шиной PCIExpress

ОЗУ ЦП

 

 

 

шина

шина

 

 

 

 

 

 

 

ОЗУ

 

ЦП

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Северный

 

 

 

 

 

Видео

 

 

 

 

мост

 

 

PCI-E

 

контроллер

 

PCI-E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шина PCI

 

 

 

 

 

 

 

 

 

 

 

 

 

Мост ввода/

 

 

 

 

 

 

 

 

 

 

 

 

вывода

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Контроллер

 

Контроллер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВУ

 

 

ВУ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PCI-E

 

PCI-E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Контроллер

 

Контроллер

 

 

 

 

 

ВУ

 

 

 

 

 

ВУ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Link

Скорость теор/реал,

Число

Мбайт/с

контактов

 

1x

250/220

36

 

 

 

4x

1000/800

64

8x

2000/1600

98

 

 

 

16x

4000/3200

164

 

 

 

Развитие PCI-Express:

Спецификация внешней кабельной системы PCI-Express: кабель длиной до 10 метров, пропускная способность 2.5 Гбит/с.

PCI-Express 2.0: пропускная способность 5 Гбит/с; динамическое управление скоростью и оповещение об изменении пропускной способности.

PCI-Express 3.0: пропускная способность 8 Гбит/с