В это пособие не вошли материалы, посвящённые конкретным ПУ, таким как: клавиатура, принтеры, видеосистемы, внешние запоминающие устройства на магнитных и оптических дисках, интерфейсы для их подключения и ряд сопутствующих вопросов, отражающих проблему повышения надёжности этих устройств (“холодный” и “горячий” ремонт накопителей, RAID-массивы и т.д.).
Данная работа «ИНТЕРФЕЙСЫ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ» (Периферийные устройства. Часть 2) предназначена для восполнения этого пробела.
1. Клавиатура
1.1. Структурная схема клавиатуры AT
Главным устройством ввода большинства компьютерных систем является клавиатура. Вся клавиатура IBM для больших ЭВМ и для микро-ЭВМ PC 3270 реализуется по емкостной технологии. Механика и электроника емкостной клавиатуры сложна и соответственно дорога. Более дешевой является жестко-контактная клавиатура, но она не так долговечна как емкостная. IBM разработала конструкцию клавиатуры, позволяющую взаимодействовать с ПК без использования соединительных проводов. Здесь используется ИК-линия связи.
Структурная схема клавиатуры AT приведена на рис. 1.1а, а фрагмент её матрицы на рис. 1.1б. Алгоритм работы может быть кратко описан в следующем виде:
процессор клавиатуры сканирует матрицу клавиатуры методом «бегущей единицы» и выдает скэн-код, зависящий от нажатой клавиши, в буферный регистр контроллера по последовательному интерфейсу. Данные передаются по 11 бит, причем восемь из них собственно данные, а остальные - синхронизирующие и управляющие. Кроме того, процессор клавиатуры определяет продолжительность нажатия и может обработать даже одновременное нажатие нескольких клавиш.
Рис. 1.1а. Структурная схема клавиатуры AT
В клавиатуре установлен буфер емкостью 16 байт, в который заносятся данные при слишком быстрых или одновременных нажатиях. Затем эти данные в соответствующей последовательности передаются в систему. Обычно при нажатии клавиш возникает эффект дребезжания, т.е. контакт устанавливается не сразу, а после нескольких кратковременных замыканий и размыканий.
Рис. 1.1б. Фрагмент матрицы клавиатуры
Процессор, установленный в клавиатуре, должен подавлять это дребезжание и отличать его от двух последовательных нажатий одной и той же клавиши.
Для приема и передачи данных между клавиатурой и компьютером используются линии DATA и CLOCK. Передача данных из клавиатуры производится в синхронном последовательном коде (рис. 1.2):
Рис. 1.2. Временная диаграмма передачи данных из клавиатуры
В AT можно управлять клавиатурой, при этом можно изменять частоту повторения кода нажатой клавиши и задержку перехода в режим повторения. По умолчанию частота повторения равна 10 Гц. Задержка равна 0.5 с.
По сигналу ЗПр1 (запрос прерывания 1) процессор переходит к п/п обработки прерываний Int 9h.
Американский стандарт расположения клавиш – QWERTY, но существуют и другие варианты расположения клавиш.
1) если это скэн-код переключателей CAPS/Lock; Num Lock; Scroll Lock или клавиш сдвига, то изменение статуса записывается в баты статуса в память;
2) во всех остальных случаях скэн-код транслируется в ASCII-код или расширенный код при условии, что он подается при нажатии клавиши (в противном случае он отбрасывается), а затем записывается в кольцевой буфер, находящийся в системной области памяти.
Рис. 1.3. Преобразование скэн-кода процедурой прерывания Int 9h
Имеются два типа кодов символов: коды ASCII и расширенные коды.
символы пишущей машинки - 48 шт;
32 управляющих кода, которые используются для передачи команд ПУ и не выводятся на экран дисплея, однако каждый из них имеет соответствующий символ, который может быть выведен на дисплей с использованием прямой адресации дисплейной памяти.
1.2.2. Расширенные коды - этот набор кодов присвоен клавишам или комбинациям клавиш, которые не имеют представляющие их символы ASCII:
функциональные клавиши;
комбинации с клавишей Alt и т.д.
1.2.3. Дополнительные коды ASCII
Дополнительные коды ASCII можно получить при прямом вводе с клавиатуры, который осуществляется путем ввода десятичного кода символа ASCII с дополнительной цифровой клавиатуры, находящейся справа, при нажатой клавише Alt. [Alt - число на дополнительной клавиатуре]. Этот метод позволяет вводить любые коды ASCII от CHR (1)-CHR (255). Единственный код, который нельзя ввести напрямую, это CHR (0), так как он является префиксным.
После того, как действие клавиатуры оттранслировано, оно записывается в пару байтов в буфере ROM-BIOS. Младший из этих байтов мы назовем главным байтом, а старший - вспомогательным.
Операционная система позволяет выполнять различные процедуры прерывания INT 21h для чтения кодов из буфера клавиатуры, включая средства для получения сразу целой строки, причём номер процедуры задаётся в регистре AH:
AH=1 - ввод символа с клавиатуры с эхом на дисплей;
AH=7 - ввод символа с клавиатуры без эха и без проверки Ctrl+Break;
AH=8 - ввод символа с клавиатуры без эха с проверкой Ctrl+Break;
AH=А - ввод с клавиатуры с буферизацией;
AH=В - проверка наличия ввода с клавиатуры;
AH=С - очистка буфера ввода с клавиатуры;
AH=6, DL=FFh - ввод символа с клавиатуры без ожидания.
Рис. 1.4. Алгоритм прерывания клавиатуры Int 9h
Таблица 1.1
Байты состояния |
| ||
|
Бит |
Клавиша |
если 1, то: |
0040:0017 |
7 |
INSERT |
режим вставки включен |
|
6 |
Caps Lock |
режим Caps Lock включен |
|
5 |
Num Lock |
режим Num Lock включен |
|
4 |
Scroll Lock |
режим Scroll Lock включен |
|
3 |
Alt |
клавиша нажата |
|
2 |
Ctrl |
клавиша нажата |
|
1 |
левый Shift |
клавиша нажата |
|
0 |
правый Shift |
клавиша нажата |
0040:0018 |
7 |
INSERT |
клавиша нажата |
|
6 |
Caps Lock |
клавиша нажата |
|
5 |
Num Lock |
клавиша нажата |
|
4 |
Scroll Lock |
клавиша нажата |
|
3 |
Ctrl-Num Lock |
режим Ctrl-Num Lock включен |
На рис. 1.5 изображена структура кольцевого буфера клавиатуры, расположенного в области данных BIOS. Он содержит 32 байта, причём каждому нажатию соответствуют 2 байта в буфере. Например, если была нажата литера, то чётный байт содержит ASCII-код, а нечётный байт - скэн-код. Если была нажата дополнительная клавиша, то чётный байт содержит ASCII-код, а нечётный байт содержит 0. Если была нажата функциональная клавиша, то чётный байт содержит 0, а нечётный байт - ASCII-код.
Кольцевой буфер клавиатуры организован как очередь, поэтому он имеет указатель на голову HP и на хвост TP. Каждый размером в 2 байта.
На рис. 1.6 приведены блок-схемы алгоритмов записи и считывания в/из кольцевого буфера. Они показывают, что запись осуществляется программой ROM-BIOS, управляющей TP (указателем “хвоста”), а считывание программой Int_21h, управляющей HP (указателем “головы”).
1. Буфер пустой, если - (НР)=(ТР)
2. Буфер полон, если:
а) (НР)=(ТР)+2 или (ТР)=(НР)-2 во всех случаях, за исключением случая;
б) (НР)=30 (1Е), когда (ТР)=60 (3С).
Для инициализации буфера необходимо выполнить условие (ТР)=(НР).
Клавиатура ПК фактически представляет собой небольшой компьютер, связанный с основной системой одним из двух способов:
с помощью стандартного разъема клавиатуры и специального последовательного канала передачи данных;
через порт USB.
Клавиатура, подключенная к порту USB, работает практически так же, как и при подключении к традиционному порту DIN или mini-DIN. Микросхемы контроллера, установленные в клавиатуре, используются для получения и интерпретации данных перед тем, как они будут переданы через порт USB в систему. Некоторые микросхемы включают в себя логическую часть концентратора USB, что позволяет клавиатуре работать непосредственно в качестве концентратора USB.
При получении данных от клавиатуры порт USB передает их на 8042 совместимый контроллер, который обрабатывает данные так же, как и любую другую информацию клавиатуры.
Описанный процесс осуществляется уже после загрузки Windows. Но что же происходит в том случае, если пользователю приходится обращаться к клавиатуре при работе в командной строке или при конфигурировании системной BIOS? Как уже отмечалось, для работы с клавиатурой USB в режиме MS DOS необходимо осуществить поддержку технологии USB Legacy в базовой системе ввода-вывода. BIOS, поддерживающая USB Legacy, позволяет выполнить следующие задачи:
1) конфигурирование главного контроллера;
2) подключение клавиатуры и мыши USB;
3) настройка планировщика главного контроллера;
4) направление данных, вводимых с клавиатуры или мыши USB, на контроллер клавиатуры 8042.
После загрузки системы драйвер (главного контроллера USB) берет управление клавиатурой на себя, отправляя команду StopBIOS подпрограмме BIOS, которая непосредственно “руководит” клавиатурой. При перезагрузке компьютера в режиме MS DOS главный контроллер USB отправляет команду StartBIOS для повторного запуска той же подпрограммы BIOS.
Клавиатура USB, начиная с того момента, как контроллер клавиатуры 8042 принимает отправленные сигналы, работает аналогично стандартным клавиатурам. При этом управление клавиатурой осуществляется на уровне BIOS (параметры BIOS, необходимые для работы с клавиатурой USB, должны быть корректно заданы). Как уже отмечалось, в некоторых случаях для обеспечения соответствующей поддержки клавиатуры USB может понадобиться обновленная версия BIOS. Кроме этого, используемые наборы микросхем системной логики должны поддерживать режим USB Legacy.
Рассмотрим примеры 2-х программ:
; очистка буфера перед ожиданием нажатия клавиши
MOV AH, 0CH ; очистка
MOV AL, 1 ; ввод символа с эхом на дисплей
INT 21H ; чистим буфер, ждем ввода.
Низкий уровень:
; выравниваем значения указателей на голову и хвост
CLT ; запрещаем прерывания
SUB AX, AX ; обнуляем АХ
MOV ES, AX ; добавочный сегмент с начала памяти
MOV AL, ES:[41Ah] ; в AL посылаем указатель на голову буфера
MOV ES:[41Ch], AL ; посылаем его в указатель хвоста
STI ; разрешение прерывания.
; получаем введенный символ
MOV AH, 7 ; номер функции
INT 21H ; ожидаем ввод символа
CMP AL, 0 ; проверка на расширенный код
JE EXT_COD ; если да, то на процедуру EXT_COD, иначе – код
;символа в AL.
; процедура обработки расширенных кодов:
EXT_COD : INT 21H ; берем второй байт кода
CMP AL, 75 ; проверяем на
JNE C_R ; если нет, то следующая проверка
JMP CUR_LEFT ; если да, то на процедуру
C_R: CMP AL, 77 ; сравниваем дальше и т.д.
Значение второго байта:
75
77
79 END
Контрольные вопросы
Печатающие устройства (ПчУ) являются устройствами вывода текстовой информации. ПчУ принято классифицировать по:
способу регистрации, т.е. по физическим или химическим процессам, используемым в устройстве для получения видимого изображения на носителе;
способу формирования изображения, в соответствии с которым принято все ПчУ делить на знакопечатающие или полнопрофильные, для которых изображение выводимых символов непрерывно, и знакосинтезирующие, матричные, в которых изображение формируется из более мелких элементов (точек, штрихов) в процессе вывода;
числу символов, изображения которых формируются на носителе в одном такте работы ПчУ. В этой связи принято различать последовательные и параллельные (построчные) ПчУ, а также страничные ПчУ.
Требования к ПчУ многочисленны и порой противоречивы. Основными являются:
высокое качество печати; возможность использования различных шрифтов, получения многоцветного изображения и нескольких копий; высокое быстродействие; низкая стоимость.
Качество изображения принято оценивать контрастностью и разрешающей способностью.
где Фп - отражённый световой поток от единицы поверхности участка изображения, а Фф - поверхности фона.
В случае цветного монитора используется аддитивная модель (addition-сложение) образования цвета или RGB (Red, Green, Blue).
В принтерах используется субтрактивная модель образования цвета (subtraction-вычитание).
Первичными цветами для цветных принтеров являются: зелёно-голубой (cyan), светло-красный (magenta) и жёлтый (yellow). Смешивание всех трёх цветов субтрактивной модели даёт чёрный цвет. В некоторых принтерах для получения истинно чёрного цвета используется отдельный чёрный краситель (black), поэтому такая модель цветообразования называется также CMY или CMYK.
В ЭЛТ люминофоры излучают свет (электромагнитные волны). Краситель на бумаге действует как фильтр, поглощая (вычитая) одни и отражая другие длины электромагнитных волн.
На сегодняшний день используются следующие технологии для цветной печати. Они реализуются в ударных (“игольчатых”) матричных принтерах (dot matrix), в струйных принтерах с жидкими чернилами (liquid ink-jet), в принтерах с термопереносом восковой мастики (thermal wax transfer), в принтерах с термосублимацией красителя (dye sublimation), в струйных принтерах с изменением фазы красителя (phase-change ink-jet) и в цветных лазерных принтерах (colour laser).
2.2.1. Ударный способ
Используется многоцветная лента при ударном способе регистрации.
Струйная технология печати на сегодняшний день самая распространённая для реализации цветных устройств.
Струйные чернильные принтеры подразделяются на устройства непрерывного действия (continuous drop, continuous jet) и дискретного действия (drop on demand).
К основным достоинствам continuous jet относится возможность воспроизведения широкой палитры цветов с высоким качеством, однако при невысокой скорости печати стоимость подобных цветных принтеров достигает нескольких десятков тысяч долларов. Принцип действия принтеров continuous jet напоминает работу видеосистемы с ЭЛТ. Распыляемая струя заряженных частичек красителя подобно пучку электронов в ЭЛТ проходит через отклоняющую систему конденсаторов и, попадая на бумагу, “рисует” изображение текста, рисунков и т.д.
Струйные принтеры дискретного действия опять же делятся на две категории: основанной на нагревании чернил и основанной на действии пьезо-эффекта.
В технологии с нагреванием чернил (“пузырьковой ” технологии bubble-jet или thermal ink-jet) используются терморезисторы, которые при пропускании тока за несколько микросекунд нагреваются до 500 градусов. Образуется чернильный паровой пузырь, который старается вытолкнуть через выходное отверстие сопла каплю жидких чернил. При отключении тока тонкоплёночный резистор также быстро остывает, паровой пузырь, уменьшаясь в размерах, “подсасывает” через входное отверстие сопла новую порцию чернил, которые занимают место ”выстреленной” капли. Цветные принтеры от фирм Cannon и HP используют именно эту технологию.
В технологии, основанной на действии пьезо-эффекта (piezo), для управления соплом используют диафрагму, соединённую с пьезо-элементом. Подобный метод используется компаниями Epson, Brother, Dataproducts, Tektronix.
Устройства дискретного действия (drop on demand) достаточно дешевы (500 долларов), позволяют получать широкую гамму цветов. Однако, как правило, требуют специальной бумаги, чтобы избежать растекания чернил.
Цветные струйные принтеры CMYK имеют следующие технические характеристики (табл. 2.1):
Таблица 2.1
Модель принтера |
Cannon BJC-70 |
HP Desk Jet 660C |
Epson Stylus Colour |
Параметры | |||
Число сопел (монохр./цветных) |
64/64 |
48/48 |
64/48 |
Максимальное разрешение, dpi |
360/360 |
600/600 |
720/720 |
Память (стандартная/максим.), MB |
0.035/0.035 |
0.512/0.512 |
_ |
Скорость печати в черновом режиме, (страниц/мин)/cps |
4/(150-200) |
4/(150-200) |
8/(300-400) |
Термопластичное красящее вещество, нанесённое на тонкой подложке, попадает на бумагу именно в том месте, где нагревательными элементами (аналогами игл) печатающей головки обеспечивается должная температура - C.
Эта технология близка к технологии термопереноса, только в этом случае, при нагреве красителя до 400 градусов, краситель переходит из твёрдого состояния в газообразное, минуя жидкую фазу, и осаждается на бумаге. Такая технология позволяет точно определить пропорции красителя. Например, 19% Cyan, 65% Magenta, 34 % Yellow. Комбинацией цветов можно набрать практически любую цветовую палитру. Данная технология обеспечивает практически фотографическое качество получаемого изображения. Основное ограничение - высокая стоимость каждой копии изображения.
Используются восковые стерженьки для каждого первичного цвета красителя, которые постепенно расплавляются специальным нагревательным элементом при C и попадают в отдельные резервуары. Расплавленные красители подаются оттуда специальным насосом в печатающую головку, работающую обычно на основе пьезоэффекта. Капли воскообразного красителя на бумаге застывают практически мгновенно. Качество цветов превосходное, допустима двухсторонняя печать, стоимость одной копии невысока. Скорость печати мала (2 страницы/мин.).
В лазерных принтерах используется электрофотографический принцип создания изображения (такой же, как и в копировальных машинах Xerox). Лазер формирует электронное изображение светочувствительной фотоприёмной ленте (барабане) последовательно для каждого цвета тонера (CMYK), т.е. принтер, работающий в монохромном режиме со скоростью 8 стр./мин., в цветном режиме обеспечит только 2 стр./мин.
10 10 2014
8 стр.
14 10 2014
1 стр.
14 10 2014
1 стр.
18 12 2014
1 стр.
10 10 2014
1 стр.
11 10 2014
1 стр.
15 12 2014
23 стр.
17 12 2014
32 стр.