Як в Windows 8 працює СОМ-порт

СОМ-порт (від слова «комунікаційний»), або serial ( «послідовний») порт - частково помилково ще називають портом RS-232. Правильно сказати так: СОМ-порт передає дані, грунтуючись на стандарті послідовного інтерфейсу RS-2321, який, крім власне протоколу передачі і електричних параметрів, стандартизує роз'єм DB-25. Пізніше, спеціально для ПК, випустили стандарт RS-574, який встановив всім знайомий роз'єм DB-9, тепер став фактичним стандартом для всієї галузі.

Є і ще один термін, який має безпосереднє відношення до цієї теми: UART (Universal Asynchronous Receiver-Transmitter, універсальний асинхронний приймач). UART є складова частина СОМ-порту, його основа, то пристрій, який власне передає і приймає дані і до якого адресуються призначені для користувача програми. Крім UART, в СОМ-порт входить перетворювач електричних рівнів UART / RS-232. Взагалі-то на мікросхемах UART можна побудувати лінії передачі з використанням різних протоколів: RS-422 (швидкісного), RS-485 (підвищеної надійності), навіть USB.

Розглянутий RS-232 - найпростіший з них. Стандарт RS-232 - один з найдавніших протоколів передачі даних між пристроями, він був затверджений ще в 1969 році, і до комп'ютерів (тим більше ПК) тоді ще не мав ніякого відношення. Це дуже простий в реалізації, дешевий, невибагливий і досить надійний спосіб з'єднання двох пристроїв. Існує кілька стандартів RS-232, що розрізняються доданої буквою: RS-232C, RS-232D, RS-232e та ін. Вдаватися в відмінності між ними немає ніякого сенсу - вони є лише послідовним удосконаленням і деталізацією технічних особливостей одного і того ж пристрою. Зауважимо лише для довідки, що всі сучасні порти підтримують специфікації RS-232C або RS-232e.

Давайте трохи докладніше зупинимося на тому, як працює RS-232 - це добре ілюструють не зовсім очевидні принципи передачі цілого набору бітів всього по одному дроту. Ідея полягає в посилці послідовних імпульсів, кожний з яких може означати 0 або 1. Якщо в певні (заздалегідь відомі) моменти часу зчитувати стан лінії, то можна відновити те, що було послано. Однак ця очевидна думка натрапляє на певні труднощі.

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

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

Малюнок 1 ілюструє роботу приймача RS-232. Стартовий біт передасться позитивним рівнем напруги (в даному випадку це вважається логічним нулем), а стоповий - негативним рівнем (логічною одиницею). Виявивши зміна рівнів з негативного на позитивний, приймач вважає це стартовим бітом і з заданими, згідно обумовленої заздалегідь швидкості передачі, проміжками часу відраховує від нього всі інші.

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

Мал. 3.1. Передача байта по стандарту RS-232

Одне з найбільш зручних з технічної точки зору якостей RS-232 - то, що стандарт передбачає досить широкий розкид напруг сигналу - офіційно в межах від ± 5 до ± 15 В (для RS-232C), а насправді він може бути ще розширений , тому що приймач приймає сигнали ± 3 до ± 25 В. Довжина лінії зв'язку не повинна перевищувати 15 м (RS-232C), але на практиці це можуть бути багато великі величини. Якщо швидкість передачі не вибирати занадто високою, то така лінія може надійно працювати на десятки і сотні метрів (автору цих рядків вдавалося без додаткових хитрувань налагодити обмін з комп'ютером на швидкості 4800 бод по кабелю, правда, досить товстому, довжиною близько півкілометра). Ніяких спеціальних кручених пара не передбачається - лінія може складатися із звичайних проводів.

З усього цього випливає, що RS-232 - ідеальний спосіб для передачі даних з невеликими швидкостями по мінімальній кількості проводів. Колись його всерйоз мали намір розвивати, від чого і стандартизировали роз'єм з 25 контакту-ми (DB25) - «на виріст». У цьому роз'ємі є додаткові лінії, сенс яких в тому, що вони можуть застосовуватися для організації різних синхронних протоколів обміну (протоколів з handshakes, «рукостисканням»). Всі старі ПК мали по два СОМ-порту: і з 9-ю, і з 25-ю контактами. Швидко з'ясувалося, що 25 контактів - чисте надмірність, цілком достатньо і 9-ти, і DB25 якось непомітно зник з ужитку.

Залишився тільки DB9, та й в ньому наявні додаткові лінії мало який пристрій використовує. Так як RS-232 - повільний спосіб передачі, то ніяких особливих вимог до з'єднувачів він не пред'являє, і нерідко можна зустріти пристрої і з нестандартним роз'ємом - наприклад, в деяких старих цифрових фотокамерах під послідовний порт були пристосовані стереоаудіораз'еми. З 1991 року розвиток RS-232 загальмувалося - йому на зміну прийшли набагато складніші, зате зручні для користувача і швидкісні USB і FireWare.

Відзначимо ще, що звичайний телефонний модем з точки зору системи - теж СОМ-порт, тільки поверх найпростішого фізичного протоколу RS-232 для нього введені деякі спеціалізовані команди управління, а в іншому він нічим від СОМ-порту не відрізняється (навіть якщо встромляється в USB). «Грудкою» є і інфрачервоний (IR) порт, бездротової інтерфейс Bluetooth теж утворює віртуальні СОМ-порти, через які ведеться обмін.

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

Кабелі для підключення RS-232 діляться на подовжувальні (вилка-гніздо) і сполучні (гніздо-гніздо), останні часто називають нульмодемним. У сполучних кабелях, що забезпечують обмін між двома пристроями, прийомні-передавальні лінії (2-й і 3-й контакти 9-контактного роз'єму) з'єднані перехресно. У правильному нуль-модемном кабелі контакт 4 (DTR, Data Terminal Ready, готовність комп'ютера) на протилежній стороні також з'єднується з 1 і 6 контактами (DCD і DSR - готовність модему). У подовжувальних кабелях всі ці контакти з'єднані один до одного.

Якщо ви зіткнулися з СОМ-інтерфейсом на якомусь приладі, а в комп'ютері він відсутній, - не впадайте у відчай. Є кілька способів його організувати. Найпоширеніші - придбати перехідник USB-COM у вигляді зовнішнього кабелю або вставну PCI-плату з набором портів. Останній спосіб краще першого - кабелі USB-COM бувають досить примхливими, і деякі програми для роботи через СОМ-порт з цими кабелями працюють з помилками або відмовляються працювати зовсім. «Залізний» СОМ-порт, встановлений, як постійне обладнання комп'ютера, значно надійніше і, до речі, навіть краще стаціонарного порту, встановленого на материнській платі, - в разі чого виходить з ладу додаткова плата, а материнська залишається в недоторканності.

Для ноутбуків таке рішення, звичайно, не підходить - в них можна користуватися тільки перехідниками, наприклад. USB-COM. Більш надійними будуть перехідники PCMCIA-СОМ, хоча вони можуть бути істотно дорожче USB-кабелів. Є й перехідники ExpressCard-COM для тих ноутбуків, в яких немає PCMCIA.

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

Дополнительная информация

rss
Карта