© Сайт про Урок @""ІНФОРМАТИКА""@ WMmail.ru - сервис почтовых рассылок
   
  pc201010
  LPT-порт і СOM-порт
 

ЗМІСТ

 

 

Вступ........................................................................................................................ 3

Розділ 1. Будова, принцип дії, функціонування...................................................... 5

1.1. Паралельний інтерфейс: LPT-порт................................................................ 5

1.1.1. Інтерфейс Centronics............................................................................... 5

1.1.2. Традиційний LPT-порт........................................................................... 6

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

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

1.2. Послідовний інтерфейс: СOM-порт............................................................ 12

2.2.1. Інтерфейс RS-232C................................................................................ 16

2.2.2. Інфрачервоний інтерфейс..................................................................... 16

2.2.3. Інтерфейс MIDI..................................................................................... 18

2.2.4. Ресурси СOM-портів............................................................................. 21

Розділ 2. Тестування, налагодження, відновлення................................................ 22

2.1. LPT-порт...................................................................................................... 22

2.1.1. Конфігурування LPT-портів................................................................. 22

2.1.2. Використання паралельних портів........................................................ 23

2.1.3. Несправності і тестування паралельних портів..................................... 25

2.2. СOM-порт.................................................................................................... 28

2.2.1. Конфігурування СOM-портів................................................................ 28

2.2.2. Використання СOM-портів................................................................... 29

2.2.3. Несправності і тестування СOM-портів................................................ 31

Висновок................................................................................................................ 36

Література.............................................................................................................. 37

 

 


Вступ

Історія інтерфейсів з'єднання комп'ютерів із зовнішніми пристроями є підтвердженням теорії спірального розвитку. Послідовний інтерфейс СOM-порту RS-232C, що прийшов від віддалених терміналів, колись використовувався навіть для підключення лазерних принтерів. Незабаром з інтерфейсів послідовний RS-232C принтерів був витиснений паралельним інтерфейсом Centronics, реалізовуваним LPT-портом, але по мірі зростання роздільної здатності принтерів продуктивності навіть «скорострільних» ЕРР і ЕСР виявляється недостатньо. Ті ж проблеми стоять і з підключенням пристроїв введення (наприклад, сканерів) і пристроїв з принципово двонаправленим характером передачі (зовнішні диски, швидкісні модеми). Виявилося, що підвищити швидкість можна знову переходом на послідовний інтерфейс, який знімає проблеми виготовлення багатопровідних кабелів і багатоконтактних з'єднувачів з нормованими параметрами затримок сигналів.

За способом передачі інформації інтерфейси підрозділяються на паралельні і послідовні. В паралельному інтерфейсі всі біти передаваного слова (звичайно байта) виставляються і передаються по відповідних паралельно дротах одночасно. В PC традиційно використовується паралельний інтерфейс Centronics, реалізовуваний LPT-портами. В послідовному інтерфейсі біти передаються один за одним звичайно по одній лінії. СOM-порти PC забезпечують послідовний інтерфейс відповідно до стандарту RS-232C.

При розгляді інтерфейсів важливим параметром є пропускна спроможність. Технічний прогрес приводить до неухильного зростання об'ємів передаваної інформації. Якщо раніше матричні принтери, що друкують в символьному режимі, могли обходитися і СOM-портом з невисокою швидкістю обміну, то сучасним лазерним принтерам при високому дозволі не вистачає і продуктивності найшвидших LPT-портів. Те ж стосується і сканерів. А передача «живого» відео, навіть із застосуванням компресії, вимагає раніше немислимих рівнів пропускної спроможності.

Цілком очевидно, що при однаковій швидкодії приймально-передавальних ланцюгів і пропускної спроможності сполучних ліній по ефективній швидкості передачі даних паралельний інтерфейс повинен перевершувати послідовний. Проте підвищення продуктивності за рахунок збільшення тактової частоти передачі даних упирається в хвильові властивості сполучних кабелів. У разі паралельного інтерфейсу починають позначатися затримки сигналів при їх проходженні по лініях кабелю, і, що найнеприємніше, затримки в різних лініях інтерфейсу можуть бути різними внаслідок неідентичності проводів і контактів роз'ємів. Для надійної передачі даних тимчасові діаграми обміну будуються з урахуванням можливого розкиду часу проходження сигналів, що є одним з чинників, стримуючих зростання пропускної спроможності паралельних інтерфейсів. В послідовних інтерфейсах, звичайно ж, є свої проблеми підвищення продуктивності, але, оскільки в них використовується менше число ліній (в межі – одна), підвищення пропускної спроможності ліній зв'язку обходиться дешевше.

Для інтерфейсу, що сполучає (фізично або логічно) два пристрої, розрізняють три можливі режими обміну – дуплексний, напівдуплексний і симплексний. Дуплексний режим дозволяє по одному каналу зв'язку одночасно передавати інформацію в обох напрямках. Він може бути асиметричним, якщо пропускна спроможність в протилежних напрямках має значення, що істотно розрізняються, або симетричним. Напівдуплексний режим дозволяє передавати інформацію в протилежних напрямках по черзі, при цьому інтерфейс має засоби перемикання напряму каналу. Симплексний (односторонній) режим передбачає тільки один напрямок передачі інформації (в зустрічному напрямі передаються тільки допоміжні сигнали інтерфейсу.

Іншим важливим параметром інтерфейсу є допустиме віддалення пристроїв, що сполучаються. Воно обмежується як частотними властивостями кабелів, так і перешкодозахищеністю інтерфейсів. Частина перешкод виникає від сусідніх ліній інтерфейсу – це перехресні перешкоди, захистом від яких може бути застосування витих пар проводів для кожної лінії. Інша частина перешкод викликається спотворенням рівнів сигналів.

 


Розділ 1. Будова, принцип дії, функціонування

1.1. Паралельний інтерфейс: LPT-порт

Порт паралельного інтерфейсу був введений в PC для підключення принтера – звідси і пішла його назва LPT-порт (Line PrinTer – порядковий принтер). Хоча через цей же порт підключається і більшість лазерних принтерів, які за принципом дії не порядкові, а посторінкові, назва «LPT» закріпилася ґрунтовно.

Адаптер паралельного інтерфейсу є набором регістрів, розташованих в просторі введення/виведення. Регістри порту адресуються щодо базової адреси порту, стандартними значеннями якого є 3BCh, 378h і 278h. Порт може використовувати лінію запиту апаратного переривання, звичайно IRQ7 або IRQ5. Порт має зовнішню 8-бітну шину даних, 5-бітну шину сигналів стану і 4-бітну шину управляючих сигналів.

BIOS підтримує до чотирьох (іноді до трьох) LPT-портів (LPT1-LPT4) своїм сервісом – перериванням INT 17h, що забезпечує через них зв'язок з принтерами по інтерфейсу Centronics. Цим сервісом BIOS здійснює виведення символу (після опитування готовності, не використовуючи апаратних переривань), ініціалізацію інтерфейсу і принтера, а також опитування стану принтера.

1.1.1. Інтерфейс Centronics

Поняття Centronics відноситься як до набору сигналів і протоколу взаємодії, так і до 36-контактного роз'єму, встановлюваного на принтерах. Призначення сигналів наведено в табл. 1.1, а тимчасові діаграми обміну з принтером – на рис. 1.1.

Таблиця 1.1

Сигнали інтерфейсу Centronics

Сигнал

І/О*

Контакт

Призначення

1

2

3

4

Strobe#

І

1

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

Data [0:7]

І

2-9

Лінії даних, Data 0 (контакт 2) – молодший біт

Ack#

О

10

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

1

2

3

4

Busy

О

11

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

PaperEnd

О

12

Високий рівень сигналізує про кінець паперу

Select

О

13

Сигналізує про включення принтера (звичайно в принтері з'єднується резистором з ланцюгом +5 В)

Auto LF#

І

14

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

Error#

О

32

Помилка; кінець паперу, стан OFF-Line або внутрішня помилка принтера

Imt#

І

31

Ініціалізація (скидання в режим параметрів умовчання, повернення до початку рядка)

Slctln#

І

36

Вибір принтера (низьким рівнем). При високому рівні принтер не сприймає решту сигналів інтерфейсу

GND

-

19-30 33

Спільний дріт інтерфейсу

* І/O задає напрям (вхід/вихід) стосовно принтера.

Рис. 1.1. Передача даних по протоколу Centronics

Інтерфейс Centronics підтримується більшістю принтерів з паралельним інтерфейсом.

1.1.2. Традиційний LPT-порт

Традиційний (стандартний) порт SPP (Standard Parallel Port) є однонаправленим портом, на базі якого програмно реалізується протокол обміну Centronics. Порт забезпечує можливість вироблення запиту апаратного переривання по імпульсу на вході АСК#. Сигнали порту виводяться на роз'єм DB-25S (розетка), встановлений безпосередньо на платі адаптера  (або системній платі) або що сполучається з нею плоским шлейфом. Назва і призначення сигналів роз'єму порту (табл. 1.2) відповідають інтерфейсу Centronics.


Таблиця 1.2

Роз'єм стандартного LPT-порту

Контакт DB-25S

Провід шлейфа

Призначення

І/O*

Reg.Bit**

Сигнал

1

1

О/І

CR: 0

Strobe#

2

3

О(І)

DR: 0

DataO

3

5

О(І)

DR: 1

Data 1

4

7

О(І)

DR:2

Data 2

5

9

О(І)

DR:3

Data 3

6

11

О(І)

DR: 4

Data 4

7

13

О(І)

DR: 5

Data 5

8

15

О(І)

DR:6

Data 6

9

17

О(І)

DR:7

Data 7

10

19

І***

SR:6

Ack#

11

21

І

SR:7

Busy

12

23

І

SR:5

PaperEnd

13

25

І

SR:4

Select

14

2

О/І

CR: 1

Auto LF#

15

4

І

SR:3

Error»

16

6

О/І

CR:2

Init#

17

8

О/І

CR:3

Select In#

18-25

10, 12, 14, 16

18, 20, 22, 24, 26

 

* І/O задає напрям передачі (вхід/вихід) сигналу порту. О/І позначає вихідні лінії, стан яких прочитується при читанні з відповідних портів виведення; О(І) – вихідні лінії, стан яких може бути прочитаним тільки за деяких особливих умов.

** Символом «» відзначені інвертовані сигнали (1 в регістрі відповідає низькому рівню лінії).

*** Вхід Ack# з'єднаний резистором (10 кОм) з живленням +5 В.

Стандартний порт має три 8-бітні регістри, розташовані за сусідніми адресами в просторі введення/виведення, починаючи з базової адреси порту (BASE).

Data Register (DR) – регістр даних, адреса = BASE. Дані, записані в цей порт, виводяться на вихідні лінії інтерфейсу. Дані, прочитані з цього регістра, залежно від схемотехніки адаптера відповідають або раніше записаним даним, або сигналам на тих же лініях, що не завжди одне і те ж. Якщо в порт записати байт з одиницями у всіх розрядах, а на вихідні лінії інтерфейсу через мікросхеми з виходом типу «відкритий колектор» подати який-небудь код (або з'єднати ключами якісь лінії зі схемною землею), то цей код може бути прочитаним з того ж регістра даних. Таким чином на багатьох старих моделях адаптерів можна реалізувати порт введення дискретних сигналів, проте вихідним ланцюгам передавача інформації доведеться «боротися» з вихідним струмом логічної одиниці вихідних буферів адаптера. Проте сучасні адаптери часто мають у вихідному ланцюзі резистор з опором до 50 Ом. Вихідний струм короткого замикання виходу на землю звичайно обмежений передавачем на рівні близько 30 мА. У разі навіть короткого замикання контакту роз'єму на землю при виведення «одиниці» на цьому резисторі падає напруга 1,5 В, що вхідною схемою приймача буде сприйнято як та ж «одиниця». Так що розраховувати на те, що такий спосіб введення буде працювати на всіх комп'ютерах із стандартними портами, не варто.

На деяких адаптерах портів вихідний буфер може відключатися перемичкою на платі, і тоді цей порт перетворюється на звичайний порт введення, але таких адаптерів, мабуть, вже і не знайти.

Status Register (SR) – регістр стану, що є 5-бітним портом введення сигналів стану принтера (биті SR.4-SR.7), адресою BASE+1. Біт SR.7 інвертується – низькому рівню сигналу відповідає одиничне значенню біта в регістрі, і навпаки.

Призначення бітів регістра стану (в дужках дані номери контактів роз'єму):

       SR.7 – Busy – інверсні відображення стану лінії Busy (II): при низькому рівні на лінії встановлюється одиничне значення біта – дозвіл на виведення чергового байта.

       SR.6 – АСК (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) – регістр управління, адреса = ВА5Е + 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 – одиничне значення біта відповідає низькому рівню на виході 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 – введення байта цілком, використовуючи для прийому лінії даних. Цей режим працює тільки на портах, що допускають читання вихідних даних (Bi-Directional або PS/2 Type 1).

       ЕРР (Enhanced Parallel Port) Mode – двонаправлений обмін даними, при якому управляючі сигнали інтерфейсу генеруються апаратно під час циклу звернення до порту (читання або запису в порт). Ефективний при роботі з пристроями зовнішньої пам'яті, адаптерами локальних мереж.

       ЕСР (Extended Capability Port) Mode – двонаправлений обмін даними з можливістю апаратного стискування даних по методу RLE (Run Length Encoding) і використання FIFO-буферів і DMA. Управляючі сигнали інтерфейсу генеруються апаратно. Ефективний для принтерів і сканерів.

В сучасних АТ-машинах з LPT-портом на системній платі режим порту – SPP, ЕРР, ЕСР або їх комбінація задається в BIOS Setup. Режим Compatibility Mode, як це і виходить з його назви, повністю відповідає вищеописаному стандартному порту SPP.

1.2. Послідовний інтерфейс: СOM-порт

Послідовний інтерфейс для передачі даних в одну сторону використовує одну сигнальну лінію, по якій інформаційні біти передаються один за одним послідовно. Такий спосіб передачі і визначає назву інтерфейсу і порту, що його реалізовує. Ці назви відповідають англійським термінам Serial Interface і Serial Port (іноді в невдалому перекладі їх називають «серійними», що звучить досить дивно). Послідовна передача даних може здійснюватися як в асинхронному, так і синхронному режимах.

При асинхронній передачі кожному байту передує старт-біт, що сигналізує приймачу про початок чергового посилання, за яким слідують біти даних: і, можливо, біт паритету (контролю парності). Завершує посилання стоп-біт, гарантуючий певну витримку між сусідніми посиланнями (рис. 1.2). Старт-біт наступного посланого байта може посилатися у будь-який момент після закінчення стоп-біта, тобто між передачами можливі паузи довільної тривалості. Старт-біт, що має завжди строго певне значення (лог. 0), забезпечує простий механізм синхронізації приймача по сигналу від передавача. Мається на увазі, що приймач і передавач працюють на одній швидкості обміну, що виміряється в кількості передаваних біт в секунду. Внутрішній генератор синхронізації приймача використовує лічильник дільника опорної частоти, що обнуляється в момент прийому початку старт-біта, Цей лічильник генерує внутрішні строби, по яких приймач фіксує подальші біти, що приймаються. В ідеалі ці строби розташовуються в середині бітних інтервалів, що забезпечує можливість прийому даних і при деякому розузгодженні швидкостей приймача і передавача. Неважко помітити, що при передачі 8 бів даних, одного контрольного і одного стоп-біта гранично допустиме розузгодження швидкостей, при якому дані будуть розпізнані вірно, не може перевищувати 5%. З урахуванням фазових спотворень (затягнутих фронтів сигналу) і дискретності роботи внутрішнього лічильника синхронізації реально допустимо менше відхилення частот. Чим менше коефіцієнт розподілу опорної частоти внутрішнього генератора (тобто чим вище частота передачі), тим більше погрішність прив'язки стробів до середини бітного інтервалу, і, отже, вимоги до узгодженості частот більш строгі. Також, чим вище частота передачі, тим більше вплив спотворень фронтів на фазу сигналу, що приймається. Така «дружна» дія цих двох чинників приводить до підвищення вимог узгодженості частот приймача і передавача із зростанням частоти обміну.

Рис. 1.2. Формат асинхронної передачі

Формат асинхронного посилання дозволяє виявляти можливі помилки передачі:

       Якщо прийнятий перепад, що сигналізує про початок посилання, а по стробу старт-біта зафіксований рівень логічної одиниці, старт-біт вважається помилковим і приймач знову переходить в стан очікування. Про цю помилку формату приймач може і не повідомляти.

       Якщо в час, відведений під стоп-біт, знайдений рівень логічної одиниці, фіксується помилка стоп-бита (теж помилка формату).

       Якщо застосовується контроль парності (паритету), то після посилання біт даних (перед стоп-бітом) передається контрольний біт. Цей біт доповнює кількість одиничних біт даних до парної або непарної залежно від прийнятої угоди. Прийом байта з невірним значенням контрольного біта при включеному контролі паритету приводить до фіксації помилки прийнятих даних.

Контроль формату дозволяє знаходити обрив лінії: при цьому звичайно приймається логічний нуль, який спочатку потрактує як старт-біт і нульові біти даних, але потім спрацює контроль стоп-біта.

Для асинхронного режиму прийнятий ряд стандартних швидкостей обміну: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600 і 115200 біт/с.

Кількість біт даних може складати 5, 6, 7 або 8 (5- і 6-бітні формати малопоширені). Кількість стоп-бітів може бути 1, 1,5 і 2 («півтора біти» має на увазі, природно, тільки тривалість стопового інтервалу).

Асинхронний обмін в PC реалізується за допомогою СOM-порту з використанням протоколу RS-232C.

Синхронний режим передачі передбачає постійну активність каналу зв'язку. Посилання починається з синхробайта, за яким впритул слідує потік інформаційних біт. Якщо у передавача немає даних для передачі, він заповнює паузу безперервним посиланням байтів синхронізації. Очевидно, що при передачі великих масивів даних невигідні витрати на синхронізацію в даному режимі обміну будуть нижчими, ніж в асинхронному. Проте в синхронному режимі необхідна зовнішня синхронізація приймача з передавачем, оскільки навіть мале відхилення частот приведе до помилки, що швидко нагромаджується, і спотворення даних, що приймаються. Зовнішня синхронізація можлива або за допомогою окремої лінії для передачі сигналу синхронізації, або з використанням самосинхронізуючого кодування даних (наприклад, манчестерський код або NRZ), при якому на приймальній стороні з прийнятого сигналу можуть бути виділені і імпульси синхронізації. У будь-якому випадку синхронний режим вимагає або дорогих ліній зв'язку, або дорогого обладнання (а може, і того і іншого). Для PC існує спеціальна плата – адаптери SDLC (досить дорогі), що підтримують синхронний режим обміну. Вони використовуються в основному для зв'язку з великими машинами (mainframes) IBM і в даний час мало поширені (їх витіснили менш дорогі і більш ефективні засоби комунікацій). З синхронних адаптерів в даний час частіше застосовуються адаптери інтерфейсу V.35.

Послідовний інтерфейс на фізичному рівні може мати різні реалізації, що розрізняються способами передачі електричних сигналів. Існує ряд родинних міжнародних стандартів: RS-232C, RS-423A, RS-422A і RS-485. На рис. 1.3 наведені схеми з'єднання приймачів і передавачів і показані їх обмеження на довжину лінії (L) і максимальну швидкість передачі даних (V).

Несиметричні лінії інтерфейсів RS-232C і RS-423A мають найнижчу захищеність від синфазної перешкоди, хоча диференціальний вхід приймача RS-423A дещо пом'якшує ситуацію. Кращі параметри має двоточковий інтерфейс RS-422A і його магістральний (шинний) родич RS-485, що працює на симетричних лініях зв'язку. В них для передачі кожного сигналу використовуються диференціальні сигнали з окремою (витою) парою проводів.

Рис. 1.3. Стандарти послідовного інтерфейсу

Найбільше поширення в PC отримав найпростіший з цих – стандарт RS-232C. В промисловій автоматиці широко застосовується RS-485, а також RS-422A, що зустрічається і в деяких принтерах. Існують відносно нескладні перетворювачі сигналів для узгодження всіх цих споріднених інтерфейсів.

2.2.1. Інтерфейс RS-232C

Інтерфейс RS-232C призначений для підключення апаратури, що передає або приймає дані (КОД – конечне обладнання даних або АПД – апаратура передачі даних), до конечної апаратури каналів даних (АКД). В ролі АПД може виступати комп'ютер, принтер, плоттер і інше периферійне обладнання. Цій апаратурі відповідає абревіатура DTE – Data Terminal Equipment. В ролі АКД звичайно виступає модем, цій апаратурі відповідає абревіатура DСЕ – Data Communication Equipment. Кінцевою метою підключення є з'єднання двох пристроїв DTE, повна схема з'єднання наведена на рис. 1.4. Інтерфейс дозволяє виключити канал віддаленого зв'язку разом з парою пристроїв DTE (модемів), з'єднавши пристрої безпосередньо за допомогою нуль-модемного кабелю (рис. 1.5).

Рис. 1.4. Повна схема з'єднання по RS-232C

Рис. 1.5. З'єднання по RS-232C нуль-модемним кабелем

Стандарт описує управляючі сигнали інтерфейсу, пересилку даних, електричний інтерфейс і типи роз'ємів. Стандарт описує асинхронний і синхронний режими обміну, але СOM-порти підтримують тільки асинхронний режим. Функціонально RS-232C еквівалентний стандарту МККТТ V.24/ V.28 і стику С2, але вони мають різні назви одних і тих же сигналів, що використовуються

2.2.2. Інфрачервоний інтерфейс

Застосування випромінювачів і приймачів інфрачервоного діапазону дозволяє здійснювати безпровідні комунікації між парою пристроїв, віддалених на відстань, що досягає одного метра, а іноді навіть декількох метрів. Розрізняють інфрачервоні системи зв'язку низької швидкості (до 115,2 Кбіт/с) середньої і високої, що працюють з швидкостями 1,152 і 4 Мбіт/с відповідно. Низько-швидкісні системи придатні для обміну короткими повідомленнями, високошвидкісні – для обміну файлами між комп'ютерами, підключення до локальної (або глобальній) мережі, виведення інформації на принтери, проекційні апарати і т.п. В перспективі очікуються і більш високі швидкості обміну, які дозволять передавати навіть «живе відео». В 1993 році була створена асоціація розробників систем інфрачервоної передачі даних IrDA (Infrared Data Association), покликана забезпечити сумісність обладнання від різних виробників. В даний час діє стандарт IrDA 1.1, окрім якого є власні системи фірм Hewlett Packard HP-SIR (Hewlett Packard Slow Infra Red) і ASK (Amplitude Shifted Keyed IR) фірми Sharp. Основні (швидкісні) характеристики інтерфейсів наступні;

       IrDA SIR (Slow Infra Red), HP-SIR – 9,6-115,2 Кбіт/с;

       IrDA MIR (Middle Infra Red) – 1,2 Мбіт/с;

       IrDA FIR (Fast Infra Red) – 4 Мбіт/с;

       Sharp ASK – 9,6-57,6 Кбіт/с.

На швидкостях до 115,2 Кбіт/с для інфрачервоного зв'язку використовуються UART, сумісні з 16450/16550. В сучасній системній платі на використання інфрачервоного зв'язку часто може конфігуруватися порт COM2. В цьому випадку на передню панель комп'ютера встановлюється зовнішній приймач-передавач – «інфрачервоне око», яке підключається до роз'єму IR-Connector системної платі.

На середніх і високих швидкостях обміну застосовуються спеціалізовані мікросхеми, орієнтовані на інтенсивний програмно-керований обмін або DMA, з можливістю використання прямого управління шиною (Bus Master).

На відміну від інших безпровідних систем зв'язку (радіочастотних), інфрачервоні випромінювачі не створюють перешкод в радіочастотному діапазоні і забезпечують достатній рівень конфіденційності зв'язку. ІЧ-випромінювання не проходить через стіни, і відстань прийому обмежується невеликим, легко контрольованим простором. Дуже привабливе застосування інфрачервоної технології для зв'язку портативних комп'ютерів зі стаціонарними комп'ютерами або док-станціями (PC Docking), розширювальними їх до повноцінної настільної конфігурації. Інфрачервоний інтерфейс мають і деякі моделі принтерів.

2.2.3. Інтерфейс MIDI

Цифровий інтерфейс музичних інструментів MIDI (Musical Instrument Digital Interface) є двонаправленим послідовним асинхронним інтерфейсом з частотою передачі 31,25 Кбіт/с. Цей інтерфейс, розроблений в 1983 році, став фактичним стандартом для сполучення комп'ютерів, синтезаторів, записуючих і відтворюючих пристроїв, мікшерів, пристроїв спеціальних ефектів та іншої електромузичної техніки. В даний час інтерфейс MIDI мають і дорогі синтезатори, і дешеві музичні клавіатури, які можуть використовуватися в якості пристроїв введення комп'ютера.

В інтерфейсі застосовується струмова петля 10 мА (можливо і 5 мА) з гальванічною (оптронною) розв'язкою вхідного ланцюга. Ця розв'язка виключає зв'язок «схемних земель» пристроїв, що сполучаються через інтерфейсний кабель, що усуває перешкоди (фон), украй небажані для звукової техніки. Зниженню інтерференційних перешкод служить і вибір частоти передачі, яка співпадає з одним із значень частот квантування, прийнятих в цифровому звукозаписі.

Формат асинхронного посилання містить старт-біт, 8 біт інформації і 1 стоп-біт, контроль парності відсутній. Старший біт посилання є ознакою «команда-дані». Його нульове значення вказує на наявність семи біт даних в молодших розрядах. При одиничному значенні ознаки біти [6:4] містять код команди, а біти [3:0] – адресу приймача. Команди можуть бути як адресованими конкретному пристрою, так і широкомовними безадресними. До останньої групи відносяться команди старту, стопу і відмітки часу, що забезпечують синхронізацію пристроїв (система синхронізації МТС – MIDI Time Code).

Інтерфейс визначає три типи портів: MIDI-ІN, MIDI-OUT і MIDI-THRU.

Вхідний порт MIDI-ІN є входом інтерфейсу «струмова петля 10 мА», гальванічно розв'язаного від приймача оптроном з швидкодією не гірше 2 мкс. Пристрій відстежує інформаційний потік на цьому вході і реагує на адресовані йому команди і дані.

Вихідний порт MIDI-OUT є виходом джерела струму 10 мА, гальванічно пов'язаного з схемою пристрою. Обмежувальні резистори оберігають вихідні ланцюги від пошкодження при замиканні на землю або джерело 5 В. На вихід подається інформаційний потік від даного пристрою. В цьому потоці може міститися і трансльований вхідний потік, але це далеко не завжди так.

Транзитний порт MIDI-THRU служить тільки для ретрансляції вхідного сигналу. Його наявність не є обов'язковою для всіх пристроїв.

В якості роз'ємів застосовуються 5-контактні роз'єми DIN, поширені в побутовій звуковій апаратурі, На всіх пристроях встановлюються розетки, на кабелях – вилки. Всі сполучні кабелі MIDI уніфіковані (див. схему на рис.1.6). Згідно правилам підключення, контакт 2 – екран кабелю – з'єднується із загальним дротом тільки на стороні передавача (на роз'ємах MIDI-OUT і MIDI-THRU). На роз'ємі MIDI-ІN цей контакт вільний.

Рис. 1.6. Сполучні кабелі MIDI

В маркіруванні входів і виходів, вказаній біля роз'ємів, бувають різночитання. Одні виробники вважають, що треба писати In або Out відповідно до функції роз'єму даного пристрою, і це, мабуть, правильно: будь-який кабель буде сполучати In і Out. Інші вважають, що підпис повинен позначати функцію пристрою, що підключається, і тоді кабель буде сполучати роз'єми з позначеннями In – In і Out – Out. Така маркіровка зустрічається рідше, але і її слід мати на увазі.

Інтерфейс дозволяє об'єднати групу до 16 пристроїв в локальну мережу. Можливі варіанти топології повинні підкорятися головному правилу; вхід MIDI-ІN одного пристрою повинен підключатися до виходу MIDI-OUT або MIDI-THRU іншого пристрою. При плануванні MIDI-мережі необхідно керуватися знаннями інформаційних потоків і зв'язків пристроїв, Управляючі пристрої – клавіатури, секвенсори (в режимі відтворення), джерела синхронізації – повинні знаходитися, природно, перед керованими. Якщо пристрої потребують двонаправленого обміну, вони повинні з'єднуватися в кільце. Можливо застосування і спеціальних пристроїв-мультиплексорів, що дозволяють логічно комутувати багато вхідних потоків в один вихідний. Виродженим випадком кільця є двонаправлене з'єднання двох пристроїв. Декілька варіантів з'єднання наведено на рис. 1.7.

В PC MIDI-порт є на більшості платі звукових адаптерів, і його сигнали виведені на невживані контакти (12 і 15) роз'єму ігрового адаптера. При цьому для підключення стандартних пристроїв MIDI вимагається перехідній адаптер, що реалізовує інтерфейс «струмова петля». Перехідній адаптер звичайно вбудовується в спеціальний кабель, зразкова схема якого приведена на рис. 1.8, Деякі моделі PC мають вбудовані адаптери і стандартні 5-штиркові роз'єми MIDI.

Рис. 1.7. Варіанти топології мережі MIDI:

а – ланцюг, б – кільце з мультиплексором

Рис. 1.8. Варіант схеми кабелю-адаптера MIDI

В PC для MIDI-порту звичайно застосовуються мікросхеми UART, сумісні з MPU401. Ці мікросхеми відрізняються від звичайних UART 8250 або 8251 в основному тим, що мають регістр адреси пристрою. При прийомі команди з адресою пристрою, співпадаючою із заданим в цьому регістрі (або з широкомовною адресою), виробляється запит апаратного переривання. Це дозволяє інтерфейсу ігнорувати команди, не адресовані даному пристрою, без залучення до фільтрації ресурсів процесора, В просторі введення/виведення MPU401 займає дві суміжні адреси MPU і MPU+1:

       за адресою MPU+0 (звичайно ЗЗОЬ) розташований регістр даних (R/W);

       за адресою MPLJ+1 – регістр адреси і управління (VV) і регістр стану (R).

На деяких системних платах застосовуються БІС контролерів інтерфейсів, в яких UART, що використовується для СOM-порту, конфігуруванням через BIOS SETUP може бути переведений в режим MLDI-порту.

2.2.4. Ресурси СOM-портів

Починаючи з перших моделей в PC був послідовний інтерфейс – СOM-порт (Communications Port комунікаційний порт). Цей порт забезпечує асинхронний обмін по стандарту RS-232C. Комп'ютер може мати до чотирьох послідовних портів СОМ1-COM4 (для машин класу AT типово наявність двох портів). СOM-порти мають зовнішні рознімання DB25P або DB9P, виведені на задню панель комп'ютера.

СOM-порти реалізуються на мікросхемах UART, сумісних з сімейством r8250. Вони займають в просторі введення/виведення по 8 суміжних 8-бітних регістрів і можуть розташовуватися за стандартними базовими адресами 3F8h (COM1), 2F8h (COM2), 3E8h (COM3), 2E8h (COM4). Для портів COM3 і COM4 можливі альтернативні адреси 3EOh, 338h і 2EOh, 238h відповідно. Для PS/2 стандартними для портів COM3 СОМ8 є адреси 3220h, 3228h, 4220h, 4228h, 5220h і 5228h відповідно.

Порти можуть виробляти апаратні переривання IRQ4 (звичайно використовуються для COM1 і COM3) і IRQ3 (для COM2 і COM4). Крім того, можливе використовування ліній переривань IRQ11 (замість IRQ4) і IRQ10 (замість IRQ3). Можливість використання однієї лінії запиту, що розділяється декількома портами (або її розділення з іншими пристроями) залежить від реалізації апаратного підключення і програмного забезпечення. При використовуванні портів, встановлених на шину ISA, переривання, що розділяються, звичайно не працюють.


Розділ 2. Тестування, налагодження, відновлення

2.1. LPT-порт

2.1.1. Конфігурування LPT-портів

Управління паралельним портом розділяється на два етапи – попереднє конфігурування (Setup) апаратних засобів порту і поточне (оперативне) перемикання режимів роботи прикладним або системним ПО. Оперативне перемикання можливе тільки в межах режимів, дозволених при конфігуруванні. Таким чином забезпечується можливість узгодження апаратури і програмного забезпечення і блокування помилкових перемикань, викликаних некоректними діями програми.

Спосіб і можливості конфігурування LPT-портів залежать від його виконання і місцеположення. Порт, розташований на платі розширення (звичайно на мультикарті), встановлюваній в слот ISA або ISA+VLB, звичайно конфігурується джамперами на самій платі. Порт, розташований на системній платі, звичайно конфігурується через BIOS Setup.

Конфігуруванню підлягають наступні параметри:

       Базова адреса, яка може мати значення 3BCh, 378h і 278h. При ініціалізації BIOS перевіряє наявність портів за адресами саме в цьому порядку і, відповідно, привласнює знайденим портам логічні імена LPT1, LPT2, LPT3. Адресу 3BCh має адаптер порту, розташований на платі MDA або HGC. Більшість портів за умовчанням конфігурується на адресу 378h і може перемикатися на 278h.

       Використана лінія запиту переривання для LPT1 звичайно використовується IRQ7, для LPT2 – IRQ5. В багатьох «настільних» застосуваннях переривання від принтера не використовуються, і цей дефіцитний ресурс PC можна заощадити. Проте при використанні швидкісних режимів ЕСР (або Fast Centronics) робота по перериваннях може помітно підвищити продуктивність і понизити завантаження процесора.

       Використання каналу DMA для режимів ЕСР і Fast Centronics – дозвіл і номер каналу DMA.

Режим роботи порту може бути заданий в наступних варіантах:

       SPP – порт працює тільки в стандартному однонаправленому програмно-керованому режимі.

       PS/2, він же Bi-Directional – відрізняється від SPP можливістю реверсу каналу (за допомогою установки CR.5=1).

       Fast Centronics – апаратне формування протоколу Centronics з використанням FIFO-буфера і, можливо, DMA.

       ЕРР – залежно від використання регістрів, порт працює в режимі SPP або ЕРР.

       ЕСР – за умовчанням включається в режим SPP або PS/2, записом в ECR може переводитися в будь-який режим ЕСР, але переведення в ЕРР записом в ECR коду режиму 100 не гарантується

       ЕСР+ЕРР – те ж, що і ЕСР, але запис в ECR коду режиму 100 переводить порт в режим ЕРР.

Вибір режиму ЕРР, ЕСР або Fast Centronics в BIOS Setup або джамперами на платі сам по собі не приводить до підвищення швидкодії обміну з підключеною периферією, а тільки дає можливість драйверу і периферійному пристрою встановити оптимальний режим в межах їх «умінь», Проте більшість сучасних драйверів і додатків автоматично намагаються використати ефективні режими, так що «підрізати їм крила» установкою простих режимів без вагомих підстав не варто.

Принтери і сканери можуть побажати використання режиму ЕСР, причому Windows має і системні драйвери для цього режиму. В середовищі DOS друк через ЕСР підтримується тільки спеціальним завантажуваним драйвером.

Мережні адаптери, зовнішні диски і CD-ROM, що підключаються до паралельного порту, звичайно можуть використовувати режим ЕРР. Для цього режиму спеціальний драйвер поки що не застосовується, а можливість використання ЕРР звичайно включена в драйвер пристрою, що підключається.

2.1.2. Використання паралельних портів

Найбільш поширеним застосуванням LPT-порту є, природно, підключення принтера. Практично всі принтери можуть працювати з портом в режимі SPP, але застосування розширених режимів дає додаткові переваги:

       Двонаправлений режим (Bi-Di) не підвищує продуктивність, але дає додаткові можливості для повідомлення стану і параметрів принтера. Швидкісні режими (Fast Centronics) істотно підвищують продуктивність практично будь-якого принтера (особливо лазерного), але можуть зажадати більш якісного кабелю. Від принтера цей режим не вимагає яких-небудь додаткових «інтелектуальних» здібностей

       Режим ЕСР потенційно найефективніший, і він має системну підтримку у всіх варіантах Windows. Проте він реалізує свої здібності (включаючи апаратну компресію) не на всіх принтерах. Вимагає застосування кабелю, по частотних властивостях відповідного IEEE 1284.

Найпростіший варіант кабелю підключення принтера – 18-провідний кабель з неперевитими дротами з успіхом може використовуватися для роботи порту в режимі SPP. При довжині кабелю більше 2 м бажано, щоб хоча б лінії Strobe# і Busy були перевиті з окремими «загальними» дротами. Проте для швидкісних режимів він може виявитися непридатним, причому збої можуть відбуватися нерегулярно і лише при певних послідовностях передаваних кодів, Іноді попадаються кабелі Centronics, в яких відсутній зв'язок контакту 17 роз'єму PC з контактом 36 роз'єму принтера. Для звичайних принтерів, що працюють в режимі SPP, її відсутність малопомітна, проте при спробі підключення таким кабелем принтера, що працює в стандарті 1284, з'явиться повідомлення про необхідність застосування «двонаправленого кабелю». Без вказаного ланцюга принтер не зможе повідомити систему про підтримку розширених режимів, на що розраховують його програмні драйвери.

Непогані електричні властивості мають стрічкові кабелі, в яких сигнальні ланцюги чергуються із спільними дротами (хоча б для управляючих сигналів). Але їх застосування в якості зовнішнього інтерфейсу не дуже практично (вони не мають другого захисного шару ізоляції, тому дуже вразливі) і не естетично (круглі кабелі виглядають краще)

Ідеальним варіантом є кабелі, в яких всі сигнальні лінії перевиті із спільними дротами і укладені в загальний екран – те, що вимагає IEEE 1248. Такі кабелі гарантований працюють на швидкостях до 2 Мбайт/с, і допускається їх довжина до 10 метрів.

Підключення сканера до LPT-порту ефективно, тільки якщо порт забезпечує хоча б двонаправлений режим (Bi-Di), оскільки в основному тут використовується введення. Але краще використати порт ECP, якщо цей режим підтримується сканером (або EPP, що малоймовірно)

Підключення зовнішніх накопичувачів (Iomega Zip Drive, CD-ROM), адаптерів ЛВС до інших симетричних пристроїв введення/виведення має спільну специфіку. Більшість таких пристроїв здатна працювати в будь-якому з режимів порту (звичайно виключаючи ECP), що забезпечує їх необмежене застосування на будь-яких комп'ютерах. Але використовуючи режим SPP, окрім дуже нешвидкої роботи пристрою, помітна принципова асиметрія цього режиму: читання даних (по мережі або з дискового накопичувача) буде вдвічі повільніше, ніж дуже нешвидкий запис. Застосування двонаправленого режиму (Bi-Di або PS/2 Type 1) усуне цю асиметрію – швидкості порівняються. Але тільки перейшовши на EPP, можна отримати задоволення від нормальної швидкості роботи, проте це чомусь не завжди підкреслюється в документації на пристрої. В режимі EPP підключення до LPT-порту майже не поступається підключенню аналогічного пристрою через ISA-контроллер. Це ж справедливо і при підключенні пристроїв із стандартним інтерфейсом шин до LPT-портів через перетворювачі інтерфейсів (наприклад, LPT – IDE, LPT – SCSI, LPT – PCMCIA).

2.1.3. Несправності і тестування паралельних портів

Тестування паралельних портів розумно починати з перевірки їх наявності в системі. Список адрес встановлених портів звичайно з'являється в таблиці заставки BIOS, що виводиться на екран перед завантаженням ОС. Окрім цієї таблиці, список можна подивитися і за допомогою тестових програм або прямо в BIOS DATA AREA за допомогою будь-якого відладчика.

Якщо BIOS знаходить менше портів, ніж встановлено фізично, швидше за все, яким-небудь двом портам привласнена одна адреса. При цьому працездатність жодного з конфліктуючих портів не гарантується: вони будуть одночасно виводити сигнали вихідних портів, але при читанні стану конфлікт на шині швидше за все приведе до спотворення даних. Програмне тестування порту без діагностичної заглушки (Loop Back) не покаже помилок, оскільки при цьому читаються дані вихідних регістрів, а вони у всіх конфліктуючих (по окремості справних портів) співпадуть. Саме таке тестування і проводить BIOS при перевірці на наявність портів. Розбиратися з такою ситуацією має сенс послідовно встановлюючи порти і спостерігаючи за адресами, що з'являються в списку.

Якщо фізично встановлений тільки один порт і його не знаходить BIOS, то або він відключений при конфігуруванні, або вийшов з ладу швидше за все через порушення правил підключення. Можливо, несправність усунеться при «перекручуванні» платі в слоті – і там виникають проблеми з контактами.

Іноді спостерігаються і такі «чудеса» – при теплому перезавантаженні DOS після Windows 95 порт не видно (і додатки, природно, не можуть друкувати з MS-DOS), Проте після повторного перезавантаження DOS порт виявляється на своєму місці. З цим явищем легше змиритися, ніж намагатися боротися

Тестування портів за допомогою діагностичних програм дозволяє перевірити їх вихідні регістри, а при використанні спеціальних заглушок – і вхідні лінії. Оскільки кількість вихідних ліній порту (12) і вхідних (5) різна, то повна перевірка порту за допомогою пасивної заглушки принципово неможлива. Різні програми тестування вимагають застосування спеціально на них орієнтованих заглушок (рис. 2.1).

Рис. 2.1. Схема заглушки для тестування LPT-порту програмою Checkit

Більшість неприємностей при роботі з LPT-портами доставляють роз'єми і кабелі. Для перевірки порту, кабелю і принтера можна скористатися спеціальними тестами з популярних діагностичних програм (Checkit, PCCheck і т. п.), а можна і спробувати вивести на принтер який-небудь символьний файл.

       Якщо виведення файла з погляду DOS проходить (копіювання файла на пристрій з ім'ям LPTn або PRN проходить швидко і успішно), а принтер (справний) не надрукував жодного символа – швидше за все, це обрив (неконтакт в роз'ємі) ланцюгу STROBE#.

       Якщо принтер по своєму індикатору знаходиться в стані On Line, з'являється повідомлення про його неготовність (Not Ready Error), то причину слід шукати в лінії Busy.

       Якщо принтер спотворює інформацію при друці, можливий обрив (або замикання) ліній даних. В цьому випадку зручно скористатися файлом, що містить послідовність кодів всіх друкарських символів. Якщо файл друкується з повтором деяких символів або їх груп, по періодичності повтору можна легко обчислити обірваний дріт даних інтерфейсу. Цей же файл зручно використати для перевірки апаратної русифікації принтера.

       Якщо принтер, підключений до порту, в стандартному режимі (SPP) друкує нормально, а при переході на ЕСР починаються збої, слід перевірити кабель – чи відповідає він вимогам IEEE 1284. Дешеві кабелі з неперевитими дротами нормально працюють на швидкостях 50-100 Кбайт/с, але при швидкості 1-2 Мбайт/с, забезпечуваній ЕСР, вони мають повне право не працювати, особливо при довжині більше 2 метрів.

       Якщо при установці драйвера Pnp-принтера з'явилося повідомлення про необхідність застосування «двонаправленого кабелю», перевірте наявність зв'язку контакту 17 роз'єму DB-25 з контактом 36 роз'єму Centronics. Хоча цей зв'язок передбачався спочатку, у ряді кабелів він відсутній – мабуть, з метою розорити користувача на покупку нового.

Апаратні переривання від LPT-порту використовуються далеко не завжди. Навіть DOS-програма фонового друку PRINT працює з портом після опитування стану, а її обслуговуючий процес запускається по перериванню від таймера. Тому несправності, пов'язані з ланцюгом переривання від порту, виявляються не часто. Проте по-справжньому багатозадачні ОС прагнуть працювати з портом саме по перериваннях. Тестувати лінію переривання можна, тільки підключивши до порту периферійний пристрій або спеціальну заглушку. Якщо до порту з несправним каналом переривання підключити адаптер локальної мережі, то він, можливо, і буде працювати, але з дивовижно низькою швидкістю: на будь-який запит відповідь буде приходити із затримкою в десятки секунд – з адаптера прийнятий пакет буде прийматися не по перериванню (відразу по приходу), а по зовнішньому тайм-ауту.

2.2. СOM-порт

2.2.1. Конфігурування СOM-портів

Управління послідовним портом розділяється на два етапи – попереднє конфігурування (Setup) апаратних засобів порту і поточне (оперативне) перемикання режимів роботи прикладним або системним ПО. Спосіб і можливості конфігурування СOM-портів залежать від його виконання і місцеположення. Порт, розташований на платі розширення (звичайно на мультикартs), встановлюваній в слот ISA або ISA+VLB, звичайно конфігурується джамперами на самій платі. Порт, розташований на системній платі, звичайно конфігурується через BIOS Setup. Конфігуруванню підлягають наступні параметри:

       Базова адреса, яка може мати значення 3F8h, 2F8h, 3E8h (3EOh, 338h), 2E8h (2EOh, 238h). При ініціалізації BIOS перевіряє наявність портів за адресами саме в цьому порядку і, відповідно, привласнює знайденим портам логічні імена З Ml, COM2, COM3 і COM4.

       Використовувана лінія запиту переривання для СОМ1 і COM3 звичайно використовується IRQ4 або IRQ11, для COM2 і COM4 – IRQ3 або IRQ10. У принципі номер переривання можна призначати в довільних поєднаннях з базовою адресою (номером порту), але деякі програми і драйвери (наприклад, драйвери послідовної миші) налаштовані тільки на стандартні поєднання. Кожному порту, потребуючому в апаратному перериванні, звичайно призначають окрему лінію, не співпадаючу з лініями запиту переривань інших портів або пристроїв. Переривання необхідні для портів, до яких підключаються пристрої введення (миша, дигитайзер), UPS і модеми. При підключенні принтера або плоттера перериваннями користуються тільки багатозадачні ОС (і то не завжди), і цей дефіцитний ресурс PC можна заощадити. Також перериваннями звичайно не користуються і при зв'язку двох комп'ютерів нуль-модемним кабелем.

       Використання каналу DMA (для UART 16450 або 16550, розташованих на системній платі) – дозвіл використання і номер каналу DMA. Режим DMA при роботі з СOM-портами використовують рідко, тому в більшості випадків канали DMA порту не призначають.

Режим роботи порту за умовчанням (2400 бит/с, 7 бітів даних, 1 стоп-біти і контроль парності), заданий при ініціалізації порту під час BIOS POST, може змінюватися у будь-який момент при настройці комунікаційних програм або командою DOS MODE COMx; з вказівкою параметрів.

2.2.2. Використання СOM-портів

Всупереч назві, СOM-порти частіше всього використовують для підключення маніпуляторів (миша, трекбол). У цьому випадку порт використовується в режимі послідовного введення, забезпечуючи живлення пристрою від інтерфейсу. Миша може підключатися до будь-якого справного порту, для узгодження роз'ємів порту і миші можливо застосування перехідника DB9S-DB25P або, навпаки, DB25S-DB9P. Для роботи з мишею обов'язково потрібне використання лінії переривання, причому для порту СОМ1 – IRQ4, а для COM2 – IRQ3.

Наступним по популярності йде підключення зовнішніх модемів для зв'язку з віддаленими комп'ютерами або виходу в глобальні мережі. Модеми повинні підключатися повним (9-дротяним) кабелем DTE-DCE. Цей же кабель може використовуватися і для узгодження роз'ємів (по кількості контактів), можливо і застосування перехідников 9-25, призначених для мишей. Для роботи комунікаційного ПО звичайно потрібне використання переривань, але тут, як правило, більше свободи вибору поєднань номера (адреси) порту і номера лінії переривання. Якщо передбачається робота на швидкостях 9600 біт/с і вище, то СOM-порт повинен бути реалізований на мікросхемі UART 16550A або сумісній з нею. Можливості роботи з використанням FIFO-буферів і обміну по каналах DMA залежать від комунікаційного ПО.

Для зв'язку двох комп'ютерів, віддалених один від одного на невелику відстань, використовують і безпосереднє з'єднання їх СOM-портів нуль-модемним кабелем. Використання програм типу Norton Commander або Interink MS-DOS дозволяє обмінюватися файлами зі швидкістю передачі до 115,2 Кбіт/с без використання апаратних переривань. Це ж з'єднання може використатися і мережним пакетом Lantastic, що надає більш розвинутий сервіс.

Підключення принтерів і плоттерів до СOM-порту вимагає застосування кабелю, відповідного вибраному протоколу управління потоком: програмному XON/XOFF або апаратному RTS/CTS. Апаратний протокол переважний, оскільки він не вимагає програмної підтримки з боку PC. Переривання при виведення засобами DOS (командами COPY або PRINT) не використовуються.

СОМ-порт іноді використовується і для підключення електронних ключів (Security Devices), призначених для захисту від неліцензованого використання програмних продуктів. Ці пристрої можуть бути як «прозорими», дозволяючи скористатися тим же портом і для підключення периферії, так і повністю займаючими порт

СОМ-порт за наявності відповідної програмної підтримки дозволяє перетворити PC на термінал, емулюючи систему команд поширених спеціалізованих терміналів (VT-52, VT-100 і інших). У принципі найпростіший термінал виходить, якщо замкнути одну на одну функції BIOS обслуговування СOM-порту (Int 14h), функцію телетайпного виведення відеосервісу (Int 10h) і клавіатурне введення (Int 16h). Проте такий термінал буде працювати лише на малих швидкостях обміну (якщо, звичайно, його робити не на Pentium), оскільки функції BIOS хоча і універсальні, але працюють не найшвидшим чином.

Цим списком, звичайно ж, можливості використання СOM-порту не вичерпуються. Інтерфейс RS-232C широко поширений в різних периферійних пристроях і терміналах. Всі вони, за наявності належної програмної підтримки, можуть підключатися до PC. Окрім використання по прямому призначенню, СOM-порт може використатися і як двонаправлений інтерфейс, в якого є 3 програмно-керованих вихідних лінії і 4 програмно-читані вхідні лінії з двополюсними сигналами. Можливість їх використання обмежується тільки фантазією розробника. Існує, наприклад, схема однобітного широтно-імпульсного перетворювача, що дозволяє записувати звуковий сигнал на диск PC, використовуючи вхідну лінію СOM-порту. Відтворення цього запису через звичайний динамік забезпечує розбірливість мови. Звичайно, в даний час, коли звукова карта стала майже обов'язковим пристроєм PC, це вже не вражає, але свого часу таке рішення було досить цікавим.

 

2.2.3. Несправності і тестування СOM-портів

Неполадки з СOM-портами частіше всього трапляються (або виявляються) при установці нових портів або після невдалого підключення зовнішнього пристрою (при порушенні вимоги відключення живлення перед всіма перекомутаціями).

Перевірка конфігурування

Тестування послідовних портів (як і паралельних) починають з перевірки їх пізнання системою. Список адрес встановлених портів звичайно з'являється в таблиці заставки BIOS, що виводиться на екран перед завантаженням ОС. Окрім цієї таблиці, список можна подивитися і за допомогою тестових програм або прямо в BIOS DATA AREA за допомогою будь-якого відладчика.

Якщо BIOS знаходить менше портів, ніж встановлено фізично, швидше за все, яким-небудь двом портам привласнена одна адреса або встановлена нестандартна адреса якого-небудь порту. Проблеми можуть виникати з адресами портів COM3 і COM4: не всі версії BIOS будуть шукати порти за альтернативними адресами 3EOh, 338h, 2EOh і 238h, а іноді не проводиться пошук і за адресами 3E8h і 2E8h. Нумерація знайдених портів, що відображається в заставці, іноді може вводити в помилку: наприклад, якщо встановлено два порти з адресами 3F8h і 3E8h, в заставці вони можуть називатися як СОМ1 і COM2, і по цих іменах на них можна посилатися при звертаннях. Проте ті ж порти в заставці можуть називатися і як СОМ1 і COM3 (оскільки 3E8h є штатною адресою для COM3), але спроба при звертаннях послатися на порт COM3 буде невдалою, оскільки в даному випадку адреса 3E8h буде знаходитися в комірці 0:402h BIOS DATA AREA, відповідній порту COM2, а в комірці порту COM3 (0:404h) буде нуль – ознака відсутності такого порту. «Пояснити» системі, де який порт, можна і вручну будь-яким відладчиком, занісши правильні значення базових адрес в комірки BIOS DATA AREA (але це доведеться робити кожного разу після перезавантаження ОС перед використанням «втраченого» порту). Існують тестові утиліти, що дозволяють знаходити порти і без відладчика (наприклад, Port Finder).

Якщо двом портам призначена одна і та ж адреса, тестова програма знайде помилки порту тільки з використанням зовнішньої заглушки (External Loop Back). Програмне тестування порту без заглушки не покаже помилок, оскільки при цьому включається діагностичний режим і конфліктуючі (по окремості справні) порти будуть працювати паралельно, забезпечуючи збіг прочитуваної інформації. В реальній роботі, природно, нормальне введення даних (і управляючих сигналів інтерфейсу) для конфліктуючих портів неможливе. Розбиратися з конфліктом адрес зручно послідовно встановлюючи порти і спостерігаючи за адресами, що з'являються в списку.

Якщо фізично встановлений тільки один порт і його не знаходить BIOS, то причини можуть бути тими ж, що і з LPT-портом: або він відключений при конфігуруванні, або вийшов з ладу швидше за все через порушення правил підключення. Може, звичайно, несправність усунутися і при «перекручуванні» платі адаптера в слоті системної шини.

При роботі з СOM-портом часто використовуються апаратні переривання – їх використовують при підключенні модему, миші та інших пристроїв введення. Непрацездатність цих пристроїв може бути викликана некоректною настройкою запиту переривання. Тут можливі як конфлікти з іншими пристроями (або, нав­па­ки, відключення запиту), так і невідповідність номера переривання адресі порту, про можливість якого не «здогадуються», наприклад, багато драйверів миші.

Функціональне тестування

В першому наближенні СOM-порт можна перевірити діагностичною програмою (наприклад, Checkit) без використання заглушок. Цей режим тестування перевіряє функціонування мікросхеми UART (внутрішній діагностичний режим) і вироблення переривань, але він не зачіпає вхідні і вихідні буферні мікросхеми, які є, мабуть, більш частими джерелами неприємностей. Якщо тест не проходить, причину слід шукати або в конфлікті адрес (або пере­ри­вань, якщо на це явно указує повідомлення тесту), або в самій мікросхемі UART.

Для більш достовірного тестування портів за допомогою діагностичних програм рекомендується використання зовнішньої заглушки, що підключається до роз'єму СOM-порту. На відміну від LPT-порту в СOM-порті кількість вхідних сигналів перевищує кількість вихідних, що дозволяє виконати повну перевірку всіх ланцюгів. Схема заглушки для тестування СOM-порту програмою Checkit наведена на рис. 2.2. Заглушка з'єднує вихід приймача з входом передавача, замикаючи інформаційне кільце. Обов'язкова для всіх схем заглушок перемичка RTS-CTS дозволяє працювати передавачу – без неї символи не зможуть передаватися. Вихідний сигнал DTR звичайно використовують для перевірки вхідних ліній DSR, DCD і RI.

Рис. 2.2. Заглушка для перевірки СOM-портів (LoopBack)

Якщо тест із зовнішньою заглушкою не проходить (при успіху внутрішньої діагностики UART), причину слід шукати в зовнішніх буферах або їх живленні (±)12 В або в шлейфах підключення зовнішніх роз'ємів. Тут може допомогти осцилограф або просто вольтметр (зручніше стрілочний). Послідовність перевірки може бути наступною;

1. Перевірити наявність двополюсного живлення вихідних схем передавачів (цей крок логічно перший, але оскільки він технічно найскладніший, його можна і відкласти на випадок, коли з'явиться бажання замінювати буферні мікросхеми).

2. Перевірити напругу на виходах TD, RTS і DTR; після апаратного скидання на виході TD повинен бути негативний потенціал біля -12 В (принаймні, нижче -5 В), а на виходах RTS і DTR – такий же позитивний. Якщо цих потенціалів немає, можлива помилка підключення роз'єму до платі через шлейф.

Популярні варіанти:

       шлейф не підключений

       шлейф підключений неправильно (роз'єм перевернений або вставлений із зсувом)

       розкладка шлейфа не відповідає роз'єму платі.

Перші два варіанти перевіряються легко уважним оглядом, а третій може зажадати деякі зусилля по розслідуванню. Теоретично шлейф повинен поставлятися відповідно до роз'єму, але можливі варіанти «з урахуванням місцевих умов». Якщо справа тільки в помилковій розкладці, то ці три вихідних сигналу вдасться знайти на інших контактах роз'ємів (на вхідних контактах потенціал зовсім невеликий). Якщо ці сигнали знайти не вдалося, то, очевидно, вийшли з ладу буферні формувачі.

3. З'єднавши контакти ліній RTS і CTS (або встановивши заглушку), слід спробувати вивести невеликий файл на СOM-порт (наприклад, командою COPY С:AUTOEXEC.BAT COM1:). Зі справним портом ця команда успішно виконається за декілька секунд з повідомленням про успішне копіювання. При цьому потенціали на виходах RTS і DTR повинні змінитися на негативні, а на виході TD повинна з'явитися пачка двополюсних імпульсів з амплітудою більше 5 В. Якщо потенціали RTS і DTR не змінилися, помилка знову-таки в буферних формувачах. Якщо на виході RTS (і вході CTS) з'явився негативний потенціал, а команда COPY завершується з помилкою, швидше за все, вийшов з ладу приймач лінії CTS (інший варіант – знову-таки помилка в шлейфі), Якщо команда COPY успішно проходить, а зміни на виході TD не виявляються (їх можна побачити і стрілочним вольтметром, але не вдасться оцінити амплітуду імпульсів), то винуватий буферний передавач сигналу TD.

Заміна мікросхем приймачів і передавачів істотно полегшується, якщо вони встановлені в «ліжечка» (що на системній платі буває вкрай рідко, а на ISA-адаптерах звичайно застосовується тільки для другого (необов'язкового) порту. Перед заміною слід за допомогою осцилографа (або вольтметра) впевнитися в несправності конкретної мікросхеми.

Якщо буферні елементи включені в склад інтерфейсної ВІС (що тепер дуже поширено), то такий порт майже неремонтопридатний (принаймні, в звичайних умовах). Несправний СOM-порт, встановлений на системній платі, можна спробувати відключити опціями BIOS SETUP, але порт міг згоріти і разом з схемою свого відключення – тоді він може залишитися «живим мерцем» у карті портів введення/виведення і переривань. Іноді такий «мертвець» повністю виводить з ладу системну плату.

При роботі з СOM-портами джерелами помилок можуть бути роз'єми і кабелі. Роз'єми можуть мати погані контакти, а кабелі, окрім можливих обривів, можуть мати погані частотні характеристики. Частотні властивості кабелів звичайно позначаються при великій довжині (десятки метрів) на високих швидкостях обміну (56 або 115 Кбіт/с). При необхідності використання довгих кабелів на високих швидкостях (наприклад, для зв'язку двох PC) сигнальні дроти даних повинні бути перевитими з окремими дротами «схемної землі».

Живлення від інтерфейсу (або чому може не працювати миша)

При підключенні до СOM-порту пристроїв з невеликим енергоспоживанням виникає спокуса використання живлення від вихідних ліній інтерфейсу. Якщо лінії управління DTR і RTS не використовуються по прямому призначенню, їх можна використати як живлячі з напругою близько 12 В на холостому ходу. Струм короткого замикання на «схемну землю» обмежений буферною мікросхемою передавача на рівні 20 мА. При ініціалізації порту ці лінії переходять в стан «вимкнено», тобто виробляють позитивну напругу. Лінія TD у спокої знаходиться в стані логічної одиниці, так що на виході виробляється від'ємна напруга. Потенціалами цих ліній можна управляти через регістри СOM-порту (вихід TD виробляє позитивну напругу, якщо встановити біт BRCON).

Двополюсним живленням від ліній інтерфейсу (+V від DTR і RTS, -V від TD) користуються всі маніпулятори (Mouse, TrackBall), що підключаються до СOM-портів. Знаючи це, у разі непрацездатності миші з даним портом слід перевірити напруги на відповідних контактах роз'єму. Буває і таке – з конкретним портом не працює тільки конкретна миша (модель або екземпляр), хоча інші миші з цим портом і ці ж миші з іншими портами працюють нормально. Тут справа може бути в рівнях напруг під навантаженням. Стандарт вимагає від порту вихідної напруги не менше 5 В (абсолютного значення), і, якщо даний порт забезпечує тільки цей мінімум, деяким мишкам не вистачить потужність для живлення світлодіодів оптичних датчиків (головного споживача енергії в мишці).

Порт одержує двополюсне живлення через системну плату від блоку живлення комп'ютера. Відсутність на виході блоку живлення напруги +12 В звичайно виявиться на непрацездатності дисків. Відсутність напруги -12 В «помітять» тільки пристрої, підключені до СOM-портів. Блок живлення теоретично контролює наявність цих напруг на своєму виході (повідомляючи про неполадки сигналом POWER GOOD, який викликає апаратне скидання). На практиці зустрічаються і спрощені схеми блоків живлення, в яких контролюються не всі напруги. Крім того, можливі і погані контакти в роз'ємі підключення живлення до системної плати.

Висновок

Отже, порт паралельного інтерфейсу був введений в PC для підключення принтера – звідси і пішла його назва LPT-порт (Line PrinTer – порядковий принтер). Хоча через цей же порт підключається і більшість лазерних принтерів, які за принципом дії не порядкові, а посторінкові, назва «LPT» закріпилася ґрунтовно. Адаптер паралельного інтерфейсу є набором регістрів, розташованих в просторі введення/виведення. Регістри порту адресуються щодо базової адреси порту, стандартними значеннями якого є 3BCh, 378h і 278h. Порт може використовувати лінію запиту апаратного переривання, звичайно IRQ7 або IRQ5. Порт має зовнішню 8-бітну шину даних, 5-бітну шину сигналів стану і 4-бітну шину управляючих сигналів.

Послідовний інтерфейс для передачі даних в одну сторону використовує одну сигнальну лінію, по якій інформаційні біти передаються один за одним послідовно. Такий спосіб передачі і визначає назву інтерфейсу і порту, що його реалізовує. Ці назви відповідають англійським термінам Serial Interface і Serial Port (іноді в невдалому перекладі їх називають «серійними», що звучить досить дивно). Послідовна передача даних може здійснюватися як в асинхронному, так і синхронному режимах. Починаючи з перших моделей в PC був послідовний інтерфейс – СOM-порт (Communications Port комунікаційний порт). Цей порт забезпечує асинхронний обмін по стандарту RS-232C. Комп'ютер може мати до чотирьох послідовних портів СОМ1-COM4 (для машин класу AT типово наявність двох портів). СOM-порти мають зовнішні рознімання DB25P або DB9P, виведені на задню панель комп'ютера.

Тестування паралельних портів розумно починати з перевірки їх наявності в системі. Список адрес встановлених портів звичайно з'являється в таблиці заставки BIOS, що виводиться на екран перед завантаженням ОС. Окрім цієї таблиці, список можна подивитися і за допомогою тестових програм або прямо в BIOS DATA AREA за допомогою будь-якого відладчика.

Неполадки з СOM-портами частіше всього трапляються (або виявляються) при установці нових портів або після невдалого підключення зовнішнього при­с­т­р­ою (при порушенні вимоги відключення живлення перед всіма перекомутаціями).

Література

 

1.            Айден К. и др. Аппаратные средства PC: Пер. с нем. / К. Айден, Х. Фибельман, М. Краммер. – Спб.: BHV-Сонет. П., 1996.

2.            Вермань А.Ф., Апатова Н.В. Інформатика. – К.: Форум, 2000.

3.            Вильховченко С. Современный компьютер: устройство, выбор, модернизация. – СПб.: Питер, 2000.

4.            Вильховченко С. Современный компьютер: устройство, выбор, модернизация. – СПб.: Питер, 2000. – 512 с.

5.            Глушаков С.В., Мельников И.В. Персональный компьютер: Учебный курс. – Харьков: Фолио, М.: ООО "Издательство АСТ", 2000.

6.            Гук М. Аппаратные средства IBM PC: Карманная энциклопедия. – СПб.: Питер, 1999.

7.            Гук М. Аппаратные средства IBM PC: Энциклопедия. – СПб.: Питер, 2000.

8.            Гук М. Интерфейсы ПК: Справочник. – СПб.: Питер, 1999.

9.            Информатика. Базовый курс. / Симонович С.В. и др. – СПб: Издательство "Питер", 1999.

10.        Інформатика: Комп’ютерна техніка. Комп’ютерні технології: Підручник для вузів / За ред. О.І. Пушкаря. – К.: Академія, 2002.

11.        Леонтьев В.П. Новейшая энциклопедия персонального компьютера – М.: ОЛМА-ПРЕСС, 2003.

12.        Локазюк В. М. Мікропроцесори та мікроЕОМ у виробничих системах: Посібник. – К.: Видавничий центр "Академія", 2002. – 368 с.

13.        Локазюк В. М., Савченко Ю.Г. Надійнсть, контроль, діагностика і модернізація ПК: Посібник для вузів / Під ред. В. М. Локазюка. – К.: Академія, 2004. – 376 с.

14.        Модернизация и обслуживание ПК: Базовый курс / Пер. с. англ. Д.М. Шевеля. – К.: БЕК; М.: ЭНТРОП; СПб.: Корона принт, 2000. – 592 с.

15.        Соломенчук В.Г. Аппаратные средства персональных компьютеров. – СПб.: БХВ-Петербург, 2003. – 512 с.

 
  Сегодня были уже 1 посетителей  
 
Лаптєв Олег Володимирович © 2010 pc201010.ru.gg
Этот сайт был создан бесплатно с помощью homepage-konstruktor.ru. Хотите тоже свой сайт?
Зарегистрироваться бесплатно