Главная » Железо

Работа с принтером через интерфейс USB

Добавлено Дата: 19 April, 2011 категория: Ассемблер, Железо

В процессе стандартизации периферийного оборудования с интерфейсом USB постоянно возникают проблемы, связанные с несогласованностью действий разработчиков, а часто — и с явным нежеланием следовать каким-либо стандартам. Некоторые классы устройств описаны настолько расплывчато, что создание для них универсальных драйверов в принципе невозможно: для разработки программного обеспечения требуется запрашивать у изготовителя документацию на конкретное устройство.

Читать »

Структура пакетов USB

Добавлено Дата: 19 April, 2011 категория: Ассемблер, Железо

Вся информация передается по шине USB в виде пакетов. Каждый пакет начинается с поля синхронизации (SYNC), за которым следует идентификатор пакета (PID). Идентификатор пакета состоит из четырехразрядного кода типа пакета и четырехразрядного контрольного поля, каждый разряд которого является инверсией соответствующего разряда кода типа пакета (код пакета и контрольное поле комплементарны). Принятые по стандарту USB 1.1 коды PID перечислены в табл. 8.1. Как видно из таблицы, имеется четыре группы идентификаторов, причем принадлежность к определенной группе задается в двух младших разрядах PID:

Читать »

Особенности реализации режима DMA на системных платах с шиной PCI

Добавлено Дата: 19 April, 2011 категория: Ассемблер, Железо

Режим прямого доступа к памяти (Direct Memory Access, сокращенно DMA) обеспечивает возможность обмена данными между периферийными устройствами и оперативной памятью компьютера без непосредственного участия процессора. В первую очередь он необходим в том случае, если используемые периферийные устройства имеют небольшие встроенные буферы памяти (такие устройства нуждаются в немедленном обслуживании и не могут ждать, пока процессор освободится от выполнения задач с более высоким приоритетом). Кроме того, в некоторых случаях режим DMA обеспечивает более высокую скорость передачи данных, чем режим РЮ.

Читать »

Порядок обработки списка дескрипторов USB

Добавлено Дата: 18 April, 2011 категория: Ассемблер, Железо

Порядок выполнения запросов определяется структурой списка дескрипторов, который в спецификации хост-контроллера [91J именуется «планом» (Schedule). Для обеспечения нормальной работы шины USB дескрипторы в списке должны размещаться в определенном порядке, как показано на рис. 8.11.

Читать »

Линейная адресация Данных в реальном режиме DOS

Добавлено Дата: 18 April, 2011 категория: Ассемблер, Железо

В литературе по программированию описано три режима работы микропроцессоров серии 80×86: реальный режим (режим совместимости с архитектурой 8086), защищенный режим и режим виртуальных процессоров 8086 (являющийся подвидом защищенного режима).

Основной недостаток реального режима состоит в том, что адресное пространство имеет размер всего в 1 Мбайт и при этом сегментировано — «нарезано» на кусочки размером по 64 Кбайт. Одного мегабайта очень мало для современных ресурсоемких прикладных программ (текстовых и графических редакторов, геоинформационных

Читать »

Таинственная мышь PS/2

Добавлено Дата: 16 April, 2011 категория: Ассемблер, Железо

Мышь PS/2 — это, пожалуй, самое глубоко законспирированное периферийное устройство персонального компьютера. Протокол передачи данных этой мыши был опубликован в документации к старым моделям IBM PS/2, а вся остальная информация длительное время была недоступной. Интерес к манипуляторам с интерфейсом PS/2 возник по причине повсеместного распространения стандарта АТХ, вытеснившего стандарт AT. Материнская плата формата АТХ снабжена двумя разъемами PS/2-типа, один из которых предназначен для подключения клавиатуры, а второй — для координатного устройства (можно присоединять мышь, джойстик, трекбол и т. д.).

Читать »

Модель передачи данных USB

Добавлено Дата: 15 April, 2011 категория: Ассемблер, Железо

Логическое устройство USB представляет собой набор конечных точек.

Конечная точка (Endpoint) — это часть устройства USB, которая имеет уникальный идентификатор и является получателем или отправителем информации, передаваемой по шине USB.

Основными для конечной точки являются следующие параметры:

Читать »

Регистры видеоконтроллера

Добавлено Дата: 10 April, 2011 категория: Ассемблер, Железо

Необходимость непосредственной работы с регистрами видеоконтроллера реально возникает только после перехода в защищенный режим работы процессора Intel х86, когда недоступны видеофункции BIOS.

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

Читать »

Назначение и внутренняя организация таблиц размещения файлов

Добавлено Дата: 10 April, 2011 категория: Ассемблер, Железо

Размер файла, вообще говоря, не является постоянной величиной и может изменяться (обычно — увеличиваться) со временем. Если допускается хранение файла только в смежных (последовательно расположенных) секторах, то при увеличении размера файла операционная система должна полностью перезаписывать его в другую (свободную) область диска подходящего объема. Чтобы упростить и ускорить выполнение операции добавления новых данных в файл, в современных операционных системах применяются таблицы размещения файлов (File Allocation Table, сокращенно FAT), позволяющие хранить файл в виде нескольких несмежных участков. При использовании FAT область данных логического диска разделена на участки одинакового размера — кластеры. Кластер может состоять из одного или нескольких последовательно расположенных на диске секторов. Число секторов в кластере должно быть кратно 2n и может принимать значения от 1 до 64 (размер кластера зависит от типа используемой системы FAT и объема логического диска).

Читать »

Командный язык PCL фирмы Hewlett-Packard

Добавлено Дата: 9 April, 2011 категория: Ассемблер, Железо

Печать в растровом режиме на принтерах Hewlett-Packard может осуществляться при помощи языка PCL [54, 83, 84, 87, 89]. Язык PCL имеет богатый набор команд, однако при растровой печати реально необходимой является лишь небольшая подгруппа из этого набора, приведенная в табл. 7.8. Символ # в командной Esc-последо- вательности означает числовую константу, записанную в коде ASCII.

Читать »

Прием и передача пакетов NE2000

Добавлено Дата: 7 April, 2011 категория: Ассемблер, Железо

Область оперативной памяти адаптера в процессе настройки должна быть поделена на две части, как показано на рис. 9.10: буфер данных передатчика и кольцевой буфер данных приемника. С целью упрощения схемы управления адаптером встроенная оперативная память была разделена на страницы размером 256 байт. Принимаемый или передаваемый пакет все1да занимает целое количество таких страниц, причем начало пакета должно быть выровнено на начало страницы. Если в конце последней занимаемой пакетом страницы есть неиспользуемый участок, при выполнении операций с памятью он просто игнорируется (не обрабатывается). Буфер данных передатчика размещается в начальном участке области оперативной памяти и обычно занимает область размером 1,5 Кбайт (6 страниц по 256 байт), соответствующую максимальному размеру пакета данных.

Читать »

Виды растровой печати

Добавлено Дата: 6 April, 2011 категория: Ассемблер, Железо

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

Читать »

Непосредственная работа с мышью PS/2-типа

Добавлено Дата: 5 April, 2011 категория: Ассемблер, Железо

Мышь PS/2 подключаются не к последовательному порту, а к разъему дополнительного устройства PS/2. Мышь обслуживается тем же контроллером материнской платы, что и клавиатура, то есть получает команды и передает данные через те же порты ввода-вывода. Отличие заключается в том, что при приеме пакета данных от мыши контроллер вырабатывает прерывание IRQ12. Это прерывание необходимо закрепить за мышью с помощью процедуры BIOS SETUP, иначе оно может быть захвачено каким-либо другим устройством и станет для мыши недоступным.

Читать »

Перевод чисел из десятичного кода в двоичный и наоборот

Добавлено Дата: 5 April, 2011 категория: Ассемблер, Железо

Перевод чисел из одной системы счисления в другую выполняется при помощи математического сопроцессора очень просто — используется тот же механизм преобразования форматов данных, с помощью которого целые числа превращаются в вещественные и наоборот. Возможность применения этого способа имелась уже в самом первом сопроцессоре (i8087), однако об этом не упоминается ни в одном учебнике!

Читать »

Стандартные дескрипторы USB

Добавлено Дата: 4 April, 2011 категория: Ассемблер, Железо

В спецификации на шину USB указана группа дескрипторов, которые должны выдаваться устройствами USB в ответ на стандартные запросы. Структура таких дескрипторов стандартизирована, а в документации они именуются стандартными дескрипторами (standard descriptors).

Читать »