Послідовний або, як його ще називають, серіальний порт є одним з поза шніх інтерфейсів комп’ютерних систем, що виконують обмін даними у відповідності зі стандартом RS 232. У більшості випадків для фізичної зв’язку пристроїв, що працюють по RS 232, використовуються 9 контактні з’єднувачі, хоча іноді можна зустріти і 25 контакт ні роз’єми. Процес передачі прийому даних з цього стандарту здійснюється последова тельно, біт за бітом, звідки, власне, і пішла назва «послідовний порт».

Послідовний порт являє собою один з найбільш ранніх інтерфейсів обме на даними між пристроями і відомий під назвою «COM» порт. Для обміну данни ми через послідовний порт використовуються спеціальні мікросхеми, відомі під назвою UART (Universal Asynchronous Receiver Transmitter, Універсальний Асинхронний Приймально Передавач), здатні забезпечити швидкість обміну даними по послідовно му порту до 115 кілобіт / с (скорочено kbps), хоча останні розробки дозволяють повели чить цю швидкість до 460 кілобіт / с.

У персональному комп’ютері зазвичай присутній не один, а кілька послідовник

них портів, яким присвоюються такі апаратні ресурси (табл. 4.1).

Рис. 4.2

Передача байта даних

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

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

тірованние по відношенню до полярності напруги сигналів, тобто негативним пере

дам напруги відповідає логічна “1”, а позитивним – логічний «0».

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

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

Апаратно прийом і передача даних через інтерфейс RS 232 зазвичай реалізуються в багатофункціональному контролері UART. Це загальна назва для даного типу чіпів, хоча випускається дуже багато різновидів цього пристрою. Найбільш розповсюджені ми контролерами прийому передачі по послідовному порту є пристрої, сов местімость з серією 8250, яка включає чіпи 16450, 16550, 16650, 16750.

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

На практиці інтерфейс RS 232 реалізований як група сигнальних ліній:

SG (Signal Ground) – сигнальна земля (щодо неї ведеться відлік рівнів сигналів);

TD (Transmit Data) – вихід передавача (TXD);

RD (Receive Data) – вхід приймача (RXD);

RTS (Request-To-Send) – запит обміну даних, що виставляється контролле

ром UART послідовного порту;

CTS (Clear-To-Send) – сигналізує про готовність модему або термінального пристрою до обміну даними;

DTR (Data Terminal Ready) – сигналізує модему або іншого пристрою, що конт

роллер послідовного порту готовий до установки з’єднання;

DSR (Data Set Ready) – сигналізує контролеру UART послідовного порту на те, що периферійний пристрій готовий встановити з’єднання;

DCD (Data Carrier Detect) – наявність вхідного сигналу від віддаленого модему або пристрою. Коли модем або інший пристрій виявляє поява несе на іншому кінці лінії, то лінія стає активної;

RI (Ring Indicator) – вхід індикатора виклику.

Сигнали RD і TD, що визначають прийом / передачу даних, ми вже розглянули на примі ре передачі / прийому байта даних. Зверніть увагу на те, що лінії даних є послідовними, в той час як сигнальні лінії RTS, CTS, DCD, DSR, DTR, RTS і RI фактично є паралельними.

Нагадаю, що для з’єднання пристроїв, що працюють через даний інтерфейс використовує

ся 9 контактний з’єднувач, висновки якого відповідають сигналам, зазначеним у табл. 4.2.

Ці ж сигнали присутні і на COM порту комп’ютера, до якого приєднаний ка

дещо або пристрій, наприклад, модем.

Таблиця 4.2

Сигнали та висновки інтерфейсу RS 232 для 9 контактного з’єднувача

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

Схема нуль модемного з’єднання приведена на рис. 4.3.

Рис. 4.3

Нуль модемне з’єднання

Рис. 4.4

Схема інтерфейсу зворотного зв’язку

Досить часто (особливо це стосується програмістів) виникає необхідність у швид

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

У таких випадках можна скористатися так званим інтерфейсом зворотного зв’язку (loopback interface), схема якого наведена на рис. 4.4.

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

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

апаратний протокол RTS / CTS – використовується для з’єднання принтера з компью тером або для з’єднання комп’ютерів (нуль модемний кабель в цьому випадку ис пользовать не можна);

апаратний протокол DTR / DSR – функціонує аналогічно протоколу RTS / CTS, але

використовує інші сигнали;

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

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

Далі ми розглянемо практичні аспекти застосування послідовного порту в різних проектах, які можуть представити інтерес для радіоаматорів і всіх користувачів ПК, які цікавляться створенням систем домашньої електроніки.

Джерело: Магда Ю. С. Комп’ютер в домашній лабораторії. – М.: ДМК Пресс, 2008. – 200 с.: Іл.