
- •«Калязинский машиностроительный техникум» Периферийные устройства вычислительной техники (курс лекций)
- •Введение
- •Раздел 1 общие принципы организации работы периферийных устройств вычислительной техники
- •Тема 1.1. Классификация периферийный устройств.
- •Тема 1.2. Организация системы ввода-вывода информации.
- •Общая характеристика интерфейсов.
- •Тема 1.3. Аппаратная и программная поддержка периферийных устройств.
- •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. Программные интерфейсы периферийный устройств api и gdi
- •1.3.2.6 Спецификация Plug&Play
- •Раздел 2 Периферийные устройства Тема 2.1. Внешние запоминающие устройства (взу).
- •2.1.1. Классификация взу. Накопители на гибких магнитных дисках. Накопители на жестких магнитных дисках.
- •2.1.1.1 Накопители на жестких магнитных дисках.
- •2.1.1.2 Накопители на гибких магнитных дисках
- •2.1.2 Накопители на cd и dvd
- •2.1.2.2 Накопители на dvd.
- •2.1.4. Другие внешние устройства хранения информации.
- •Стирание
- •Тема 2.2 Видеоподсистемы
- •2.2.1 Мониторы.
- •2.2.2 Видеоадаптеры
- •2.2.3 Мультимедийные проекторы.
- •Тема 2.3 Звуковоспроизводящие системы
- •Тема 2.4. Устройства вывода информации на печать.
- •2.4.1. Принтеры: понятие и классификация.
- •2.4.2. Матричные принтеры.
- •2.4.3. Струйные принтеры.
- •2. Пузырьковая/термическая технология (bubble-jet).
- •2.4.4. Фотоэлектронные печатающие устройства
- •2.4.5. Специализированные устройства печати
- •2.4.6. Плоттеры (графопостроители)
- •Тема 2.5. Сканеры.
- •2.5.1. Классификация сканеров.
- •2.5.2. Датчики сканеров
- •2.5.3. Показатели эффективности сканера
- •2.5.4. Режимы сканирования.
- •Тема 2.6. Цифровые фото- и видеокамеры.
- •Основные элементы цифрового фотоаппарата
- •Обычная оптическая мышь.
- •Оптические мыши независимые от поверхности.
1.3.2.4. Драйверы.
Драйвер – резидентный программный модуль, осуществляющий управление внешними устройствами и связь с операционной системой и прикладными программами.
Рассмотрим некоторое примеры драйверов периферийных устройств.
Драйвер сканера (цифровой камеры). Драйвер сканера не только управляет «железом» на низком аппаратном уровне, но и представляет собой сложный интерфейс с графической оболочкой и возможностями настройки. Изготовители сканеров создали стандарт TWAIN, обеспечивающий взаимодействие сканеров практически с любым прикладным ПО – пакетами обработки изображений, настольными издательскими системами или программами распознавания символов. Однако лишь средства коммуникации прикладных пакетов с интерфейсом TWAIN (команды обращения к драйверу и команды передачи данных) являются стандартными. Всю остальную часть, а в частности графический пользовательский интерфейс ПО сканера и низкоуровневый компонент, каждый изготовитель разрабатывает по своему. Разрешается подсоединять к ПК более чем одно TWAIN-совместимое устройство.
Рисунок 3 Схема работы TWAIN-совместимых устройств
Каждое из устройств при этом имеет свою копию модуля TWAIN. Это обеспечивает конечного пользователя возможностью выбора, которое именно из устройств TWAIN следует использовать в течение сеанса.
Драйвер клавиатуры. Программируемость клавиатуры означает, что интерпретация всех перечисленных клавиш не обязательно соответствует тем или иным символам/действиям которые на них обозначены. Нажатие на клавишу вырабатывает номер клавиши. Эта информация затем обрабатывается драйвером клавиатуры, преобразующим номер клавиши в код символа, который выводится на экран и поступает в распоряжение прикладной программы. Этот же драйвер ответственен за переход с латиницы на кириллицу. В отличие от механических терминалов и старинных ВТ на консоли нет клавиши переключения <Рус/Лат>. Очевидно, драйвер управляет привязкой символов к клавишам, обычно размещение букв не вызывает проблем – это стандарты QWERTY или ЙЦУКЕН. Размещение же служебных символов (!@#$%^) и пр. может различаться в разных драйверах и может не соответствовать в связи с этим символам, нанесенным изготовителем краской на клавиши.
1.3.2.5. Программные интерфейсы периферийный устройств api и gdi
Мультимедийные технические средства (а особенно компьютерная графика) – наиболее быстро развивающаяся область промышленности ПК, где высокими темпами постоянно возникают новые чипсеты, версии интерфейсных карт, устройства и принципы технологий.
API. Программные интерфейсы приложений, которые играют роль посредника между прикладной программой и аппаратными средствами ЭВМ (интерфейсная карта и внешнее устройство), на которых она выполняется. Разработчик программного обеспечения пишет обращение к устройству на некотором стандартизированном языке, а не в код аппаратных средств ЭВМ. Затем драйвер, написанный изготовителем периферийного устройства или его карты, переводит этот стандартный код к формату, понятному специфической модели периферийных устройств.
API-интерфейсы обеспечивают доступ к новейшим возможностям высокопроизводительных устройств, таких как микросхемы ускорения трехмерной графики и звуковые платы. Эти интерфейсы управляют функциями нижнего уровня, в том числе ускорением двумерной графики, поддержкой устройств ввода, таких как джойстик, клавиатура и мышь, а также микшированием и выводом звука.
Графический интерфейс устройства (GDI – graphics device interface) является стандартом Microsoft Windows, который описывает, как следует представлять графические объекты для передачи их на устройства вывода типа мониторов или принтеров.
GDI поддерживает такие задачи, как рисование линий, представление шрифтов и обработка палитр. Он не занимается непосредственно формированием окон, меню и т.д., эти задачи оставлены для подсистемы пользователя (user32.dll), которая является надстройкой над GDI.
API для трехмерной графики
Господствующими направлениями в обработки трехмерной графики в последние годы являются два 3D-API – OpenGL и Direct3D. Прежде чем давать их описания вкратце охарактеризуем процедуры, входящие в понятие построение изображения.
Рендеринг (rendering – окончательная компиляция изображения). На этапе рендеринга, выполняемого 3D-акселератором, осуществляется построение растрового изображения (пикселей). Проблемное место здесь – доступ к памяти – необходимо быстро считывать пиксели и передавать в буфер кадра(экрана). Изображение каждого кадра (сцены) составляют тысячи многоугольников и они должны быть обновлены и переданы через память по крайней мере 30 раз в секунду, чтобы создать иллюзию движения.
Процесс рендеринга предполагает использование различных 3D-методов:
Текстурирование, отображение текстур – технология детализации 3D-изображения, которая лучше всего может быть представлена как обтягивание некоего трехмерного каркаса окрашенной бумагой. Это трудоёмкий процесс который должен быть выполнен не только для каждого пикселя изображения, но и для каждого элемента текстуры (текселя);
Сжатое Текстурирование – форма сокращения объёма данных, при которой создается большее количество текселей, без выполнения эквивалентного необходимого числа вычислений;
Билинейная фильтрация – считывание четверок текселей, усреднение их характеристик и использование предоставленного результата как единственного текселя. В результате выравнивается фактура близлежащих участков, изображение сглаживается и уменьшается пикселизация;
Z-буферизация – метод вычисления пикселей, которые следует загрузить в буфер экрана. Данный метод вычисляет и приписывает каждому пикселю некоторый вес «Z». Чем меньше значение Z, тем раньше данный пиксель должен быть выведен на экран;
Сглаживание – технология снижения «шумов», присутствующих в изображении. Например, если объект находится в движении, необходим большой информационный поток, отражающий изменение положения, цвета, размера и т.д. Иногда процессор не успевает обработать всю информацию и тогда некоторые места заполняются бессмысленным шумом;
Закраска/штриховка Гуро применяет тени к поверхности объектов, заставляет их выглядеть более объёмно;
Отображение выпуклостей/неровностей создает иллюзию объёмных углублений на плоской поверхности.
OpenGL (открытая графическая библиотека) – межъязыковая и межплатформенная спецификация API для 3- и 2-мерных приложений компьютерной графики. Включает более 250 функций, которые предназначены для формирования 3-мерных объектов и сцен из простых примитивов. Основная функция OpenGL заключается в считывании физических примитивов (точек, линий и многоугольников) и преобразования их в пиксели.
В своей основе OpenGL – это спецификация, т.е. некоторый документ, который определяет набор функций и содержит точное описание действий, которые они должны выполнять. На основе этой спецификации производители аппаратных средств ЭВМ создают конкретные программные реализации – библиотек, используя видеоакселераторы там, где возможно. Оборудование подвергается сертификационным тестам, чтобы квалифицировать его соответствие OpenGL.
Direct3D включает две компоненты API – Immediate Mode (немедленная обработка) и Retained Mode (отложенная обработка). Первая обеспечивает использование всех 3D-функций видеокарт (подсветка, Текстурирование, трансформация объектов и пр.), в то время как вторая – более сложные графические технологии, такие как иерархия сцен или анимация. Функции Immediate Mode предпочитают использовать разработчики видеоигр, поскольку здесь они могут осуществлять программирование на низком уровне, более свободно и эффективно используя возможности графического оборудования.
Компоненты 6-й версии Direct3D поддерживают возможности более новых графических карт выполнять множественное текстурирование за один подход.
Следующая версия 7.0 (1999 г.) кроме оптимизации кода, которая позволила на 20 % увеличить быстродействие включала ряд новых особенностей. Наиболее важная из них сопровождение операций трансформации и подсветки (T&L), т.к. они поддерживаются большинством 3D-акселераторов текущего поколения, и особенно в графических картах чипсетов GeForce 256 (nVidia) и Savage 2000 (S3).
Поскольку операции T&L являлись одной из самых трудоёмких для центральных процессоров задач в современных игровых приложениях, перенос этой нагрузки на выделенный 3D-акселератор позволяет освободить ЦП для более существенных задач (например, внесение в игры элементов искусственного интеллекта или выработка специальных эффектов).
Самой важной стороной DirectX 9.0 (январь 2003 г.) было введение HLSL (высокоуровневый язык раскрашивания изображений) ранее разработчики игр должны были программировать алгоритмы раскраски, используя ассемблер низкого уровня. HLSL вводит дружественную среду программирования, которая облегчает каждый шаг разработки, - от создания ярких образов в мультипликации до программирования эффектов. Базирующийся на языке программирования С, HLSL совместим со всеми графическими средствами DirectX.
API для аудиоустройств
A3D (разработан в 1997 г. NASA совместно с Aureal) позволяет моделировать конфигурацию помещения, в котором раздаются и распространяются звуки, вычисляя до 60 звуковых отражений (в ангаре, колодце и пр.)
EAX – программно-аппаратурные технологии добавления эффектов к обрабатываемому аудиокартой звуковому сигналу для придания естественности при моделировании звуковой аудиосистемы (в основном – в компьютерных играх). Впервые появляется в картах Sound Bluster и в дальнейшем (2001 г.) вытесняет A3D. Эффекты могут накладываться как на естественный, так и на искусственный звуковой сигнал (синтезированные или MIDI-звуки). ЕАХ не управляет трехмерным позиционированием источников звука.
Библиотека API EAX является расширением для API Microsoft DirectSound3D, добавляя эффекты к звуковому позиционированию DS3D. В 2006 году ЕАХ применялся во многих популярных играх, включая Doom 3 и Prey, которые используют ЕАХ 4.0, если присутствуют звуковые аппаратные средства с драйвером, поддерживающим OpenAL.
OpenAL. Альтернатива DirectSound3D, появилась в 2003 году и также как и DirectSound позволяет прямое ускорение аппаратных средств аудио, подключая ЕАХ. Это кросс-платформенная библиотека API, предназначенная для моделирования трехмерного звукового окружения (акустический рендеринг). Первоначально была разработана Loki Software для переноса игр из среды Windows в ОС Linux. Функционирование OpenAL заключается в совместном рассмотрении источника звука, БД звуковых сигналов и приёмника сигнала. Звуковая БД содержит образцы сигналов в формате PCM (16 или 8 бит) как моно, так и стереофонические.
Командное управление звуковыми устройствами.
Цифровой интерфейс музыкальных инструментов (Musical Instrument Digital Interface – MIDI) появился в начале 1980-х годов и был разработан, чтобы обеспечить стандартный интерфейс между пультами управления музыкой и звуковыми генераторами.
Интерфейс MIDI предает не звук, а команды, которые выполняет устройство приемник. Например если на клавиатуре нажата клавиша, то передается команда Note On (включить ноту), которая заставляет принимающее устройство проиграть некоторую музыкальную ноту. Команда состоит из трех элементов:
Байт состояния;
Номер ноты;
Значения скорости нажатия клавиши.
Байт состояния содержит информацию о типе команды, а так же на какой канал она должна быть послана (1 – 16).
Номер ноты описывает клавишу, которая была нажата.
Значение скорости указывает силу, с которой эта клавиша была нажата. Принимающий инструмент будет исполнять эту ноту, пока не придет команда Note Off (отключит ноту), которая содержит аналогичные данные.
Программные средства управления печатью.
PostScript. (1985 г. Adobe) PostScript уровня 1 создает описания страниц в векторной форме, которые передаются на дисплей или принтер, где преобразуются в растровые образы в соответствии с максимальным разрешением устройства. Каждое из устройств воспроизводит PostScript-программы на уровне свои возможностей, но все эти изображения геометрически подобны.
Команды PostScript уровня 1 могут быть посланы на принтер/дисплей из любой ЭВМ или ОС и от драйвера требовалось только трансформировать содержание документа в эти команды, которые затем могли бы интерпретироваться любым PostScript-принтером.
PCL (командный язык принтера) был первоначально предназначен для матричных принтеров и использовал коды бинарной разметки, управляющие шрифтами, а не полный язык описания страниц. Первая широко известная версия PCL 3 поддерживала только простые задачи печати, PCL 4 добавляет лучшую поддержку графики. PCL 5, разработанный для LaserJet III, содержал подобный PostScript 1 набор возможностей – масштабируемые шрифты, системны и векторные описания, которые значительно убыстряли печать по сравнению с PostScript 1.
GDI-принтеры
Альтернативой лазерным принтерам, которые управляются зыками, подобными PostScript и PCL, являются растровые принтеры, совместимые с Windows GDI. При этом на ПК осуществляется рендеринг страниц перед пересылкой их в растровой форме для прямого вывода на печать, используя принтер только как механизм печати. В этом случае нет никакой потребности в дорогих встроенных процессорах или памяти, что существенно удешевляет принтер.