Що таке COM-порт? Пристрій, управління COM-портом


COM-порт, або послідовний порт, являє собою двонаправлений послідовний інтерфейс, який призначений для обміну байтовими даними. У перший час цей порт використовували для підключення терміналу, а потім для модему і миші. Зараз його прийнято застосовувати для підключення джерела безперебійного живлення, а також для зв'язку з апаратними засобами обробки обчислювальних систем вбудованого типу.

Використання

Отже, перед тим як докладніше поговорити про те, що таке COM-порт, необхідно зазирнути в минуле для розуміння його значення. Буквально 15 років тому використовувався спосіб підключення пристроїв до комп'ютера за допомогою спеціального стандартного роз'єму, розташованого на задній панелі системного блоку із застосуванням спеціального серіального кабелю RS-232. У цього способу є безліч недоліків. Такий кабель, за сучасними мірками, надає вкрай низьку швидкість передачі даних - приблизно сотню кілобіт на секунду. Крім того, коли вироблялося фізичне з'єднання роз'ємів, необхідно було здійснювати вимикання обладнання, а самі вони кріпилися один до одного за допомогою гвинтів, що забезпечують надійність, при цьому їх розміри відрізнялися неабиякою величиною.

COM порт

Трохи історії

COM-порт на тодішніх комп'ютерах традиційно носив номер 1 або 2, так як зазвичай їх було не більше двох. Можна було встановити додаткові порти, якщо в цьому виникала необхідність. Коли користувачем проводилася налаштування програмного забезпечення, було потрібно не переплутати і правильно встановити саме той, до якого забезпечувалося підключення потрібного обладнання. Кожен COM-порт вимагав правильного налаштування швидкості передачі даних, а також ряду інших загадкових параметрів, про які було відомо лише вузькому колу фахівців. Щоб підключення апаратури було успішним, всі необхідні параметри вимагалося звідкись дізнатися або експериментально підібрати, так як в цьому випадку не було якесь автоматичне конфігурування. Крім цього, підключення через COM-порт допускало з'єднання будь-якого програмного забезпечення з довільним зовнішнім обладнанням, навіть абсолютно несумісним, через що в процесі налаштувань і виникало величезна кількість помилок.

Сучасність

Зараз з'єднання через COM-порт повністю витіснено більш сучасним методом, який не вимагає особливих знань для реалізації, а саме за допомогою USB-порту. Цей метод позбавлений всіх недоліків, згаданих раніше. Однак сучасні стандарти сумісності з'єднання всілякого GPS-обладнання та вельми різнорідного програмного забезпечення сформувалися досить давно навколо концепції COM-портів, які стали на поточний момент архаїчними.

Робота COM порту

Це пов'язане з тим, що спочатку практично будь-яке обладнання, в тому числі і GPS, було зовнішнім, а його з'єднання з комп'ютером здійснювалося за допомогою серійного кабелю, підключеного до одного з апаратних портів. Від користувача в процесі настройки вимагалося правильно підібрати номер порту і швидкість трансляції даних по ньому. У той час виник основний стандарт передачі даних від GPS-приймача до програми, який тепер називається NMEA-0183. Фактично даний стандарт наказує всім розробникам навіть найсучаснішої апаратури і програмного забезпечення обмінюватися даними за допомогою COM-портів. І все це в умовах того, що на сучасних комп'ютерах, а також на КПК, вже давно головним є стандарт USB. А ще одна особливість полягає в тому, що останнім часом GPS-приймачі все частіше стали встановлювати безпосередньо всередину корпусу пристрою, тобто між ним і основним девайсом взагалі відсутній будь-який з'єднувальний кабель.

Управління COM портом

Віртуальні КОМ-порти

Вихід з положення був придуманий, а саме розроблені «віртуальні» COM-порти. Виходить, що внутрішній устрій КПК, наприклад, GPS-приймач, програмно імітується у вигляді COM-порту, при цьому в апаратній плані таким не будучи. При цьому програмою, яка розрахована на поєднання допомогою подібного стандарту, немає різниці, як він реалізований. Тут допускається наявність віртуальної імітації, а не обов'язкова присутність апаратної реалізації. Так і вдається забезпечити сумісність GPS-програм старого зразка із сучасним обладнанням.

Що таке COM порт

Внесені зміни

При цьому управління COM-портом істотно не змінилося. Користувач по-старому повинен виробляти складну настройку мало не вручну. Проте сучасний COM-порт являє собою вже не те громіздке пристосування, розміщуються на задній панелі системного блоку, а зовсім інший пристрій. І тут вся справа в тому, що з програмної точки зору всі їх реалізації виглядають безлико, тобто немає різниці між віртуальними і реальними портами. Для програмного забезпечення порти розрізняються тільки номерами, які їм присвоєні виробниками КПК на абсолютно випадковій основі. Приміром, приймач від ASUS зазвичай знаходиться на COM5, а PocketLOOX 560 показує приймач на COM8. Виходить, що програма, яка бажає отримувати від GPS-приймача дані, не має спочатку ніякої достовірної інформації про умовне номері, під яким фігурує порт, прописаний відповідним для приймача на даному КПК.

Анатомія COM порту

Як все це працює?

При тому, що серед всіх наявних COM-портів можна провести автоматичний пошук відповідного, процедура такого опитування є досить ненадійною і досить громіздкою. Пов'язано це з тим, що пристрої, які відображаються в системі як COM-портів, можуть бути досить різноманітними і не мати відношення до GPS, вони можуть абсолютно непередбачувано відповісти на таке опитування. Приміром, на КПК бувають порти, пов'язані з внутрішнім стільниковим модемом, з USB, з інфрачервоним портом, а також з іншими елементами. Звернення до них програми, призначеної для роботи з конкретним пристосуванням, може призвести до зовсім непередбачуваною реакції, а також до різних збоїв у роботі, що часто стає причиною зависання КПК. Саме тому спроба відкрити COM-порт може призвести до несподіваних ситуацій аж до включення Bluetooth або інфрачервоного порту. А можуть бути і більш незрозумілі випадки.




Відкрити COM порт

Робота COM-порту

Для COM-портів в якості основи використовується мікросхема асинхронного універсального приймача. Ця мікросхема існує в декількох різновидах: Intel 16550A, 16550, 16450, 8250. Для кожного COM-порту вона містить регістри приймача і передавача даних, а також ряд керуючих регістрів, до яких є доступ через програми BIOS, Windows і MS DOS. У останніх версій мікросхеми є набір буферів для тимчасового зберігання переданих та отриманих даних. Завдяки такій можливості якомога рідше переривати роботу центрального процесора, а також узгодити швидкість трансляції даних.

Основні параметри

Пристрій COM-порту передбачає наявність таких характерних особливостей:

- базової адреси порту для введення і виведення інформації-

- номера апаратного прериванія-

- розміру одного блоку інформації-

- швидкості, з якою передаються дані-

- режиму детектування честності-

- способу управління потоками інформації-

- кількості степових біт.

Пристрій COM порту

Як перевірити COM-порт комп'ютера? На що звернути увагу?

Як вже було сказано раніше, цей тип порту являє собою двонаправлений інтерфейс для передачі інформації на битовом рівні послідовним способом. Відмінною характеристикою в порівнянні з паралельним портом тут є передача даних біт за бітом. Анатомія COM-порту така, що на комп'ютері не він один використовує послідовний спосіб передачі даних. Наприклад, такі інтерфейси, як Ethernet або USB, теж використовують аналогічний принцип, але так склалося історично, що послідовним прийнято називати саме порт стандарту RS232.

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

Поділися в соц мережах: