Интерфейс RS232

26.02.2013

Последовательный интерфейс RS232, разработанный более 25 лет назад для компьютеров (в основном для их связи с модемами до сих пор не утратил своего коммуникационного назначения. Даже сейчас, в связи с появлением множества других последовательных интерфейсов, обладающих несомненными преимуществами перед этим интерфейсом (например, интерфейсов USB, RS485, RS422, применяемых в компьютерах, и PC, CAN, SPI, применяемых в микроконтроллерах), интерфейс RS232, похоже, не скоро уйдет в разряд "отставников". Такое положение, на первый взгляд, может показаться странным, особенно из-за недостатков RS232, "глюков" и т.п. Однако следует учесть, что это едва ли не единственное средство связи между компьютером и микроконтроллером, аппаратно присутствующее и в первом и во втором. Во всяком случае, косвенным подтверждением исключительности интерфейса RS232 может служить тот факт, что в современных персональных компьютерах RS232 интегрирован в материнскую плату. Что касается микроконтроллеров, то сейчас трудно найти такой микроконтроллер, в котором бы аппаратно не присутствовал хотя бы один интерфейс RS232 (иногда их бывает и два).

Интерфейс RS232 является последовательным. Это означает, что данные (информация) передаются последовательно, бит за битом по одному проводу (в отличие от параллельного интерфейса, в котором, например, каждый бит байта передается по отдельному проводу, т.е. байт передается по восьми проводам). Формат посылки — 1 байт данных и несколько управляющих бит, некоторые из которых могут отсутствовать. 
Обмен информацией между компьютером и периферийным устройством по интерфейсу RS232 двусторонний, т.е. данные могут передаваться компьютером в периферийное устройство и приниматься компьютером от периферийного устройства. 
В компьютере предусмотрен специальный разъем, называемый коммуникационным (СОМ); иногда их бывает два (СОМ1 и COM2) или более. К разъему подключается кабель, соединяющий компьютер с периферийным устройством. В кабеле находятся не- 
несколько проводов, которые называют линиями интерфейса. Термин "линия" достаточно условен, так как английское слово line, которому он соответствует, имеет более широкое значение. 
На практике чаще всего используются три скорости обмена: 
9600, 115200 и (реже) 57600 бод. 


Контакты разъемов интерфейса RS232 в компьютере. 
В компьютере могут присутствовать как 25-штырьковый 
(DB25), так и 9-штырьковый (DB9) разъемы RS232. Ниже приведены названия сигналов и соответствующие им номера контактов обоих типов разъемов. Как видно из таблицы, разъем содержит контакты как входных линий, так и выходных.


номер контакта

Название
сигнала

Расшифровка

Тип линий

DB25

DB9

2

3

TxD

Transmitter Data — передатчик данных

Выходная

3

2

RxD

Receiver Data - приемник данных

Входная

4

7

RTS

Request To Send — запрос передачи

Выходная

5

8

CTS

Clear To Send - сброс передачи

Входная

6

6

DSR

Data Set Ready - готовность данных

Входная

7

5

SG

Signal Ground - сигнальная земля

-

8

1

DCD

Data Carrier Detect-обнаружение несущей

Входная

20

4

DTR

Data Terminal Ready - готовность терминала

Выходная

22

9

RI

Ring Indicator - индикатор звонка

Входная

Основными линиями, по которым осуществляется обмен данными, являются две: TxD — линия, по которой из компьютера передаются данные во внешнее устройство, и RxD — линия, по которой компьютером принимаются данные из внешнего устройства. 
Линии DTR и RTS являются выходными. Это означает, что уровнями сигналов на этих линиях можно управлять, устанавливая биты соответствующих регистров в нуль или единицу программным способом. Линии CTS, DSR, DCD и RI являются входными. Это 
означает, что состояния этих линий можно проверять (т.е. выяснять, в каком состоянии — нулевом или единичном они находятся), читая соответствующие регистры состояний и выделяя соответствующие биты. 
Необходимо отметить следующие свойства линий TxD и RxD. 
Линия TxD является выходной. Помимо того, что по ней переда- 
передаются данные, в отсутствие передачи состоянием этой линии можно 
также управлять программно, т.е. устанавливать в единичное или 
нулевое состояние. Линия RxD является входной. Однако прочитать состояние этой линии (как линий CTS, DSR, DCD и RI) при отсутствии передачи нельзя! 
Кроме того, заметим, что линии DTR, RTS, CTS, DSR, DCD и RI называют еще линиями квитирования (иногда модемными, так как они используются в модемах). Существует как множество алгоритмов обмена по RS232, в которых эти линии (или некоторые 
из них) используются, так и множество алгоритмов обмена, в которых эти линии не используются вообще (задействованы только линии RxD и TxD).

 

Электрические характеристики RS232 в микроконтроллере. 
В микроконтроллере обмен по интерфейсу RS232 осуществляется по линиям TxD (передатчик) и RxD (приемник). Уровни напряжения на этих линиях соответствуют стандартным (цифровым) уровням напряжения микроконтроллера. Это означает, что 
уровень напряжения логической единицы соответствует напряжению питания микроконтроллера C или 5 В), уровень напряжения логического нуля — нулевому напряжению (или "земле"). Обычно уровни напряжений питания и земли называют TTL-уровнями, хотя в настоящее время это понятие значительно видоизменилось (с 
электрической точки зрения), а аббревиатура TTL транзисторная логика) давно утратила свой первоначальный смысл. Отметим, что для сопряжения со стандартными уровнями 
напряжения сигналов на линиях интерфейса RS232 (приблизительно равными ±10 В, как было указано ранее) необходимо использовать преобразователи уровней RS232. 
В микроконтроллере, так же, как и в компьютере, есть возможность программно устанавливать скорость обмена, формат данных и некоторые другие характеристики интерфейса RS232. Однако эти характеристики напрямую зависят от частоты используемого кварцевого резонатора, от таймера (а их в микроконтроллере может быть несколько), от еще некоторых устройств микроконтроллера, а также от самого микроконтроллера. Кроме того, микроконтроллер может содержать два интерфейса RS232.

ComaLine
+38 (093) 302-10-03; +38 (097) 326-27-63; ***viber: +38 (099) 968-61-26
Skype: comatelecom
Пн-Пт: 09.00-18.00; ***Сб: 09.00-17.00