Россия, Ставрополь, Кулакова проспект
Пн-вс: 08:30—19:00
whatsapp telegram vk email

Скорости com порта какие бывают

Скорость передачи данных через COM-порт (последовательный порт) — ключевой параметр, определяющий эффективность обмена информацией между устройствами. В статье рассмотрим различные скорости, поддерживаемые COM-портами, их особенности и применение в промышленности, автоматизации и связи. Понимание этих характеристик поможет выбрать оптимальные настройки для конкретных задач и улучшить взаимодействие между устройствами.

COMандирский порт

Если синхроимпульсы передаются от одного устройства к другому, такая передача называется синхронной. Асинхронной же считается передача, при которой информация пересылается с фиксированной скоростью, а синхронизация процесса обмена данными осуществляется самостоятельно приемником и передатчиком. Наш СОМ-порт функционирует в асинхронном режиме. Важно отметить, что разница между импульсами, используемыми для синхронизации передачи и приема, не должна превышать 5% от их частоты. Таким образом, одной из основных проблем асинхронных интерфейсов является синхронный запуск генераторов. Для СОМ-порта стандартные скорости передачи данных включают: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600 и 115200 бит/с. Максимальная длина соединительного кабеля составляет 15 метров, однако существуют специальные кабели, которые могут увеличить длину соединения до 150 метров. Использование устройств, называемых «репитерами», позволяет дополнительно увеличить расстояние. Вы можете задаться вопросом, зачем модему нужен кабель длиной 150 метров? Это вполне разумный вопрос, но такие расстояния необходимы, когда к ПК подключается специализированное технологическое устройство, например, счетчик электрической энергии, расположенный в распределительном щите, а компьютер находится в бухгалтерии.

Компьютерный СОМ-порт работает по стандарту RS-232C, который определяет электрические уровни сигналов и протокол обмена. Порт включает две линии для передачи информации (прием и передача) и девять линий для управления обменом. Если для управления обменом используются эти линии, то такой обмен называется «аппаратным» (протокол RTS/CTS). Однако обмен информацией можно организовать, используя только линии приема и передачи, тогда он будет называться «программным» (протокол XON/XOFF). В этом режиме отправляется символ, который сигнализирует о начале передачи (XON), а окончание передачи обозначается символом XOFF.

Теперь давайте разберемся, как из последовательности передаваемых бит формируются байты. Начало байта обозначается старт-битом, который всегда имеет фиксированное значение — 0, а окончание — стоп-битом.

Аппаратной основой СОМ-порта является микросхема UART (Universal Asynchronous Receiver/Transmitter — универсальный асинхронный приемопередатчик), которая прошла долгий путь эволюции с момента своего появления.

Если вы откроете окно настройки последовательного порта, то увидите, что список скоростей не ограничивается 115.2 Кбит/с. Это связано с тем, что помимо стандартных, существуют также высокоскоростные СОМ-порты — Enhanced Serial Ports (ESP) и Super High Speed Serial Ports. Эти варианты основаны на микросхемах 16550AF, 16650 и 16750 и обеспечивают обмен данными на скорости до 921.6 Кбит/с. В принципе, все высокоскоростные модемы xDSL содержат такую микросхему, которая обеспечивает связь на скорости 230–460 Кбит/с.

Теперь перейдем от теории к практике и, основываясь на вышеизложенных теоретических аспектах, расскажем о настройках СОМ-порта. Открыв окно свойств порта и выбрав вкладку «Настройка», вы увидите множество опций.

Что касается скорости, то здесь все довольно просто — необходимо выбрать скорость обмена между устройством и ПК. В принципе, можно выбрать любую скорость, которая вам нравится, хотя, если у вас модем на 56К, вряд ли вы установите скорость порта на 19200 бит/с.

Биты данных — это количество бит, передаваемых за один раз (между старт-битом и стоп-битом).

Четность — это выбор метода контроля четности. Для тех, кто не знает, контроль четности — это способ проверки принятого числа на наличие ошибок. При передаче к числу добавляется еще один бит, который дополняет количество единиц до четного или нечетного (в зависимости от выбранного режима передачи). Этот бит становится младшим разрядом передаваемого числа и принимает значение 1, если количество единиц нечетное, и 0, если четное. При проверке на четность, если мы получили нечетное количество единиц (при проверке на нечетность — наоборот), порт передает устройству информацию об ошибке и запрашивает повторную передачу.

Стоповые биты — это количество стоп-бит, необходимых для корректного распознавания конца байта.

Управление потоком — это выбор режима управления потоком (аппаратного или программного). В режиме программного управления, при обнаружении ошибки, требуется некоторое время для отправки сигнала XOFF и приостановки приема, но за это время может произойти передача нескольких байт, которые будут утеряны (в случае отсутствия буфера для принимаемых данных).

И, наконец, в пункте «Дополнительно» можно выбрать объем буферов FIFO или отключить их (что не рекомендуется).

После обсуждения этих настроек, дам вам один совет: если у вас все работает нормально, не меняйте настройки по умолчанию! Изменять их следует только в случае необходимости, о чем, вероятно, будет подробно сказано в инструкции к устройству.

Теперь перейдем к «железному» конфигурированию СОМ-портов. Эти сведения могут быть полезны тем, кто приобрел внутренний WIN-модем. При конфигурировании устройства необходимо указать ресурсы, которые ему нужны (адрес ввода-вывода, номер прерывания, канал DMA). Система Plug&Play должна автоматически выделить эти ресурсы при установке устройства. Однако, как показывает практика, не все идеально, и если вы установили одно устройство, а оно не работает, и при этом перестало функционировать другое, это может быть связано с ошибкой технологии Plug&Play. В таком случае вам придется указывать ресурсы вручную.

Для коммуникационных портов стандартные ресурсы следующие. Диапазон ввода-вывода: 3F8-3FFh для COM1, 2F8-2FFh для COM2, 3E8-3Efh для COM3, 2E8-2Efh для COM4. С прерываниями ситуация немного сложнее: для СОМ1 (3) используется IRQ4, для СОМ2 (4) — IRQ3. Учитывая эти цифры, стоит упомянуть о подводных камнях, которые могут подстерегать покупателей WIN-модемов. Последние работают через СОМ3 или СОМ4, и при установке могут возникнуть проблемы с ресурсами, так как Plug&Play распознает их как PCI-карту, а не порт. Поэтому, если что-то не работает, проверьте использование ресурсов.

Многие, вероятно, знают, что два ПК можно соединить не только с помощью сетевой карты, но и с использованием нуль-модемного кабеля. Причем, такой кабель не обязательно покупать в магазине. Его можно быстро сделать, имея три куска провода и соединив линии: прием, передача и земля (в этом случае используется программный протокол управления потоком данных). Для полноты картины приведу распайку полного нуль-модемного кабеля (для аппаратного протокола управления потоком данных).

Некоторые умельцы даже придумали, как с помощью лазерной указки и фотодатчика создать «оптический» нуль-модемный кабель. По принципу работы это упрощенный вариант из трех проводов, но с большим количеством компонентов. Если вас это заинтересовало, пишите мне.

Если вы — увлеченный программист и хотите самостоятельно написать программу для работы с СОМ-портом, рекомендую посетить сайт http://www.codenet.ru/progr/other/comport.php. Там вы найдете всю необходимую информацию о программировании этого устройства на уровне регистров.

Теперь немного расскажу о тестировании порта. Для его проверки используются специальные разъемы-заглушки, с которыми может работать диагностическое программное обеспечение. Принцип проверки заключается в том, что сигналы с выходных линий подаются на линии, предназначенные для приема. Такой разъем можно изготовить самостоятельно. Приведу распайку для тестирования с помощью программы Norton Diagnostics:

для 9-контактного разъема:

для 25-контактного разъема:

Думаю, многим читателям будет интересно узнать о USB и FireWire, самых перспективных интерфейсах на сегодняшний день, и я планирую посвятить им отдельные статьи.

image

Скорости COM-порта варьируются в зависимости от его типа и назначения. Эксперты отмечают, что стандартные скорости передачи данных для последовательных портов, такие как 9600, 19200, 38400, 57600 и 115200 бит в секунду, являются наиболее распространенными. Однако, в специализированных приложениях могут использоваться и более высокие скорости, достигающие 1 Мбит/с и выше.

С точки зрения надежности, более низкие скорости часто предпочтительнее, так как они обеспечивают стабильность передачи данных и снижают вероятность ошибок. В то же время, для задач, требующих высокой скорости, таких как передача больших объемов данных, используются более быстрые настройки.

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

https://youtube.com/watch?v=x0YambcZJ4s

Как узнать скорость передачи COM-порта?

Как рассчитать скорость передачи данных? Скорость передачи означает количество изменений сигнала или символа, происходящих в секунду. Обозначается буквой r, рассчитывается с использованием baud_rate = скорость передачи / количество бит. Для расчета скорости передачи вам потребуется скорость передачи (R) и количество бит (n).

Скорость (бод) Описание Применение
300 Очень низкая скорость Устаревшие модемы, некоторые промышленные датчики
1200 Низкая скорость Старые модемы, некоторые простые устройства
2400 Низкая скорость Старые модемы, некоторые простые устройства
4800 Средняя скорость GPS-приемники, некоторые промышленные контроллеры
9600 Стандартная скорость Большинство современных устройств, микроконтроллеры, GPS-приемники
19200 Средняя скорость Некоторые промышленные устройства, принтеры
38400 Высокая скорость Некоторые промышленные устройства, высокоскоростные модемы
57600 Высокая скорость Некоторые промышленные устройства, высокоскоростные модемы
115200 Очень высокая скорость Высокоскоростные модемы, отладка микроконтроллеров, некоторые промышленные устройства
230400 Очень высокая скорость Высокоскоростные модемы, отладка микроконтроллеров, некоторые промышленные устройства
460800 Максимальная стандартная скорость Высокоскоростные устройства, специализированные приложения
921600 Максимальная стандартная скорость Высокоскоростные устройства, специализированные приложения
1000000+ Нестандартные скорости Специализированные промышленные и научные приборы, высокоскоростные шины

Интересные факты

Вот несколько интересных фактов о скоростях COM-порта:

  1. Стандартные скорости: Наиболее распространенные скорости передачи данных для COM-портов (RS-232) варьируются от 300 до 115200 бит в секунду (бод). Однако существуют и более высокие скорости, такие как 230400 и 921600 бод, которые используются в специализированных приложениях.

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

  3. Совместимость и ограничения: Хотя COM-порты могут поддерживать различные скорости, не все устройства могут работать на максимальных скоростях. Например, старые устройства могут поддерживать только низкие скорости, что ограничивает их совместимость с современными системами, которые могут работать на более высоких скоростях.

https://youtube.com/watch?v=SGmBv_klQ9I

Какая скорость передачи данных по умолчанию для последовательных портов?

Стандартные скорости передачи данных включают в себя 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200, 128000 и 256000 бит в секунду. Чтобы узнать, какие скорости передачи поддерживаются последовательными портами на вашей платформе, ознакомьтесь с разделом «Поиск информации о последовательном порте для вашей платформы». Значение по умолчанию составляет 9600.

Как мне найти данные COM-порта?

В Serial Port Reader перейдите в «Главное меню», выберите «Сессия -> Новая сессия». Вы также можете щелкнуть значок «Создать» на главной панели инструментов или нажать «Ctrl + N». Это вызывает экран «Новый сеанс мониторинга». Вид терминала — все полученные данные отображаются в виде символов ASCII на текстовой консоли.

https://youtube.com/watch?v=L9w_ANZnDlk

Каковы стандартные скорости передачи данных?

Скорость передачи данных может варьироваться в широких пределах, однако важно, чтобы оба устройства функционировали на одной и той же скорости. Одной из самых популярных скоростей передачи, особенно в тех случаях, когда высокая скорость не является критически важной, является 9600 бит/с. К числу других «стандартных» скоростей относятся 1200, 2400, 4800, 19200, 38400, 57600 и 115200.

В чем разница между последовательным портом и параллельным портом?

Сериал порт может передавать один поток данных за раз. Параллельный порт может передавать несколько потоков данных одновременно. Последовательный порт отправляет данные побитно, посылая побитно. Параллельный порт отправляет данные, отправляя несколько бит параллельно.

Какая скорость передачи данных с примером?

Бод или скорость передачи служит для характеризации максимальной частоты изменений электронного сигнала. К примеру, если сигнал изменяется (или способен измениться) 1200 раз в секунду, его скорость будет составлять 1200 бод. Это подразумевает, что за один переход сигнала передается семь бит, так как 7 x 8000 = 56000.

Последовательные порты все еще используются?

Они есть до сих пор широко используется для взаимодействия с промышленным оборудованием. Базовый последовательный порт встречается на микроконтроллерах гораздо чаще, чем USB.

Что произойдет, если скорость передачи неверна?

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

Как установить скорость передачи данных для последовательной связи?

Последовательный порт изменить. Если номер порта не указан, скорость передачи установлен на текущий порт. Также можно указать -1 для обозначения текущего порта. Скорость передачи может быть одной из следующих поддерживаемых: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200.

Где на моем компьютере находится COM-порт 1?

Запустите Диспетчер устройств на вашем основном компьютере или ПК. Подключите UPort к главному устройству (хосту). В Диспетчере устройств раскройте раздел контроллеров универсальной последовательной шины. Вы заметите, что ваш собственный COM-порт отображается как порт связи (COM1).

Скорость передачи данных через UART

UART — это приемопередатчик на котором базируется RS-232 и другие подобные интерфейсы.

Скорость работы UART не означает скорость передачи данных, так как вместе с полезными данными UART передает служебные:

  • стартовый бит,
  • стоповый бит,
  • бит четности.

Скорость работы UART измеряется в бодах, а скорость передачи полезных данных — в битах и байтах в секунду.

Скорость передачи данных в битах в секунду:

  • VUART — скорость UART (например: 9600, 115200), бод;
  • d — количество бит данных;
  • s — количество стоповых бит;
  • p — количество бит четности, p = 1 если бит четности присутствует, или p = 0 если бит четности отсутствует;
  • единица в знаменателе отражает наличие стартового бита.

Та же формула для расчетов:

С учетом, что один байт содержит 8 бит, из предыдущей формулы можно получить скорость передачи полезных данных в байтах в секунду:

Для работы UART чаще всего используется режим 8-N-1 при котором d = 8, p = 0, s = 1. Для этого режима скорость передачи полезных данных равна:

Отсюда следует, что КПД для такого режима составляет 80 %.

В таблице ниже приводится КПД для разных режимов работы UART:

d , бит p , бит s , бит КПД, %
5 1 71
5 1,5 67
5 2 62
5 1 1 62
5 1 1,5 59
5 1 2 56
6 1 75
6 1,5 71
6 2 67
6 1 1 67
6 1 1,5 63
6 1 2 60
7 1 78
7 1,5 74
7 2 70
7 1 1 70
7 1 1,5 67
7 1 2 64
8 1 80
8 1,5 76
8 2 73
8 1 1 73
8 1 1,5 70
8 1 2 67
9 1 82
9 1,5 78
9 2 75
9 1 1 75
9 1 1,5 72
9 1 2 69

Не часто поддерживаемый режим 9-N-1 дает наилучший результат (82 %), но отличающийся от 8-N-1 лишь на 2 %.

Существует ряд стандартных скоростей: 300, 600, 1 200, 2 400, 4 800, 9 600, 19 200, 38 400, 57 600, 115 200, 230 400, 460 800 и 921 600 бод.

Максимальная скорость классического последовательного порта (COM-порта) компьютера равна 115 200 бодам.

Между порциями полезных данных может быть ненулевая задержка, что уменьшает скорость передачи данных. Если не учитывать эту задержку, то количество секунд требуемых для передачи D байт рассчитывается по следующей формуле:

Например, время передачи 1 МБ (1 048 576 байт) со скоростью 9 600 бод в режиме 8-N-1 составляет 18 минут и 12 секунд, а при скорости 115 200 бод — 1 минуту 31 секунду.

Сравнительная таблица скоростей передачи данных для стандартных скоростей UART:

Скорость UART, бод Скорость передачи данных, байт/с Время передачи 1 МБ, час:мин:сек
300 30 27,3 09:42:33 10:40:48
600 60 54,5 04:51:16 05:20:24
1 200 120 109,1 02:25:38 02:40:12
2 400 240 218,2 01:12:49 01:20:06
4 800 480 436,4 00:36:25 00:40:03
9 600 960 872,7 00:18:12 00:20:01
19 200 1 920 1 745,5 00:09:06 00:10:01
38 400 3 840 3 490,9 00:04:33 00:05:00
57 600 5 760 5 236,4 00:03:02 00:03:20
115 200 11 520 10 472,7 00:01:31 00:01:40

В настоящий момент COM-порт компьютера вытеснен USB. Тем не менее UART широко используется в различных приборах. Для связи их с компьютером существуют преобразователи USB-UART. И любой микроконтроллер имеет один или более UARTов. В таблице ниже приводится информация о максимальных скоростях работы различных микросхем.

Микросхема Назначение микросхемы Максимальная скорость UART, Мбод Максимальная скорость передачи данных в режиме 8-N-1, Байт/с
CP2101 Преобразователь USB-UART 0,9216 92 160
CP2102/3/9/10 Преобразователь USB-UART 1 100 000
CP2104/5/8 Преобразователь USB-UART 2 200 000
FT232R Преобразователь USB-UART 3 300 000
FT232H Преобразователь USB-UART 12 1 200 000
STM32F7 Микроконтроллер 27 2 700 000
STM32F4 Микроконтроллер 11,25 1 250 000

Небольшие скорости обусловлены тем, что UART тактируется с частотой во много раз превышающей скорость его работы. Чем больше тактов на один бит данных, тем надежнее связь. Чаще всего на 1 бит приходится 16 тактов. Кроме этого встречаются микросхемы поддерживающие 4, 8 и 10 тактов на бит.

Автором был разработан переходник USB — UART с 16 портами UART, которые могут работать на скорости 12 Мбод.

Последовательный асинхронный адаптер (COM порт). Основные понятия и термины

Практически каждый компьютер оснащен хотя бы одним асинхронным последовательным адаптером. Обычно он представлен в виде отдельной платы или интегрирован в материнскую плату. Этот адаптер также известен как асинхронный адаптер RS-232-C или порт RS-232-C. Каждый такой адаптер обычно включает несколько портов RS-232-C, через которые можно подключать внешние устройства. Каждому порту соответствует несколько регистров, которые позволяют программам взаимодействовать с ним, а также определенная линия IRQ, сигнализирующая компьютеру об изменениях состояния порта. В процессе начальной загрузки BIOS каждому порту RS-232-C присваивается логическое имя COM1 — COM4 (COM-порт номер 1 — 4).

Интерфейс RS-232-C был разработан Ассоциацией электронной промышленности (Electronic Industries Association — EIA) как стандарт для соединения компьютеров с различными последовательными периферийными устройствами. Компьютеры IBM PC поддерживают интерфейс RS-232-C не в полном объеме, так как разъем, обозначенный на корпусе как порт последовательной передачи данных, содержит лишь некоторые сигналы, соответствующие стандарту RS-232-C и имеющие соответствующие уровни напряжения. В настоящее время порт последовательной передачи данных широко используется. Вот неполный список его применений:

Основные понятия и термины

Последовательная передача данных подразумевает, что информация передается по одной линии. Биты байта данных передаются последовательно с использованием одного провода. Для синхронизации перед передачей группы битов данных обычно добавляется специальный стартовый бит, а после группы битов следуют бит проверки четности и один или два стоповых бита. В некоторых случаях бит проверки четности может отсутствовать. Это можно проиллюстрировать следующим образом:

Из иллюстрации видно, что начальное состояние линии последовательной передачи данных соответствует логической 1. Это состояние называется “отмеченным” — MARK. Когда начинается передача данных, уровень линии переходит в 0, что называется “пустым” — SPACE. Если линия остается в таком состоянии слишком долго, это считается разрывом связи — BREAK. Стартовый бит START сигнализирует о начале передачи данных. Затем передаются биты данных, начиная с младших и заканчивая старшими.

Если используется бит четности P, то он также передается. Бит четности имеет такое значение, чтобы общее количество единиц (или нулей) в пакете битов было четным или нечетным, в зависимости от настроек регистров порта. Этот бит служит для обнаружения ошибок, которые могут возникнуть при передаче данных из-за помех на линии. Приемное устройство заново вычисляет четность данных и сравнивает результат с принятым битом четности. Если четность не совпадает, данные считаются переданными с ошибкой. Однако такой алгоритм не гарантирует стопроцентное обнаружение ошибок. Например, если при передаче данных изменилось четное количество битов, четность останется прежней, и ошибка не будет обнаружена. Поэтому на практике применяются более сложные методы для выявления ошибок.

В конце передачи передаются один или два стоповых бита STOP, завершающих передачу байта. Затем линия возвращается в состояние MARK до следующего стартового бита. Использование бита четности, стартовых и стоповых битов определяет формат передачи данных. Очевидно, что передатчик и приемник должны использовать один и тот же формат данных, иначе обмен будет невозможен. Еще одной важной характеристикой является скорость передачи данных, которая также должна быть одинаковой для обоих устройств.

Скорость передачи данных обычно измеряется в бодах (по имени французского изобретателя телеграфного аппарата Эмиля Бодо). Боды определяют количество передаваемых битов в секунду, включая стартовые и стоповые биты, а также бит четности. Иногда используется термин “биты в секунду” (bps), который обозначает эффективную скорость передачи данных без учета служебных битов.

Аппаратная реализация

Компьютер может быть оснащен одним или двумя портами последовательной передачи данных. Эти порты могут находиться либо на материнской плате, либо на отдельной плате, устанавливаемой в слоты расширения материнской платы. Существуют также платы, содержащие четыре или восемь портов последовательной передачи данных, которые часто используются для подключения нескольких компьютеров или терминалов к одному центральному компьютеру. Такие платы называются “мультипорт”.

В основе последовательного порта передачи данных лежит микросхема Intel 8250 или ее современные аналоги — Intel 16450, 16550, 16550A. Эта микросхема представляет собой универсальный асинхронный приемопередатчик (UART — Universal Asynchronous Receiver Transmitter). Она содержит несколько внутренних регистров, доступных через команды ввода/вывода. Микросхема 8250 включает регистры передатчика и приемника данных. При передаче байта он записывается в буферный регистр передатчика, откуда затем переписывается в сдвиговый регистр передатчика. Байт “выдвигается” из сдвигового регистра по битам. Аналогично имеются сдвиговый и буферный регистры приемника.

Программа имеет доступ только к буферным регистрам, а копирование информации в сдвиговые регистры и процесс сдвига выполняются автоматически микросхемой UART. Регистры, управляющие асинхронным последовательным портом, будут описаны в следующей главе. Асинхронный последовательный порт подключается к внешним устройствам через специальный разъем. Существует два стандарта разъемов интерфейса RS-232-C: DB25 и DB9. Первый разъем имеет 25 выводов, а второй — 9. Приведем разводку разъема последовательной передачи данных DB25:

Номер контакта Назначение контакта Вход или выход компьютера
1 Защитное заземление (Frame Ground, FG)
2 Передаваемые данные (Transmitted Data, TD) Выход
3 Принимаемые данные (Received Data, RD) Вход
4 Запрос для передачи (Request to send, RTS) Выход
5 Сброс для передачи (Clear to Send, CTS) Вход
6 Готовность данных (Data Set Ready, DSR) Вход
7 Сигнальное заземление (Signal Ground, SG)
8 Детектор принимаемого с линии сигнала (Data Carrier Detect, DCD) Вход
9-19 Не используются
20 Готовность выходных данных (Data Terminal Ready, DTR) Выход
21 Не используется
22 Индикатор вызова (Ring Indicator, RI) Вход
23-25 Не используются

Помимо 25-контактного разъема, часто используется 9-контактный разъем:

Номер контакта Назначение контакта Вход или выход
1 Детектор принимаемого с линии сигнала (Data Carrier Detect, DCD) Вход
2 Принимаемые данные (Received Data, RD) Вход
3 Передаваемые данные (Transmitted Data, TD) Выход
4 Готовность выходных данных (Data Terminal Ready, DTR) Выход
5 Сигнальное заземление (Signal Ground, SG)
6 Готовность данных (Data Set Ready, DSR) Вход
7 Запрос для передачи (Request to send, RTS) Выход
8 Сброс для передачи (Clear to Send, CTS) Вход
9 Индикатор вызова (Ring Indicator, RI) Вход

Только два вывода этих разъемов используются для передачи и приема данных. Остальные выводы передают различные вспомогательные и управляющие сигналы. На практике для подключения того или иного устройства может потребоваться различное количество сигналов. Интерфейс RS-232-C определяет обмен между устройствами двух типов: DTE (Data Terminal Equipment — терминальное устройство) и DCE (Data Communication Equipment — устройство связи). В большинстве случаев, но не всегда, компьютер является терминальным устройством. Модемы, принтеры и графопостроители всегда выступают в роли устройств связи. Теперь рассмотрим сигналы интерфейса RS-232-C более подробно.

Сигналы интерфейса RS-232-C

Здесь мы обсудим порядок взаимодействия между компьютером и модемом, а также между двумя компьютерами, соединенными напрямую. Сначала рассмотрим, как происходит соединение компьютера с модемом. Входы TD и RD используются устройствами DTE и DCE по-разному. Устройство DTE использует вход TD для передачи данных, а вход RD для приема данных. В свою очередь, устройство DCE использует вход TD для приема, а вход RD для передачи данных. Поэтому для соединения терминального устройства и устройства связи выводы их разъемов необходимо соединить напрямую:

Остальные линии при соединении компьютера и модема также должны быть соединены следующим образом:

Рассмотрим процесс подтверждения связи между компьютером и модемом. В начале сеанса связи компьютер должен удостовериться, что модем может произвести вызов (находится в рабочем состоянии). Затем, после вызова абонента, модем должен сообщить компьютеру, что он установил соединение с удаленной системой. Это происходит следующим образом: компьютер подает сигнал по линии DTR, чтобы показать модему, что он готов к сеансу связи. В ответ модем подает сигнал по линии DSR. Когда модем устанавливает соединение с другим удаленным модемом, он подает сигнал по линии DCD, чтобы уведомить об этом компьютер. Если напряжение на линии DTR падает, это сигнализирует модему, что компьютер не может продолжать сеанс связи, например, из-за отключения питания. В этом случае модем прерывает связь. Если напряжение на линии DCD падает, это сообщает компьютеру, что модем потерял связь и не может продолжать соединение. В обоих случаях эти сигналы подтверждают наличие связи между модемом и компьютером.

Мы рассмотрели самый базовый уровень управления связью — подтверждение связи. Существует более высокий уровень, который используется для управления скоростью обмена данными, и он также реализуется аппаратно. Управление скоростью обмена данными (управление потоком) необходимо, если передаются большие объемы данных с высокой скоростью. Когда одна система пытается передать данные быстрее, чем их может обработать принимающая система, это может привести к потере части передаваемых данных. Чтобы избежать передачи большего объема данных, чем может обработать принимающая сторона, используется управление потоком (flow-control handshake). Стандарт RS-232-C определяет возможность управления потоком только для полудуплексных соединений. Полудуплексным называется соединение, при котором данные могут передаваться только в одном направлении в каждый момент времени. Однако на практике этот механизм также используется и для дуплексных соединений, когда данные передаются одновременно в обоих направлениях.

Управление потоком

В полудуплексных соединениях устройство DTE подает сигнал RTS, когда оно хочет передать данные. DCE отвечает сигналом по линии CTS, когда оно готово, и DTE начинает передачу данных. Пока оба сигнала RTS и CTS не находятся в активном состоянии, только DCE может передавать данные. В дуплексных соединениях сигналы RTS/CTS имеют противоположные значения по сравнению с полудуплексными соединениями. Когда DTE готово принять данные, оно подает сигнал по линии RTS. Если DCE также готово для приема данных, оно возвращает сигнал CTS. Если напряжение на линиях RTS или CTS падает, это сигнализирует передающей системе о том, что принимающая система не готова к приему данных. Ниже приведен пример диалога между компьютером и модемом во время обмена данными.

Конечно, все это звучит хорошо. На практике все не так просто. Соединить компьютер и модем не составляет труда, так как интерфейс RS-232-C именно для этого и предназначен. Но если вы захотите соединить два компьютера с помощью того же кабеля, который использовался для связи модема и компьютера, у вас возникнут проблемы. Для соединения двух терминальных устройств — двух компьютеров — необходимо как минимум перекрестное соединение линий TD и RD:

Однако в большинстве случаев этого недостаточно, так как для устройств DTE и DCE функции, выполняемые линиями DSR, DTR, DCD, CTS и RTS, асимметричны. Устройство DTE подает сигнал DTR и ожидает получения сигналов DSR и DCD. В свою очередь, устройство DCE подает сигналы DSR, DCD и ожидает получения сигнала DTR. Таким образом, если вы соедините два устройства DTE кабелем, который использовался для соединения устройств DTE и DCE, они не смогут установить связь. Процесс подтверждения связи не будет выполнен.

Теперь перейдем к сигналам RTS и CTS, которые отвечают за управление потоком данных. Иногда для соединения двух устройств DTE эти линии соединяют на каждом конце кабеля. В результате другое устройство всегда будет готово к получению данных. Поэтому, если при высокой скорости передачи принимающее устройство не успевает обрабатывать данные, возможна потеря информации. Чтобы решить эти проблемы, для соединения двух устройств типа DTE используется специальный кабель, известный как нуль-модем. Имея два разъема и кабель, вы можете легко спаять его самостоятельно, следуя приведенным схемам.

Для полноты картины рассмотрим еще один аспект, связанный с механическим соединением портов RS-232-C. Из-за наличия двух типов разъемов — DB25 и DB9 — часто требуются переходники с одного типа разъема на другой. Например, вы можете использовать такой переходник для соединения COM-порта компьютера и кабеля нуль-модема, если на компьютере установлен разъем DB25, а кабель заканчивается разъемами DB9. Схему такого переходника мы представим на следующем рисунке:

Следует отметить, что многие устройства (такие как терминалы и модемы) позволяют управлять состоянием отдельных линий RS-232-C с помощью внутренних переключателей (DIP-switches). Эти переключатели могут иметь разные значения на различных моделях модемов. Поэтому для их использования необходимо изучить документацию к модему. Например, для модемов, совместимых с Hayes, если переключатель 1 находится в положении “выключен” (down), это означает, что модем не будет проверять наличие сигнала DTR. В результате модем может отвечать на входящие звонки, даже если компьютер не запрашивает установление связи.

Технические параметры интерфейса RS-232-C

При передаче данных на большие расстояния без использования специального оборудования из-за помех, вызванных электромагнитными полями, могут возникать ошибки. Это накладывает ограничения на длину соединительного кабеля между устройствами DTE и DCE. Официальное ограничение по длине для соединительного кабеля по стандарту RS-232-C составляет 15,24 метра. Однако на практике это расстояние может быть значительно больше и зависит от скорости передачи данных. Согласно исследованиям McNamara (Technical Aspects of Data Communications, Digital Press, 1982), определены следующие значения:

Как выбрать оптимальную скорость передачи для конкретного приложения?

Выбор оптимальной скорости передачи данных для конкретного приложения является критически важным этапом в процессе настройки и эксплуатации систем, использующих COM-порты. Скорость передачи данных, измеряемая в битах в секунду (бит/с), определяет, насколько быстро информация может передаваться между устройствами. Основные скорости, используемые в COM-портах, варьируются от 300 бит/с до 115200 бит/с и выше, в зависимости от требований приложения и возможностей оборудования.

При выборе скорости передачи необходимо учитывать несколько факторов:

  • Тип приложения: Разные приложения имеют разные требования к скорости передачи. Например, для простых задач, таких как передача текстовых данных, может быть достаточно низкой скорости, например, 9600 бит/с. В то время как для приложений, требующих передачи больших объемов данных, таких как видеопотоки или сложные графические интерфейсы, может потребоваться скорость 115200 бит/с или выше.
  • Качество соединения: Если соединение нестабильно или подвержено помехам, может потребоваться снижение скорости передачи для обеспечения надежности. В таких случаях использование более низкой скорости, например, 4800 или 9600 бит/с, может помочь избежать ошибок передачи и потери данных.
  • Совместимость оборудования: Не все устройства поддерживают одинаковые скорости передачи. Перед выбором скорости необходимо убедиться, что все устройства в системе могут работать на выбранной скорости. Например, старые устройства могут поддерживать только низкие скорости, такие как 1200 или 2400 бит/с.
  • Протокол передачи: Некоторые протоколы требуют определенных настроек скорости для корректной работы. Например, протоколы, использующие контроль четности или другие методы коррекции ошибок, могут иметь ограничения на максимальную скорость передачи.
  • Объем передаваемых данных: Если приложение требует передачи больших объемов данных, то выбор более высокой скорости передачи может значительно сократить время, необходимое для завершения передачи. Однако, если данные передаются порциями, то может быть достаточно и более низкой скорости.

В заключение, выбор оптимальной скорости передачи для конкретного приложения требует тщательного анализа всех вышеперечисленных факторов. Рекомендуется проводить тестирование с различными настройками скорости, чтобы определить наилучший вариант для конкретной ситуации. Это позволит обеспечить надежную и эффективную работу системы, минимизируя риски потери данных и ошибок передачи.

Вопрос-ответ

Что такое режим COM-порта?

COM-порт (communications port) — это аппаратный интерфейс, с помощью которого к оборудованию можно подключать дополнительные внешние устройства, чтобы передавать данные или расширить функционал основного устройства.

Чем COM-порт отличается от USB?

USB (универсальная последовательная шина) — стандарт внешней шины, используемый для регулирования соединения и связи между компьютерами и внешними устройствами. COM-порт в настоящее время больше используется в промышленности, а порт USB больше используется для коммерческого и гражданского использования.

Максимальная скорость RS-232?

RS-232 обеспечивает передачу данных и некоторых специальных сигналов между терминалом (англ. Data Terminal Equipment, DTE) и коммуникационным устройством (англ. Data Communications Equipment, DCE) на расстояние до 15 метров на максимальной скорости 115200 бод.

Советы

СОВЕТ №1

При выборе скорости COM порта учитывайте требования вашего устройства. Разные устройства могут поддерживать разные скорости передачи данных, поэтому важно проверить документацию на ваше оборудование, чтобы избежать проблем с совместимостью.

СОВЕТ №2

Если вы работаете с несколькими устройствами, попробуйте использовать более высокие скорости передачи данных, такие как 115200 бод. Это может значительно ускорить обмен информацией, особенно при передаче больших объемов данных.

СОВЕТ №3

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

СОВЕТ №4

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

Ссылка на основную публикацию
Похожее