- •ВВЕДЕНИЕ
- •1. ПАРАЛЛЕЛЬНЫЙ ИНТЕРФЕЙС — LPT-ПОРТ
- •1.1. Традиционный LPT-порт
- •1.2. Расширения параллельного порта
- •1.3. Стандарт IEEE 1284
- •1.3.1. Полубайтный режим ввода — Nibble Mode
- •1.3.2. Двунаправленный байтный режим — Byte Mode
- •1.3.3. Режим EPP
- •1.3.4. Режим ЕСР
- •1.3.6. Согласование режимов IEEE 1284
- •1.3.7. Физический и электрический интерфейсы
- •1.3.7. Развитие стандарта IEEE 1284
- •1.5. Параллельный порт и PnP
- •2. ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС — СОМ-ПОРТ
- •2.1. Интерфейс RS-232C
- •2.2. Родственные интерфейсы и преобразователи уровней
- •2.3. Асинхронный режим передачи
- •2.4. Управление потоком данных
- •2.5. Микросхемы асинхронных приемопередатчиков
- •3. БЕСПРОВОДНЫЕ ИНТЕРФЕЙСЫ
- •3.1. Инфракрасный интерфейс IrDA
- •3.2. Радиоинтерфейс Bluetooth
- •4. ПОСЛЕДОВАТЕЛЬНЫЕ ШИНЫ USB И FIRE WIRE
- •4.1. Шина USB
- •4.1.1. Организация шины USB
- •4.1.2. Модель передачи данных
- •4.1.3. Протокол
- •4.1.4. Типы передач данных
- •4.1.5. Синхронизация при изохронной передаче
- •4.1.6. Хост
- •4.2. Шина IEEE 1394 - FireWire
- •4.2.1. Физический уровень сети
- •4.2.2. Протокол IEEE 1394
- •4.2.3. Устройства и адаптеры 1394
- •5. ШИНА SCSI
- •5.1. Параллельные интерфейсы SCSI
- •5.1.1. Кабели, разъемы, сигналы
- •5.1.2. Терминаторы
- •5.1.3. Протокол шины
- •5.2. Интерфейс Fibre Channel
- •5.3. Хост-адаптер SCSI
- •6. ШИНЫ И КАРТЫ РАСШИРЕНИЯ
- •6.1. ШИНЫ ISA, EISA И PC/104
- •6.2. Шина PCI
- •6.2.1. Адресация устройств PCI
- •6.2.2. Протокол шины PCI
- •6.2.3. Команды шины, адресация памяти и ввода-вывода
- •6.2.4. Таймеры, задержки и буферы
- •6.2.5. Пропускная способность шины
- •6.2.6. Прерывания
- •6.2.7. Электрический интерфейс, слоты и карты PCI
- •6.2.9. Иные конструктивы с шиной PCI
- •6.2.10. Мосты PCI
- •6.4. Интерфейс LPC
- •6.5. Шины и карты расширения блокнотных ПК
- •6.5.1. Интерфейсы PCMCIA, PC Card и CardBus
- •7. СПЕЦИАЛИЗИРОВАННЫЕ ИНТЕРФЕЙСЫ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ
- •7.1. Интерфейс клавиатуры
- •7.1.1. Интерфейс клавиатуры AT и PS/2
- •7.1.2. Контроллер интерфейса клавиатуры и мыши 8042/8242
- •7.1.3. Системная поддержка и программный интерфейс
- •7.2. Интерфейсы мыши
- •7.2.1. Последовательные мыши — MS Mouse и PC Mouse
- •7.2.2. Мышь PS/2
- •7.3. Интерфейсы принтеров и плоттеров
- •7.3.1. Параллельные интерфейсы – Centronics, IEEE 1284
- •7.3.2. Последовательные интерфейсы
- •7.3.3. Системная поддержка принтера
- •7.4. Интерфейсы графических адаптеров
- •7.4.1. Дискретный интерфейс RGB TTL
- •7.4.2. Аналоговые интерфейсы RGB
- •7.4.4. Цифровые интерфейсы P&D, DVI и DFP
- •7.4.6. Видеоинтерфейсы
- •7.5. Интерфейсы аудиоустройств
- •7.5.1. Аналоговые интерфейсы
- •7.5.2. Цифровые интерфейсы
- •7.5.3. ИНТЕРФЕЙС MIDI
- •7.6. Интерфейс игровых устройств — Game-порт
только для интеллектуального режима). В байте состояния определеныследующиебиты:
•бит 7 — D5R (Data Set Ready) — готовность (DSR=0) принятых данных для чтения(бит устанавливаетсявединицу, когдавсепринятыебайтысчитаныиз регистра данных);
•бит 6 — DRR (Data Read Ready) — готовность (DRR=0) UART к записи в регистр данных или команд (условиеготовностик записи не возникнет, если приемник имеет непрочитанный байт данных).
По включении питания «настоящая» карта MPU-401 устанавливается в интеллектуальный режим, из которого в режим UART ее можно перевести командой с кодом 3Fh. Программный сброс MPU-401 (опять-таки в интеллектуальный режим) осуществляется командой RESET (код FFh), на эту команду MPU ответит подтверждением АСК (FEh). Байт подтверждения извлекается из регистра данных, до его прихода следующую команду MPU не воспримет. На команду с кодом 3Fh MPU подтверждением не отвечает (некоторые эмуляторы отвечают и на эту команду).
Ввод данных может осуществляться по программному опросу бита DSR или по прерываниям. Аппаратные прерывания от MPU в режиме UART вырабатываются по приему байта. Обработчик прерывания должен считать все поступившие байты, проверив перед выходом, что DSR-1 (иначе возможны потери принятых байт).Вывод данных разрешается битом DRR, прерывания по готовности вывода не вырабатываются.
Совместимость с MPU-401, имеющаяся у большинства современных звуковых карт с интерфейсом MIDI, означает наличие приемопередатчика, программно совместимого с MPU-401 в режиме UART; функции интеллектуального режима обычно не поддерживаются.
На некоторых системных платах применяются БИС контроллеров интерфейсов, в которых режим UART, используемый для СОМ-порта, конфигурированием через BIOS SETUP может быть переведен в режим MIDI-порта.
Для подключения к компьютеру большого числа устройств MIDI можно использовать шину USB. Для этого, например, фирма Roland выпускает 64-канальный процессорный блок S-MPU64, который кроме шины USB имеет 4 входных и 4 выходных порта MIDI. Программное обеспечение допускает объединение до 4 блоков на одной шине USB, что увеличивает число каналов до 256.
7.6. Интерфейс игровых устройств — Game-порт
Игровые устройства — джойстик, руль и педали автомобиля или иные — вырабатывают некоторые аналоговые и дискретные сигналы, которые можно ввести в компьютер. С самых первых моделей IBM PC был введен и фактически стандартизован интерфейс игрового адаптера — Game port, к которому можно подключить до двух джойстиков или иных устройств. Суммарно на порте доступно 4 координатных датчика (XI, Х2, Y1 и Y2), изменяющих сопротивление, и 4 дискретных входа для кнопок управления. Назначение координатных датчиков зависит от игры и конструкции манипулятора. Для авиасимуляторов XI может соответствовать перемещению рукоятки вверх-вниз, Y1 — влево-вправо, Х2 — нажатие левой и правой педалей, Y2 — рукоятка сектора газа. Для автомобильных рулей XI — руль, Y1 — газ, Х2 — тормоз (газ и тормоз могут быть совмещены в координате Y1). Кроме игровых целей порт может применяться и для подключения «серьезных» датчиков.
Современные игровые устройства имеют свой интеллект (микроконтроллер) и подключаются к компьютеру цифровым интерфейсом — по шине USB или через СОМпорт. Их функциональные возможности богаче, они позволяют устанавливать и двустороннюю связь с игроком (вводить механические воздействия).
Адаптер Game-порта имеет в пространстве ввода-вывода один регистр с адресом 20 lh, биты которого при чтении отображают состояние кнопок и компараторов аналоговых сигналов. Ввод дискретных сигналов от кнопок пояснений не требует. Упрощенная схема одного канала аналогового ввода приведена на рис. 7.19. В начале преобразования
конденсатор разряжается через ключ, после чего начинается его заряд, скорость которого определяется величиной сопротивления датчика (чем больше сопротивление, тем медленнее заряд). Напряжение на конденсаторе контролируется компаратором, который срабатывает по достижении определенного уровня. Выходы компараторов всех четырех каналов преобразования, как и дискретные входы, собираются в регистр (см. ниже), который может быть программно считан. Преобразование выполняется чисто программно и начинается по выводу любого байта в регистр адаптера (20lh), при этом биты 0-3 устанавливаются в единицу. Далее программа циклически выполняет чтение регистра адаптера и измеряет время до возврата в нулевое состояние бит 0-3, соответствующих четырем аналоговым каналам. Если аналоговый вход закорочен на шину GND или цепь измеряемого сопротивления разорвана, соответствующий бит не обнулится. Поэтому в программе преобразования должен быть предусмотрен тайм-аут. Для измеряемых сопротивлений в диапазоне 0-100 кОм время определяется по формуле Т(мкс)=24,2+1 1хК(кОм).
Точность и линейность преобразования невысока, преобразование выполняется не быстро (до 1,12 мс) и сильно загружает процессор. Однако в отличие от «настоящих» аналогоцифровых преобразователей, этот достается даром — игровой адаптер входит в состав практически всех комбинированных плат последовательных и параллельных портов и звуковых карт.
Рис. 7.19. Канал аналогового ввода
Порт имеет разъем-розетку DB15S. Назначение выводов и соответствие сигналов битам регистра приведено в табл. 7.20. Резисторы подключаются к шине питания +5 В, кнопки
— к шине GND (рис. 7.20). Замыканию кнопок соответствуют нули в битах 5-7. Аналоговые каналы можно использовать для дискретного ввода, если их входы подключить к кнопкам, замыкающим их на шину GND, и к резисторам, «подтягивающим» их к уровню + 5 В. Два джойстика (А и В) подключаются через Y-образный переходникразветвитель. На звуковых картах через разъем «Game» вместе с джойстиками могут подключаться и внешние MIDI-устройства, используя специальный кабель-адаптер, обеспечивающий гальваническую развязку входного сигнала и ограничение выходного тока (см. рис. 7.18). Для интерфейса MIDI используются контакты 12 и 15, ранее предназначавшиеся для шин GND и +5V. Такое назначение делает безопасным подключение адаптера MIDI к «чистому» игровому порту и обычного джойстика к игровому порту с сигналами MIDI.
Таблица 7.20. Интерфейс игрового адаптера и MIDI
Бит |
Назначение |
Контакт |
|
7 |
Джойстик В кнопка #2 |
14 |
|
6 |
Джойстик В кнопка #1 |
10 |
|
5 |
Джойстик А кнопка #2 |
7 |
|
4 |
Джойстик А кнопка #1 |
2 |
|
3 |
Джойстик В Y-координата (Y2) |
13 |
|
2 |
Джойстик В Х-координата (Х2) |
11 |
|
1 |
Джойстик А Y-координата (Y1) |
6 |
|
0 |
Джойстик А Х-координата (Х1) |
3 |
|
- |
GND |
4,5,(12) |
|
- |
+5 В |
1,8,9,(15) |
|
- |
MIDI In (Rx) — вход (на звуковой карте) |
15 |
Рис. 7.20. Подключение датчиков к игровому |
- |
MIDI Out (Tx) — выход (на звуковой карте) |
12 |
адаптеру |
|
Системную поддержку джойстика обеспечивает сервис BIOS Int 15 h при AH=84h. При вызове в DX задается код подфункции:
♦DX=0 — опрос кнопок, возвращает в AL[7:4] состояние кнопок (соответствует битам порта
20lh);
♦DX=1 — чтение координат X, Y джойстика А (в регистры АХ, ВХ) и В (в СХ, DX). При ошибочном задании кода в DX устанавливается CF-1. Стандартный джойстик поддерживается и ОС Windows.