Распиновка COM порта(RS232). Распиновка COM порта(RS232) Цепи и назначение сигналов интерфейса rs 232

В предыдущем уроке я перечислил параметры интерфейсов, которые в большей мере влияют на помехоустойчивость. На первое место я поставил уровень сигналов в линии связи. Чем больше амплитуда сигнала, тем труднее помехе исказить сигнал до недопустимого состояния. Например, в стандартном интерфейсе UART:

  • уровень логического 0 около 0 В;
  • уровень логической 1 около 5 В;
  • порог срабатывания входов приблизительно 2,5 В.

Значит, для того чтобы вызвать ложное срабатывание помехе или наводке, достаточно изменить напряжение в контуре передачи на 2,5 В (5 – 2,5 В или 0 + 2,5 В).

Вывод – для повышения помехоустойчивости необходимо увеличить напряжение сигналов в линии связи. Именно по такому пути пошли разработчики стандарта интерфейса RS-232.

Общее описание интерфейса RS-232.

Это один из самых распространенных в недавнем прошлом интерфейсов. Он был штатным устройством в любом персональном компьютере. В компьютерах RS-232 называется COM портом, в переводе - коммуникационный интерфейс. Практически вся аппаратура подключалась к компьютеру через COM порт.

Как правило, RS-232 присутствует и на современных системных платах. Часто он просто не выведен на заднюю стенку системного блока. Если же на компьютере нет COM порта, то его всегда можно реализовать с помощью простого преобразователя USB-COM, обычно встроенного в кабель.

Схема подключения устройств через RS-232 ничем не отличается от схемы для интерфейсов UART.

В минимальном варианте это два сигнала с общим проводом. Даже названия у сигналов такие же, как у UART.

Единственное отличие это уровни напряжения сигналов. Для RS-232 приняты следующие параметры:

Обычно логическим уровням сигнала 0/1 соответствуют напряжения +12 /- 12 В. Пороги срабатывания приемника четко нормированы: 0/1 соответствуют напряжениям +3 / -3 В. В диапазоне -3 … +3 В состояние сигнала считается неопределенным. Оно остается прежним до тех пор, пока уровень сигнала не достигнет противоположного порога.

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

  • + 15 В для состояния логической 1 (-12 В увеличить до + 3 В);
  • - 15 В для состояния логического 0 (+12 В уменьшить до - 3 В).

Сравните с аналогичным значением напряжения помехи для UART, равным 2,5 В. Увеличение амплитуды сигналов и порога срабатывания одинаково благоприятно сказывается на всех видах помех:

  • помехи и наводки от внешних электромагнитных полей;
  • взаимное влияние линия связи:
  • земляные помехи и токи утечек в общем проводе.

Все остальные проблемы UART остаются в RS-232:

  • отсутствие гальванической развязки;
  • общий провод, который не позволяет эффективно использовать витые пары;
  • помехи по контуру заземления.

Можно привести схему влияния помех на сигналы в линиях связи RS-232. Эта абсолютно та же схема из предыдущего урока для интерфейса UART.

Тем не менее, одно повышение уровня сигналов позволило значительно увеличить максимальную длину линии связи. Стандарт RS-232 нормирует максимально допустимое расстояние между абонентами 15 м. И это для соединения простыми неэкранированными проводами.

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

Параметры интерфейса RS-232.

Есть отечественные, еще советские ГОСТы. В них интерфейс RS-232 назван ”Стык С2”, очевидно из идеологических соображений.

Основные параметры я свел в таблицу.

Параметр Значение
Топология Радиальный интерфейс
Линия связи Сигналы (2-8) с общим проводом
Гальваническая развязка нет
Скорость передачи до 460 кбит в сек
Максимальная длина линии связи 15 м
Приемник
Напряжение логического 0 более + 3 В
Напряжение логической 1 менее – 3 В
Входное сопротивление 3000 … 7000 Ом
Входное напряжение ± 3 … ± 15 В
Входная емкость не более 2500 пкФ
Передатчик
Короткое замыкание и обрыв Допускаются без ограничения во времени
Выходное напряжение в разомкнутой цепи не более ± 15 В
Ток короткого замыкания не более 0,5 А
до 2500 пкФ

Разъемы интерфейса RS-232.

Кроме известных нам сигналов TxD и RxD стандарт на интерфейс описывает еще несколько необязательных сигналов, предназначенных для управления потоком данных. В компьютерном COM порте эти сигналы реализованы. Ими можно произвольно управлять из программы.

Как правило, дополнительные сигналы используются как универсальные входы и выходы. Например, сигнал DTR сбрасывает микроконтроллер плат Ардуино при загрузке программы из Arduino IDE. Я не буду подробно описывать их стандартное назначение.

Первоначально в интерфейсе RS-232 применялись 25 контактные разъемы DB-25. Затем стандартным разъемом стал 9 контактный DB-9.

В настоящее время стандартным разъемом интерфейса RS-232 является DB-9.

В обоих случаях со стороны блочной части используются вилки, а кабельная часть это розетки.

В таблице приведено назначение контактов RS-232 для обоих типов разъемов.

Контакт для DB-25 Контакт для DB-9 Название сигнала Направление Описание
8 1 DCD вход Наличие несущей. Уровень принимаемого сигнала в норме, модем подключен.
3 2 RxD вход Прием данных. Данные от другого устройства.
2 3 TxD выход Передача данных. Данные передаваемые на другое устройство.
20 4 DTR выход Готовность приемника. Сообщает о готовности устройства к приему данных.
7 5 GND Общий провод
6 6 DSR вход Готовность передатчика. Устройство готово для передачи данных.
4 7 RTS выход Запрос на передачу данных. Переводит другое устройство в режим передачи данных.
5 8 CTS вход Готовность передаче. Готовность другого устройства к передаче.
22 9 RI вход Сигнал вызова. Индикатор вызова (телефонного звонка).

Схемотехническая реализация RS-232.

Для того, чтобы из интерфейса UART сделать RS-232 достаточно добавить преобразователи уровней сигналов. Преобразователи не осуществляют никаких логических действий. Они просто конвертируют сигналы логических уровней 0/5 В в уровни +12 / -12 В и наоборот.

Преобразователи можно реализовать на дискретных элементах. Вот схема приемника на базе инвертирующего транзисторного ключа.

Передатчики реализовать на дискретных элементах гораздо сложнее. Требуется двух полярный ключ и два питания к нему + 12 В и – 12 В. Иногда используют транзисторные ключи формирующие выходной сигнал 0 / 5 В. Некоторые приемники RS-232 работают с таким сигналом, некоторые нет. В любом случае нормальная работа интерфейса с такими сигналами не гарантируется.

Для реализации полноценного двухстороннего обмена лучше использовать интегральные преобразователи RS-232. Их существует множество. Я предпочитаю микросхемы MAX232, SP232, ADM232.

Микросхема Производитель Ссылка на документацию
MAX232 Maxim Integrated Products
SP232 Sipex
ADM232 Analog Devices

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

В 16 выводном корпусе реализованы преобразователи уровней для 2 входных и 2 выходных сигналов RS-232. Питаются преобразователи от одного напряжения 5 В. Необходимые для передатчиков напряжения + 12 В и – 12 В вырабатываются на внутренних конденсаторных инверторах. Микросхема требует подключения 5 внешних компонентов, все конденсаторы.

Подключение платы Ардуино через интерфейс RS-232.

Думаю после всего выше написанного подключение платы Ардуино к компьютеру или соединение плат Ардуино между собой через RS-232 не вызовет никаких проблем.

Надо добавит к плате преобразователь уровней RS-232. Можно использовать готовый модуль, например, этот.

Программы из уроков 48 и 49 должны без проблем работать с RS-232. Мы ничего не поменяли в логике работы сети. Изменили только уровни сигналов.

Интерфейс RS-422.

Очень коротко расскажу об этом интерфейсе. Он применяется крайне редко.

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

Способ передачи сигналов, электрические параметры RS-422 полностью соответствуют требованиям интерфейса RS-485. Отличие только в том, что RS-422 радиальный интерфейс, а RS-485 – шинный. Через первый можно связать только 2 устройства между собой, а вторым интерфейсом можно соединить одной линией связи несколько устройств.

Подробно об этом всем я расскажу в уроке про RS-485. А сейчас коротко приведу основные параметры RS-422.

В следующем уроке расскажу об интерфейсе ИРПС, очень простом, но эффективном способе передачи данных.

Описание интерфейса RS-232, формат используемых разъемов и назначение выводов, обозначения сигналов, протокол обмена данными.

Общее описание

Интерфейс RS-232, совсем официально называемый "EIA/TIA-232-E", но более известный как интерфейс "COM-порта", ранее был одним из самых распространенных интерфейсов в компьютерной технике. Он до сих пор встречается в настольных компьютерах, несмотря на появление более скоростных и "интеллектуальных" интерфейсов, таких как USB и FireWare. К его достоинствам с точки зрения радиолюбителей можно отнести невысокую минимальную скорость и простоту реализации протокола в самодельном устройстве.

Физический интерфейс реализуется одним из двух типов разъемов: DB-9M или DB-25M, последний в выпускаемых в настоящее время компьютерах практически не встречается.

Назначение выводов 9-контактного разъема


9-контактная вилка типа DB-9M
Нумерация контактов со стороны штырьков
Направление сигналов указано относительно хоста (компьютера)
Контакт Сигнал Направление Описание
1 CD Вход Обнаружена несущая
2 RXD Вход Принимаемые данные
3 TXD Выход Передаваемые данные
4 DTR Выход Хост готов
5 GND - Общий провод
6 DSR Вход Устройство готово
7 RTS Выход Хост готов к передаче
8 CTS Вход Устройство готово к приему
9 RI Вход Обнаружен вызов

Назначение выводов 25-контактного разъема

Контакт Сигнал Направление Описание
1 SHIELD - Экран
2 TXD Выход Передаваемые данные
3 RXD Вход Принимаемые данные
4 RTS Выход Хост готов к передаче
5 CTS Вход Устройство готово к приему
6 DSR Вход Устройство готово
7 GND - Общий провод
8 CD Вход Обнаружена несущая
9 - - Резерв
10 - - Резерв
11 - - Не используется
12 SCD Вход Обнаружена несущая #2
13 SCTS Вход Устройство готово к приему #2
Контакт Сигнал Направление Описание
14 STXD Выход Передаваемые данные #2
15 TRC Вход Тактирование передатчика
16 SRXD Вход Принимаемые данные #2
17 RCC Вход Тактирование приемника
18 LLOOP Выход Локальная петля
19 SRTS Выход Хост готов к передаче #2
20 DTR Выход Хост готов
21 RLOOP Выход Внешняя петля
22 RI Вход Обнаружен вызов
23 DRD Вход Определена скорость данных
24 TRCO Выход Тактирование внешнего передатчика
25 TEST Вход Тестовый режим

Из таблиц видно, что 25-контактный интерфейс отличается наличием полноценного второго канала приема-передачи (сигналы, обозначенные "#2"), а также многочисленных дополнительных управляющих и контрольных сигналов. Однако, часто, несмотря на наличие в компьютере "широкого" разъема, дополнительные сигналы на нем просто не подключены.

Электрические характеристики

Логические уровни передатчика: "0" - от +5 до +15 Вольт, "1" - от -5 до -15 Вольт.

Логические уровни приемника: "0" - выше +3 Вольт, "1" - ниже -3 Вольт.

входное сопротивление приемника не менее 3 кОм.

Данные характеристики определены стандартом как минимальные, гарантирующие совместимость устройств, однако реальные характеристики обычно существенно лучше, что позволяет, с одной стороны, питать маломощные устройства от порта (например, так спроектированы многочисленные самодельные data-кабели для сотовых телефонов), а с другой - подавать на вход порта инвертированный TTL-уровень вместо двуполярного сигнала.

Описание основных сигналов интерфейса

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

RXD - Линия приема хостом данных от устройства. Подробно описана в разделе "Протокол обмена данными".

TXD - Линия передачи хостом данных к устройству. Подробно описана в разделе "Протокол обмена данными".

DTR - Хост устанавливает этот сигнал, когда готов к обмену данными. Фактически сигнал устанавливается при открытии порта коммуникационной программой и остается в этом состоянии все время, пока порт открыт.

DSR - Устройство устанавливает этот сигнал, когда включено и готово к обмену данными с хостом. Этот и предыдущий (DTR) сигналы должны быть установлены для обмена данными.

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

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

RI - Устройство (обычно модем) устанавливает этот сигнал при получении вызова от удаленной системы, например при приеме телефонного звонка, если модем настроен на прием звонков.

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

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

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

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

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

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

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

  1. Ожидать уровня "0" сигнала приема (RXD в случае хоста, TXD в случае устройства).
  2. Отсчитать половину длительности бита и проверить, что уровень сигнала все еще "0"
  3. Отсчитать полную длительность бита и текущий уровень сигнала записать в младший бит данных (бит 0)
  4. Повторить предыдущий пункт для всех остальных битов данных
  5. Отсчитать полную длительность бита и текущий уровень сигнала использовать для проверки правильности приема с помощью контроля четности (см. далее)
  6. Отсчитать полную длительность бита и убедиться, что текущий уровень сигнала "1".

Проблемы при "прошивке" ресиверов. Отсутствие COM порта. Использование ноутбука

В большинстве «старых» компьютеров и ноутбуков, приобретенных более 5лет назад, всегда было несколько COM портов (RS-232). По крайней мере, всегда был хотя бы один разъем «RS-232».

Рис. 1. Разъем на корпусе компьютера

К нему подключали различное внешнее оборудование: мыши, принтеры, модемы, специализированное оборудование. Поэтому проблем с подключением ресивера к компьютеру для «прошивки» не возникало. Достаточно было просто подключить, запустить программу для обновления ПО ресивера и спокойно сделать все необходимое.

В современных компьютерах разъем «RS-232» нередко отсутствует. Тут и возникают проблемы, зачастую весьма неприятные. В большинстве ресиверов нет иных способов «прошивки» кроме использования «RS-232». И «USB» вход для подключения внешнего флешь-накопителя есть не у всех ресиверов.

А иногда имеется и другая проблема: ноутбук имеет «COM» порт, но с ресиверами одной модели он работает, а с другими - нет. Это связано с нарушением производителем ноутбука стандарта передачи данных «RS-232». На это они идут в целях экономии энергии заряда аккумуляторной батареи. Если производитель ресивера был технически щепетилен и точен, то в ресивере будет установлена специальная микросхема для «COM» порта. Благодаря этой микросхеме ресивер будет работать и с ноутбуком, и с компьютером. Но установка микросхемы увеличивает общую стоимость изделия, а в последнее время производители экономят даже на этих мелочах! Поэтому и возникает проблема несовместимости ноутбуков и большинства ресиверов.

При использовании компьютера проблема отсутствия необходимых портов«RS-232» решается просто: необходимо приобрести дополнительный модуль с «COM» портами. Это плата, устанавливаемая в компьютер, называется «PIC-COM» или просто «плата СОМ портов».

Рис. 2. Плата PCI для компьютера с двумя «COM» портами

Если вы не сильны в компьютерах и ранее никогда не имели дело с установкой дополнительного оборудования в компьютер, то обратитесь к специалисту! Иначе можете «умертвить» дорогостоящее оборудование.

После установки платы в компьютер операционная система «Windows» - «ОС» присваивает новым установленным портам номер, например, «1», «2»…«25».

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

Рис. 3. Плата для ноутбука с «COM» портом

И тут есть подвох: в «старых» и «новых» ноутбуках два разных стандарта для дополнительного оборудования! Перед приобретением сверьтесь с инструкцией к вашему ноутбуку!

Если же вы не могли приобрести плату на компьютер или ноутбук, то остается один выход: «USB». Практически во всех современных моделях компьютеров имеется «USB» выход, как минимум два, а то и все восемь! В продаже имеются различные преобразователи «USB - COM».

Рис. 4. Преобразователь «USB - COM»

Рис. 5. Схема преобразователя «USB - COM»

Как спаять Переходник USB-COM самостоятельно. Вариант - 1

Как сделать самому переходник USB-COM , который можно использовать для подключения конвертеров и прочих девайсов к компьютерам у которых нет «железного» COM-порта.
Внимание!
Переходник описанный ниже обеспечивает согласование только сигналов RX и TX.
Все прочие модемные сигналы не задействованы.
Большинству устройств, работающих без аппаратного управления потоком, этого более чем достаточно.
С конвертерами Pilot VAF/MAF переходник работает 100%

Поехали!

Для сборки вам потребуются следующие детали:

1. PL2303HX (USB-USART мост от Prolific)-1шт.
2. MAX232CSE (UART-RS232)-1шт.
3. Кварц 12.00 МГц-1шт.
4. Конденсаторы 10 нФ (smd1206)-2шт.
5. Конденсаторы 1 мкФ (smd1206)-6шт.
6. Резисторы 27Ом (smd1206) -2шт.
7. Резисторы 1.5КОм (smd1206)-1шт.
8. Разъем mini-USB -1шт.
9. Разеъем DB-9 папа – 1шт.
10. Фольгированный текстолит для платы 48*22мм – 1шт

Схема переходника

Печатная плата

Файлы схемы и печатки в формате Eagle PCB Editor можно скачать по этой ссылке

Сборка и настройка
Здесь собственно все элементарно - делаем плату, сверлим 4-ре отверстия и напаиваем все детальки.
В итоге у вас должен получиться вот такой вот переходничок:

Плату, чтобы не окислялась, можно задуть полиуретановым лаком или любым быстросохнущим автомобильным лаком, какой есть под рукой.
Далее этот девайс подключаем к порту USB компьютера.
Windows обнаружит новое устройство и попросит драйвера

Идем на сайт пролифика и выкачиваем самую последнюю версию дров

На момент написания статьи, самый последний драйвер был вот этот .

После скармливания винде драйвера, в системе должен появиться новый COM порт Prolific:

Теперь необходимо проверить работоспособность переходника

Для этого на переходнике в разъеме COM-порта, отверткой или проволочкой замыкаем между собой контакты 2 и 3 (на самом разъеме обычно выбиты цифры с номерами контактов – приглядитесь повнимательнее) Как вариант, можно напаять временную перемычку:

Далее запускаем программу «Гипертерминал» (Пуск->Программы->Стандартные->Связь->Гипертерминал)
На висте и семерке гипертерминала нет! Поэтому придется сходить в гугл/яндекс выкачать гипертерминал или любой его аналог.

Выбираем в настройках соединения наш новый сом-порт:

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

На экране должны появиться символы нажимаемых клавиш:

Если буквы не появляются, то проверяйте монтаж

Вот собственно и все!
Теперь остается убрать перемычку с контактов 2-3 и можно пользоваться переходником по прямому назначению.

Т.е. в свободный разъем «USB» ноутбука подключается вход такого «преобразователя», с диска из комплекта устанавливается драйвер (программа управления) и в системных настройках появляется виртуальный COM порт с присвоенным порядковым номером.

Как спаять Переходник USB-COM самостоятельно. Вариант - 2

Рисунок 1. Общий вид


Предлагаемый блок в собранном виде позволяет реализовать принцип: купил – подключил. Устройство позволит пользователям персональных компьютеров подключить к USB-порту устройства, работающие от COM-порта (RS232C).

Ориентировочная розничная цена: 540 руб

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

Технические характеристики

Напряжение питания от USB порта: 5 В.

Ток потребления: 20 мА.

Скорость соединения RS232C: 110-230000 бит/с

Интерфейс: USB1.1, USB2.0.

Поддерживаемые операционные системы: Win98, Win2000, WinXP, Vista, Linux и др.

Габаритные размеры устройства: 60x30 мм.

Комплект поставки

Блок переходника в сборе: 1.

Инструкция: 1.

Конструкция

Конструктивно переходник выполнен на двусторонней печатной плате из фольгированного стеклотекстолита, защищенной прозрачной термоусадочной трубкой.

Переходник обеспечивает все модемные сигналы: DSR, DTR, RTS, CTS, RI, DCD, а также основные сигналы RXD и TXD.

Рисунок 2. Схема электрическая принципиальная

Рисунок 3. Вид печатной платы со стороны деталей

Описание работы блока

Принципиальная электрическая схема приведена на рис 2 .

Центральная часть устройства – микроконтроллер CP2102 производства SILICON LABORATORIES. В качестве микросхемы драйвера уровней применен преобразователь MAX3243 производства фирмы Texas Instruments. Переходник обеспечивает все модемные сигналы: DSR, DTR, RTS, CTS, RI, DCD, а также основные сигналы RXD и TXD.

Установка устройства в ОС

Для установки драйверов для компьютера следует сначала скачать соответствующий вашей операционной системе драйвер.

Далее инсталлируйте драйвер на свой персональный компьютер. Подключите переходник. Операционная система обнаружит его и «попросит» драйвер, следует указать ей месторасположение этого драйвера (то место, куда он был распакован).

После успешной установки на переходнике должен засветиться светодиод, сигнализирующий готовность устройства к работе!

NEW Обновлённый драйвер от 25.01.2011 г.

1. Драйвер для Win Vista Вы можете скачать

2. Драйвер для Windows 2000/XP/Server 2003/Vista (v5.0) Вы можете скачать

3. Драйвер для Linux Вы можете скачать

4. Драйвер для Win98SE Вы можете скачать

5. Драйвер для OC Mac Вы можете скачать

6. an144sw.zip - c помощью данной программы можно изменить ID коды USB-COM переходника. Это нужно для того, чтобы получить возможность использовать несколько 8050 на одном ПК. Использовать только опытным пользователям! Вы можете скачать

ПРОВЕРКА РАБОТОСПОСОБНОСТИ BM8050 БЕЗ ВНЕШНЕГО ОБОРУДОВАНИЯ

Для проверки передачи и приема всех необходимых модемных сигналов согласно подключения СОМ-устройства.

Установите перемычки на контакты 2-3, 4-6, 7-8 СОМ-разъема ВМ8050 .


Соедините устройство c USB-портом ПК.

Посмотрите, какой порт ОС выделила для устройства, для чего войдите в Пуск --- Настройка --- Панель Управления --- Система --- Оборудование --- Диспетчер Устройств --- Порты (СОМ и LPT) --- Silicon Labs CP210x USB to UART Bridge (COM1).

Запустите стандартное приложение HiperTerminal для Windows из Пуск --- Программы --- Стандартные --- Связь --- HiperTerminal.

Остановите запущенное подключение, если оно активно, для чего нажмите вверху Вызов --- Остановить.

Посмотрите, какой порт используется программой для связи с устройством, для чего войдите слева вверху Файл --- Свойства и напротив "Подключаться через" выберите такой же порт, как и в Диспетчере Устройств (в нашем случае COM1).

В этом же окне убедитесь, что выбрано управление потоком "Аппаратное" в программе, для чего нажмите кнопку в центре "Настроить" и в нижнем окне "Управление потоком" выберите "Аппаратное".

Выйдите из настройки программы, для чего нажмите ОК, еще раз ОК.

Напечатайте текст "Текст" в программе HiperTerminal, при этом на экране печатается текст "Текст", что подтверждает исправность устройства.

Снимите перемычки с контактов 2-3, 4-6, 7-8 СОМ-разъема ВМ8050 .



Напечатайте текст "Текст" в программе HiperTerminal, при этом на экране печать отсутствует, что подтверждает исправность устройства.

Настройка драйвера и выбор порта для переходника USB-COM

Тут нас поджидают первые проблемы: во-первых, ОС могла присвоить виртуальному порту слишком большой номер, например,«25». А программа для «прошивки» ресивера позволяет работать с номерами портов от одного до четырех. Во-вторых, не все преобразователи «USB -COM» могут работать с программой для «прошивки» и самим ресивером. Причина в том, что производители оборудования по-разному изготовили свои изделия и программы к ним. Проверять все преобразователи необходимо индивидуально под вашу программу и ваш ресивер. Часто бывает, что с одним оборудованием преобразователь работает, а с другим- нет.

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

Для изменения присвоенного ОС номера необходимо изменить его вручную. Для этого необходимо войти в «Диспетчер устройств»: «Пуск» - «Настройка» -«Панель управления» - «Система».

Рис. 15.6. «Панель управления»

В появившемся окне выбрать вкладку «Оборудование» и щелкнуть по кнопке «Диспетчер устройств». Откроется окно «Диспетчер устройств». В появившемся окне в древовидном списке выбрать строчку «Порты (COM и LPT). В раскрывшемся списке вы увидите все порты, имеющиеся в вашем компьютере. Выберите ваш виртуальный порт: «преобразователь «USB - COM». У меня преобразователь модели «Prolific».


Рис. 15.7. Список имеющихся портов

Щелкните по этой строчке ПРАВОЙ кнопкой мыши, в открывшемся окне выберите стройку «Свойства».

Рис. 15.8. Настройка выбранного порта

В появившемся окне выберите вкладку «Параметры порта». В строчке «Скорость» выберите «115200», затем щелкните по кнопке «Дополнительно».

Рис. 15.9. Настройка параметров порта

В нижней части открывшегося окна найдите вкладку «Номер COM порта».

Рис. 16. Изменение номера COM порта

Щелкните по вкладке и выберите необходимый номер COM порта.

Обратите внимание, что некоторые номера порта могут быть заняты уже имеющимся оборудованием, например, встроенным модемом. Использовать одновременно один порт нельзя!

После завершения настройки нажмите «ОК» для сохранения внесенных изменений и полностью выйдите из режима настроек, закрыв все ранее открытые окна. После этого перезагрузите компьютер для внесения необходимых изменений. Если же вы изменяли номер «COM» порта «USB - COM» преобразователя, то достаточно просто вынуть его из разъема компьютера и заново подключить.

Готовые решения USB-COM адаптеров от производителей.

Кабель-адаптер COM 9/25M -> USB AM 1м

Цена - 300 руб.
Описание Кабель для подключения устройств с последовательным интерфейсом (RS-232) к USB порту.
Разъемы кабеля или переходника COM25M, COM9M, USB A
Совместимость
Совместимость USB 1.1/2.0
Поддержка ОС Windows 2000, Windows XP
Прочее
Длина кабеля 1 метр
Логистика
Размеры упаковки (измерено в НИКСе) 21.5 х 14.5 х 4.1 см
Вес брутто (измерено в НИКСе) 0.136 кг

Кабель-адаптер TRENDnet COM9M-->USB AM 0.6м

Цена - 500 руб.
Основные
Производитель TRENDnet
Модель TU-S9
Тип оборудования Кабель-переходник
Диаметр 28/24 AWG
Параметры производительности
Скорость передачи данных 500 Кбит/сек
Питание От USB порта
Потребление энергии 500 мА - максимальное
Совместимость
Требования к системе RAM 64 Мб
Поддержка ОС Windows ME, Windows 2000, Windows XP
Прочее
Соответствие стандартам RoHS
Длина кабеля 0.6 метра
Вес 75 грамм
Рабочая температура 0 ~ 40°C

Размеры упаковки (измерено в НИКСе) 23 x 16.8 x 4.6 см
Вес брутто (измерено в НИКСе) 0.135 кг
Внешние источники информации
Ссылка на сайт производителя www.trendnet.com

Адаптер - переходник USB-COM (RS-232)

Цена - 1500 руб.
Адаптер предназначен для использования приборов и адаптеров расчитанных для включения через Com (RS232) порт, например это очень актуально при использовании современных компьютеров, которые имеют только USB, в этом случае, с помощью этого переходника вы можете использовать современные компьютеры и ноутбуки совместно с нашими приборами и адаптерами, такими как Сканер BMW, Сканер Mercedes, Scanmatik и др.

Оборудование для автосервисов, автодиагностика, диагностическое оборудование, диагностика авто, автомобильный сканер, автосканер, диагностический пост, чип тюнинг, оборудование для автодиагностики Carbrain, UNISCAN, ADP-504, KKL-USB, KKL-COM, сканер BMW, сканер Opel, BMW 1.3.6, Automan, Opel scanner, BMW scanner, мотор тестер, газоанализатор, диагностика двигателя, диагностика панели приборов Программатор транспондеров, OBD-2, OBD2, корректировка одометра, U-581, запуск двигателя, crash data, креш дата, крэш дата, спидометр, тахометр.

Хотя может нужно воспользоваться нуль модемным кабелем (2-3, 3-2, 5-5) и переходником типа -

К переходнику добавляете USB удлинитель вот вам и прямой нуль-модемный кабель.

  • Розничная стоимость 100р .
  • Тип A-A
  • Длина: 1.5 м

Но для остальных ресов нужен "перевёрнутый " нуль-модемный кабель.

  • Розничная цена 155.00 руб.
  • Тип разъема: DB9 F - DB9 F
  • Длина: 1.8 м

или такой переходник:

STLab U-350 (RTL) Адаптер COM 9M -> USB AM

Цена - 350 руб.
Основные
Производитель St-Lab
Модель USB DONGLE SERIAL 1 PORT
Описание Переходник позволяет подключить устройство с интерфейсом RS-232 (например, модем) к порту USB компьютера.
Тип оборудования Кабель-переходник
Разъемы кабеля или переходника COM9M, USB A
Встроенный USB-коннектор Да
Параметры производительности
Скорость передачи данных 115200 бит/сек
Интерфейс USB 1.1
Питание От USB порта
Поддержка ОС Windows 2000, Windows ME, Windows XP, Windows Vista, Windows 2003 Server
Размеры упаковки (измерено в НИКСе) 17 x 13 x 3.2 см
Вес брутто (измерено в НИКСе) 0.077 кг
Внешние источники информации Ссылка на сайт производителя

Существует несколько стандартов RS-232, различающихся буквой в суффиксе: RS-232C. RS-232D. RS-232E и пр. Вдаваться в различия между ними нет никакого смысла- они являются лишь последовательным усовершенствованием и детализацией технических особенностей одного и того же устройства. Все современные порты поддерживают спецификации RS-232D или RS- 232Е. В состав любого порта с интерфейсом RS-232 (в том числе СОМ-порта PC) входит универсальный асинхронный приемопередатчик (Universal Asynchronous Receiver-Transmitter. UART), который потому и носит название "универсального", что одинаков для всех подобных интерфейсов (кроме RS-232, это RS-485 и RS-422 1). Также в RS-232 входит схема преобразования логических уровней UART (это обычные логические уровни 0^5 илн 0+3,3 В) в уровни RS-232, где биты передаются разпополярными уровнями напряжения, притом инвертированными относительно IJART. В UART действует положительная логика, где логическая 1 есть высокий уровень (+3 или +5 В), а у RS-232 наоборот, логическая I есть отрицательный уровень от -3 до -12 В, а логический 0 - положительный уровень от +3 до +12 В.

Сама идея передачи по этому интерфейсу заключается в передачи целого байта по одному проводу в аиде последовательных импульсов, каждый ич которых может быть 0 или 1. Если в определенные моменты времени считывать состояние линии, то можно восстановить то. что было послано. Однако эта простая идея натыкается на определенные трудности. Для приемника и передатчика, связанных между собой тремя проводами ("земля" и два сиг нальных провода "туда" и "обратно"), приходится задавать скорость передачи и приема, которая должна быть одинакова для устройств на обоих концах линии. Эти скорости стандартизированы, и выбираются из ряда 1200, 2400. 4800, 9600. 14 400, 19 200. 28 800, 38 400, 56 000, 57 600, 115 200, 128 000, 256 000 (более медленные скорости я опустил) 2 . Число это обозначает количество передаваемых/принимаемых бит в секунду (бод). Проблема состоит в том, что приемник и передатчик - это физически совершенно разные системы, и скорости эти для них не могут быть строго одинаковыми в принципе (из-за разброса параметров тактовых генераторов), и даже если их каким-то фантастическим образом синхронизировать в начале, то они в любом случае быстро "разъедутся". Поэтому такая передача всегда сопровождается начальным (стартовым) битом, который служит для синхронизации. После нею идут восемь (или девять - если используется проверка на четность) информационных битов, а затем стоповые биты, которых может быт ь один, два и более, но это уже не имеет принципиального значения - почему, мы сейчас увидим.

Общая диаграмма передачи таких последовательностей показана на рис. ГИЛ. Хитрость заключается в том, что состояния линии передачи, называемые стартовый и столовый биты, имеют разные уровни. В данном случае стартовый бит передается положительным уровнем напряжения (логическим нулем), а столовый- отрицательным уровнем (логической единицей) 3 , по-

Обычный формат данных, по которому работает львиная доля всех устройств, обозначается 8nl, что читается так: 8 информационных бит, no parity,

тому фронт стартового бита всегда однозначно распознается. В этот-то момент и происходит синхронизация. Приемник отсчитывает время от фронта стартового бита, равное Ъ А периода заданной частоты обмена (чтобы попасть примерно в середину следующего бита), и затем восемь (или девять, если это задано заранее) раз подряд с заданным периодом регистрирует состояние линии. После этого линия переходит в состояние стопового бита и может в нем пребывать сколь угодно долго, пока не придет следующий стартовый бит. Задание минимального количества стоповых битов, однако, производится тоже- для того чтобы приемник знал, сколько времени минимально ему нужно ожидать следующего стартового бита (как минимум, это может быть, естественно, один период частоты обмена, т. е. один стоповый бит). Если по истечении этого времени стартовый бит не придет, приемник может регистрировать так называемый Timeout, т. е. перерыв, по-русски, и заняться своими делами. Если же линия "зависнет" в состоянии логического 0 (высокого уровня напряжения), то это может восприниматься устройством, как состояние "обрыва" линии- не очень удобный механизм, и в микроконтроллерах он через UART не поддерживается. Это не мешает нам, естественно, для установки или определения такого состояния просто отключать UART и устанавливать состояние логического нуля на выводе TxD (что и есть имитация физического "обрыва"), или определять уровень логического 0 на выводе RxD, но серьезных причин для использования этой возможности, я, честно говоря, не вижу (см. на эту тему также замечание в главе 20).

Рис. П4.1. Диаграмма передачи данных по последовательному интерфейсу RS-232

в формате 8N2

1 столовый бит. "No parity" означает, что проверка на четность не производится. Это самая распространенная схема работы такого порта, причем, т. к. никакими тайм-аугами (Timeout) мы также себе голову заморачивать не будем, то нам в принципе все равно, сколько стоповых битов будет, но во избежание излишних сложностей следует их устанавливать всегда одинаково - у передатчика и у приемника. На диаграмме рис. П4.1 показана передача некоего кода, а также, для наглядности, передача байта, состоящего из всеч единиц и из всех нулей в формате, опять же для наглядности, 8п2.

Из описанного алгоритма работы понятно, что погрешность несовпадения скоростей обмена может быть такой, чтобы фронты не "разъезжались" за время передачи/приема всех десяти-двенадцати битов более, чем на полпериода, т. е. в принципе фактическая разница скоростей может достигать 4-5%, но на практике их стараются все же сделать как можно ближе к стандартным величинам.

Приемник RS-232 часто дополнительно снабжают схемой, которая фиксирует уровень не единожды за период действия бита, а трижды, при этом за окончательный результат принимается уровень двух одинаковых из трех полученных состояний линии, таким образом удается избежать случайных помех. Длина линии связи по стандарту не должна превышать 15 м. но на практике это могут быть много большие величины. Если скорость передачи не выбирать слишком высокой, то такая линия может надежно работать на десятки метров (автору этих строк удавалось без дополнительных ухищрений наладить обмен с компьютером на скорости 4800 по кабелю, правда, довольно толстому, длиной около полукилометра). В табл. П4.1 приведены ориентировочные эмпирические данные по длине неэкранированной линии связи для различных скоростей передвчи.

Таблица П4.1. Длина кабеля RS-232 для разных скоростей передачи данных

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

Для работы в обе стороны нужно две линии, которые у каждого приемопередатчика обозначаются RxD (приемная) и TxD (передающая). В каждый момент времени может работать только одна из линий, т. е. приемопередатчик либо передает, либо принимает данные, но не одновременно (так называемый "полудуплексный режим" - это сделано потому, что у UART-микросхем чаще всего один регистр и на прием и на передачу). Кроме линий RxD и TxD, в разъемах RS-232 присутствуют также и другие линии. Полный список всех контактов для обоих стандартных разъемов типа DB (9- и 25-контактного) приведен в табл. П4.2. Нумерация контактов DB-разъема обычно написана прямо на нем, она также есть на рис. 10.8 в главе 10 (на примере гнезда разъема для игрового порта DB-15F).

Таблица П4.2. Контакты для ОВ-разьемов

Обозначение

Направление

Детектор принимаемого сигнала с линии (Data Carrier Detect)

Принимаемые данные (Receive Data)

Передаваемые данные (Transmit Data)

Готовность выходных данных (Data Terminal Ready)

Общий (Ground)

Готовность данных (Data Set Ready)

Запрос для передачи данных (Request То Send)

Таблица П4.2 (окончание)

Для нормальной совместной работы приемника и передатчика выводы RxD н TxD, естественно, нужно соединять накрест - TxD одного устройства с RxD второго и наоборот (то же относится и к RTS-CTS и т. д.). Кабели RS-232, которые устроены именно таким образом, называются еще нуль-модемными (в отличие от простых удлинительных). Их стандартная конфигурация показана на рис. П4.2. В варианте "с" (справа на рисунке) дополнительные выводы соединены именно так, как описано ранее.

Рис. П4.2. Схемы нуль-модемных кабелей RS-232: a.b - различные полные варианты,

с - минимальный вариант

Выходные линии RTS и DTR иногда могут использовать и для "незаконных" целей - питания устройств, подсоединенных к СОМ-порту. Именно так устроены, например, компьютерные мыши, работающие через СОМ. Позже мы покажем пример устройства (преобразователя уровней), которое будет использовать питание от вывода RTS. А как при необходимости можно установить эти линии в нужное состояние?

Тверской государственный технический университет

В.В. Лебедев, А.Н. Васильев, А.Р. Хабаров

Периферийные устройства ЭВМ

Учебное пособие

Издание первое

Допущено Учебно-методическим объединением вузов по университетскому политехническому образованию в качестве учебного пособия для студентов высших учебных заведений, обучающихся по специальности 230101 Вычислительные машины, комплексы системы и сети.

УДК 681.327.8(075.8)

ББК 32.973.26-04я7

Лебедев, В.В. Периферийные устройства ЭВМ: учебное пособие / В.В. Лебедев, А.Н. Васильев, А.Р. Хабаров. 1-е изд. Тверь: ТГТУ, 2009. 176 с.

Включает описание принципов работы и взаимодействия периферийных устройств и ЭВМ. Подробно рассмотрен один из самых успешно применяемых интерфейсов RS-232С. Материал пособия позволяет студентам ознакомиться с теоретическими основами работы модема, клавиатуры, принтера и видеоадаптера и закрепить их при выполнении предложенного лабораторного практикума.

Предназначено для студентов специальности 230101 Вычислительные машины, комплексы, системы и сети для изучения данной дисциплины, при курсовом и дипломном проектировании.

Рецензенты: заведующий кафедрой ЭВМ Тверского государственного технического университета, доктор технических наук, профессор В.А. Григорьев; Федеральное государственное унитарное предприятие «Центральное конструкторское бюро транспортного машиностроения» (ведущий инженер Д.В. Суринский).

ISBN 978-5-7995-0427-4 © Тверской государственный

технический университет, 2009


Введение

Современные компьютеры представляют собой сложный аппаратно-программный комплекс, предназначенный для автоматической обработки информации в процессе решения вычислительных и информационных задач. Благодаря принципу открытой архитектуры, существует возможность подключения к системному блоку компьютера широкого спектра дополнительных периферийных устройств различного назначения. С помощью периферийных устройств осуществляется связь с различными источниками (поставщиками) и получателями (потребителями) информации. Функции периферийных устройств достаточно разнообразны, однако среди них можно выделить две основные: хранение информации на различных носителях данных и преобразование ее согласно функции, выполняемой внешним устройством. К периферийным устройствам относятся устройства ввода-вывода и внешняя память; к аппаратным средствам ввода информации в компьютер – клавиатура, различного рода манипуляторы (мышь, трекбол, джойстик), сканер и другие устройства; к аппаратным средствам вывода информации из компьютера – мониторы, принтеры, графопостроители, синтезаторы речи. Модемы используются как для передачи, так и для приема информации. Устройства внешней памяти компьютера выполняют функции двустороннего обмена информацией и служат для постоянного хранения программ и данных.

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

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

В учебном пособии рассмотрены принципы работы одного из самых широко применяемых интерфейсов – RS-232C или COM-порта. Его изучение позволит достаточно быстро освоить принципы функционирования последовательных интерфейсов, протоколов работы электронных схем передачи последовательных сигналов, и перейти к освоению других последовательных интерфейсов: USB и FireWire.

Рассмотрены различные периферийные устройства, такие как модем, клавиатура, принтер и монитор. Особое внимание уделено рассмотрению их интерфейсов. Дан большой объем справочной информации.

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

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

Интерфейс RS-232C

Интерфейс RS-232C – CОМ-порт

Последовательный интерфейс для передачи данных в одном направлении использует одну сигнальную линию, по которой информационные биты передаются друг за другом последовательно. Английские названия интерфейса и порта Serial interface и Serial port иногда неправильно переводят как «серийные». Последовательная передача позволяет сократить количество сигнальных линий и добиться улучшения связи на больших расстояниях.

Начиная с первых моделей, в PC имелся последовательный порт – CОМ-порт (Communication Port – коммуникационный порт). Этот порт обеспечивает асинхронный обмен по стандарту RS-232C. Синхронный обмен в PC поддерживают лишь специальные адаптеры, например SDLC или V.35. CОМ-порты реализуются на микросхемах универсальных асинхронных приемопередатчиков (UART), совместимых с семейством i8250/16450/16550. Они занимают в пространстве ввода-вывода по 8 смежных 8-битных регистров и могут располагаться по стандартным базовым адресам 3F8h (CОМ1), 2F8h (CОМ2), 3E8h (CОМ3), 2E8h (CОМ4). Порты могут вырабатывать аппаратные прерывания IRQ4 (обычно используется для CОМ1 и CОМ3) и IRQ3 (для CОМ2 и CОМ4). С внешней стороны порты имеют линии последовательных данных передачи и приема, а также наборы сигналов управления и состояния, соответствующие стандарту RS-232C. CОМ-порты имеют внешние разъемы-вилки (male) DB25P или DB9P, выведенные на заднюю панель компьютера. Гальваническая развязка отсутствует – схемная земля подключаемого устройства соединяется со схемной землей компьютера. Скорость передачи данных может достигать 115 200 бит/с.

Компьютер может иметь до четырех последовательных портов CОМ1 – CОМ4 (для машин класса AT типично наличие двух портов) с поддержкой на уровне BIOS. Сервис BIOS Int 14h обеспечивает инициализацию порта, ввод и вывод символа (без прерываний) и опрос состояния. Через Int 14h скорость передачи программируется в диапазоне 110-9600 бит/с (меньше, чем реальные возможности порта). Для повышения производительности широко используется взаимодействие программ с портом на уровне регистров, для чего требуется совместимость аппаратных средств CОМ-порта с программной моделью i8250/16450/16550.

Название порта указывает на его основное применение – подключение коммуникационного оборудования (например, модема) для связи с другими компьютерами, сетями и периферийными устройствами. К порту могут непосредственно подключаться и периферийные устройства с последовательным интерфейсом: принтеры, плоттеры, терминалы и т.д. CОМ-порт широко используется для подключения мыши, а также организации непосредственной связи двух компьютеров. К CОМ-порту подключаются и электронные ключи.

Практически все современные системные платы (еще начиная с PCI-плат для процессоров 486) имеют встроенные адаптеры двух CОМ-портов. Один из портов может использоваться и для беспроводной инфракрасной связи с периферийными устройствами (IrDA). Существуют карты ISA с парой CОМ-портов, где они чаще всего соседствуют с LPT-портом, а также с контроллерами дисковых интерфейсов. «Классический» CОМ-порт позволяет осуществлять обмен данными только программно-управляемым способом, при этом для пересылки каждого байта процессору приходится выполнять несколько инструкций. Современные порты имеют FIFO-буферы данных и позволяют выполнять обмен данных по каналу DMA, существенно разгружая CPU.

В спецификациях PC`99 традиционные CОМ-порты не рекомендованы, но еще разрешены для использования. Если они есть, то должны быть совместимыми с UART 16550A и обеспечивать скорость до 115,2 Кбит/с. Устройствам, которые традиционно используют CОМ-порт, рекомендуется переводить на последовательные шины USB и FireWire.

Протокол RS-232C

Стандарт RS-232C описывает несимметричные передатчики и приемники – сигнал передается относительно общего провода – схемной земли (симметричные дифференциальные сигналы используются в других интерфейсах, например, RS-422). Интерфейс не обеспечивает гальванической развязки устройств. Логической единице соответствует напряжение на входе приемника в диапазоне -12 … -3В (рис. 1). Логическому нулю соответствует диапазон +3 … +12В. Диапазон -3 … +3В – зона нечувствительности, обусловливающая гистерезис приемника: состояние линии будет считаться измененным только после пересечения порога. Уровни сигналов на выходах передатчиков должны быть в диапазонах -12 … -5В и +5 … +12В для представления единицы и нуля соответственно.

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

Наиболее часто используются трех- или четырехпроводная связь (для двунаправленной передачи). Схема соединения для четырехпроводной линии связи показана на рис. 2. Для двухпроводной линии связи в случае только передачи из компьютера во внешнее устройство используются сигналы SG и TxD. Все 10 сигналов интерфейса задействуются только при соединении компьютера с модемом.

Рис.1. Уровни сигналов RS-232C на передающем

и принимающих концах линии связи


Рис.2. Схема четырехпроводной линии связи для RS-232C

Назначение контактов разъемов CОМ-портов (и любой другой аппаратуры передачи данных АПД) приведено в табл. 1. У модемов название цепей и контактов такое же, но роли сигналов (вход-выход) меняются на противоположные.

Подмножество сигналов RS-232C, относящихся к асинхронному режиму, рассмотрим с точки зрения CОМ-порта PC. Для удобства будем пользоваться мнемоникой названий, принятой в описаниях CОМ-портов и большинства устройств (она отличается от безликих обозначений RS-232 и V.24). Назначение сигналов интерфейса приведено в табл. 2.

Таблица 1. Разъемы и сигналы интерфейса RS-232C

Обозначение цепи Контакт разъема № провода кабеля выносного разъема PC Направле-ние
CОМ-порт RS-232 V.24 DB-25P DB-9P 1 1 2 2 3 3 4 4 I/O
PG AA (10) (10) (10) -
SG AB -
TD BA O
RD BB I
RTS CA O
CTS CB I
DSR CC I
DTR CD 108/2 O
DCD CF I
RI CE I

Примечания:

1 Ленточный кабель 8-битных мультикарт.

2 Ленточный кабель 16-битных мультикарт и портов на системных платах.

3 Вариант ленточного кабеля портов на системных платах.

4 Широкий ленточный кабель к 25-контактному разъёму.

Нормальная последовательность управляющих сигналов для случая подключения модема к CОМ-порту приведена на рис. 3. Напомним, что положительному уровню соответствует логическое состояние «выключено», а отрицательному – «включено».

Таблица 2. Назначение сигналов интерфейса RS-232C

Сигнал Назначение
PG Protected ground – защитная земля, соединяется с корпусом устройства и экраном кабеля
SG Signal ground – сигнальная (схемная) земля, относительно которой действуют уровни сигналов
TD Transmit data – последовательные данные – выход передатчика
RD Receive data – последовательные данные – вход приемника
RTS Request to send – выход запроса передачи данных: состояние «включено» уведомляет модем о наличии у терминала данных для передачи. В полудуплексном режиме используется для управления направлением – состояние «включено» служит сигналом модему на переключение в режим передачи
CTS Clear to send – вход разрешения терминалу передавать данные. Состояние «выключено» запрещает передачу данных. Сигнал используется для аппаратного управления потоком данных
DSR Data set ready – вход сигнала готовности от аппаратуры передачи данных (модем в рабочем режиме подключен к каналу и закончил действия по согласованию с аппаратурой на противоположном конце канала)
DTR Data terminal ready – выход сигнала готовности терминала к обмену данными, состояние «включено» поддерживает коммутируемый канал в состоянии соединения
DCD Data carrier detected – вход сигнала обнаружения несущей удаленного модема
RI Ring indicator – вход индикатора вызова (звонка). В коммутируемом канале этим сигналом модем сигнализирует о принятии вызова

Рис. 3. Последовательность управляющих сигналов интерфейса RS-232C

Рассмотрим последовательность управляющих сигналов.

1. Установкой сигнала DTR компьютер указывает на желание использовать модем.

2. Установкой сигнала DSR модем сигнализирует о своей готовности к установлению соединения.

3. Сигналом RTS компьютер запрашивает разрешение на передачу и заявляет о своей готовности принимать данные от модема.

4. Сигналом CTS модем уведомляет о своей готовности к приему данных от компьютера и передаче их в линию.

5. Снятием сигнала CTS модем сигнализирует о невозможности дальнейшего приема (например, буфер заполнен) – компьютер должен приостановить передачу данных.

6. Восстановлением сигнала CTS модем разрешает компьютеру продолжить передачу (в буфере появилось место).

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

8. Модем подтверждает снятие сигнала RTS сбросом сигнала CTS.

9. Компьютер повторно устанавливает сигнал RTS для возобновления передачи.

10. Модем подтверждает готовность к этим действиям.

11. Компьютер указывает на завершение обмена.

12. Модем отвечает подтверждением.

13. Компьютер снимает сигнал DTR, что обычно является сигналом на разрыв соединения.

14. Модем сбросом сигнала DSR сообщает о разрыве соединения.

Из рассмотрения этой последовательности становятся понятными соединения DTR-DSR и RTS-CTS в нуль-модемных кабелях.

При асинхронной передаче (рис. 4) каждому байту предшествует старт-бит, сигнализирующий приемнику о начале посылки, за которым следуют биты данных и, возможно, бит паритета (четности). Завершает посылку стоп-бит, гарантирующий паузу между посылками. Старт-бит следующего байта посылается в любой момент после стоп-бита, то есть между передачами возможны паузы произвольной длительности. Старт-бит, имеющий всегда строго определенное значение (логический 0), обеспечивает простой механизм синхронизации приемника по сигналу от передатчика. Подразумевается, что приемник и передатчик работают на одной скорости обмена.

Формат асинхронной посылки позволяет выявлять возможные ошибки передачи: ложный старт-бит, потерянный стоп-бит, ошибку паритета. Контроль формата позволяет обнаружить разрыв линии: при этом принимается логический нуль, который сначала трактуется как старт-бит и нулевые биты данных, потом срабатывает контроль стоп-бита.

Рис. 4. Формат асинхронной передачи

Для асинхронного режима принят ряд стандартных скоростей обмена: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19 200, 38 400, 57 600 и 115 200 бит/с. Иногда вместо единицы измерения бит/с используют бод (baud), но при рассмотрении двоичных передаваемых сигналов это некорректно. В бодах принято измерять частоту изменения состояния линии, а при недвоичном способе кодирования (широко применяемом в современных модемах) в канале связи скорости передачи бит (бит/с) и изменения сигнала (бод) могут отличаться в несколько раз.

Количество бит данных может составлять 5, 6, 7 или 8. Количество стоп-бит может быть 1, 1,5 или 2 (полтора бита означает только длительность стопового интервала).

Асинхронный режим является байт-ориентированным (символьно- ориентированным) – минимальная пересылаемая единица информации – байт (символ). В отличие от него синхронный режим (не поддерживается CОМ-портами) является бит-ориентированным – кадр, пересылаемый по нему, может иметь произвольное количество бит.