Клавиатура ПЭВМ и ее взаимодействие с процессором
Особенности работы клавиатуры персональной ЭВМ РС–АТ состоит в следующем:
a) После нажатия клавиши ее код фиксируется в буфере клавиатуры и подается сигнал компьютеру, о том, что в клавиатуре произошло некоторое событие. Этот сигнал выдается в виде прерывания 09h (IRQ1® Int 09h);
b) Клавиатура фиксирует отдельно события: когда клавиша нажимается и когда ее отпускают. Коды нажатого и отжатого состояния клавиши отличаются ХТ клавиатуре единицей в старшем разряде (отжата), в клавиатуре АТ при отжатии клавиши сначала посылается байт F0h, а затем код клавиши;
c) Если клавиша не отпускается в течение времени более 0.5 с, то клавиатура генерирует повторные коды нажатой клавиши.
Для управления клавиатурой (рисунок 9.2) в ХТ и АТ использовался контроллер на основе однокристальной микро-ЭВМ Intel 8048, в более поздних моделях – контроллер 8042, выполняющий, по сути, те же функции, что и 8048.
Рисунок 10.2 – Схема подключения клавиатуры и мышки |
Основная задача БИС 8048 – отслеживать за клавишами и выдавать сообщение ROM – BIOS при нажатии и отпускании клавиши. В контроллере имеется буфер символов (порты клавиатуры 060H – 063H), в котором может храниться до 20 кодов клавиш, не обработанных ЦП.
Каждый раз, когда нажимается или отпускается одна из клавиш, схема клавиатуры генерирует однобайтовое число, называемое скен – кодом, которое однозначно идентифицирует перемещение клавиши. Клавиатура выдает различные скен – коды при нажатии и отпускании клавиши. При нажатии байт скен – кода содержит число в диапазоне от 1 до 83 (в стандартной клавиатуре ХТ). При отпускании генерируется скен – код на 128 (80H) больше, чем скен – код при нажатии клавиши. Например, при нажатии клавиши Z скен – код 44, а при отпускании 172 = 44 + 128.
Нажатие или отжатие клавиши сообщается ROM – BIOS посредством прерывания INT9, которое вызывает прикладную программу обработки прерываний. При этом читается состояние порта 96 (60H), через который осуществляется связь клавиатуры с BIOS.
Передача кодов с клавиатуры производится в последовательном старт-стопном коде (линии: данные и синхронизация, "Сброс", +5, земля). Прикладная программа получает скен-код и переводит его в 2-х байтный код. Младший байт этого кода содержит ASCII-код клавиши, а старший – скен-код клавиши. Специальные клавиши F1 – F10, Ins, Del и др., а также клавиши дополнительной цифровой клавиатуры имеют в младшем байте 0, а в старшем байте скен – код.
Затем прикладная программа BIOS помещает оттранслированный код в очередь (буфер), находящуюся в младших адресах памяти с 0000:041Е. Работа по переводу скен – кодов усложняется тем, что клавиатура IBM имеет несколько операций по изменению регистров, меняющих значение нажатых клавиш: Shift – c = C, Ctrl – C «break». Также меняется значение клавиши при нажатии клавиши Alt. Кроме этих регистровых клавиш есть еще CapsLock и NumLock.
Информация о состоянии клавиш регистров и клавиш переключателей хранится ROM – BIOS в младших адресах памяти: ячейки 417H и 418H. Когда нажимается одна из этих клавиш, BIOS устанавливает в байтах состояния определенный разряд. Как только BIOS получает код отжатия клавиши, она переключает соответствующий разряд в исходное состояние.
Всякий раз, когда BIOS получает скен – код для нажатия обычной клавиши, то первым делом проверяется состояние регистров, а затем транслируется скен – код в соответствующий 2-й байтный код. В процессе трансляции скен – кодов BIOS постоянно проверяет их на определенные комбинации клавиш: Ctrl+Alt+Del – перезагрузка; Shift – PrintScreen; Int5 – печать экрана; Ctrl – NumLock – приостановка работы, пока не будет нажата любая клавиша; Ctrl – Break Int27 – прерывание. Прямой ввод кодов ASCII может быть осуществлен с дополнительной цифровой клавиатуры при нажатой клавише Alt. (Нажать Alt и вводить цифры кода. При отпускании Alt на экране отображается соответствующий символ ASCII – кода).
После того как действие клавиши оттранслировано, оно записывается в пару байтов в буфере BIOS. Младший из них является главным, а старший – вспомогательным. Когда главный байт содержит ASCII-символ, то это означает, что была нажата одна из клавиш стандартных символов клавиатуры. Для этих ASCII-символов вспомогательный байт содержит скен– код для нажатой клавиши. В простейшем случае этот байт не используется. Он может быть использован, когда необходимо различать клавиши с одинаковыми символами, но различными скен-кодами. При вводе символов со вспомогательной клавиатуры, скен-код во вспомогательном байте равен нулю.
Когда главный байт равен нулю, то это означает, что была нажата какая-то из специальных клавиш: функциональные, управление курсором, либо комбинации с клавишами Ctrl, Alt, Shift. Каждому нажатию специальной клавиши, или комбинации клавиш соответствует определенное значение вспомогательного байта.
Схема взаимодействия клавиатуры с ЭВМ изображена на рис.10.3.
Нажатие или отпускание любой клавиши вызывает сигнал аппаратного прерывания Int09h, которое заставляет процессор перейти на программу обработки прерываний (ПОП). Адрес ПОП находится в ячейке памяти 94=36=24h. Контроллер клавиатуры распознает номер нажатой (отпускаемой) клавиши и помещает ее скен-код в регистр, имеющий адрес 60h.
Программа INT 09 помимо порта 60h работает еще с двумя областями ОЗУ: кольцевым буфером ввода, емкостью 15 слов (адреса от 40:1Еh до 40:3Dh). Каждая ячейка буфера хранит два байта: ASCII клавиши и слово состояния клавиатуры (флаги) – состояние управляющих клавиш. Программа INT 09, получив управление, считывает из порта 60h скен- код и анализирует его значение. Если скен – код принадлежит одной из управляющих клавиш и, к тому же, представляет собой код нажатия, то соответствующий флаг клавиатуры устанавливается в 1.
При нажатии любой другой клавиши программа INT 09 считывает из порта 60h ее скен – код и по таблице трансляции скен – кодов в коды ASCII формирует двухбайтовый код. Старший байт содержит скен – код, а младший – код ASCII. Поскольку нажатой клавише соответствует два скен – кода (строчные и прописные буквы), то соответственно образуется и два ASCII – кода (а и А, r и R и т.д.).
Для управления светодиодами, расположенными на клавиатуре, необходимо в порт 60h записать код команды 0EDh, а вслед за ней в этот же порт следует занести байт управления: Бит 0 = "1" – включение светодиода Scroll Lock; 0 – выключение; Бит 1 = "1" – включение Num Lock, 0 – выключение; Бит 2= "1" – включение Caps Lock, 0 –выключение.
Видеосистема компьютера
Видеосистема компьютера состоит из видеоадаптера (видеокарты) и монитора (дисплея). Видеоадаптер – это устройство, осуществляющее сопряжение устройства отображения информации – дисплея с компьютером. Дисплей осуществляет преобразование электрических сигналов, поступающих из видеоадаптера в видимое изображение. Основным блоком монитора является электронно-оптическое устройство – электронно-лучевая трубка (ЭЛТ), либо плоские экраны на жидкокристаллических элементах. Кроме этого в состав монитора входит отклоняющая система, блок формирования высоковольтного напряжения (только в мониторах на основе ЭЛТ), усилители развертки, схема синхронизации и управления.
Все мониторы используют растровый принцип формирования изображения, в соответствии с которым изображение на экране образуется группой близко расположенных горизонтальных линий или строк (около 1000 линий на экран), называемой растром. Электронный луч ЭЛТ последовательно проходит каждую строку слева направо, начиная с левого верхнего угла. Когда луч проходит по строке, цвет и яркость каждой из точек строки (пикселя) изменяется и весь растр представляется как связанное изображение. После прохождения очередной строки слева направо луч смещается вниз к началу следующей строки, и так происходит до тех пор, пока луч полностью не сформирует растр.
Качество изображения, получаемое на экране монитора, зависит от параметров электронно-оптического устройства и управляющего им видеоадаптера. К основным параметрам относятся: размеры экрана и светящейся точки «зерна», определяющие количество отображаемой информации и возможную степень ее детализации; скорость обновления изображения (частота кадров), определяющая степень подавления мерцания.
Размер экрана монитора подразделяются на 14-дюймовый (36 см), 15-дюймовый (39 см), 17-дюймовый (44 см), 19-дм (49 см). 21 дм (54 см) и т.д. Соответствующие цифры в дюймах (см) указывают размер экрана по диагонали. Важным параметром, определяющим качество изображения – размер пикселей («зерен») его экрана (0.26, 0.28, 0.29 и др.). Чем меньше зерно, тем лучше качество изображения. Частота кадров в первых мониторах равнялась 50 Гц. В современных мониторах она повышена до 75 – 100 Гц. Размер экрана является главным параметром монитора, наиболее сильно влияющим на качество изображения.
В настоящее время наиболее широко применяются мониторы с использованием жидкокристаллических (ЖК) панелей, которые вытеснили мониторы на основе электронно-лучевых трубок (ЭЛТ). В английском языке для обозначения таких мониторов применяется аббревиатура LCD (Liquid-Cristal Display). В производстве LCD известны две технологии: с использованием пассивных матриц (PMLCD-STN) и активных матриц (AMLCD-TFT).
STN-матрица (Super Twisted Nematic), состоит из ЖК-элементов с изменяемой прозрачностью, в которых используется твист-эффект. Суть этого эффекта состоит в изменении угла вращения плоскости поляризации проходящего света под воздействием электрического поля в так называемых нематических типах жидких кристаллов. Молекулы таких ЖК скручены в спираль.
В активной матрице на тонкопленочных транзисторах — TFT (Thin Film Transistor), каждый пиксель управляется отдельным транзистором. По сравнению с пассивной матрицей, TFT LCD-дисплей имеет более высокую контрастность, насыщенность, меньшее время переключения (нет "хвостов" у движущихся объектов). Практически все современные ЖК-мониторы используют панели на тонкопленочных транзисторах, обеспечивающих более яркое и четкое изображение большего размера. По сравнению с пассивной матрицей, TFT-мониторы имеет более высокую контрастность, насыщенность, меньшее время переключения (нет "хвостов" у движущихся объектов).
Thin Film Transistor — тонкопленочный транзистор, есть не что иное, как обычный транзистор, но очень тонкий (толщина от 0,1 до 0,01 микрона). В одиночку TFT- элементы не изготавливаются. В едином технологическом процессе создается "пленка", на которой расположена матрица из таких устройств. Так для создания трехцветной матрицы размером 800´600 пикселей понадобится 1440000 отдельных транзисторов.
Принцип действия и многослойная структура всех LCD TFT-дисплеев примерно одинаковы. Свет от лампы подсветки (неоновая или светодиоды) проходит через первый поляризатор и попадает в слой жидких кристаллов, управляемых тонкопленочными транзисторами (рисунок 10.4).
Транзистор создает электрическое поле, которое формирует ориентацию жидких кристаллов. Пройдя такую структуру, свет меняет свою поляризацию и будет или полностью поглощен вторым поляризационным фильтром (экран становится черным), или не будет поглощаться (экран - белый), или поглощение будет частичным (одна из градаций яркости цвета). Цвет изображения определяют цветовые фильтры. Каждый пиксель матрицы состоит из трех субпикселей - красного, зеленого и голубого. В TFT –мониторах используются различные схемы расположения триад фильтров (рисунок 10.5,б).
Жидкокристаллический дисплей на основе TFT-элементов устроен следующим образом. Поперечное сечение панели на тонкопленочных транзисторах представляет собой многослойную конструкцию (рисунок 10.5,а). Крайние слои сторон конструкции выполнены из стекла. Между этими слоями расположен тонкопленочный транзистор, панель цветного фильтра, обеспечивающая нужный цвет – красный, синий или зеленый, и слой жидких кристаллов. Вдобавок ко всему существует флуоресцентная подсветка, освещающая экран изнутри.
При нормальных условиях, когда нет электрического напряжения, жидкие кристаллы находятся в аморфном состоянии. В этом состоянии жидкие кристаллы пропускают свет. Количеством света, проходящего через жидкие кристаллы, можно управлять с помощью электрических напряжений, вследствие чего изменяется пространственная ориентация кристаллов.
а) | б) |
Рисунок 10.5 ― Структура TFT LCD-панели (а) и структура цветного фильтра (б) |
Управление яркостью в жидкокристаллическом дисплее основано на поляризации света. Свет поляризуется с определенным углом поляризации, проходя через поляризационный фильтр. При этом наблюдатель видит только снижение яркости света (почти в 2 раза). Если за этим фильтром поставить еще один такой фильтр, то свет будет полностью поглощаться, при условии, что угол поляризации второго фильтра перпендикулярен углу поляризации первого, или полностью проходить, если углы поляризации совпадают. При плавном изменении угла поляризации второго фильтра интенсивность проходящего света будет также плавно изменяться.
Пиксель формируется из трех участков – красного, зеленого и синего. А различные цвета получаются в результате изменения величины соответствующего электрического потенциала, что приводит к повороту вектора поляризации кристаллом и изменению яркости проходящего светового потока. Каждый элементарный участок LCD-панели обслуживается своим тонкопленочным транзистором. При отсутствии сигнала тонкопленочный транзистор закрыт и свет проходит свободно (экран светится белым цветом). При наличии активного уровня сигнала транзистор открывается, соответствующий жидкокристаллический элемент меняет свою ориентацию и при достаточном напряжении система полностью не пропускает свет. Таким образом, варьируя подачу напряжения на TFT транзистор, можно регулировать пропускание света компонентом матрицы.
За каждым элементом стоит свой светофильтр (R,G,B). Поэтому, регулируя освещенность каждой из трех компонент пикселя (точки), можно получить необходимый оттенок цвета пикселя. При этом пиксель может иметь белый цвет (у каждого из трех элементов закрыт транзистор – свет проходит – все три элемента RGB светятся по максимуму – в сумме белый цвет). Если все три транзистора пикселя открыты по максимуму, то свет не проходит и свечение отсутствует, что дает черный цвет. TFT-экран состоит из целой сетки таких пикселей, где работой каждого цветового участка каждого пикселя управляет отдельный транзистор. Количество транзисторов определяет разрешающую способность экранной матрицы, которая является одним из важнейших параметров монитора.
В мониторах персональных компьютеров используется растровый принцип построения изображения. Растровое изображение представляет собой сетку пикселей или цветных точек (обычно прямоугольную) на компьютерном мониторе, бумаге и других отображающих устройствах и материалах (растр). Растровый дисплей можно рассматривать как матрицу дискретных ячеек (точек), каждая из которых может быть подсвечена. Таким образом, оно является точечно-рисующим устройством.
Для подсветки ячеек используется линейная развертка, т. е. развертка с постоянной скоростью вдоль строк и по кадру. При перемещении светящейся точки по горизонтали на экране монитора прочерчиваются строки растра, а перемещением развертывающего элемента по вертикали из совокупности строк образуется растр. Количество точек на экране LCD-монитора (разрешающая способность) фиксировано и определяется размером экранной панели: так для 15-дюймовых LCD-панелей разрешающая способность равна 1024´768 пикселей, а для 17” панелей —1280´1024.
В состав TFT -монитора на основе жидкокристаллической LCD-панели, кроме собственно LCD-панели, входит контроллер формирования управляющих сигналов, который последовательно построчно формирует сигналы управления транзисторами RGB-матрицы, образуя тем самым растровое изображение. Подсветка соответствующего пикселя осуществляется подачей управляющих сигналов на усилители вертикальных и горизонтальных строк и далее на управляющие электроды TFT. Для осуществления подсветки с торца панели используются специальные электролюминисцентные лампы фоновой подсветки (Backlight Lamp). Для них требуется повышенное напряжение, вырабатываемое преобразователем напряжения, который генерирует напряжения VBL (Voltage Back Light) для двух ламп. На вход монитора с видеокарты компьютера подаются сигналы синхронизации горизонтальной и вертикальной разверток, RGB-сигналы управления цветностью и ряд вспомогательных сигналов.
Важным параметром является минимальное время послесвечение пикселя. Так, минимальное время свечения пикселя у TFT-мониторов достигает на настоящее время 10…15 мс (для ЭЛТ-мониторов — 3…5 мс). Т.е быстродействие TFT –монитора ниже, чем ЭЛТ, однако для большого ряда применений этого быстродействия вполне хватает.
К другим параметрам монитора относятся цветовая битность матрицы и размер экрана по диагонали. Все современные панели для нормального воспроизведения цветов должны поддерживать режим True Color (24 bit).
Для того чтобы на экране монитора формировалось изображение, информация о каждой точке (код цвета точки) должна храниться в видеопамяти компьютера. В графических режимах дисплея программно можно управлять цветом любого выводимого пикселя, что позволяет строить на экране монитора сложные графические образы. Видеосистемы персональных компьютеров хранят информацию о пикселе в виде группы битов, представляющих значение пикселя. Цвет каждого пикселя определяется непосредственно или косвенно по значению группы пикселей. Формат расположения битов (битовая карта) в видеобуфере зависит как от количества битов, необходимых для представления каждого пикселя, так и от архитектуры видеопамяти. Количество цветов, которое может отображаться в данном графическом режиме одновременно, определяется числом битов, представляющих каждый пиксель.
Для соединения видеоадаптера с жидкокристаллическим монитором или с мультимедийным проектором разработан специальный стандартный цифровой видеоинтерфейс DVI(Digital Visual Interface) стандарт на интерфейс и соответствующий разъём. В отличие от мониторов на электронно-лучевой трубке, имеющих аналоговый интерфейс, LCD-мониторы, по природе своей, цифровые. Их использование с аналоговым интерфейсом – временное вынужденное решение: в видеокарте цифровой сигнал преобразуется в аналоговый, передается на монитор, где опять преобразовывается в цифровую форму. Поэтому возникновение цифрового видео-интерфейса было совершенно очевидным. Цифровой видеоинтерфейс может поддерживать одинарный и двойной режимы.
Одинарный режим DVI (Single link) использует четыре витых пары проводов (красный, зелёный, синий, и clock), обеспечивающих возможность передавать 24 бита на пиксель. С ним может быть достигнуто максимальное возможное разрешение 1920×1200 (60 Гц) или 1920×1080 (75 Гц).
Двойной режим DVI-D (Dual link) — удваивает пропускную способность и позволяет получать разрешения экрана 2560×1600 и 2048×1536. Поэтому для самых крупных LCD мониторов с большим разрешением, таких, как 30" модели, обязательно нужна видеокарта с двухканальным DVI-D Dual-Link выходом.
Существует несколько разновидностей интерфейсов DVI:
DVI-A — только аналоговая передача.
DVI-I — аналоговая и цифровая передача.
DVI-D — только цифровая передача.
В Single Link DVI присутствует четыре канала передачи данных: три из них соответствуют информации об основных цветах B (Channel 0), G (Channel 1) и R (Channel 2), четвертый же несет в себе сигнал тактовой частоты «Clock» (Channel С). Физически кабель DVI состоит из соответствующего количества витых пар.
В Dual link скоростные возможности DVI достигнуты за счет алгоритма кодирования сигналов, специально разработанного для этой цели. Называется данный алгоритм TMDS – Transition Minimized Differential Signaling, или дифференциальная передача сигналов с минимизацией перепадов уровней, что можно было бы еще назвать «сверхплотным архивированием данных без потерь». При этом дифференциальный, или балансный, способ передачи, когда по каждому проводнику витой пары проходит один и тот же прямой и инвертированный сигнал, обеспечивает эффективную защиту данных от синфазных помех.
Кроме каналов цветности имеется Канал DDC (Display Data Channel), предназначенный для передачи процессору информации о дисплее, который на основании ее, выдает оптимальный для данного дисплея сигнал с нужным разрешением и экранными пропорциями.