Тема: Функції портів ПК. Відмови в послідовних портах,
обслуговування та ремонт.
Мета: Вивчити особливості будови та роботи послідовних портів ПК.. Ознайомитись з характерними ознаками несправностей портів, оволодіти методами перевірки працездатності та обслуговування портів.
Контрольні запитання.
1. Дайте узагальнену характеристику портів ПК.
2. Призначення порта RS-232.
3. Логічні імена послідовних портів.
4. Структура повідомлення при використанні послідовних портів.
5. Стандарти на швидкість передачі сигналів в послідовних портах. Чим обмежується швидкість передачі?
6. Характеристика мікроконтролера UART.
7. Значення логічного "0" та "1" при передачі ·нформації з використанням мікроконтролера UART.
8. Характеристика роз"ємів послідовних портів.
9. Пристрої DTE і DCE.
10. Сигнали послідовного інтерфейсу ПК.
11. Послідовність операцій при перевірці послідовних портів.
12. Конфлікти портів.
13. Використання "Заглушок" (loopback) для перевірки послідовних портів.
1. Характеристика портів ПК.
ПК з"єднуються з множиною периферійних пристроїв вводу/виводу через порти. Кожен комп"ютер має свої порти, кількість яких може змінюватись. Порт складається ·з роз"єма та кабеля, який вставляється в роз"єм. П·д"єднання периферійного пристрою до ПК реалізується з використанням відповідного адаптера.
Порти бувають послідовніі, тобто інформаційні біти передаються послідовно один за другим, і паралельні, коли декілька біт·в даних передається одночасно. Паралельні порти використовуються звичайно для підключення принтера.
В старих 8-бітових одноплатних комп"ютерах були вхідні порти (для клавіатури, джойстика, миші та ін.), вихідні порти (для монітора, принтера, спеціальних механічних пристроїв), та вхідно-вихідні порти (для НМД, модемфв і т.п.) [1]. В цих комп"ютерах роз"єми жорстко кріпились на друкованій платі.
В сучасних ПК з”явились роз"єми на материнській платі, в які вставляються дочірні плати з роз"ємами для периферійних пристроїв.
2. Послідовний порт.
Єдиним двохпровідним доступом до зовнішнього світу ПК, офіційно визнаним фірмою IBM до появи PS/2, був асинхронний інформаційний порт зв"язку чи, як його звуть, послідовний порт [2]. Такий порт працює за стандартом EIA (Electronics Industri Association) -RS 232 C, тому його звуть також RS - 232 портом.
В сучасних ПК, як· працюють під управлінням MS DOS, може використовуватись до чотирьох послідовних портів, які мають відповідно логічні імена COM1, COM2, COM3 і COM4. Базові адреси портів і відповідні переривання наводяться в табл.1.
Табл.1. Адреси та пари переривань послідовних портів.
Зауважимо, що використання переривань IRQ 10 та IRQ 11 для послідовних портів можливе тільки на платі вводу/виводу для РС/АТ. В ПК, сумісних з PC/XT, для цього можна задіяти лише два переривання -IRQ 4 та IRQ 3, або використати, якщо можливо, переривання IRQ 2 чи IRQ 5.
В послідовній передачі даних першим передається молодший біт, а потім - по мірі їх зростання. До цих інформаційних бітів додається імпульс постійної довжини - стартовий біт. Він вказує на початок слова. Ще один додатковий біт - стан-біт - вказує на кіінець слова. Між останнім бітом слова і першим стан-бітом часто вставляється біт парності для перевірки достовірності інформації.
Послідовні сигнали описуються номінальною швидкістю, з якою передаються біти в лінії зв'язку. Стандарти продуктивності (швидкодії): 300, 600, 1200, 2400, 4800, 9600, 19200.
Навіть найпродуктивніши режими не лімітуються послідовними апаратними засобами. Існують розробки програмного забезпечення, які працюють з технічним забезпеченням IBM на вищих швидкостях.
На кінець 80-х років було досягнуто швидкості 115200 біт/сек [2]. Обмеження в 9600 і 19200 біт/сек для ПК встановлені із врахуванням швидкісних можливостей підпрограм BIOS послідовного порту. Програми, які можуть працювати за межами обмежень IBM, обходяться без повільних підпрограм BIOS.
2.1. Мікроконтролер UART.
IBM PC використовуєспеціальний тип мікросхем для перетворення паралельних сигналів ПК в послідовну серію імпульсів. Це універсальна асинхронна приймально-передавальна схема - Universal Asynchronous Reseiver Transmitter (UART). Вона отримує інформацію за паралельними входами (складається з 8 ліній) і перетворює ці сигнали до послідовної форми. Реалізуються і зворотні перетворення.
IBM в своїх ПК використовують три типи чіпів UART. Перші PC та PC/XT використовують модифікацію 8250, яка встановлювалась на асинхронну адаптерну плату зв'язку. В IBM/AT використовується UART 16450, яка по суті є покращеним варіантом 8250. Вона сумісна з нею. При розробці PS/2 стандарт UART був розширений, а більш продуктивна 16550 встановлюється на системній платі. Всі ці схеми працюють за одним алгоритмом [2].
Зазначимо. що стандарт передачі та прийому використовує високі рівні сигналів ±15В чи ±12В. Рівень логічного "0" відповідає напрузі +12В, а логічної "1" -12В. При передачі мікросхема UART перетворює паралельний код в послідовний, отримаючи вихідну послідовність бітами старту, зупинки та контролю. При прийомі - перетворюється послідовний код в паралельний. Умовою вірної передачі (прийому) є однакові швидкості роботи прийомного та передаючого UART, що забезпечується стабільною частотою кварцевого резонатора.
Основною перевагою послідовної передачі є можливість пересилання даних на великі віддалі (як правило, не менше 30 м).
2.2. Роз'єми.
Розпізнати послідовні порти IBM PC можна по роз'єму. IBM PC/XT і PS/2 використовують 25-контактні роз'єми для послідовних портів. В IBM/AT встановлюються 9-контактні роз'єми. В любому випадку це штиреві мініатюрні D-подібні роз'єми. Вони мають два паралельні ряди контактів і в одному ряді один контакт довший від інших.
Більшість послідовних кабелів підключаються 25-контактними роз'ємами з обох сторін. А для переходу від 9 контактів AT до 25 контактів звично потрібен адаптер (рис.1).
Рис.1. З'єднання провідників при переході від 25-контактного послідовного порту до 9-контактного.
25-контактний роз'єм 9-контактний роз'єм
2 ------------------------------------ 3
3 ------------------------------------ 2
4 ------------------------------------ 7
5 ------------------------------------ 8
6 ------------------------------------ 6
7 ------------------------------------ 5
8 ------------------------------------ 1
20 ------------------------------------ 4
22 ------------------------------------ 9
2.3. Типи послідовних пристроїв.

Спочатку порт RS-232 був створений для під'єднання терміналів за допомогою модемів. В сістемі RS-232 обидва типи пристроїв отримали свої власні імена [2]:
термінал - Data Terminal Equipment - DTE,
модем - Data Communication Equipment - DCE.
DTE виступає як кінцевий пристрій, а DCE - як пристрій передачі даних. Відрізняються вони, по суті, лише напрямком використовуваних сигналів так, якщо для DTE сигнал є вхідним, то для DCE той же сигнал буде вихідним і навпаки.
DTR - сигнал готовності терминалу. Він має позитивну форму і передається із DTE-пристрою, інформуючи про те, що пристрій підключено, забезпечений живленням і готовий розпочати сеанс зв'язку.
DSR - сигнал готовності набору даних, видається DCE-пристроєм.
В нормальному каналі RS-232 ці два сигнали повинні появитись раніше, ніж станеться ще що-небудь.
При обміні даними можуть використовуватись різні протоколи (правила обм·ну): від найпрстішого (тут необхідні лише три сигнали - TXD, RXD та GND) до більш складних, що використовують, наприклад, пару квітуючих сигналів RTS-CTS. Різні комунікаційні програми можуть застосовувати різні протоколи обміну, тому, щоб уникнути непорозумінь, краще завжди попередньо вивчити відповідний технічний опис.
В табл. 1 наводяться сигнали послідовного інтерфейсу для роз'- ємів типу DB-Shell.
Табл.1. Сигнали послідовного інтерфейсу.

2.4. Перевірка та діагностика збоїв послідовних портів.
Часто користувачі мають труднощі, коли із конфігурації системи (для PC/AT) відомо, що послідовні порти (порт) в сістемі є, але пристрій, під'єднаний до одного з цих портів, не працює. Що не працює: кабель, порт, сам пристрі·й? Щоб однозначно відповісти на це питання, простіше, як правило, спочатку перевірити справність кабеля, послідовного порта, а тоді вже робити якісь догадки відносно пристрою.
Задача полегшується, якщо в системі вже є послідовний пристрій, який працює. Можна не переключати порти і подивитись, чи залишились ті ж проблеми. За допомогою таких простих маніпуляцій можна дізнатись, чи дає збої порт, кабель чи послідовний пристрій.
2.4.1. Конфлiкт портiв.
Якщо ви спробували використати декiлька портiв i жоден з них не працює чи вони не працюють в парi, помилка може заключатись в призначеннi портiв. Може бути, що два порти пробують стати COM1.
Першим кроком в подiбних сiтуацiях є пiдрахунок числа портiв в системi. Додатковi послiдовнi плати, багатофункцiональнi пристрої iз вбудованими портами, внутрiшнi модеми, послiдовнi порти системних плат стандартних пристроїв i плати адаптерiв для миші - все приймається до розрахунку. Якщо, для прикладу, в системi є вбудований модем, то за ним закрiплюється порт COM3. DOS не розпiзнає цей порт, тому ви не зможете використати команди DOS для його призначення як порта принтера. Малоймовiрно, що вам пощастить працювати з цим модемом напряму через DOS i тому вам не оминути цiєї проблеми.
Якщо ж два порти все ще призначенi некоректно - потрiбно позбавитись вiд надлишкiв.
2.4.2. Помилки переривань.
Деякi послiдовнi плати примушують призначити послiдовнi порти i переривання з використанням встановлення спецiальних перемичок. Якщо ви отримали плату з призначеним портом COM1, але її переривання виставлене для COM2 чи iншим значенням, послiдовний порт може працювати нестiйко, чи взагалi не працювати.
Iнша периферiя може домагатись використання сигналiв переривань, якi призначаються для послiдовного порта. Наприклад, дублююча система на магнiтнiй стрiчцi не призначена для використання з послiдовним портом.
Симптоми подiбних ситуацiй - нестiйка робота порта: iнодi вiн працює, iнодi нi. А може бути, що другий пристрiй може повнiстю вивантажити послiдовний порт i заблокувати роботу.
Вихiд - переназначення сигналiв переривань.
2.4.3. Вiдсутнiсть квитанцiї.
У випадку, коли не виявленi конфлiкти iз сигналами переривань та адресацiєю портiв, а послiдовнi порти нiби працюючi, але збоять з певним конкретним пристроєм, ймовiрнiше всього це – вiдсутнiсть сигналів підтвердження передачі і прийому інформації (квитанцій).
Перевiрити квiтування можна двома способами: тестуванням чи дослiдним шляхом. Тестування передбачає використання тестера. Потрiбно перевiрити значення напруги на контактах DSR, CTS та DCD. Якщо з квiтанцiями все в порядку, додатня напруга в цих точках трохи перевищує 5В.
Дослiдним шляхом несправнiсть можна виявити пiдключенням контактiв DSR, CTS i DCD прямо до DTR. Якщо пiсля цього PC починає працювати, або якщо вiн може передати послiдовному пристрою хоч би один символ, значить є проблема квитування.
2.4.4. Переповнення буфера.
Ознака - пропадання окремих символiв, слiв, речень. У рядках можуть iгноруватись межi, тому, що можуть пропадати i керуючи символи.
Перевiрте з'єднання управлiння потоком даних. Може бути, CTS чи iнший контакт має погане з'єднання. Крiм того перевiрте, щоб обидва пристрої в послiдовнiй системi використовували один i той самий протокол управлiння потоками даних.
2.4.5. Використання "заглушок" для перевiрки послiдовних портiв.
У любого IBM-сумiсного ПК в ROM BIOS вбудовані функцiї, якi призначенi для роботи з послiдовними портами (iнiцiалiзацiя, прийом та передача символа, отримання статусу порта). При виконаннi процедури POST, як правило, здiйснюється iнiцiалiзацiя i тестування внутрiшнiх регiстрiв всiх послiдовних портiв, якi включенi в конфiгурацiю системи. Зрозумiло, що тестування вихiдних ланок мiкросхем UART (8250, 16450, 16550), на базi яких реалiзовано послiдовний iнтерфейс, без додаткової комутацiї вхiдних та вихiдних сигналiв виконати неможливо, тому ця частина роботи в функцiї POST не включена. Використовуючи багаточисленнi тестовi програми, можна достатньо точно локалiзувати несправнiсть чи, в крайньому випадку, впевнитись в непрацездатностi (чи навпаки) послiдовного порту. Але перш за все для цього потрiбно виготовити ще одну "заглушку", яка i забезпечує необхiдну комутацiю сигналiв прийому-передачi та сигналiв квитування при перевiрцi порту. В залежностi вiд того, який роз'єм в PC використовується для послiдовного порта, "заглушка" може виготовлятись на базi роз'єма-розетки (female) або DB-25, або DB-9. Для DB-25 необхiдно об'єднати виводи 2-3, 4-5, 20-6-8-22, а для DB-9: 2-3, 7-8, 4-6-1-9.
Встановивши "заглушку" безпосередньо на роз'єм порта, який перевiряється, потрiбно запустити яку-небудь програму, наприклад, Checkit. Якщо порт, що перевіряється справний, виконуються вiдповiднi тести регiстрiв (даних, статуса i т.п.) i тест передачi та прийому даних на рiзних швидкостях. Впевнившись у справностi порту, "заглушку" можна пiдключити до iнтерфейсного кабеля i перевiрити його разом з портом.
Якщо пiд рукою нема тестовој програми, що підходить, то для перевiрки COM-порта може пiдiйти i комунiкацiйна програма, наприклад, ProComm. Якщо в режимi напiвдуплексу при натисканнi клавiши друкується два символи (в режимi повного дуплексу - один), то послiдовний порт працездатний.
Якщо ж для використання нема нiчого, крiм утилiт DOS, то можна використати DEBUG.COM i любий текстовий редактор (можна навiть скористатись простим способом створення файлу - Copy Con filename). Для того, щоб "набрати" наступний текст в файл RS_TEST.DBG потрiбно декiлька хвилин:
A | NRS232.COM
MOV DX,03F8 | W
IN AL,DX | Q
MOV AH,01 |
INT 21 |
OUT DX,AL | Зараз потрiбно виконати
MOV DX,03F8+5 | команду:
IN AL,DX |
TEST AL,01 | DEBAG Ni RS_TEST.DBG
ЇZ 010C |
MOV DX,03F8 | i тестова програма RS232.COM
IN AL,DX | готова до роботи.
MOV DL,AL |
MOV AH,02 |
INT 21 |
JMP 0100 |
RCX |
1D |
Після запуску вона чекає натиснення клавіші. При встановленій "заглушці" на справному послідовному порту COM1 кожна натиснена клавііша буде "двоїтись" (полудуплекс). Вносячи невеликі зміни в текст файла RS_TEST.DBG, можна створити подібні програми для перевірки любого послідовного порту.
Пояснення. Два перших рядка програми виконують попереднє читання з Рг приймача за адресою 3F8h (порт COM1), щоб очистити його вміст. Потім для вводу символу з клавііатури використовується функція 01h переривання 21h (ввід символу з чеканням та ехом), після чого цей символ виводиться через Рг передатчика за адресою 3F8h (як відомо, адреси Рг приймача і передавача співпадають). Опитування Рг стану 3FDh (3F8h+5) дозволяє точно визначити момент прийому переданого символу в Рг приймача. Прийнятий символ виводиться на екран, використовуючи функцію 02h переривання 21h. Програма виконується в безперервному циклі з виходом при натисканні клавіши CTRL-Break. Для перевірки порта COM2 в файл· RS_TEST.DBG необхідно лише замінити базову адресу регістрів 3F8h на 2F8h. Базові адреси портів COM3 · COM4 - 3E8h · 2E8h відповідно.
Встановити, яка iз двох мiкросхем (8250 чи 16450) функцiонально реалiзована на адаптерi можна i не заглядаючи в ПК. Справа в тiм, що 16450 має додатковий робочий регістр, який можна i читати i записувати за адресою: базова +7
MOV DX,3F8+7
MOV AL,55
OUT DX,AL
XOR AL,AL
IN AL,DX
Якщо, в результатi виконання цих операцiй в регістрі AL буде записано число 55, то в адаптерi використана мiкросхема 16450, нi - 8250.
Ще одна практична порада. Щоб пiд'єднати принтер з послiдовним iнтерфейсом, наприклад, до порту COM1, знадобляться рядки команд DOS:
MODE COM1:96,N,8,1
MODE LPT1=COM1
Зрозумiло, що параметри COM-порта тут взятi "умовно".
3. Зміст звіту
Звіт з виконання лабораторної роботи повинен містити:
Титульну сторінку;
Тему лабораторної роботи.
Мету лабораторної роботи.
Відповіді на контрольні питання. (Студенти, що мають парний порядковий номер за списком у журналі, відповідають на питання, що мають парний номер. Інакше, відповідають на непарні питання).
4. Лiтература.
1. Марголис А. Поиск и устранение неисправностей в персональных компьютерах. - К.: фирма "Диалектика", 1994. - 368 с.
2. Ром У.Л. Библия по техническому обеспечению Уинна Рома. Пер. с англ. А. Пашковского. - Мн.: МХХК "Динамо", 1992. - 416 с.
3. Фролов А.В., Фролов Г.В. Аппаратное обеспечение IBM PC. - К.: "ДИАЛОГ МИФИ", 1992. - 208 с.
4. Борзенко А. Практическая энциклопедия по аппаратному обеспечению IBM PC. - К.: фирма "Диалектика", 1994. - 224 с.