У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Курсова робота - LPT-порт і СOM-порт
39
допускає запис і читання (біти 0-3), але його вихідний буфер звичайно має тип – "відкритий колектор". Це дозволяє більш коректно використовувати лінії даного регістра як вхідні при програмуванні їх у високий рівень. Біти 0, 1, 3 інвертуються – одиничному значенню в регістрі відповідає низький рівень сигналу, і навпаки.

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

CR [7:6] – зарезервовані. CR.5 – Direction – біт управління напрямком передачі (тільки для портів PS/2). Запис одиниці переводить порт даних в режим введення, При читанні стан біта не визначений. CR.4 – ACKINTEN (Ack Interrupt Enable) – одиничне значення дозволяє переривання по спаду сигналу на лінії Ack# – сигнал запиту наступного байта. CR.3 – Select In – одиничне значення біта відповідає низькому рівню на виході Selecting (17) – сигналу, що дозволяє роботу принтера по інтерфейсу Centronics CR.2 – Init – нульове значення біта відповідає низькому рівню на виході Init# (16) – сигнал апаратного скидання принтера. CR.1 – Auto LF – одиничне значення біта відповідає низькому рівню на виході Auto LF# (14) – сигналу на автоматичний переведення рядка (LF – Line Feed) по прийому байта повернення каретки (CR – Carriage Return). Іноді сигнал називають AutoFD або AutoFDXT CR.0 – Strobe – одиничне значення біта відповідає низькому рівню на виході Strobe# (1) – сигналу стробування вихідних даних.

Запит апаратного переривання (звичайно IRQ7 або IRQ5) виробляється по негативному перепаду сигналу на виведення 10 роз'єму інтерфейсу (ACK#) при установці CR.4 = 1. Для уникнення помилкових переривань контакт 10 з'єднаний резистором з шиною +5 В. Переривання виробляється, коли принтер підтверджує прийом попереднього байта. BIOS це переривання не використовує і його не обслуговує.

Процедура виведення байта по інтерфейсу Centronics через стандартний порт включає наступні кроки (в дужках приведено необхідну кількість шинних операцій процесора):

Виведення байта в регістр даних (1 цикл IQWR#). Введення з регістра стану і перевірка готовності пристрою (біт SR.7 – сигнал BUSY), Цей крок зациклюється до отримання готовності або до спрацьовування програмного тайм-ауту (мінімум 1 цикл IORD#)

Після отримання готовності виведенням в регістр управління встановлюється строб даних, а наступним виведенням строб знімається (2 цикли lOWR#). Звичайно для того, щоб перемкнути тільки один біт (строб), регістр управління заздалегідь прочитується, що додає ще один цикл IORD#.

З опису цієї процедури видно, що для виведення одного байта потрібні щонайменше 4-5 операцій введення/виведення з регістрами порту (це в кращому разі, коли готовність знайдена по першому читанню регістра стану). Звідси і головний недолік при виведення через стандартний порт – невисока швидкість обміну при значному завантаженні процесора. Стандартний порт вдається розігнати лише до швидкостей порядку 100-150 Кбайт/с при повному завантаженні процесора, що сьогодні вже явно недостатньо для друку на лазерний принтер. Інший недолік – функціональний – складність використання в якості порту введення.

Стандартний порт сильно асиметричний – за наявності 12 ліній (і бітів), що нормально працюють на виведення, на введення працює тільки 5 ліній стану. Якщо необхідний симетричний двонаправлений зв'язок, на всіх стандартних портах працездатний режим напівбайтного обміну – Nibble Mode. В цьому режимі, званим також і Hewlett Packard Bitromcs, одночасно передаються 4 біти даних, п'ята лінія використовується для квитування. Таким чином, кожний байт передається за два цикли, а кожний цикл вимагає принаймні тих же п'яти операцій введення/виведення, що потрібні для виведення по протоколу Centronics.

1.1.3. Розширення паралельного порту

Недоліки стандартного порту частково усували нові типи портів, що з'явилися в комп'ютерах сімейства PS/2.

Двонаправлений порт 1 (Турe 1 parallel port) – інтерфейс, введений з PS/2. Такий порт окрім стандартного режиму може працювати в режимі введення або двонаправленому. Протокол обміну формується програмно, а для вказівки напряму передачі в регістр управління порту введений спеціальний біт: при CR.5=0 буфер даних працює на виведення, при CR.5=1 – на введення. Іноді цей порт, званий також Enhanced Bi-Directional, плутають з ЕРР, але це абсолютно різні специфікації. Даний тип порту прижився і в звичайних (не PS/2) комп'ютерах.

Порт з прямим доступом до пам'яті (Type 3 DMA Parallel Port) застосовувався в PS/2 моделей 57, 90, 95. Цей тип був введений для підвищення пропускної спроможності і розвантаження процесора при виведення на принтер. Програмі, що працює з даним портом, вимагалося тільки задати блок даних в пам'яті, що підлягають виведення, і виведення по протоколу Centronics проводився без участі процесора.

Дещо пізніше з'явилися й інші адаптери LPT-портів, що реалізовують протокол обміну Centronics апаратний – Fast Centronics, деякі з них використовували FIFO-буфер даних – Parallel Port FIFO Mode. He будучи стандартизованими, такі порти різних виробників вимагали використання власних спеціальних драйверів. Багато які програми, що використовують пряме управління регістрами портів, не «здогадувалися» про можливості їх більш ефективного використовування. Такі порти часто входили в склад мультикарт з шиною VLB, існують їх варіанти і з шиною ISA, а також встановлені безпосередньо на системній платі.

1.1.4. Стандарт IEEE 1284-1994

Стандарт на паралельний інтерфейс IEEE 1284, прийнятий в 1994 році, визначає терміни SPP, ЕРР і ЕСР. Стандарт визначає 5 режимів обміну даними, метод узгодження режиму, фізичний і електричний інтерфейси. Згідно IEEE 1284, можливі наступні режими обміну даними через паралельний порт:

Compatibility Mode – однонаправлений (виведення) по протоколу Centronics. Цей режим відповідає стандартному (традиційному) порту SPP. Nibble Mode – введення байта в два цикли (по 4 біта), використовуючи для прийому лінії стану. Цей режим обміну може використовуватися на будь-яких адаптерах. Byte Mode
Сторінки: 1 2 3 4 5 6 7 8 9 10 11 12