Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OKIU / методичка_ОКІУ.doc
Скачиваний:
22
Добавлен:
16.02.2016
Размер:
1.11 Mб
Скачать

1.1.2. Внутрішній пристрій

Загальна схема паралельного порту всередині ПК наведена на рис. 2.

Восьмибітові дані заносяться в DD1 під час запису в регістр за адресою (базова адреса + 0).

Операція здійснюється командою WRITE_DATA.

Рис. 2. Загальна схема паралельного порту

Ці дані утворюють групу. Вони зчитуються комп'ютером з того ж регістра через DD2 за допомогою команди READ_DATA. Під час читання вихід DD1 повинен мати високий рівень опору, що досягається подачею на контакт 1 (вихід дозволений) DD1 високого рівня напруги. Шестибітове управляюче слово записується в DD3 через регістр за адресою (базова адреса + 2) за допомогою команди WRITE_CONTROL. Біти з 0 по 3 подаються на вихід роз'єму і утворюють групу управління. Деякі біти інвертуються мікросхемами з відкритими колекторами на виході (DD6 і DD7). Всі вихідні лінії підключені до живлення +5 В через резистори 4,7 кОм. Стан цих ліній зчитується через регістр за адресою (базова адреса + 2) через DD4 за допомогою команди READ_CONТROL. Четвертий біт управляючого байта вирішує переривання, а п'ятий біт відкриває або закриває вихід DD1. Стан п'яти контактів роз'єму порта (група стану) комп'ютер зчитує через DD4 за допомогою команди READ_STATUS через регістр за адресою (базова адреса + 1). Входи лінії підключені до живлення +5 В через резистори 4,7 кОм, два входи інвертуються.

У перших моделях IBM РС контакт «вихід дозволений» DD1 з'єднувався з «землею» для постійного відкриття виходів. Це була однонаправлена версія паралельного порту. Починаючи з IBM PS/2, вказаний контакт з'єднали з п'ятим бітом регістра управління DD3 (рис. 2), і порт став двонаправленим. Слід зазначити, що багато паралельних портів, що поставляються з вбудованими картами вводу/виводу, двонаправлені. Для будь-якого контакту слід уникати короткого замикання і/або з'єднання з шиною живлення. Швидкість передачі даних через паралельний порт не перевищує 1 Мб/с.

Контакти паралельного порту утворюють три групи; даних, управління і стану. На рис. 3 наведена логічна структура паралельного порту.

Рис. 3. Логічна структура паралельного порту

Група даних

Посилає дані від ПК на зовнішні пристрої. Має вісім вихідних ліній і асоціюється з байтом в адресному просторі вводу/виводу процесорів х86.

Адреса: базова адреса.

Група управління

Контролює зовнішній пристрій. Має чотири інвертовані вихідні лінії (STROBE, LF/CR, SUN і INITIALIZE).

Адреса групи управління: базова адреса + 2.

Група стану

Група може використовуватися комп'ютером для отримання поточнекучого стану зовнішнього пристрою, її адреса: базова адреса + 1.

Має п'ять ліній (ERROR, SLCT, РЕ, АСК і BUSY). Лінії ERROR і АСК інвертовані, інші - ні.

Призначення регістрів паралельного порту наведені в таблиці 2.

Таблиця 2.

Призначення регістрів паралельного порту

Група даних

Біти 0-7

Біти від 0 до 7, біт 0 - молодший

Група управління

Біт 0 (STROBE)

Строб-імпульс даних. Дані фіксуються по низькому рівню сигналу

Біт 1 (LF/CR)

Автоматичне переведення рядка. При низькому рівні принтер, отримавши символ CR (Carriage Return - повернення каретки), автоматично виконує і функцію LF (Line Feed - переведення рядка)

Біт 2 (INITIALIZE)

Ініціалізація принтера. При низькому рівні відновлюються параметри, прийняті за замовчуванням, каретка повертається на початок рядка

Біт 3 (SUN)

Вибір принтера. При високому рівні принтер нечутливий до решти сигналів інтерфейсу

Біт 4 (IRQ)

Дозвіл апаратних переривань. При високому рівні дозволяється переривання по спаданню сигналу на лінії (АСК) - сигналу запиту наступного байта

Біт 5 (Data I/O)

Управління напрямом передачі (для PS/2 і вище). Запис одиниці переводить порт в режим вводу. При читанні стан біта не визначений

Біти 6, 7

Не використовуються

Група стану

Біти 0-2

Не використовуються

Біт 4 (SLCT)

Помилка. Низький рівень свідчить про те, що папір закінчився, про стан off-line або про внутрішню помилку принтера

Біт 5(РЕ)

Вибір принтера. Високий рівень показує, що принтер ввімкнений і готовий до роботи

Біт 6 (АСК)

Немає паперу. Високий рівень означає, що папір закінчився

Біт 7 (BUSY)

Імпульс підтвердження приймання байта (низьким рівнем) і запит на приймання наступного. Може використовуватися для формування запиту на переривання

Біти 0-2

Принтер зайнятий. Приймання даних можливе лише при низькому рівні сигналу

Базові адреси портів LPT1 і LPT2 наступні:

LPT1: 956 (3BCh) або 888 (378h)

LPT2: 632 (278h)

Базова адреса для LPT1 залежить від конфігурації обладнання комп'ютера.

Існує два способи отримання базової адреси: перевірка конфігурації обладнання комп'ютера або знаходження адреси безпосередньо з призначених для користувача програм за допомогою засобів, що пропонуються базовою системою вводу/виводу (BIOS) комп'ютера. При ввімкненні або перезавантаженні комп'ютера BIOS перевіряє наявність паралельних портів. Якщо вони виявляються, їх базові адреси (двобайтові слова) поміщаються в певні елементи пам'яті ОЗП. Для LPT1 це комірки 0000h:0408h і 0000h:0409h. Перша містить молодший, друга - старший байт адреси. Базову адресу LPT1 можна отримати, прочитавши вміст цих комірок. Елементи пам'яті для портів LPT1 - LPT4 наведені нижче:

LPT1: 0000:0408h - 0000:0409h

LPT2: 0000:040Ah - 0000:040Bh

LPT3: 0000:040Ch - 0000:040Dh

LPT4: 0000:040Eh - 0000:040Fh

Крім того, використовується ще один елемент пам'яті: 0000:4011h. Він містить зведення про загальну кількість паралельних портів, що встановлені на комп'ютері. Ця інформація зберігається в бітах 6 і 7:

біт 7 = 0, біт 6 = 0 паралельних портів не встановлено

біт 7 = 0, біт 6=1 встановлений один паралельний порт

біт 7=1, біт 6 = 0 встановлено два паралельні порти

біт 7=1, біт 6 = 1 встановлено три паралельні порти

Соседние файлы в папке OKIU