МПС

Интерфейсы персонального компьютера (Лекция)

 

ПЛАН ЛЕКЦИИ

1. Интерфейс Centronics

2. Интерфейс RS-232C

3. Другие интерфейсы компьютера

4. Шина USB

 

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

 

1. Интерфейс Centronics

Основным назначением интерфейса Centronics (отечественный аналог – стандарт ИРПР-М) является подключение к компьютеру принтеров различных типов (из-за чего его называют принтерным портом). Поэтому распределение контактов разъема, назначение сигналов, программные средства управления интерфейсом ориентированы именно на такое применение. В то же время, с помощью данного интерфейса можно подключать к компьютеру и многие другие стандартные внешние устройства (например, сканеры, дисководы и т.д.), а также нестандартные внешние устройства.

Назначение 36 контактов разъема Centronics и соответствующих им контактов разъема принтера приведено в таблице далее. В таблице символ I обозначает входной сигнал компьютера, а О – выходной сигнал.

Сигналы интерфейса Centronics имеют следующее назначение:

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

-STROBE – сигнал стробирования данных. Данные действительны как по переднему, так и по заднему фронту этого сигнала. Сигнал говорит приемнику (принтеру) о том, что можно принимать данные с шины данных.

-АСК – сигнал подтверждения принятия данных и готовности приемника (принтера) принять следующие данные. То есть реализуется асинхронный обмен.

BUSY – сигнал занятости принтера обработкой полученных данных и неготовности принять следующую порцию данных. Активен также при переходе принтера в состояние off-line, при ошибке и при

отсутствии бумаги. Компьютер начинает новый цикл передачи только после снятия -АСК и после снятия BUSY.

-AUTO FD – сигнал автоматического перевода строки. Получив его, принтер переводит каретку на следующую строку текста.

Остальные сигналы не являются обязательными.

РЕ – сигнал конца бумаги. Получив его, компьютер переходит в режим ожидания. Если в принтер вставить лист бумаги, то сигнал снимается.

SLCT – сигнал готовности приемника. С его помощью принтер сообщает о том, что он выбран и готов к работе. У многих принтеров имеет постоянно высокий уровень.

-SLCT IN – сигнал, посредством которого  компьютер сообщает принтеру о том, что тот выбран, и последует передача данных.

-ERROR – сигнал ошибки принтера. Активен при внутренней ошибке, переходе принтера в состояние off-line или при отсутствии бумаги. Как видим, здесь многие сигналы дублируют друг друга.

-INIT – сигнал инициализации (сброса) принтера. Его длительность составляет не менее 2,5 мкс. По нему происходит очистка буфера печати.

 

Табл. Назначение контактов разъемов Centronics

 

Табл. Назначение контактов разъемов Centronics (продолжение)

 

Временная диаграмма цикла передачи данных представлена на рис. 8.7. Перед началом цикла передачи данных компьютер должен убедиться, что сняты сигналы BUSY и -АСК. После этого выставляются данные, формируется строб, снимается строб, и снимаются данные. Принтер должен успеть принять данные с выбранным темпом. При получении строба принтер формирует сигнал BUSY, а после окончания обработки данных выставляет сигнал -АСК, снимает BUSY и снимает -АСК. Затем может начинаться новый цикл.

Максимальная длина соединительного кабеля по стандарту – 1,8 м. Максимальная скорость обмена – 100 Кбайт/с.

Формирование и прием сигналов интерфейса Centronics производится путем записи и чтения выделенных для него портов ввода/вывода. В компьютере может использоваться три порта Centronics, обозначаемых LPT1 (базовый адрес 378), LPT2 (базовый адрес 278) и LPT3 (базовый адрес ЗВС).

Базовый адрес порта используется для передачи принтеру байта данных. Установленные на линиях данные можно считать из этого же порта.

Следующий адрес (базовый +1) служит для чтения битов состояния принтера (бит 3 соответствует сигналу -ERROR, бит 4 – сигналу SLCT, бит 5 – сигналу РЕ, бит 6 – сигналу -АСК, бит 7 – сигналу BUSY). Последний используемый адрес (базовый + 2) применяется для записи битов

управления принтером (бит 0 соответствует сигналу -STROBE, бит 1 -сигналу -AUTO FD, бит 2 – сигналу -INIT, бит 3 – сигналу -SLCT IN и наконец, бит 4, равный единице, разрешает прерывание от принтера).

Рис. 8.7. Временные диаграммы цикла передачи данных в Centronics (все временные интервалы указаны в наносекундах)

 

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

 

2. Интерфейс RS-232C

Интерфейс RS-232C предназначен для подключения к компьютеру стандартных внешних устройств (принтера, сканера, модема, мыши и др.), а также для связи компьютеров между собой. Основными преимуществами использования RS-232C по сравнению с Centronics являются возможность передачи на большие расстояния (по стандарту длина соединительного кабеля может доходить до 15 метров) и гораздо более простой кабель (с меньшим количеством проводов). В то же время работать с RS-232C несколько сложнее. Данные в интерфейсе RS-232C передаются в последовательном коде (бит за битом) побайтно. Каждый байт обрамляется стартовым и стоповыми битами. Данные могут передаваться как в одну, так и в другую сторону по разным проводам (дуплексный режим). Скорость передачи – до 14,4 Кбайт/с (115,2 Кбит/с).

Компьютер имеет 25-контактный разъем (типа DB25P) или 9-контактный разъем (типа DB9P) для подключения кабеля интерфейса RS-232C.

Назначение контактов разъема приведено в табл. 8.8 (в таблице применены обозначения: I – входной сигнал компьютера, О – выходной сигнал компьютера).

Табл. 8.8. Назначение контактов разъемов интерфейса RS-232C

 

Назначение сигналов интерфейса RS-232C следующее:

FG – защитное заземление (экран).

-TxD – данные, передаваемые компьютером в последовательном коде (логика отрицательная).

-RxD – данные, принимаемые компьютером в последовательном коде (логика отрицательная).

RTS – сигнал запроса передачи. Активен во все время передачи.

CTS – сигнал сброса (очистки) для передачи. Активен во все время передачи. Говорит о готовности приемника.

DSR – готовность данных. Используется для задания режима модема.

SG – сигнальное заземление, нулевой провод.

DCD – обнаружение несущей данных (детектирование принимаемого сигнала).

DTR – готовность выходных данных.

RI – индикатор вызова. Говорит о приеме модемом сигнала вызова по телефонной сети.

Чаще всего используется трех- или четырехпроводная связь (для двунаправленной передачи). Схема соединения двух устройств при че-тырехпроводной линии связи показана на рисунке далее.

Рис. Схема четырехпроводной линии связи для RS-232C

 

Для двухпроводной линии связи в случае передачи из компьютера во внешнее устройство используются сигналы SG и TxD. Все 10 сигналов интерфейса задействуются только при соединении компьютера с модемом.

Формат передаваемых данных показан на рисунке ниже. Собственно данные (содержащие 5, 6, 7 или 8 бит) сопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определенные интервалы времени. Очень важно, чтобы тактовые частоты приемника и передатчика были одинаковыми (допустимое расхождение – не более 10%). Скорость передачи по RS-232C может выбираться из ряда: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с.

 

Рис. Формат данных RS-232C

 

Все сигналы RS-232C передаются специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи. Отметим, что данные передаются в инверсном коде (логической единице соответствует низкий уровень, логическому нулю – высокий уровень).

 

Рис. Уровни сигналов RS-232C на передающем и принимающем концах линии связи

 

Обмен по RS-232C осуществляется компьютером с помощью обращений по специально выделенным для этого портам СОМ1 (адреса 3F8...3FF, прерывание IRQ4), COM2 (адреса 2F8...2FF, прерывание IRQ3), COM3 (адреса 3E8...3EF, прерывание IRQ10), COM4 (адреса 2E8...2EF, прерывание IRQ 11).

Для реализации интерфейса применяются микросхемы универсальных асинхронных приемопередатчиков (УАПП, UART Universal Asynchronous Receiver/Transmitter) типа 18250, 16550А или их аналоги. Компьютер с помощью посылки управляющих кодов может выбрать скорость обмена, формат передаваемых посылок (количество битов данных, проверка четности, использование стоповых битов), разрешить или запретить прерывания, а также установить или сбросить управляющие

сигналы. Имеется также возможность прочитать слово состояния UART для определения источника прерывания или состояний флагов.

 

3. Другие интерфейсы компьютера

Интерфейс шины PCI (Peripheral Component Interconnect bus) стал широко применяться с появлением процессоров Pentium. Шина PCI дает компьютеру возможность наиболее быстро общаться с внешним миром, так как она существенно превосходит по быстродействию шину ISA. Предложенная в начале как локальная шина для дополнения к основной магистрали, PCI, тем не менее, обладает всеми достоинствами универсальной системной магистрали.

Шина PCI имеет два варианта: 32-разрядный (в нем используется 124-контактный разъем) и 64-разрядный (188-контактный разъем). При этом гарантируется как прямая, так и обратная совместимость 32- и 64-разрядных устройств. Чаще всего применяется 32-разрядный вариант PCI.

Тактовая частота PCI составляет 33 МГц (однако допускается и частота 66 МГц). Максимальная теоретически возможная скорость обмена при тактовой частоте 33 МГц достигает 132 или 264 Мбайт/с для 32 и 64 разрядов данных, соответственно, что в 20 раз превышает пропускную способность ISA. Предусмотрена возможность включения плат с напряжением питания как 5 В, так и 3,3 В (в раздельные разъемы). На магистрали предусмотрен арбитраж, то есть возможность поочередного захвата шины несколькими задатчиками, с разрешением конфликтов между ними. Предусмотрен высокоскоростной обмен по магистрали без участия процессора. Возможна автоконфигурация, то есть автоматическое распределение ресурсов между включенными платами (по принципу РпР). Каждое из устройств шины может захватить ее и провести необходимый обмен.

Шина PCI представляет собой открытый непатентованный стандарт, который поддерживают все основные производители персональных компьютеров и периферийных контроллеров. Сейчас она рассматривается как основа для таких распространенных компьютерных платформ, как DOS/ Windows, Macintosh и UNIX. Ведущие производители микросхем уже выпускают специальные комплекты микросхем для ее поддержки. Независимость от типа процессора обещает шине PCI большое будущее. Сейчас она занимает второе место по популярности после ISA.

Большим недостатком шины PCI по сравнению с ISA является ограниченное количество устройств на шине (не более четырех), для большего количества устройств необходимо применение мостов PCIPCI. Так как в компьютере одним из PC I-устройств является контроллер шины (то есть центральный процессор), для подключения карт расширения остается всего три разъема (слота). Один из PCI-слотов, как правило, используется

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

Шина PCI относится к мультиплексированным шинам, она имеет полностью мультиплексированную шину адреса/данных. При этом адрес может быть 32 разрядным или 64-разрядным (он передается по 32-разрядной шине за два такта, сначала младшие разряды, затем старшие) Точно так же и данные могут передаваться как 32-разрядные, так и 64-разрядные (за два такта при 32-разрядной шине). В 64-разрядной версии PCI шина адреса/данных имеет 64 разряда.

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

Основные сигналы шины PCI следующие:

   ADO...AD31 – шина адреса/данных. Адрес передается в начале цикла, затем – данные;

    -С/ВЕО...-С/ВЕЗ (Command/Byte Enable) – четыре линии, которые в фазе адреса определяют один из 16 возможных типов цикла передачи данных (табл. 8.9), а в фазе данных определяют действительность байтов данных;

    -FRAME – строб адреса, активен во время передачи данных;

    -IRDY (Initiator Ready) – готовность задатчика (инициатора обмена) к обмену данными;

    -TRDY (Target Ready) – готовность исполнителя (целевого устройства) к обмену данными;

   -DEVSEL (Device Select) – подтверждение опознания адреса от исполнителя;

    -STOP – запрос на останов текущего цикла от исполнителя к задат-чику;

    -RST – сброс всех устройств;

    CLK – тактовый сигнал шины;

    PAR - бит четности для линий ADO...AD31 и С/ВЕО... С/ВЕЗ;

    -PERR – сигнал ошибки четности;

    -REQO...-REQ3 – запрос от PCI-устройств на захват шины;

    -GNTO...-GNT3 – предоставление шины PCI-устройствам;

    -REQ64 – запрос на 64-битный обмен;

    -ASK64 – подтверждение 64-разрядного обмена;

    -INTRA, -INTRB, -INTRC, -INTRD - линии запросов прерываний;

    IDSEL – выбор устройства-исполнителя в циклах записи и чтения конфигурации.

Табл. 9. Типы циклов обмена PCI

 

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

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

При синхронном обмене в начале цикла (адресная фаза) по шине AD передается код адреса, а по линиям С/ЕЕ – код типа цикла (команда). Действительность адреса определяется сигналом -FRAME (по положительному фронту CLK после начала сигнала -FRAME). После опознания адреса исполнитель выставляет сигнал подтверждения выборки -DEVSEL, после чего начинается фаза данных. То есть можно сказать, что адрес передается асинхронно. В фазе данных по шине данных передаются слова данных, тактируемые положительными фронтами сигнала С LK. Сигналы готовности -IRDY и -TRDY выставляются в начале фазы данных и остаются активными до окончания цикла. По линиям -С/ВЕ в фазе данных передаются сигналы разрешения байтов (то есть определяется формат передаваемых данных). Перед последним тактом передачи данных задат-чик снимает сигнал -FRAME, после чего снимаются сигналы -IRDY, -TRDY и -DEVSEL.

 

Рис. Синхронный обмен по шине PCI

 

При асинхронном обмене по шине PCI  фаза адреса осуществляется как в предыдущем случае, а в фазе данных как задатчик, так и исполнитель могут приостанавливать обмен снятием своих сигналов готовности (соответственно, -IRDY и -TRDY). Цикл обмена (транзакция) при этом удлиняется за счет введения дополнительных тактов ожидания. Сигналы -FRAME и -DEVSEL вырабатываются аналогично случаю синхронного обмена.

Рис. Асинхронный обмен по шине PCI

 

И в заключение несколько слов еще о двух внешних интерфейсах компьютера.

Стандарт интерфейса PCMCIA (Personal Computer Memory Card International Association) или PC-card был предложен в 1990 году для портативных компьютеров (notebook) и используется для подключения к ним различных внешних устройств: модулей памяти (в том числе флэш-памяти), модемов и факс-модемов, сетевых контроллеров, дополнительных накопителей и т.д. PC-card-адаптеры отличаются очень малыми габаритами (с обычную кредитную карточку) и довольно высокой, по сравнению с другими аналогичными устройствами, стоимостью. Сейчас уже выпускаются PC-card-адаптеры для обычных (настольных) компьютеров. Если первая версия PC-card была предназначена только для модулей памяти, то вторая (1991 год) позволяла включать устройства ввода/вывода и поддерживала два напряжения питания (5 В и 3,3 В). Последние разработки поддерживают режим РпР.

Для подключения PCMCIA-карт используется 68-контактный разъем. Разрядность передаваемых данных – 16, количество разрядов адреса – 26, что позволяет адресовать до 64 Мбайт памяти. Тактовая частота шины -до 33 МГц. Стандарт определяет три различных длины контактов разъема для обеспечения правильной последовательности подачи напряжения питания при подключении и отключении карты во время работы компьютера. Компьютер имеет обычно 2–3 слота (разъема) для PC-card. Стандарт предусматривает автоматическое распределение ресурсов компьютера для устройств PC-card (режим РпР).

Последовательный интерфейс USB (Universal Serial Bus) специально разрабатывался для простого подключения периферийных устройств.

 

4. Шина USB

Шина USB представляет собой 4-проводную линию связи с пропускной способностью 1,5 Мбайт/с (12 Мбит/с). К ней можно подключать до 127 устройств по древовидной схеме с использованием одного или нескольких распределительных устройств. Длина соединительного кабеля между отдельными устройствами USB может достигать 5 метров. В шине USB реализована поддержка режима РпР и возможность «горячего» подключения (без выключения питания). В данном стандарте уже выпускаются модемы, клавиатуры, мыши, сканеры, цифровые фотокамеры и т.д. Важно, что в шине предусмотрена подача на подключаемые устройства питающего напряжения (в последовательном интерфейсе RS-232C, например, этого нет).