- •1. Общие принципы организации системы ввода-вывода.
- •1.3.1 Организация свв универсальных эвм
- •1.3.2 Организация свв управляющих эвм
- •1.3.2.1 Порты ввода-вывода
- •1.3.2.2 Дискретные порты ввода-вывода
- •1.3.2.3 Однонаправленные порты
- •1.3.2.4 Двунаправленные порты и порты с альтернативной функцией
- •1.3.2.5 Аналого-цифровой преобразователь
- •1.3.2.7 Устройства сопряжения с объектом (усо) управляющих эвм
- •1.3.2.6 Цифро-аналоговый преобразователь
- •3 Аппаратные интерфейсы вычислительных систем
- •3.1 Характеристики аппаратных интерфейсов
- •3.2 Функции аппаратных интерфейсов
- •3.3 Классификация аппаратных интерфейсов
- •1.2.1 Процессор и память
- •1.2.2 Контроллер ввода-вывода
- •1.2.3 Процессор ввода-вывода
- •3.6 Внутрисистемный интерфейс amba
- •3.6.1 Внутрисистемный интерфейс amba ahb
- •3.6.2 Системный интерфейс amba asb
- •3.6.3 Периферийный интерфейс amba apb
- •3.3 Классификация аппаратных интерфейсов
- •3.7 Системные интерфейсы
- •3.7.1 Интерфейс pci
- •3.7.2 Интерфейс pci Express
- •3.9 Малые периферийные интерфейсы
- •3.9.1 Интерфейс rs-232
- •3.9.1.1 Сигнальные линии последовательного интерфейса
- •3.9.1.2 Управление потоком
- •3.9.1.3 Разъемы и кабели
- •3.9.1.4 Формат последовательной передачи данных
- •3.9.1.5 Работа с последовательным каналом
- •3.9.2 Интерфейс spi
- •3.9.2.1 Типы подключения к шине spi
- •3.9.2.2 Режимы работы шины spi
- •3.9.2.3 Достоинства шины spi
- •3.9.2.4 Недостатки шины spi
- •3.9.3 Интерфейс Centronics
- •3.9.4 Интерфейс sata
- •3.9.4.1 Физический интерфейс Serial ata
- •3.5.7 Приемопередатчик последовательного интерфейса
- •3.5.8 Особенности параллельных интерфейсов
- •1.3.2.7 Устройства сопряжения с объектом (усо) управляющих эвм
- •1.3.2.1 Порты ввода-вывода
- •1.3.2.2 Дискретные порты ввода-вывода
- •1.3.2.3 Однонаправленные порты
- •1.3.2.4 Двунаправленные порты и порты с альтернативной функцией
- •3.10.3.6 Синхронизация
- •3.9.2 Интерфейс spi
- •3.9.2.1 Типы подключения к шине spi
- •3.9.2.2 Режимы работы шины spi
- •3.9.2.3 Достоинства шины spi
- •3.9.2.4 Недостатки шины spi
- •3.10.3Интерфейс i2c
- •3.10.3.1 Концепция шины i2c
- •3.10.3.2 Реализация монтажного и и монтажного или
- •3.10.3.3 Принцип работы шины i2c
- •3.10.3.4 Сигналы старт и стоп
- •3.10.3.5 Подтверждение
- •3.10.3.6 Синхронизация
- •3.10.3.7 Форматы обмена данными по шине i2c (7-битный адрес)
- •3.10.3.8 Арбитраж
- •3.10.3.9 Достоинства шины i2c
- •3.10.4Интерфейс usb
- •3.10.4.1 Модель передачи данных
- •3.10.4.2 Протокол
- •1.3.2.5 Аналого-цифровой преобразователь
- •1.3.2.6 Цифро-аналоговый преобразователь
- •3.5.10Устройства гальванической изоляции в аппаратных интерфейсах
- •3.5.10.1 Dc/dc преобразователи
- •3.5.10.2 Реализация гальванической изоляции дискретного выхода модуля ввода-вывода sdx-09
- •3.5.10.3 Реализация гальванической изоляции дискретного входа модуля ввода-вывода sdx-09
- •3.5.10.4 Реализация гальванической изоляции rs-232 в контроллере
- •3.5.10.5 Технология iCoupler фирмы Analog Devices
3.9.2.3 Достоинства шины spi
1. Скорость передачи выше, чем у I2C, SMBus. Предельная простота протокола передачи на физическом уровне обуславливает высокую надежность и быстродействие передачи. Предельное быстродействие шины SPI измеряется десятками мегагерц и, поэтому, она идеальна для потоковой передачи больших объемов данных и широко используется в высокоскоростных ЦАП/АЦП, драйверах светодиодных дисплеев и микросхемах памяти.
2. Протяженность SPI сравнима с интерфейсами RS-232, RS-485, CAN.
3. Полнодуплексный обмен.
4. Протокол передачи битовый, а значит, гибкий для реализации и назначения:
Не ограничен передачей 8-битовых слов (можно и 12-битовые, и 16-
битовые).
Можно выбирать размер, содержимое и назначение пакетов передачи, т.е. определяется прикладной задачей, а не ограничивается стандартом (в отличие от I2C).
5. Очень простая аппаратная реализация интерфейса:
Пониженное энергопотребление по сравнению с I2C (никаких pullup-
регистров).
Никаких механизмов арбитража (разрешения конфликтных ситуаций)
и соответствующих им состояний отказа.
Ведомые устройства используют сигналы тактирования ведущего и не нуждаются в точных источниках тактирования.
Ведомый не нуждается в уникальном адресе по сравнению с I2C.
Все линии шины SPI являются однонаправленными, что существенно упрощает решение задачи преобразования уровней и гальванической изоляции микросхем.
3.9.2.4 Недостатки шины spi
1. Больше линий, чем в I2C.
2. Нет адресации в протоколе обмена, для каждого нового ведомого устройства требуется отдельная сигнальная линия выбора (SS).
3. Никакой аппаратной реализации подтверждения наличия ведомого устройства, т.е. ведущий может «разговаривать» с пустотой и не знать об этом.
4. Может быть только один мастер (нет режима мультимастера, в отличие от I2C).
5. Никакой аппаратной поддержки управления потоком данных.
6. Как такового стандарта не существует, например, как у I2C. Протокол
I2C является более стандартизованным, поэтому, пользователь I2C-
166
микросхем более защищен от проблем несовместимости выбранных компонентов.
3.9.3 Интерфейс Centronics
Порт параллельного интерфейса был введен в персональный компьютер для подключения принтера – отсюда и пошло его название LPT-порт (Line PrinTer – построчный принтер). Традиционный, он же стандартный, LPT-порт называется стандартным параллельным портом (Standard Parallel Port, SPP), или SPP-портом, и является однонаправленным портом, через который программно реализуется протокол обмена Centronics. Название и назначение сигналов разъема порта соответствуют интерфейсу Centronics. SPP-порт ориентирован на вывод данных, хотя с некоторыми ограничениями позволяет и вводить данные. Скорость передачи данных может варьироваться и достигать 1,2 Мбит/с.
Существуют различные модификации LPT-порта: двунаправленный, ЕРР, ЕСР и др., расширяющие его функциональные возможности, повышающие производительность и снижающие нагрузку на процессор. Поначалу они являлись фирменными решениями отдельных производителей, позднее был принят стандарт IEEE 1284.
К LPT-портам подключают принтеры, плоттеры, сканеры, коммуникационные устройства и устройства хранения данных, а также электронные ключи, программаторы и прочие устройства. Иногда параллельный интерфейс используют для связи между двумя компьютерами.
Таблица 8. Упрощѐнная таблица сигналов интерфейса 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 |
Нет бумаги (вход) |
Состояние |
167
13 |
13 |
Select |
Выбор (вход) |
Состояние |
14 |
14 |
Auto Feed |
Автоподача (выход) |
Управление |
15 |
32 |
Error |
Ошибка (вход) |
Состояние |
16 |
31 |
Init |
Инициализация (выход) |
Управление |
17 |
36 |
Select In |
Управление печатью (выход) |
Управление |
18-25 |
16-17, 19-30 |
GND |
Общий |
Земля |
С внешней стороны порт имеет 8-битную шину данных, 5-битную шину сигналов состояния и 4-битную шину управляющих сигналов, выведенные на разъем-розетку DB-25S. В LPT-порте используются логические уровни ТТЛ, что ограничивает допустимую длину кабеля из-за невысокой помехозащищенности ТТЛ-интерфейса. Гальваническая развязка отсутствует, схемная земля подключаемого устройства соединяется со схемной землей компьютера. Из-за этого порт является уязвимым местом компьютера, страдающим при нарушении правил подключения и заземления устройств. Поскольку порт обычно располагается на системной плате, в случае его
«выжигания» зачастую выходит из строя и его ближайшее окружение вплоть до выгорания всей системной платы.
Адаптер SPP-порта содержит три 8-битных регистра, расположенных по соседним адресам в пространстве ввода-вывода, начиная с базового адреса порта BASE (3BCh, 378h или 278h).
Data Register (DR) – регистр данных, адрес=ВА5Е. Данные, записанные в этот регистр, выводятся на выходные линии Data[7:0]. Данные, считанные из этого регистра, в зависимости от схемотехники адаптера соответствуют либо ранее записанным данным, либо сигналам на тех же линиях, что не всегда одно и то же.
Status Register (SR) – регистр состояния (только чтение), адрес=ВА5Е+1. Регистр отображает 5-битный порт ввода сигналов состояния принтера и флаг прерывания: состояние готовности принтера, сигнал о конце бумаги в принтере, сигнал о включении принтера, сигнал о любой ошибке принтера и др.
Control Register (СR) – регистр управления, адрес=ВА5Е+2, допускает запись и чтение. Регистр связан с 4-битным портом вывода управляющих сигналов, для которых возможно и чтение; выходной буфер обычно имеет тип
«открытый коллектор». При помощи этого регистра можно подавать такие сигналы, как сигнал аппаратного сброса принтера, сигнал на автоматический перевод строки по приему байта и возврата каретки (CR), сигнал стробирования выходных данных и др.
Перечислим шаги процедуры вывода байта по интерфейсу Centronics с указанием требуемого количества шинных операций процессора:
168
1. Вывод байта в регистр данных (1 цикл IOWR#).
2. Ввод из регистра состояния и проверка готовности устройства (сигнал Busy). Этот шаг зацикливается до получения готовности или до срабатывания программного тайм-аута (минимум 1 цикл IORD#).
3. По получению готовности выводом в регистр управления устанавливается строб данных, а следующим выводом строб снимается. Обычно, чтобы переключить только один бит (строб), регистр
управления предварительно считывается, что к двум циклам IOWR#
добавляет еще один цикл IORD#.
Видно, что для вывода одного байта требуется 4-5 операций ввода-вывода с регистрами порта (в лучшем случае, когда готовность обнаружена по первому чтению регистра состояния). Отсюда вытекает главный недостаток вывода через стандартный порт – невысокая скорость обмена при значительной загрузке процессора. Порт удается разогнать до скоростей 100-150 Кбайт/с при полной загрузке процессора, что недостаточно для печати на лазерном принтере. Другой недостаток функциональный – сложность использования в качестве порта ввода.
Все перечисленные недостатки помог решить стандарт на параллельный интерфейс IEEE 1284, принятый в 1994 году. Он определяет 5 режимов обмена данными, метод согласования режима, физический и электрический интерфейсы. Согласно IEEE 1284, возможны следующие режимы обмена данными через параллельный порт:
Режим совместимости (Compatibility Mode) – однонаправленный (вывод)
по протоколу Centronics. Этот режим соответствует SPP-порту.
Полубайтный режим (Nibble Mode) – ввод байта в два цикла (по 4 бита), используя для приема линии состояния. Этот режим обмена подходит для любых адаптеров, поскольку задействует только возможности стандартного порта.
Рис. 98. Передача данных в Nibble Mode.
Байтный режим (Byte Mode) – ввод байта целиком, используя для приема линии данных. Этот режим работает только на портах, допускающих чтение выходных данных (Bi-Directional или PS/2 Туре 1).
169
Рис. 99. Передача данных в байтовом режиме.
Режим ЕРР (ЕРР Mode) – двунаправленный обмен данными (ЕРР означает Enhanced Parallel Port). Управляющие сигналы интерфейса генерируются аппаратно во время цикла обращения к порту. Эффективен при работе с устройствами внешней памяти и адаптерами локальных сетей.
Режим ЕСР (ЕСР Mode) – двунаправленный обмен данными с возможностью аппаратного сжатия данных по методу RLE (Run
Length Encoding) и использования FIFO-буферов и DMA (ЕСР
означает Extended Capability Port). Управляющие сигналы интерфейса генерируются аппаратно. Эффективен для принтеров и сканеров (здесь может использоваться сжатие) и различных
устройств блочного обмена.
В настоящее время стандарт IEEE 1284 не развивается. Окончательная стандартизация параллельного порта совпала с началом внедрения интерфейса USB, который позволяет подключать также и комбинированные аппараты (сканер-принтер-копир) и обеспечивает более высокую скорость печати и надежную работу принтера. Также, альтернативой параллельному интерфейсу является сетевой интерфейс Ethernet.
Протокол EPP
Enhanced Parallel Port – улучшенный параллельный порт, который был разработан компаниями Intel, Xircom и Zenith Data Systems задолго до принятия стандарта IEEE 1284. Этот протокол предназначен для повышения производительности обмена по параллельному порту, впервые был реализован в чипсете Intel 386SL (микросхема 82360) и впоследствии принят множеством компаний как дополнительный протокол параллельного порта. Версии протокола, реализованные до принятия IEEE 1284, отличаются от нынешнего стандарта (см. ниже). Протокол ЕРР обеспечивает четыре типа циклов обмена: запись данных, чтение данных, запись адреса, чтение адреса.
170
Рис. 100. Цикл записи данных EPP.
Назначение циклов записи и чтения данных очевидно. Адресные циклы используются для передачи адресной, канальной и управляющей информации. Циклы обмена данными отличаются от адресных циклов применяемыми стробирующими сигналами.
Рис. 101. Обратная передача и приѐм данных по протоколу ECP.
Протокол ЕСР
Extended Capability Port – порт с расширенными возможностями, который был предложен Hewlett Packard и Microsoft для связи с ПУ типа принтеров или сканеров. Как и ЕРР, данный протокол обеспечивает высокопроизводительный двунаправленный обмен данными хоста с ПУ. Протокол ЕСР в обоих направлениях обеспечивает два типа циклов:
Циклы записи и чтения данных. Командные циклы записи и чтения.
Командные циклы подразделяются на два типа: передача канальных адресов и передача счетчика RLC (Run-Length Count).
171
В отличие от ЕРР вместе с протоколом ЕСР сразу появился стандарт на программную (регистровую) модель его адаптера, изложенный в документе "The IEEE 1284 Extended Capabilities Port Protocol and ISA Interface Standard" компании Microsoft. Этот документ определяет свойства протокола, не заданные стандартом IEEE 1284:
Компрессия данных хост-адаптером по методу RLE. Буферизация FIFO для прямого и обратного каналов. Применение DMA и программного ввода-вывода.
