COM порт глазами ремонтника. Ремонт, настройка, диагностика. Часть 1, теория.

15 июня 2013 24913 просмотров

Статья первая  «COM порт – глазами ремонтника. Ремонт, настройка, диагностика».

Данный раздел содержит только теоретические данные и для практики имеет малое значение, однако именно на этот раздел будет ссылаться остальной материал, поэтому обойти стороной этот материал не удастся. Однако тем, кто знаком с принципом работы COM порта, данный раздел желательно пропустить.

Статья первая  «COM порт – глазами ремонтника. Ремонт, настройка, диагностика».

Данный раздел содержит только теоретические данные и для практики имеет малое значение, однако именно на этот раздел будет ссылаться остальной материал, поэтому обойти стороной этот материал не удастся. Однако тем, кто знаком с принципом работы COM порта, данный раздел желательно пропустить.

Описание и принцип работы.

COM-порт(Communication port)  - порт работающий по стандарту RS-232 (Recommended Standard 232).  RS-232  - стандарт описывающий интерфейс для последовательной двунаправленной передачи двоичных данных между терминалом (DTE, Data Terminal Equipment) и конечным устройством (DCE,Data Circuit-Terminating Equipment ). В настоящее время действующим является RS-232C (Recommended Standard 232 Edition: C) редакция 1969 года, именно это стандарт мы и будем рассматривать далее. Интерфейс RS-232 реализован полностью аппаратно, это значит,  что он работает всегда, не зависимо от ОС (операционной системы) или даже без ОС.

Разъемы интерфейса COM порта.

На компьютере интерфейс реализуется одним из двух типов разъемов: DB-9M или DB-25M (разъем DB-25M на современных компьютерах не применяется, однако DB-25F(M), напротив, широко используется в переферийных устройствах например - ККМ, принтера).
В современных компьютерах бытового назначения разъем COM порта может не выводится непосредственно наружу, а организован в виде вывода под планку COM порта, либо вообще отсутствует. Начиная с 1999 по спецификации РС 99 интерфейс RS-232 должен заменяться интерфейсом USB.

COM порт непосредственно установленный на материнской плате COM порт на материнской плате под планку COM порта Планка COM порта

В чем отличие разъема DB-9M от DE-9M, какое обозначение правильное?

Правильное обозначение DE-9M, но есть некотороые нюансы.

Если придерживаться технической документации разъемов D-sub обойма B отличается по типоразмеру от обоймы E

Разъём D-sub содержит два или более параллельных рядов контактов или гнёзд, обычно окружённых металлическим экраном в форме латинской D, который обеспечивает механическое крепление соединения и экранирует от электромагнитных помех. Форма разъёма в виде буквы D предохраняет от неправильной ориентации разъёма. В принятой системе обозначений буква D обозначает всю серию разъёмов D-sub, а вторая буква используется для указания размера разъёма, исходя из числа стандартных контактов, которые могут разместиться внутри D-образного экрана (A = 15 контактов, B = 25, C = 37, D = 50, E = 9), далее следует число фактически используемых контактов, и буква, обозначающая «пол» разъёма: M — male («папа»), F — female («мама»), P — plug (штепсель/«папа»), S — socket (розетка/«мама»). Например, DB25M означает разъём D-sub с экраном, вмещающим 25 контактов и фактическим числом контактов, равным 25.
Таким образом выражение DB-9M не правильное, фактически правильно будет DE-9M, однако в современных условиях, различие между этими названиями не делается, как в технической литературе, так и у поставщиков. Поэтому, как бы это не звучало странно, далее мы будем сознательно делать ошибку и разъем DE-9M называть, как DB-9M, хотя в реальности такого разъема не может быть по определению.

 

Разъем DB9M (папа), внешний вид, расположение контактов (pinout).

 

Назначение выводов 9 контактного (9pin) разъема DB9M COM порта со стороны компьютера по стандарту RS232C. Направление сигналов указано относительно хоста (компьютера).

Контакт Сигнал Направление Описание
1 DCD Вход Data Carrier Detected - Несущая обнаружена
2 RxD Вход Receive Data - Принимаемые данные
3 TxD Выход Transmit Data - Передаваемые данные
4 DTR Выход Data Terminal Ready - Готовность хоста (компьютера) к работе
5 GND Signal Ground - Схемная земля
6 DSR Вход Data Set Ready - Готовность устройства к работе
7 RTS Выход Request To Send - Запрос на передачу (хост готов к передаче)
8 CTS Вход Clear To Send - Готовность устройства к приему данных (устройство готово к приему)
9 RI Вход Ring Indicator - Индикатор вызова

 

Разъем DB25M (папа), внешний вид, расположение контактов (pinout).

 

Назначение выводов 25 контактного (25pin) разъема DB25M COM порта со стороны компьютера по стандарту RS232C. Направление сигналов указано относительно хоста (компьютера).

Контакт Сигнал Направление Описание
1 PG Protective Ground - Защитное заземление.
2 TxD Выход Transmit Data - Передаваемые данные
3 RxD Вход Receive Data - Принимаемые данные
4 RTS Выход Request To Send - Запрос на передачу (хост готов к передаче)
5 CTS Вход Clear To Send - Готовность устройства к приему данных (устройство готово к приему)
6 DSR Вход Data Set Ready - Готовность устройства к работе
7 GND Signal Ground - Схемная земля
8 DCD Вход Data Carrier Detected - Несущая обнаружена
20 DTR Выход Data Terminal Ready - Готовность хоста (компьютера) к работе
22 RI Вход Ring Indicator - Индикатор вызова

 

  Электрические характеристики COM порта (стандарт RS232C).

Полное описание можно посмотреть в документации действующего протокола ITU-T v.28 03.1993 в редакции от 1993 года  (скачать).

Эквивалентная электрическая схема RS-232C

  • V0- напряжение генератора при разомкнутой схеме
  • R0- общее сопротивление генератора
  • C0- общая ёмкость генератора
  • V1- напряжение между сигнальной линией и общим проводом в месте стыка.
  • CL- общая ёмкость приёмника
  • RL- общее сопротивление приёмника
  • EL- ЭДС приёмника при разомкнутой схеме
  • Электрические характеристики приёмника сигналов.
  • RL- общее сопротивление приёмника должно находиться в пределах 3000...7000 Ом.
  • V1- напряжение на входе приёмника должно быть в пределах ±3...±15 В.
  • EL- ЭДС приёмника при разомкнутой схеме должно быть не более ±2 В.
  • CL- общая ёмкость цепей приёмника должна быть не более 2500 пФ.
  • Входной импеданс приёмника не должен быть индуктивным.
  • Электрические характеристики генератора сигналов.
  • Допускается короткое замыкание сигналов.
  • Допускается оставлять выход генератора без нагрузки.
  • V0- напряжение генератора при разомкнутой схеме должно быть не более ±25В/±15 В (RS-232/ITU-T v.28)
  • R0 и C0 для генератора не нормируются.
  • Короткое замыкание цепей генератора не должно вызывать токи величиной более 0,5А.
  • Если EL=0, то напряжение на входе приёмника должно быть V1=±5...±15 В, для любого диапазона нагрузки генератора RL=3000...7000 Ом.
  • Генератор должен быть способен работать на ёмкостную нагрузку C0 плюс 2500 пФ.
  • Уровни сигналов для стандарта RS-232C.
  • Логической "1" считается информационный сигнал с напряжением V1 менее -3 В.
  • Логическим "0" считается информационный сигнал с напряжением V1 более +3 В.
  • Сервисный или синхронизирующий сигнал считается включенным "ON"("MARK") если V1 более +3 В.
  • Сервисный или синхронизирующий сигнал считается выключенным "OFF"("SPACE") если V1 менее -3 В.
  • Напряжение в диапазоне V1=-3 В...+3 В считается переходной областью.
  • Характеристики сигналов.
  • Все сигналы вошедшие в область перехода V1=-3В...+3В должны выйти в противоположный сигнал без повторного захода в эту область (т.е. монотонно).
  • Не допускается колебания сигнала в области перехода.
  • Сервисные и синхронизирующие сигналы должны проходить область перехода за время не более 1мс.
  • Сигналы данных должны проходить область перехода за время не более 3% от времени одиночного элемента, но не более чем за 1 мс.
  • Скорость нарастания фронта сигнала не должна превышать величины 30В за миллисекунду.
  • Ограничения первых двух пунктов не относятся к электромеханическим устройствам размыкания и замыкания цепи.

Описание контактов интерфейса RS232C

  • GND- Ground, (общий) второй провод для всех сигналов.(Сигналы передаются всегда по двум проводам!)
  • TxD- Transmited Data, асинхронный канал для передачи данных.
  • RxD- Received Data, асинхронный канал для приема данных.
  • RTS- Request To Send (запрос на передачу), Выход который говорит о том, что у компьютера есть данные для передачи по каналу TxD для конечного устройства.
  • DTR- Data Terminal Ready(готовность терминала данных), Выход который говорит о том, что компьютер(терминал) готов к обмену данными с конечным устройством
  • CTS- Clear To Send (очищен для передачи) Вход, который говорит о том, что конечное устройство готово принимать данные от терминала по каналу TxD. Обычно этот сигнал выставляет конечное устройство после того, как оно получит от компьютера сигнал RTS=True(запрос на передачу) и будет готово принять данные от компьютера. Если конечное устройство не выставит сигнал CTS=True, то передача по каналу TxD не начнется. Данный сигнал используется для аппаратного управления потоками данных
  • DSR- Data Set Ready(установка данных готова), Вход который говорит о том, что конечное устройство выполнило все установки и готово начать передавать и принимать данные от компьютера. Если конечное устройство модем, то установка DSR=True воспринимается компьютером(терминалом) так, что модем уже установил связь с другим модемом и готов начать процедуру обмена между двумя компьютерами оснащенных модемами
  • DCD- Data Carrier Detected(обнаружен носитель информации), Вход который информирует компьютер(терминал) об обнаружении другого терминала, то есть конечное устройство , например модем, обнаружил другой модем, который хочет инициализировать обмен данных между терминалами. Модем выставляет сигнал DCD=True, который обнаруживается на входе компьютера(терминала). Если терминал готов к обмену данными, то он на сигнал DCD=True должен выставить сигнал готовности терминала к обмену данными DTR=True, после чего начинается обмен данными между двумя терминалами.
  • RI- Ring Indicator(индикатор звонка), Вход который говорит компьютеру(терминалу) что на конечное устройство поступает сигнал вызова. Например, на модем поступил сигнал вызова с телефонной станции, совсем не обязательно, что этот вызов закончится обменом данных.

Следует отметить, что данные инверитрованы, т.е -12в- это логическая еденица, +12в -это логический ноль, а служебные сигналы +12в - это  Mark (логическая еденица), -12 - это Space(логический ноль).

 

Протокол обмена данными.

В протоколе RS-232 существуют два метода управления обменом данных: аппаратный и программный, а также два режима передачи: синхронный и асинхронный. Протокол позволяет использовать любой из методов управления совместно с любым режимом передачи. Также допускается работа без управления потоком, что подразумевает постоянную готовность хоста и устройства к приему данных, когда связь установлена (сигналы DTR и DSR установлены).

Аппаратный метод управления реализуется с помощью сигналов RTS и CTS. Для передачи данных хост (компьютер) устанавливает сигнал RTS и ждет установки устройством сигнала CTS, после чего начинает передачу данных до тех пор, пока сигнал CTS установлен. Сигнал CTS проверяется хостом непосредственно перед началом передачи очередного байта, поэтому байт, который уже начал передаваться, будет передан полностью независимо от значения CTS. В полудуплексном режиме обмена данными (устройство и хост передают данные по очереди, в полнодуплексном режиме они могут делать это одновременно) снятие сигнала RTS хостом означает его переход в режим приема.

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

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

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

Протокол имеет ряд переменных параметров, которые должны быть приняты одинаковыми на стороне приемника и на стороне передатчика для успешного обмена данными:

  • Скорость обмена данными задается в битах в секунду, определяя длительность одного бита, выбирается из ряда стандартных значений (300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200), но могут быть и нестандартными, если поддерживаются обеими сторонами;
  • Количество бит данных может быть от 4 до 8;
  • Контроль четности может быть четным ("even", когда общее число единичных битов в принятых данных, включая сам бит четности, должно быть четным), нечетным ("odd", когда общее число единичных битов в принятых данных, включая сам бит четности, должно быть четным) или вообще отсутствовать;
  • Длина стоп-бита может составлять одну, полторы или две длительности бита.
Теги: COM порт, RS232