Аппаратные интерфейсы ПК - [5]

Шрифт
Интервал

♦ >SR.6>Ack (Acknowledge) — отображение состояния линии >Ack# (10).

♦ >SR.5>РЕ (Paper End) — отображение состояния линии >Paper End (12). Единичное значение соответствует высокому уровню линии — сигналу о конце бумаги в принтере.

♦ >SR.4>Select — отображение состояния линии >Select (13). Единичное значение соответствует высокому уровню линии — сигналу о включении принтера.

♦ >SR.3>Error — отображение состояния линии >Error# (15). Нулевое значение соответствует низкому уровню линии — сигналу о любой ошибке принтера.

♦ >SR.2>PIRQ — флаг прерывания по сигналу >Ack# (только для порта PS/2). Бит обнуляется, если сигнал >Ack# вызвал аппаратное прерывание. Единичное значение устанавливается по аппаратному сбросу и после чтения регистра состояния.

♦ >SR[1:0] — зарезервированы.

Control Register (>CR) — регистр управления, адрес=>ВАSЕ+2, допускает запись и чтение. Регистр связан с 4-битным портом вывода управляющих сигналов (биты 0–3) для которых возможно и чтение; выходной буфер обычно имеет тип «открытый коллектор». Это позволяет корректно использовать линии данного регистра как входные при программировании их в высокий уровень. Биты 0, 1, 3 инвертируются.

Ниже описано назначение бит регистра управления.

♦ >CR[7:6] — зарезервированы.

♦ >CR.5>Direction — бит управления направлением передачи (только для портов PS/2, см. ниже). Запись единицы переводит порт данных в режим ввода. При чтении состояние бита не определено.

♦ >CR.4>AckINTEN (Ack Interrupt Enable) — единичное значение разрешает прерывание по спаду сигнала на линии >Ack# — сигнал запроса следующего байта.

♦ >CR.3>Select In — единичное значение бита соответствует низкому уровню на выходе >Select In# (17) — сигналу, разрешающему работу принтера по интерфейсу Centronics.

♦ >CR.2>Init — нулевое значение бита соответствует низкому уровню на выходе >Init# (16) — сигнал аппаратного сброса принтера.

♦ >CR.1>Auto LF — единичное значение бита соответствует низкому уровню на выходе >Auto LF# (14) — сигналу на автоматический перевод строки (LF — Line Feed) по приему байта возврата каретки (CR). Иногда сигнал и бит называют >AutoFD или >AutoFDXT.

♦ >CR.0>Strobe — единичное значение бита соответствует низкому уровню на выходе >Strobe# (1) — сигналу стробирования выходных данных.

Запрос аппаратного прерывания (обычно >IRQ7 или >IRQ5) вырабатывается по отрицательному перепаду сигнала на выводе 10 разъема интерфейса (>Ack#) при установке >CR.4=1. Во избежание ложных прерываний контакт 10 соединен резистором с шиной +5 В. Прерывание вырабатывается, когда принтер подтверждает прием предыдущего байта. Как уже было сказано, BIOS это прерывание не использует и не обслуживает.

Перечислим шаги процедуры вывода байта по интерфейсу Centronics с указанием требуемого количества шинных операций процессора.

1. Вывод байта в регистр данных (1 цикл >IOWR#).

2. Ввод из регистра состояния и проверка готовности устройства (бит >SR.7 — сигнал >Busy). Этот шаг зацикливается до получения готовности или до срабатывания программного тайм-аута (минимум 1 цикл >IORD#).

3. По получению готовности выводом в регистр управления устанавливается строб данных, а следующим выводом строб снимается. Обычно, чтобы переключить только один бит (строб), регистр управления предварительно считывается, что к двум циклам >IOWR# добавляет еще один цикл >IORD#.

Видно, что для вывода одного байта требуется 4–5 операций ввода-вывода с регистрами порта (в лучшем случае, когда готовность обнаружена по первому чтению регистра состояния). Отсюда вытекает главный недостаток вывода через стандартный порт — невысокая скорость обмена при значительной загрузке процессора. Порт удается разогнать до скоростей 100–150 Кбайт/с при полной загрузке процессора, что недостаточно для печати на лазерном принтере. Другой недостаток функциональный — сложность использования в качестве порта ввода.

Стандартный порт асимметричен — при наличии 12 линий (и бит), нормально работающих на вывод, на ввод работает только 5 линий состояния. Если необходима симметричная двунаправленная связь, на всех стандартных портах работоспособен режим полубайтного обмена — Nibble Mode. В этом режиме, называемом также Hewlett Packard Bi-tronics, одновременно принимаются 4 бита данных, пятая линия используется для квитирования. Таким образом, каждый байт передается за два цикла, а каждый цикл требует по крайней мере 5 операций ввода-вывода.

Схемотехника выходных буферов данных LPT-портов отличается большим разнообразием. На многих старых моделях адаптеров SPP-порт данных можно использовать и для организации ввода. Если в порт данных записать байт с единицами во всех разрядах, а на выходные линии интерфейса через микросхемы с выходом типа «открытый коллектор» подать какой-либо код (или соединить ключами какие-то линии со схемной землей), то этот код может быть считан из того же регистра данных. Однако выходным цепям передатчика информации придется «бороться» с выходным током логической единицы выходных буферов адаптера. Схемотехника ТТЛ такие решения не запрещает, но если внешнее устройство выполнено на микросхемах КМОП, их мощности может не хватить для «победы» в этом шинном конфликте. Однако современные адаптеры часто имеют в выходной цепи согласующий резистор с сопротивлением до 50 Ом. Выходной ток короткого замыкания выхода на землю обычно не превышает 30 мА. Простой расчет показывает, что даже в случае короткого замыкания контакта разъема на землю при выводе «единицы» на этом резисторе падает напряжение 1,5 В, что входной схемой приемника будет воспринято как «единица». Поэтому нельзя полагать, что такой способ ввода будет работать на всех компьютерах. На некоторых старых адаптерах портов выходной буфер отключается перемычкой на плате. Тогда порт превращается в обыкновенный порт ввода.


Рекомендуем почитать
Программируем Arduino. Профессиональная работа со скетчами.

Arduino — стандартный микроконтроллер, получивший широкое признание у инженеров, мастеров и преподавателей благодаря своей простоте, невысокой стоимости и большому разнообразию плат расширения. Платы расширения, подключаемые к основной плате Arduino, позволяют выходить в Интернет, управлять роботами и домашней автоматикой.Простые проекты на основе Arduino не вызывают сложностей в реализации. Но, вступив на территорию, не охваченную вводными руководствами, и увеличивая сложность проектов, вы быстро столкнетесь с проблемой нехватки знаний — врагом всех программистов.Эта книга задумана как продолжение бестселлера «Programming Arduino: Getting Started with Sketches».


Импульсные блоки питания для IBM PC

Книга посвящена вопросам ремонта и обслуживания импульсных источников вторичного электропитания, которые используются практически во всем современном импортном и отечественном радиоэлектронном оборудовании.В книге рассмотрены теоретические вопросы проектирования и расчета импульсных источников питания, подробно описаны основы их схемотехники и принципы функционирования. Описываются различные способы стабилизации выходных напряжений, способы защиты источников питания от перегрузок во вторичных цепях, а также рассматриваются способы отключения источников питания при повышении выходных напряжений выше установленных пределов.В качестве примеров рассмотрены источники питания современных компьютеров AT и ATX форм-факторов.


BIOS. Экспресс-курс

Книга предназначена для быстрого освоения принципов и приобретения навыков настройки ПК с использованием базовой системы ввода/ вывода (BIOS). Наглядно, шаг за шагом, описывается весь процесс настройки BIOS и влияние параметров BIOS на работу компьютера. Рассмотрены способы и приемы увеличения производительности ПК, подключения и настройки новых устройств, модернизации и ремонта, индивидуальной настройки компьютера по желанию пользователя и на его вкус. Приведены рецепты решения многих проблем, связанных с нестабильной работой компьютера или «зависаниями», методы поиска и устранения неисправностей.Для широкого круга пользователей.


Синхронизация ОС Андроид с ОС Windows

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


GPS: Все, что Вы хотели знать, но боялись спросить

Определение своего положения с помощью GPS навигатора, отдельного прибора, или устройства, встроенного в карманный компьютер или сотовый телефон, уже стало совершенно обычной вещью.Постепенно столь же привычным становится определение положения объекта с помощью систем телематики на основе GPS/GSM/GPRS, когда на мониторе компьютера или экранчике сотового телефона можно увидеть участок карты с отметкой, где находится другой человек или его автомобиль.«GPS» — это первые буквы английских слов «Global Positioning System» — глобальная система местоопределения.


The Ebook. Книга об электронных книгах

Эта «книга — об электронных книгах». Скорее всего, в бумажном виде, но об электронных книгах. Возможно наоборот. Это уже электронная книга для тех, кто хочет читать, используя в качестве носителя какое-то устройство. Книга состоит из такого материала, который обогатит ваши знания за короткое время. В ней представлена базовая информация об электронных книгах и более углублённая информация для профессионалов разного уровня.