Последовательный интерфейс RS-232 — это промышленный стандарт для последовательной двунаправленной асинхронной передачи данных. Ранее использовался в персональных компьютерах для подключения принтеров, модемов, мыши и пр. В настоящее время активно вытесняется пришедшим ему на смену интерфейсом USB, однако в микроконтроллерных системах — это один из наиболее часто встречающихся интерфейсов.
Спецификации RS-232C не огpаничивают максимальнyю длинy кабеля, но огpаничивают максимальное значение его емкости величиной 2500 пф. Емкость интеpфейсных кабелей pазлична, однако общепpинятой длиной yдовлетвоpяющей данной спецификации считается длина 15 метров (до 20000 бод) Чем выше скоpость пеpедачи, тем больше искажения сигнала, вызванные емкостными хаpактеpистиками кабеля.
Выпyскаются специальные интеpфейсные кабели пpямой связи RS-232C низкой емкости, котоpые yдовлетвоpительно pаботают со скоpостью 9600 бод на pасстоянии до 150 м.
Число подключаемых пpиемников и пеpедатчиков подключаемых к одной линии — 1/1, (в отличие от стандаpтов RS-422 1 передатчик/ 10 пpиемников или RS-485 32/32).
В отличие от параллельного порта, состоящего из восьми информационных линий и за один так передающего байт, порт RS-232 требует наличия только одной такой линии, по которой последовательно передается бит за битом. Это позволяет сократить количество информационных линий для передачи данных между устройствами, но уменьшает скорость.
Последовательная передача данных
Последовательный поток данных состоит из битов синхронизации и собственно битов данных. Формат последовательных данных содержит четыре части: стартовый бит, биты данных (5-8 бит), проверочный и стоповый биты; вся эта конструкция иногда называется символом. На рисунке изображен типичный формат последовательных данных.
Когда данные не передаются, на линии устанавливается уровень логической единицы. Это называется режимом ожидания. Начало режима передачи данных характеризуется передачей уровня логического нуля длительностью в одну элементарную посылку. Такой бит называется стартовым. Биты данных посылаются последовательно, причем младший бит — первым; всего их может быть от пяти до восьми. За битами данных следует проверочный бит, предназначенный для обнаружения ошибок, которые возникают во время обмена данными. Последней передается стоповая посылка, информирующая об окончании символа. Стоповый бит передается уровнем логической единицы. Длительность стоповой посылки — 1, 1.5 или 2 тактовых интервала. Электронное устройство, которое генерирует и принимает последовательные данные, называется универсальным асинхронным приемопередатчиком (Universal Asynchronous Receiver Transmitter, или UART).
Обмен информацией с помощью UART происходит следующим образом:
- приемник обнаруживает первый фронт стартового бита и выжидает один или полтора тактовых интервала, поскольку считывание должно начаться точно в середине первой посылки;
- через один тактовый интервал считывается второй бит данных, причем это происходит точно в середине второй посылки;
- после окончания информационного обмена приемник считывает проверочный бит для обнаружения ошибок и стоповый бит;
- приемник переходит в режим ожидания следующей порции данных.
Скорость передачи информации в последовательном интерфейсе измеряется в бодах (бод — количество передаваемых битов за 1 секунду). Стандартные скорости равны 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200 бод и т.д. Зная скорость в бодах, можно вычислить число передаваемых символов в секунду. Например, если имеется восемь бит данных без проверки на четность и один стоповый бит, то общая длина последовательности, включая стартовый бит, равна 10. Скорость передачи символов соответствует скорости в бодах, деленной на 10. Таким образом, при скорости 9600 бод (см.рисунок выше) будет передаваться 960 символов в секунду.
Проверочный бит предназначен для обнаружения ошибок в передаваемых битах данных. Когда он присутствует, осуществляется проверка на четность или нечетность. Если интерфейс настроен на проверку по четности, такой бит будет выставляться в единицу при нечетном количестве единиц в битах данных, и наоборот. Это простейший пособ проверки на наличие одиночных ошибок в передаваемом блоке данных. Однако, если во время передачи искажению подверглись несколько битов, подобная ошибка не обнаруживается. Проверочный бит генерируется передающим UART таким образом, чтобы общее количество удиниц было нечетным или четным числом в зависимости от настройки интерфейса; приемное устройство должно иметь такую же настройку. Приемный UART считает количество единиц в принятых данных. Если данные не проходят проверку, генерируется сигнал ошибки.
В UART применяются уровни напряжения ТТЛ. Для передачи данных по каналу связи напряжение с помощью специализированных преобразователей конвертируется с инверсией: логическому нулю соответствует диапазон напряжений от +3 до +12В, логической единице — от -3 до -12В.
Разъемы RS-232 и соединение устройств
Основными разъемами, применяемыми с портом RS-232 являются DB-9S и DB-25S. На рисунке показана распиновка разъема DB-9.
а в таблице показано соответсвие сигналов контактам RS-232 для 9-ти и 25-ти контактных разъемов и их функции на компьютере
25 контактов | 9 контактов | Наименование | Направление | Описание |
1 | PROT | Защитное заземление | ||
2 | 3 | TD | Выход | Передаваемые данные |
3 | 2 | RD | Вход | Принимаемые данные |
4 | 7 | RTS | Выход | Запрос на передачу |
5 | 8 | CTS | Вход | Очищен для передачи |
6 | 6 | DSR | Вход | Готовность внешнего устройства |
7 | 5 | GND | Сигнальное заземление | |
8 | 1 | DCD | Вход | Обнаружение информационного сигнала |
20 | 4 | DTR | Выход | Готовность к обмену данными |
22 | 9 | RI | Вход | Индикатор звонка |
23 | DSRD | Вход/Выход | Детектор скорости передачи данных |
Соединение между компьютером и внешним устройством по протоколу RS-232 производится, как правило, используя, так называемое, нуль-модемное соединение. Возможно также соединение, использующее только три линии: первая для передачи данных, вторая — для приема и третья — в качестве общего проводника. Соединение организуется таким образом, что передаваемые данные от первого устройства поступают на приемную линию второго.
В системах с микроконтроллерами используется второй тип соединения.
Назначение сигналов
Сигнал | Назначение |
PROT | Защитное заземление. Соединяется с металлическим экраном кабеля и корпусом оборудования |
GND | Линия заземления. Общий провод для всех сигналов |
TD | Передаваемые данные. Последовательные данные передаются компьютером по этой линии |
RD | Принимаемые данные. Последовательные данные принимаются компьютером по этой линии |
RTS | Запрос на передачу. Линия взаимодействия, которая показывает, что компьютер готов к приему данных. Линия управляется со стороны компьютера; если взамодействия не требуется, она может использоваться как двоичный выход |
CTS | Готовность к передаче. Линия взаимодействия, с помощью которой внешнее устройство сообщает компьютеру, что оно готово к передаче данных. Если взаимодействия не требуется, она может использоваться как двоичный вход |
DTR | Компьютер готов. Линия взаимодействия показывает, что компьютер включен и готов к связи. Линия управляется со стороны компьютера; если взаимодействия не требуется, она может использоваться как двоичный выход |
DSR | Готовность внешнего устройства. Линия взаимодействия, с помощью которой внешнее устройство сообщает компьютеру, что оно включено и готово к связи. Если взаимодействия не требуется, она может использоваться как двоичный вход |
[add_ratings]
Отличная статья,
Отлично написано.
Просто. Понятно. И без лишних слов.