<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0" xmlns="http://backend.userland.com/rss2" xmlns:yandex="http://news.yandex.ru">
<channel>
<title>Интерфейсы периферийных устройств - Аппаратные интерфейсы ПК</title>
<link>http://intpc.ru/</link>
<language>ru</language>
<description>Интерфейсы периферийных устройств - Аппаратные интерфейсы ПК</description>
<image>
<url>http://intpc.ru/yandexlogo.gif</url>
<title>Интерфейсы периферийных устройств - Аппаратные интерфейсы ПК</title>
<link>http://intpc.ru/</link>
</image>
<generator>DataLife Engine</generator><item>
<title>Интерфейс клавиатуры</title>
<link>http://intpc.ru/103-interfejjs-klaviatury.html</link>
<description>Традиционная клавиатура PC представляет собой унифицированное устройство ввода со стандартным разъемом и последовательным интерфейсом связи с системной платой. В настоящее время используются так называемые расширенные (enhanced) клавиатуры ATилн PS/2, имеющие более 100 клавиш. Они вытеснили первые 84-клавишные клавиатуры AT и тем более клавиатуры XT. По электрическому интерфейсу клавиатуры XT и AT совпадают, за исключением того, что двунаправленный интерфейс позволяет клавиатуре AT принимать команды от системной платы. Однако по логическому интерфейсу они несовместимы (клавиатура AT иногда имеет переключатель режима XT/AT). Клавиатура PS/2 отличается от AT только исполнением разъема, при необходимости можно использовать переходник. Клавиатуры имеют внутренний микроконтроллер, способный определить факты нажатия и отпускания клавиш, при этом можно нажимать очередную клавишу, даже удерживая несколько ранее нажатых. При нажатии клавиши клавиатура передает идентифицирующий ее скан-код. При удержании клавиши в нажатом положении через некоторое время клавиатура начинает автоповтор передачи скан-кода нажатия этой клавиши. Задержка автоповтора (typematic delay) и скорость автоповтора (typematic rate) для клавиатур AT программируются. Расширенная клавиатура позволяет выбирать 1 из 3 наборов скан-кодов. С распространением шины USB появились клавиатуры и с этим интерфейсом; они имеют и встроенный хаб, например для подключения мыши USB. Клавиатура USB питается от шины. Для клавиатуры USB требуется специальная поддержка со стороны BIOS; она имеется в современных системных платах.</description>
<category>Интерфейсы периферийных устройств</category>
<author>jcrush</author>
<pubDate>Mon, 29 Dec 2008 15:50:15 +0300</pubDate>
<yandex:full-text>Традиционная клавиатура PC представляет собой унифицированное устройство ввода со стандартным разъемом и последовательным интерфейсом связи с системной платой. В настоящее время используются так называемые расширенные (enhanced) клавиатуры ATилн PS/2, имеющие более 100 клавиш. Они вытеснили первые 84-клавишные клавиатуры AT и тем более клавиатуры XT. По электрическому интерфейсу клавиатуры XT и AT совпадают, за исключением того, что двунаправленный интерфейс позволяет клавиатуре AT принимать команды от системной платы. Однако по логическому интерфейсу они несовместимы (клавиатура AT иногда имеет переключатель режима XT/AT). Клавиатура PS/2 отличается от AT только исполнением разъема, при необходимости можно использовать переходник. Клавиатуры имеют внутренний микроконтроллер, способный определить факты нажатия и отпускания клавиш, при этом можно нажимать очередную клавишу, даже удерживая несколько ранее нажатых. При нажатии клавиши клавиатура передает идентифицирующий ее скан-код. При удержании клавиши в нажатом положении через некоторое время клавиатура начинает автоповтор передачи скан-кода нажатия этой клавиши. Задержка автоповтора (typematic delay) и скорость автоповтора (typematic rate) для клавиатур AT программируются. Расширенная клавиатура позволяет выбирать 1 из 3 наборов скан-кодов. С распространением шины USB появились клавиатуры и с этим интерфейсом; они имеют и встроенный хаб, например для подключения мыши USB. Клавиатура USB питается от шины. Для клавиатуры USB требуется специальная поддержка со стороны BIOS; она имеется в современных системных платах.</yandex:full-text>
</item><item>
<title>Интерфейс клавиатуры AT и PS/2</title>
<link>http://intpc.ru/104-interfejjs-klaviatury-at-i-ps2.html</link>
<description>Для подключения клавиатуры предназначен последовательный синхронный двунаправленный интерфейс, состоящий из двух обязательных сигналов KB-Data и KB-Clock.</description>
<category>Интерфейсы периферийных устройств</category>
<author>jcrush</author>
<pubDate>Mon, 29 Dec 2008 16:29:07 +0300</pubDate>
<yandex:full-text>Для подключения клавиатуры предназначен последовательный синхронный двунаправленный интерфейс, состоящий из двух обязательных сигналов KB-Data и KB-Clock. Обе линии на системной плате подтягиваются резисторами к шине +5 В. На обеих сторонах интерфейса выходные сигналы низкого уровня формируются выходами элементов с открытым коллектором (стоком), а состояние линий может быть прочитано через входные линии контроллеров. Вид разъемов (со стороны задней панели) и назначение контактов приведены на рис. 8.1. Конструктивно возможны два варианта разъема - обычная 5-контактная розетка DIN (клавиатура AT) или малогабаритная розетка mini-DIN (PS/2). На этот же разъем через плавкий предохранитель поступает напряжение питания клавиатуры +5 В.&lt;br /&gt; &lt;br /&gt;ВНИМАНИЕ	&lt;br /&gt;Питание от разъема клавиатуры часто используется такими устройствами, как внешние накопители или адаптеры локальных сетей, подключаемыми к параллельному порту. Плавкий предохранитель, установленный на системной плате, может не выдержать броска тока, потребляемого этими устройствами. При этом откажется работать и клавиатура - ее индикаторы даже и не мигнут при включении.&lt;br /&gt;Процессор общается с клавиатурой через контроллер интерфейса клавиатуры - микроконтроллер 8042 или программно-совместимый с ним, установленный на системной плате. Для обмена информацией в основном используется порт 60h, из которого принимаются скан-коды. О необходимости чтения скан-кода контроллер сигнализирует процессору через аппаратное прерывание IRQ1, сигнал которого вырабатывается по каждому событию клавиатуры (нажатию и отпусканию клавиши). Задание параметров автоповтора, выбор таблиц скан-кодов, управление светодиодными индикаторами, а также управление режимом сканирования матрицы клавиш и запуск диагностического теста осуществляется командами, посылаемыми в этот же порт. Контроллер транслирует команды в посылки, направляемые к клавиатуре.&lt;br /&gt;Работу двунаправленного интерфейса иллюстрирует рис. 8.2, а, где серым цветом помечены сигналы, формируемые контроллером, а черным - клавиатурой. В исходном состоянии обе линии «отпущены» выходными формирователями в состояние с высоким уровнем. Клавиатура может начать передачу данных в произвольный момент, когда интерфейс находится в покое. Клавиатура формирует стартовый бит (низкий уровень) на линии KB-Data и первый импульс KB-Clock, что является сигналом контроллеру о необходимости начала приема. После подъема KB-Clock она выводит 0-й бит данных на линию KB-Data, а затем и следующий импульс KB-Clock. Контроллер должен «защелкивать» принятый бит данных по спаду KB-Clock. Так передаются все 8 бит данных и бит паритета, дополняющий число единичных бит до нечетного. После синхроимпульса бита паритета контроллер клавиатуры должен сформировать импульс KB-Clock, подтверждающий прием байта (Ack). Если весь байт с битом паритета не будет получен контроллером за 2 мс, контроллер прекращает прием данного байта и фиксирует ошибку тайм-аута.&lt;br /&gt;&lt;br /&gt;Обратная передача - вывод команды контроллера в клавиатуру - происходит несколько сложнее (рис. 8.2, б). Из состояния покоя контроллер устанавливает низкий уровень KB-Clock на 250 мкс и формирует старт-бит (низкий уровень) - это сигнал клавиатуре на прием команды. На него клавиатура должна ответить серией из 11 импульсов KB-Clock. По спаду очередного синхроимпульса контроллер выставляет очередной бит данных, а клавиатура его «защелкивает» по фронту формируемого ею же синхроимпульса. После бита паритета (9-й импульс) и единич-ного стоп-бита (10-й) на 11-м импульсе клавиатура формирует нулевой бит подтверждения (Ack). После этого контроллер формирует импульс KB-Clock (60 мкс), который является запросом на прием ответа клавиатуры. Контроллер ожидает окончания ответа на этот запрос не долее 20 мс и, если ответ не придет за это время, сформирует ошибку тайм-аута. Ошибка будет также в случае, если клавиатура не введет первый синхроимпульс за 15 мс от начала запроса или контроллер не примет данные, включая стоп-бит, за 2 мс с момента появления синхроимпульса бита 0.&lt;br /&gt;На системной плате PC/XT контроллера 8042 не было, а интерфейс клавиатуры (однонаправленный) был реализован аппаратной логикой - регистром сдвига, параллельный выход которого подключается к входам порта А системного интерфейса 18255. По приему байта от клавиатуры вырабатывается аппаратное прерывание IRQ1, обработчик которого может прочитать принятый байт из порта 60h. С помощью бит 7 и 6 порта 61h возможны программная блокировка и сброс клавиатуры соответственно. Сброс клавиатуры XT осуществляется обнулением линии KB-Clock.</yandex:full-text>
</item><item>
<title>Контроллер интерфейса клавиатуры и мыши 8042/8242</title>
<link>http://intpc.ru/105-kontroller-interfejjsa-klaviatury-i-myshi-80428242.html</link>
<description>Программируемый микроконтроллер клавиатуры 18042, КВС (keyboard controller)</description>
<category>Интерфейсы периферийных устройств</category>
<author>jcrush</author>
<pubDate>Mon, 29 Dec 2008 16:31:02 +0300</pubDate>
<yandex:full-text>Программируемый микроконтроллер клавиатуры 18042, КВС (keyboard controller), является посредником между клавиатурой, подключенной к нему по вышеописанному последовательному интерфейсу, и центральным процессором, с которым он связан через параллельный интерфейс. В микроконтроллере постоянно исполняется внутренняя микропрограмма, реагирующая на сигналы интерфейса клавиатуры и команды, поступающие от процессора. Эта микропрограмма (КВС BIOS) хранится во внутреннем масочном ПЗУ контроллера; внешне она недоступна, и контроллер можно рассматривать как устройство с заданными свойствами. Поскольку логика работы контроллера реализована программой, его реакция на команды процессора и сигналы интерфейса относительно медленная - время отклика измеряется десятками микросекунд. Помимо управления клавиатурой через программно-управляемые и программно-читаемые линии внешних портов контроллера формируются сигналы управления вентилем Gate A20, аппаратного системного сброса, а также считываются сигналы от конфигурационных джамперов системной платы. Контроллер 18242, кроме интерфейса клавиатуры, поддерживает аналогичный интерфейс дополнительного устройства - PS/2-Mouse. При инициализации (по аппаратному сбросу) контроллер установится в режим PS/2 или AT, в зависимости от состояния определенного вывода микросхемы. В режиме AT контроллер не выполняет функции интерфейса мыши и игнорирует все команды, относящиеся к мыши. Режим выбирается соответствующей настройкой BIOS Setup.&lt;br /&gt;Связь контроллера с центральным процессором обеспечивается через 8-битную шину данных. Контроллер выбирается сигналом CS# от дешифратора адреса, срабатывающего по адресам 0060h и 0064h; внутренние регистры контроллера выбираются линией SA2 системной шины адреса. Чтение и запись выполняется по сигналам IORD* и IOWR#, генерируемых при выполнении процессором инструкций IN и OUT. Таким образом, контроллер располагается в пространстве ввода-вывода CPU по адресам 60h (регистр данных) и 64h (регистр состояния и команд), назначение регистров приведено в табл. 8.1. Из регистра данных считываются данные, принимаемые по интерфейсам от клавиатуры и мыши, а также данные, возвращаемые контроллером в ответ на адресованные ему команды. Запись в регистр данных используется для подачи команд и данных, адресованных к клавиатуре и мыши, а также данных для команд, адресованных контроллеру. В регистр команд записываются команды, адресованные контроллеру. Режим работы контроллера (разрешение работы интерфейсов клавиатуры и мыши и пре-рываний от них, трансляция скан-кодов и другие параметры) задается командным байтом, посылаемым в контроллер по специальной команде. Перед любой записью в контроллер необходимо убедиться в его готовности. Признаком готовности/занятости контроллера является значение бита 1 регистра состояния (порт 064h).&lt;br /&gt;&lt;br /&gt;Таблица 8.1. Назначение регистров контроллера клавиатуры Порт, R/W   Назначение&lt;br /&gt;060 RW       Порт данных 8042&lt;br /&gt;064 R	Регистр состояния 8042 (R/O): бит 7 - ошибка четности при последнем обмене&lt;br /&gt;с клавиатурой; бит 6 - тайм-аут приемника/общий тайм-аут1; бит 5 - тайм-аут передатчика/выходной буфер интерфейса мыши полон (MouseJDBF)1; бит 4: 0 - клавиатура на замке; бит 3:1 - последняя запись была командой, 0 - данными; бит 2: системный флаг, устанавливается в 0 по включении питания, в 1 - программно (что означает состояние завершения системного сброса Reset OK); бит 1:1- входной буфер интерфейса клавиатуры полон, 0 - готовность к приему команды/данных; бит 0:1- выходной буфер интерфейса клавиатуры полон (DBF)&lt;br /&gt;064 W         Регистр команд 8042&lt;br /&gt;1 Второе назначение бита относится к контроллеру i8242B, имеющему дополнительный интерфейс для подключения PS/2-Mouse.&lt;br /&gt;Контроллер имеет два внешних порта, с помощью которых и реализуются последовательные интерфейсы, а также управление вентилем GateA20, сигналом сброса процессора и чтением сигналов от джамперов системной платы и ключа блокировки клавиатуры. Эти порты не имеют непосредственного отображения в пространстве адресов ввода-вывода PC; доступ к ним осуществляется через команды контроллера. Кроме этих портов контроллер имеет два специальных входа ТО и Т1, которые могут считываться его микропрограммой и использоваться в качестве источников его внутренних прерываний (это не прерывания CPU). Каждая из двунаправленных интерфейсных линий KB-Data, KB-Clock, MS-Data и MS-Clock реализуется битом порта вывода и битом ввода. В режиме PS/2 для чтения линий KB-Clock и MS-Clock используются входы ТО и Т1, в режиме AT вход Т1 используется для линии KB-Data.&lt;br /&gt;Порт ввода Р1 доступен по команде C0h; в режиме PS/2 имеет следующее назначение бит:&lt;br /&gt;-	бит 7 - ключ блокировки клавиатуры (Keylock): 0 - клавиатура заблокирована;&lt;br /&gt;-	бит 6 - перемычка установки видеорежима: 0 - цветной (Color), 1 - монохромный (Mono);&lt;br /&gt;-	бит 5 - системная перемычка: 0 -замкнута;&lt;br /&gt;-	бит 4 - перемычка задания объема ОЗУ: 0 - 256 Кбайт, 1 - 512 Кбайт и более;&lt;br /&gt;-	биты 3, 2 - не используются;&lt;br /&gt;-	бит 1 - линия MS-Data;&lt;br /&gt;-	бит 0 - линия KB-Data.&lt;br /&gt;В современных ПК используются только биты 0,1 и 7; в режиме AT биты О и 1 не используются.&lt;br /&gt;Порт вывода (Р2), доступный для записи и чтения по командам Dlh и D0h соответственно, имеет следующее назначение бит:&lt;br /&gt;-	бит 7 - линия KB-Data;&lt;br /&gt;-	бит 6 - линия KB-Clk;&lt;br /&gt;-	бит 5 - запрос прерывания от дополнительного интерфейса (IRQ12), в режиме AT не используется;&lt;br /&gt;-	бит 4 - запрос прерывания от клавиатуры (IRQ1);&lt;br /&gt;-	бит 3 - линия MS-Clk, в режиме AT не используется;&lt;br /&gt;-	бит 2 - линия MS-Data, в режиме AT не используется;&lt;br /&gt;-	бит 1 - вентиль линии адреса А20 (Gate A20, см. п. 12.3): 0 - А20 обнулен, 1 - управляется выводом процессора;&lt;br /&gt;-	бит 0 - альтернативный сброс процессора (сигнала INIT, без формирования общего сигнала сброса).&lt;br /&gt;Приняв посылку от клавиатуры, контроллер выполняет внутреннюю трансляцию скан-кода (если это не запрещено командным байтом) и устанавливает в регистре состояния OBF=1, что приводит к генерации запроса прерывания IRQ1 (если это не запрещено командным байтом). В ответ на это хост должен считать данные (транслированный скан-код, префиксы и т. п.) из порта данных (60h). Трансляция обеспечивает программную совместимость клавиатур XT и AT (см. ниже) по чтению скан-кодов из порта 60h. При получении посылки от мыши контроллер не выполняет никаких преобразований и устанавливает в регистре состояния Моusе_0ВF-1, что приводит к генерации запроса прерывания IRQ12 (если это не запрещено командным байтом). По этому сигналу данные от мыши должны быть считаны хостом из того же порта 60h. To же самое происходит и при программной записи байта в выходной буфер клавиатуры (код D2h) или мыши (код D3h), с установкой соответствующих битов состояния и генерацией запросов IRQ1 или IRQ 12.&lt;br /&gt;После получения команды, по которой контроллер должен возвращать данные, он устанавливает в регистре состояния OBF=1, что приводит к генерации запроса прерывания IRQ1 (если это не запрещено командным байтом). После этого данные должны быть считаны из порта данных (по адресу 60h). Если команда возвращает несколько байтов данных, прерывание генерируется для каждого байта.&lt;br /&gt;Взаимодействие с контроллером осуществляется подачей команд - записью в регистр команд (по адресу 064h). Перед посылкой команды необходимо убедиться в готовности контроллера к ее приему - бит 1 порта 64h должен иметь нулевое значение. Подробно команды контроллера описаны в литературе [2, 8]. Контроллеры клавиатуры различаются версиями встроенного ПО, поэтому замена контроллера другим, с отличающейся версией ПО (КВС BIOS), может оказаться проб-лематичной - микросхема BIOS системной платы должна знать особенности контроллера клавиатуры.&lt;br /&gt;</yandex:full-text>
</item><item>
<title>Системная поддержка и программный интерфейс</title>
<link>http://intpc.ru/106-sistemnaja-podderzhka-i-programmnyjj-interfejjs.html</link>
<description>Клавиатура имеет системную поддержку на уровне BIOS</description>
<category>Интерфейсы периферийных устройств</category>
<author>jcrush</author>
<pubDate>Mon, 29 Dec 2008 16:33:42 +0300</pubDate>
<yandex:full-text>Клавиатура имеет системную поддержку на уровне BIOS - обработку фактов нажатия и отпускания клавиш и обеспечение сервисов ввода символов с клавиатуры, а также управления ее параметрами (задержка и частота автоповтора) и индикаторами. Коды, принятые от клавиатуры ее контроллером, считываются и обрабатываются обработчиком аппаратного прерывания IRQ1 (вектор 09h). Результат обработки помещается в клавиатурный буфер, из которого по программному прерыванию Int 16h этот результат для дальнейшей обработки может быть извлечен значительно позже. Нажатие «системной» комбинации Ctrl+Alt+Del, клавиши PrintScreen (SysRq) и некоторых других к записи в клавиатурный буфер не приводит, а вызывает специальные процедуры. Прикладной программе, для которой требуется нестандартное использование клавиатуры (например, в качестве музыкальной), придется самой заниматься обработкой аппаратного прерывания IRQ1, перехватывая вектор Int 09h. Перехват этого вектора требуется и для вызова каких-либо функций резидентных программ по «горячим» клавишам.&lt;br /&gt;При начальном тестировании процедура POST инициализирует клавиатуру (и ее контроллер) и запускает диагностический тест. Во время этого теста клавиатура мигнет всеми индикаторами, после чего может остаться включенным только индикатор NumLock (зависит от установки в BIOS Setup). В случае обнаружения ошибки клавиатуры на консоль выводится сообщение с возможным указанием скан-кода залипшей клавиши и обычно предлагается нажать клавишу F1 для продолжения. То же самое произойдет, если тест не обнаружит клавиатуру (например, из-за вывалившегося разъема или перегоревшего предохранителя), но в этом случае нажатия клавиши F1 будет уже недостаточно. Ошибку диагностики даст и подключение к компьютеру AT клавиатуры от XT, обратное «скрещивание» тоже неработоспособно. Чтобы начальная загрузка не останавливалась по ошибке (отсутствию) клавиатуры (POST будет дожидаться получения кода клавиши F1), тестирование клавиатуры может быть отменено настройкой CMOS Setup.&lt;br /&gt;Для обслуживания клавиатуры используются ячейки ОЗУ из области данных BIOS (BIOS Data Area):&lt;br /&gt;-	0:0417,0:418 - флаги клавиатуры;&lt;br /&gt;-	0:0419 - аккумулятор кода Alt-набора;&lt;br /&gt;-	0:041 А- указатель головы буфера (Buffer Head),2байта (модифицируется&lt;br /&gt;при помещении символа в буфер);&lt;br /&gt;-	0:041C - указатель хвоста буфера (Buffer Tail), 2 байта (модифицируется при&lt;br /&gt;извлечении символа из буфера);&lt;br /&gt;-	0:041E-0:042D - область кольцевого буфера (16 слов).&lt;br /&gt;</yandex:full-text>
</item><item>
<title>Интерфейсы мыши</title>
<link>http://intpc.ru/107-interfejjsy-myshi.html</link>
<description>Мышь является устройством, предназначенным для ввода координат и подачи команд.</description>
<category>Интерфейсы периферийных устройств</category>
<author>jcrush</author>
<pubDate>Mon, 29 Dec 2008 16:35:06 +0300</pubDate>
<yandex:full-text>Мышь является устройством, предназначенным для ввода координат и подачи команд. Интерфейс мыши применим для любого физического воплощения устройства (мышь, трекбол). По интерфейсу с компьютером различают три основных вида мышей: Bus Mouse, Serial Mouse и PS/2-Mouse. Появились мыши с интерфейсом USB, но они пока не получили широкого распространения (как и клавиатура USB, к порту которой удобно подключить мышь USB).&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;С интерфейсами Serial Mouse и PS/2-Mouse иногда возникают недоразумения. Хотя оба они последовательные, но имеют существенные принципиальные различия в уровнях сигналов, способе синхронизации, частоте и формате посылок.&lt;br /&gt;-	Интерфейс PS/2 использует однополярный сигнал с уровнями ТТЛ, питание мыши - однополярное с напряжением +5 В относительно шины GND. Интерфейс RS-232C, применяемый в Serial Mouse, использует двуполярный сигнал (см. п. 2.1) с уровнями срабатывания +3 В и -3 В, и для него требуется двупо-лярное (относительно шины GND) питание мыши.&lt;br /&gt;-	Интерфейс PS/2 использует две раздельные сигнальные линии, одну для пе&lt;br /&gt;редачи данных, другую - для сигналов синхронизации. Serial Mouse использует асинхронный способ передачи данных всего по одной линии.&lt;br /&gt;Даже не рассматривая частоты и форматы посылок, становится ясно, что прямой совместимости между этими интерфейсами быть не может. Тем не менее выпускаются и продаются переходники (пассивные!), позволяющие выбирать способ подключения мыши. Эти переходники предназначены только для универсальных мышей, у которых встроенный контроллер по напряжению питания способен распознать, к какому интерфейсу его подключили, и установить соответствующий тип своего выходного интерфейса. Универсальные мыши не особо распространены, поэтому часто приходится слышать о неудачных попытках применения таких переходников к обычной мыши Serial Mouse или PS/2-Mouse.&lt;br /&gt;Дополнительную путаницу вносят мыши для компьютера Macintosh, которые имеют разъем, с виду напоминающий разъем PS/2. Однако при ближайшем рассмотрении и неудачной попытке включения его в PC становится ясно, что разъемы эти разные, да и интерфейс совершенно иной.&lt;br /&gt;</yandex:full-text>
</item><item>
<title>Последовательные мыши — MS Mouse и PC Mouse</title>
<link>http://intpc.ru/108-posledovatelnye-myshi-ms-mouse-i-pc-mouse.html</link>
<description>Serial Mouse - мышь с последовательным интерфейсом, подключаемая через 9- или 25-контактный разъем СОМ-порта</description>
<category>Интерфейсы периферийных устройств</category>
<author>jcrush</author>
<pubDate>Mon, 29 Dec 2008 16:37:11 +0300</pubDate>
<yandex:full-text>Serial Mouse - мышь с последовательным интерфейсом, подключаемая через 9- или 25-контактный разъем СОМ-порта (табл. 8.2). Эта мышь имеет встроенный микроконтроллер, который обрабатывает сигналы от координатных датчиков и кнопок. Каждое событие - перемещение мыши или нажатие-отпускание кнопки кодируется двоичной посылкой по интерфейсу RS-232C. Для передачи информации применяется асинхронная передача, а двуполярное питание, требуемое по протоколу RS-232, обеспечивается от управляющих линий интерфейса. Недостатком Serial Mouse является то, что она занимает СОМ-порт и требует моно-польного владения его штатной линии прерывания (IRQ4 для СОМ1 и IRQ3 для COM2). Конечно, то, что для использования мыши порту СОМ1 требуется именно прерывание IRQ4, является недостатком не самой мыши, а ее программного драйвера, но для пользователя, не увлекающегося написанием «мышиных» драйверов, важен только факт этого ограничения. Две основные разновидности - MS Mouse (Microsoft Mouse) и PC Mouse (Mouse Systems Mouse) - требуют разных драйверов, многие мыши имеют переключатель MS/PC. Эти два типа «мышей» при одинаковой скорости 1200 бит/с, одном стоп-бите и отсутствии контроля паритета используют различные форматы посылок.&lt;br /&gt;-	MS Mouse: 1 бит данных, трехбайтный пакет (в «классическом» варианте), положительным значениям соответствует перемещение по координате X вправо, а по координате Y вниз. Для трехкнопочных мышей добавляется четвертый байт, передаваемый только при изменении состояния средней кнопки. Для 3D-мыши четвертый байт имеет иное назначение.&lt;br /&gt;-	PC Mouse: 8 бит данных, пятибайтный пакет, положительным значениям соответствует перемещение по координате X вправо, а по координате Y вверх.&lt;br /&gt;Из рассмотрения данных форматов становятся понятными беспорядочные перемещения указателя мыши на экране при несоответствии драйвера типу мыши. Несовместимость может проявляться и более неприятным образом: к примеру, ОС Windows 95 при загрузке (и установке) вообще не воспринимает мышь, работающую в режиме PC Mouse (ей «не нравится» идентификатор, сообщаемый мышью при инициализации). При загруженной ОС переключение режима приводит «только» к непредсказуемым прыжкам указателя мыши и ложным срабатываниям кнопок.&lt;br /&gt;Таблица 8.2. Разъемы Serial Mouse&lt;br /&gt;Сигнал	Контакт DB9       Контакт DB25       ЦепьСОМ-порта&lt;br /&gt;&lt;br /&gt;Data	2	3	RxD&lt;br /&gt;GND	5	7	GND&lt;br /&gt;+V(питание)	7,(4)	4, (20)	RTS, (DTR)&lt;br /&gt;-V (питание)	3	2	TxD&lt;br /&gt;Системная поддержка последовательной мыши осуществляется только на уровне ОС (сервисы вызываются через Int ЗЗп), драйвер мыши - загружаемый или встроенный в ОС. BIOS мышь не поддерживает, даже если и пользуется ею для навигации в BIOS Setup. Еще раз подчеркнем, что для работы мыши обязательно требуется линия аппаратного прерывания - IRQ4 или IRQ3 для последовательных мышей на портах СОМ1 или COM2 соответственно.&lt;br /&gt;</yandex:full-text>
</item><item>
<title>Мышь PS/2</title>
<link>http://intpc.ru/109-mysh-ps2.html</link>
<description>PS/2-Mouse - мышь, появившаяся с компьютерами PS/2.</description>
<category>Интерфейсы периферийных устройств</category>
<author>jcrush</author>
<pubDate>Mon, 29 Dec 2008 16:38:18 +0300</pubDate>
<yandex:full-text>PS/2-Mouse - мышь, появившаяся с компьютерами PS/2. Ее интерфейс и разъем 6-pin mini-DIN аналогичен клавиатурному (см. рис. 8.1) и, как правило, реализуется тем же контроллером клавиатуры 8242 (см. п. 8.1.2). Адаптер и разъем PS/ 2-Mouse устанавливаются на многих современных системных платах (рис. 8.3). Контроллер мыши PS/2 может быть также на карте расширения (ISA) и занимать дополнительные адреса в пространстве ввода-вывода. С мышью PS/2 связь двусторонняя: процессор может посылать контроллеру 8242 специальные команды,&lt;br /&gt;но, в отличие от интерфейса клавиатуры, перед записью в порт 60h каждого «мышиного» байта (и команды, и ее параметра) в порт 64h должен записываться код D4h.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Мышь может работать в одном из двух режимов. В потоковом режиме (stream mode) мышь посылает данные по любому изменению состояния; в режиме опроса (remote mode) мышь передает данные только по запросу процессора. Есть еще диагностический режим (wrap mode), в котором мышь возвращает эхом данные, посылаемые ей контроллером. По приему пакета от мыши контроллер устанавливает флаг Mouse_OBF и вырабатывает прерывание IRQ12, если оно не запрещено командным байтом 8242.&lt;br /&gt;Устройства-указатели с интерфейсом PS/2 (мышь PS/2) имеют поддержку BIOS, обеспечивающую настройку параметров мыши (посылку вышеперечисленных команд). Собственно драйвер мыши (обработчик прерывания по вектору 74h от запроса IRQ12), обрабатывающий ее информационные посылки, входит лишь в состав ОС или загружается отдельно. Поддержка мыши вызывается через BIOS Int 15h с кодами функций C200-C209h.&lt;br /&gt;</yandex:full-text>
</item><item>
<title>Мышь Bus Mouse</title>
<link>http://intpc.ru/110-mysh-bus-mouse.html</link>
<description>Bus Mouse (шинная мышь) - вариант, применявшийся в первых мышах. Здесь мышь содержит только датчики и кнопки, а обработка их сигналов производится на специализированной плате адаптера (обычно ISA). Кабель 9-проводный, разъем специальный (рис. 8.4), хотя на первый взгляд и напоминающий разъем PS/2-Mouse. Главный недостаток такой системы заключается в том, что адаптер занимает слот системной шины, адреса ввода-вывода и линию запроса прерывания. Иногда встречались мультипортовые карты ISA (COM-, LPT- и GAME-nop-ты), на которых установлен и адаптер Bus Mouse. Поскольку компания Microsoft одна из первых выпустила такую мышь, снабдив ее своим логотипом, с понятием Bus Mouse иногда отождествляют и MS-Mouse, хотя последние могут иметь любой из трех видов интерфейсов.</description>
<category>Интерфейсы периферийных устройств</category>
<author>jcrush</author>
<pubDate>Mon, 29 Dec 2008 16:39:09 +0300</pubDate>
<yandex:full-text>Bus Mouse (шинная мышь) - вариант, применявшийся в первых мышах. Здесь мышь содержит только датчики и кнопки, а обработка их сигналов производится на специализированной плате адаптера (обычно ISA). Кабель 9-проводный, разъем специальный (рис. 8.4), хотя на первый взгляд и напоминающий разъем PS/2-Mouse. Главный недостаток такой системы заключается в том, что адаптер занимает слот системной шины, адреса ввода-вывода и линию запроса прерывания. Иногда встречались мультипортовые карты ISA (COM-, LPT- и GAME-nop-ты), на которых установлен и адаптер Bus Mouse. Поскольку компания Microsoft одна из первых выпустила такую мышь, снабдив ее своим логотипом, с понятием Bus Mouse иногда отождествляют и MS-Mouse, хотя последние могут иметь любой из трех видов интерфейсов.</yandex:full-text>
</item><item>
<title>Интерфейсы принтеров и плоттеров</title>
<link>http://intpc.ru/111-interfejjsy-printerov-i-plotterov.html</link>
<description>Современные принтеры, печатающие графические изображения (в том числе и текст в графическом режиме) с высоким разрешением, требуют высокоскоростной передачи данных по внешнему интерфейсу.</description>
<category>Интерфейсы периферийных устройств</category>
<author>jcrush</author>
<pubDate>Mon, 29 Dec 2008 16:40:21 +0300</pubDate>
<yandex:full-text>Современные принтеры, печатающие графические изображения (в том числе и текст в графическом режиме) с высоким разрешением, требуют высокоскоростной передачи данных по внешнему интерфейсу. Большинство принтеров имеют традиционный параллельный интерфейс Centronics или более производительный IEEE 1284, что позволяет достигать скоростей передачи 0,15-2 Мбайт/с, в зависимости от производительности компьютера и выбранного режима передачи (см. ниже). Эти же интерфейсы используются и в плоттерах.&lt;br /&gt;Для подключения принтера с параллельным интерфейсом используется LPT-порт в различных модификациях, от традиционного SPP-порта до теперь уже стандартного и эффективного IEEE 1284 (см. п. 1.3).&lt;br /&gt;Поначалу все принтеры с параллельным интерфейсом обязательно поддерживали протокол Centronics, а более «продвинутые» вдобавок могли работать и в режиме ЕСР, поддерживая согласование режимов по IEEE 1284. Их инсталляционные программы старались установить драйверы «продвинутых» режимов, если того позволяла ОС и возможности LPT-порта. Теперь ситуация изменилась, и появились принтеры с параллельным интерфейсом, не поддерживающие Centronics. При инсталляции они требуют подключения по «двунаправленному интерфейсу» IEEE 1284 (обычно режим ЕСР), и через LPT-порт в режиме SPP они работать отказываются. С такими принтерами в среде MS DOS без специальных драйверов работать невозможно.&lt;br /&gt;В некоторых принтерах используется последовательный интерфейс RS-232C, RS-422 или «токовая петля», но здесь теоретический предел скорости около 11 Кбайт/с (115 Кбит/с), а практически она едва достигает 1 Кбайт/с (9600 бит/с). Эти принтеры можно подключать к СОМ-порту непосредственно или через адаптер - преобразователь уровня сигналов.&lt;br /&gt;В последнее время стали чаще применять шину USB, однако этот переход не так уж безоблачен: шина USB поддерживается не всеми ОС. Старые приложения (ведь не всегда есть необходимость и возможность перехода на новые), работающие с принтером через функции BIOS Int 17h или непосредственно с регистрами LPT-порта, например для приглашения к подаче бланков, не могут работать с принтером USB даже в среде ОС, поддерживающих USB в полном объеме. Что касается скорости передачи данных, то у USB 1.0 со скоростью 12 Мбит/с скорость передачи данных отнюдь не достигает 1,5 Мбайт/с (12:8) хотя бы из-за накладных расходов шины. В USB 2.0, которая сейчас выходит на рынок, пиковая скорость может достигать 50 Кбайт/с (скорость в шине - 480 Мбит/с), что для принтера пока что более чем достаточно. Однако для этого и принтер, и компьютер должны поддерживать USB 2.0, и между ними не должно быть старых (USB 1.0) хабов.&lt;br /&gt;Принтеры могут иметь интерфейс SCSI (редкий вариант), а также подключаться не к компьютеру, а к локальной сети по интерфейсу Ethernet (10 или 100 Мбит/с). Такое подключение удобно для принтеров коллективного пользования, и при грамотно построенной сети оно не доставляет забот пользователям. Шина Fire Wire для принтеров применяется пока очень сдержанно.&lt;br /&gt;</yandex:full-text>
</item><item>
<title>Параллельные интерфейсы — Centronics, IEEE 1284, ИPNP</title>
<link>http://intpc.ru/112-parallelnye-interfejjsy-centronics-ieee-1284-ipnp.html</link>
<description>Параллельный интерфейс Centronics ориентирован на передачу потока байт данных к принтеру и прием сигналов состояния принтера.</description>
<category>Интерфейсы периферийных устройств</category>
<author>jcrush</author>
<pubDate>Mon, 29 Dec 2008 16:41:44 +0300</pubDate>
<yandex:full-text>Параллельный интерфейс Centronics ориентирован на передачу потока байт данных к принтеру и прием сигналов состояния принтера. Этот интерфейс поддерживается всеми LPT-портами компьютеров. Его отечественным аналогом является интерфейс ИPNP-М. Понятие «Centronics» относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему на принтерах. Назна-чение сигналов интерфейса приведено в табл. 8.3, а временные диаграммы обмена с принтером показаны на рис. 8.5.&lt;br /&gt;Таблица 8.3. Сигналы интерфейса Centronics &lt;br /&gt;&lt;br /&gt;Передача данных начинается с проверки готовности принтера - состояния линии Busy. Строб данных может быть коротким - доли микросекунды, и порт заканчивает его формирование, не обращая внимания на сигнал Busy. Во время строба данные должны быть действительными. Подтверждением приема байта (символа) является сигнал Ack#, который вырабатывается после приема строба через неопределенное время (за это время принтер может выполнять какую-либо длительную операцию, например прогон бумаги). Импульс Ack# является запросом принтера на прием следующего байта, его задействуют для формирования сигнала прерывания от порта принтера. Если прерывания не используются, то сигнал Ack# игнорируется и весь обмен управляется парой сигналов Strobe* и Busy. Свое состояние принтер может сообщить порту по линиям Select, Error*, PaperEnd - по ним можно определить, включен ли принтер, исправен ли он и есть ли бумага. Формированием импульса на линии lnit# принтер можно проинициализировать (при этом он очистит и весь свой буфер данных). Режимом автоматического перевода строки, как правило, не пользуются, и сигнал AutoLF* имеет высокий уровень. Сигнал Selectln* позволяет логически отключать принтер от интерфейса.&lt;br /&gt;Через параллельный порт (LPT) протокол Centronics может быть реализован чисто программно, используя стандартный режим порта (SPP), достигая скорости передачи до 150 Кбайт/с при полной загрузке процессора. Благодаря «продвинутым» режимам порта протокол может быть реализован и аппаратно (Fast Centronics), при этом скорость до 2 Мбайт/с достигается при меньшей загрузке процессора.&lt;br /&gt;Большинство современных принтеров с параллельным интерфейсом поддерживают и стандарт IEEE 1284, в котором оптимальным режимом передачи является ЕСР (см. п. 1.3.4).&lt;br /&gt;Для подключения принтера требуется кабель Centronics, пригодный для любых режимов параллельного интерфейса. Простейший вариант кабеля - 18-провод-ный с неперевитыми проводами - может использоваться для работы в режиме SPP. При длине более 2 м желательно, чтобы хотя бы линии Strobe* и Busy были перевиты с отдельными общими проводами. Для скоростных режимов (Fast Centronics, ЕСР) такой кабель может оказаться непригодным - возможны нерегулярные ошибки передачи, возникающие лишь при определенных последовательностях передаваемых кодов. Встречаются кабели Centronics, у которых отсутствует связь контакта 17 разъема PC с контактом 36 разъема принтера. При попытке подключения таким кабелем принтера, работающего в стандарте 1284, появится сообщение о необходимости применения «двунаправленного кабеля». Принтер не может сообщить системе о поддержке расширенных режимов, на что рассчитывает драйвер принтера. Другое проявление отсутствующей связи - «зависание» принтера по окончании печати задания из Windows. Эту связь можно организовать подпайкой дополнительного провода или же просто заменить кабель.&lt;br /&gt;Неплохие электрические свойства имеют ленточные кабели, у которых сигнальные цепи (управляющих сигналов) чередуются с общими проводами. Но их применение в качестве внешнего интерфейса непрактично (нет второго защитного слоя изоляции, высокая уязвимость) и неэстетично (круглые кабели смотрятся лучше). Идеальным вариантом являются кабели, в которых все сигнальные линии перевиты с общими проводами и заключены в общий экран - то, что требует IEEE 1248. Такие кабели гарантированно работают на скоростях до 2 Мбайт/с при длине до 10 м.&lt;br /&gt;&lt;br /&gt;В табл. 8.4 приводится распайка кабеля подключения принтера с разъемом XI типа А (DB25-P) со стороны PC и Х2 типа В (Centronics-Щ или типа С (миниатюрный) со стороны принтера. Использование общих проводов (GND) зависит от качества кабеля (см. выше). В простейшем случае (18-проводный кабель) все сигналы GND объединяются в один провод. Качественные кабели требуют отдельного обратного провода для каждой сигнальной линии, однако в разъемах типа А и В для этого недостаточно контактов (в табл. 8.4 в скобках указаны номера контактов разъема PC типа А, которым соответствуют обратные провода). В разъеме типа С обратный провод (GND) имеется для каждой сигнальной цепи; сигнальным контактам 1-17 этого разъема соответствуют контакты GND 19-35.&lt;br /&gt;Таблица 8.4. Кабель подключения принтера&lt;br /&gt; &lt;br /&gt;Х1, разъем PC типа А   Сигнал&lt;br /&gt; &lt;br /&gt;X2, разъем PRN типа В   X2, разъем PRN типа С&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;14&lt;br /&gt;15&lt;br /&gt;16&lt;br /&gt;17&lt;br /&gt;18&lt;br /&gt;19&lt;br /&gt;20&lt;br /&gt;21&lt;br /&gt;22&lt;br /&gt;23&lt;br /&gt;24&lt;br /&gt;25&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Strobe»	1&lt;br /&gt;DataO	2&lt;br /&gt;Data1	3&lt;br /&gt;Data2	4&lt;br /&gt;DataS	5&lt;br /&gt;Data4	6&lt;br /&gt;DataS	7&lt;br /&gt;Data6	8&lt;br /&gt;Data7	9&lt;br /&gt;Ack#	10&lt;br /&gt;Busy	11&lt;br /&gt;PaperEnd	12&lt;br /&gt;Select	13&lt;br /&gt;Auto LF#	14&lt;br /&gt;Error#	32&lt;br /&gt;lnit#	31&lt;br /&gt;Select ln#	36&lt;br /&gt;GND(1)	19&lt;br /&gt;GND (2 3)	20 21&lt;br /&gt;GND (4 5)	22 23&lt;br /&gt;GND (6 7)	24 25&lt;br /&gt;GND (8 9)	26 27&lt;br /&gt;GND(11 15)	29&lt;br /&gt;GND(101213)	28&lt;br /&gt;GND(141617)	30&lt;br /&gt; &lt;br /&gt;15&lt;br /&gt;6&lt;br /&gt;7&lt;br /&gt;8&lt;br /&gt;9&lt;br /&gt;10&lt;br /&gt;11&lt;br /&gt;12&lt;br /&gt;13&lt;br /&gt;3&lt;br /&gt;1&lt;br /&gt;5&lt;br /&gt;2&lt;br /&gt;17&lt;br /&gt;4&lt;br /&gt;14&lt;br /&gt;16&lt;br /&gt;33&lt;br /&gt;24 25&lt;br /&gt;26 27&lt;br /&gt;28 29&lt;br /&gt;30 31&lt;br /&gt;19 22&lt;br /&gt;20 21 23&lt;br /&gt;32 34 35&lt;br /&gt; &lt;br /&gt;Ряд отечественных (и стран бывшего СЭВ) принтеров имеет интерфейс ИPNP (IFSP в документации на принтеры ROBOTRON). Он является близким родственником интерфейса Centronics, а отличия перечислены ниже.&lt;br /&gt;-	Линии данных инвертированы.&lt;br /&gt;-	Протокол квитирования несколько иной. &lt;br /&gt;-	Ко всем входным линиям (на принтере) подключены пары согласующих ре&lt;br /&gt;зисторов: 220 Ом к питанию +5 В и 330 Ом к общему проводу. Это позволяет использовать длинные кабели, но перегружает большинство интерфейсных адаптеров PC.&lt;br /&gt;-	Сигналы ошибки и конца бумаги отсутствуют.&lt;br /&gt;Интерфейс ИPNP может быть программно реализован через обычный LPT-порт, но для устранения перегрузки выходных линий согласующие резисторы из принтера желательно удалить. Порт, перегруженный по выходу, может преподносить всякого рода сюрпризы (естественно, неприятные и трудно диагностируемые).&lt;br /&gt;</yandex:full-text>
</item></channel></rss>
