Главная » З'єднання і комутація » Як змінити швидкість com порта. Анатомія COM-порту

Як змінити швидкість com порта. Анатомія COM-порту

Як змінити швидкість com порта. Анатомія COM-порту

Останнім часом послідовний спосіб передачі даних витісняє паралельний.

За прикладами далеко ходити не треба: поява шин USB і SATA говорить сама за себе.

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

Послідовні інтерфейси

На сьогоднішній день існує безліч різних інтерфейсів послідовної передачі даних.

Крім уже згаданих USB і SATA ще можна згадати як мінімум два широко відомих стандарту RS-232 і MIDI (він же і GamePort).

Об'єднує їх все той же - послідовна передача кожного біта інформації, або Serial Interface.

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

Передача даних

Послідовну передачу даних можна реалізувати двома способами: асинхронним і синхронним.

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

Приймач і передавач повинні бути з'єднані спеціальним Синхронізаційні кабелем, який забезпечує роботу пристроїв на одній частоті.

Асинхронна передача на увазі використання спеціальних бітів, маркованих початок і кінець даних - стартового (логічний нуль) і стопового (логічна одиниця) біта.

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

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

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

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

Нічого не зрозуміло?

Ну, якби все комп'ютерні технології були прості, то будь-яка домогосподарка давно б уже ліпила паралельно з пельменями нові протоколи...

Спробуємо поглянути на процес по-іншому.

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

З половиною?!

Так, ти не дочув, саме з половиною!

Стоповий біт, а вірніше передається сигнал відповідний стопового біту, може мати тривалість більшу, ніж сигнал відповідний біту-одиниці, але меншу ніж для двох бітів.

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

Потім через деякий довільний проміжок часу похід бітів на Москву триває.

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

Для того щоб цього уникнути, кожен біт стробіруется, тобто надсилається синхронно зі спеціальним сигналом - «стробом», який формується всередині приладу.

Існує ряд певних швидкостей роботи асинхронних пристроїв - 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19 200, 38 400, 57 600 і 115 200 біт в секунду.

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

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

Тепер пару слів про загадкове терміні «пакет даних».

Під пакетом в даному випадку розуміється набір бітів, що передаються між стартовим і стоповим битами.

Їх число може змінюватися від п'яти до восьми.

Можна задатися питанням, чому саме п'ять-вісім біт?

Чому б не передати відразу, скажімо, кілобайт даних усередині пакета?

Відповідь очевидна: передаючи маленькі пакети даних, ми хай і

;

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

А ось в кілобайті даних помилку виявити буде вже важко, і передавати його буде набагато складніше.

Як приклад асинхронного послідовного пристрою передачі даних можна привести COM-порт комп'ютера, улюблений модем з дизайном від Труссарді і миша, що підключається до цього ж порту, яку недалекі секретарки чомусь весь час намагаються засунути в PS / 2.

Працюють всі ці пристрої по інтерфейсу RS-232, вірніше по асинхронної його частини, оскільки в стандарті описана і синхронна передача даних.

RS-232 електричний інтерфейс

Тут важливо зазначити, що цей інтерфейс не забезпечує гальванічної розв'язки.

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

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

Довжина сполучних проводів не повинна перевищувати 15 метрів.

Логічного одиниці відповідає значення напруги на вході приймача від -12 до -3 Вольт, логічному нулю - від +3 до +12 Вольт.

На виході передавача, відповідно, логічна одиниця - це напруга в діапазоні від -12 до -5 Вольт, а логічний нуль - від +5 до +12 Вольт.

Що стосується роз'єму, то ти напевно знаєш, що бувають 9-контактні і 25-контактні роз'єми для послідовних інтерфейсів, так ось, 25-контактний роз'єм якраз призначений для синхронної роботи, а 9-ти - для асинхронної.

COM-порт комп'ютера виглядає як роз'єм типу «тато» (male), ну а що підключається апаратура має роз'єм типу «мама» (female).

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

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

Ось вона, з боку комп'ютера (COM порту).

COM-порт

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

Добре це чи погано?

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

Припустимо, якщо з такою швидкістю копіювати фільм в форматі DivX, то процес буде завершений всього-то за 16 годин.

Однак є й інша точка зору: оскільки це старий стандарт, то в реалізації знайдені і виправлені практично всі помилки, за стандартом написано безліч документації і є величезна кількість програмного коду, що використовує цей стандарт.

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

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

Миша і COM-порт

Незважаючи на те, що COM-порт спочатку був розроблений для підключення модему, згодом був придуманий спосіб використовувати його для найрізноманітніших пристроїв.

Однією з перших стала миша.

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

Єдине, що ще потрібно миші, так це переривання, для того щоб сигналізувати про її рухах.

Інформація про події миші - переміщення, натискання кнопок - кодується і пересилається по інтерфейсу.

Мишею використовуються наступні контакти роз'єму:

• RD (2) - для передачі даних;

• SG (5) - земля;

• DTR, RTS (4, 7) - позитивне харчування;

• TD (3) - негативне харчування.